Structured code review through the shared OpenClaw agent-skills installation.
日本語の概要は準備中です。原文の説明を表示しています。
Add Stripe billing/payments to the Convex app via @convex-dev/stripe (checkout + webhook + gating).
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Wire Stripe to Convex using @convex-dev/stripe: a checkout action, an httpAction webhook registered by the component (signature-verified automatically), subscription state stored in the component's tables, and server-side gating via a query.
npm install @convex-dev/stripe.convex/convex.config.ts:
import { defineApp } from "convex/server";
import stripe from "@convex-dev/stripe/convex.config.js";
const app = defineApp();
app.use(stripe);
export default app;
env micro power): STRIPE_SECRET_KEY (sk_test_… / sk_live_…) and STRIPE_WEBHOOK_SECRET (whsec_…).convex/http.ts to register the webhook route (the component handles signature verification automatically):
import { httpRouter } from "convex/server";
import { components } from "./_generated/api";
import { registerRoutes } from "@convex-dev/stripe";
const http = httpRouter();
registerRoutes(http, components.stripe, { webhookPath: "/stripe/webhook" });
export default http;
convex/billing.ts with a checkout action and a subscription-gate query:
import { action, query } from "./_generated/server";
import { components } from "./_generated/api";
import { StripeSubscriptions } from "@convex-dev/stripe";
import { v } from "convex/values";
const stripeClient = new StripeSubscriptions(components.stripe, {});
export const createSubscriptionCheckout = action({
args: { priceId: v.string() },
returns: v.object({ sessionId: v.string(), url: v.union(v.string(), v.null()) }),
handler: async (ctx, args) => {
const identity = await ctx.auth.getUserIdentity();
if (!identity) throw new Error("Not authenticated");
const customer = await stripeClient.getOrCreateCustomer(ctx, {
userId: identity.subject,
email: identity.email,
name: identity.name,
});
return await stripeClient.createCheckoutSession(ctx, {
priceId: args.priceId,
customerId: customer.customerId,
mode: "subscription",
successUrl: `${process.env.SITE_URL ?? "http://localhost:3000"}/?success=true`,
cancelUrl: `${process.env.SITE_URL ?? "http://localhost:3000"}/?canceled=true`,
subscriptionMetadata: { userId: identity.subject },
});
},
});
export const isSubscribed = query({
args: {},
returns: v.boolean(),
handler: async (ctx) => {
const identity = await ctx.auth.getUserIdentity();
if (!identity) return false;
const subscriptions = await ctx.runQuery(
components.stripe.public.listSubscriptionsByUserId,
{ userId: identity.subject },
);
return subscriptions.some((sub) => sub.status === "active" || sub.status === "trialing");
},
});
npx convex dev --once — it will install the component and push the functions. Verify output shows ✔ Installed component stripe.https://<deployment>.convex.site/stripe/webhook, subscribe to checkout.session.completed, customer.subscription.*, invoice.*, payment_intent.*. Copy the signing secret as STRIPE_WEBHOOK_SECRET.env micro power): STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Structured code review through the shared OpenClaw agent-skills installation.
日本語の概要は準備中です。原文の説明を表示しています。
Create and manage Axiom monitors and notifiers via the v2 public API. Use when building alerting, routing notifications, validating monitor behavior, and maintaining alert configurations end-to-end.
日本語の概要は準備中です。原文の説明を表示しています。
Expert SRE investigator for incidents and debugging. Uses hypothesis-driven methodology and systematic triage. Can query Axiom observability when available. Use for incident response, root cause analysis, production debugging, or log investigation.
日本語の概要は準備中です。原文の説明を表示しています。
Designs and builds Axiom dashboards via API. Covers chart types, APL and metrics/MPL query patterns, SmartFilters, layout, and configuration options. Use when creating dashboards, migrating from Splunk, or configuring chart options.
日本語の概要は準備中です。原文の説明を表示しています。
Use when drafting, sending, or preserving email correspondence for an existing ClawHub content rights case.
日本語の概要は準備中です。原文の説明を表示しています。
Apply ClawHub-specific Convex conventions and route to the right managed Convex skill. Use for any change under convex/, Convex commands or deployment targeting, query performance, migrations, retention, runtime validation, or skill stat reads and writes in the ClawHub repository.
日本語の概要は準備中です。原文の説明を表示しています。