Token导航 LogoToken导航

Agent Skill · 运维和基础设施

stripe-stack(Stripe stack 命令行)

stripe-stack 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

stripe-stack 是运维和基础设施类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证为 MIT,第三方扫描有提醒项,按安装量在运维和基础设施类的 2,449 个 Skill 里排第 864。

总安装 1,384周安装 56GitHub Stars 12下载 435核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:stripe-stack(Stripe stack 命令行)
来源仓库:https://github.com/scientiacapital/skills
仓库路径:skills/stripe-stack
安装命令:
npx skills add https://github.com/scientiacapital/skills --skill stripe-stack
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/scientiacapital/skills --skill stripe-stack

这个 Skill 是做什么的

运维和基础设施类 Skill 处理部署、监控、日志和云资源,多数需要较高的执行权限。

stripe-stack 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。适用于需要围绕仓库状态、代码变更或协作事项进行整理的场景。可在 Codex、Claude、Cursor、Gemini CLI 中调用,通过命令行工具集成。安装前需确认权限范围、维护状态及是否触发联网或文件操作。

建议结合原始 README 核验具体用法和功能边界。

来源仓库内路径:skills/stripe-stack

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/scientiacapital/skills --skill stripe-stack;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

stripe-stack 怎么安装?

在终端执行 npx skills add https://github.com/scientiacapital/skills --skill stripe-stack。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

stripe-stack 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

stripe-stack 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

stripe-stack 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

stripe-stack 用的人多吗?

公开数据是累计安装 1,384 次,近一周安装 56 次,下载 435 次,GitHub 12 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

stripe-stack 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理运维和基础设施类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

运维和基础设施类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
brainstorming

头脑风暴 · Codex、Claude

3,148,776173,131操作浏览器MIT通过
copywriting

文案写作 · Codex、Claude

1,996,72425,583需要联网MIT通过
openclaw-secure-linux-cloud

OpenClaw secure linux cloud 命令行 · Codex、Claude

1,853,08840接触敏感数据未明确未通过
xget

xget 命令行 · Codex、Claude

1,799,28040执行命令未明确未通过
requesting-code-review

代码审查请求 · Codex、Claude

1,590,144173,103权限未标注MIT通过
stripe-stack

Stripe stack 命令行 · 本页

1,38412接触敏感数据MIT有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

<quick_start> Add payments to a Next.js + Supabase project:

  1. Install Stripe: npm install stripe @stripe/stripe-js
  2. Add env vars (see quick_reference below)
  3. Create idempotency table (see schema below)
  4. Choose workflow: setup-new-project.md or add-webhook-handler.md
// Lazy-loaded Stripe client
import Stripe from 'stripe';
let _stripe: Stripe | null = null;
export function getStripe(): Stripe {
  if (!_stripe) {
    _stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { apiVersion: '2025-12-15.clover' });
  }
  return _stripe;
}

</quick_start>

<success_criteria> Integration is successful when:

  • Webhook handler uses database-backed idempotency (not in-memory)
  • All keys in environment variables (never hardcoded)
  • Test mode fully working before any live mode deployment
  • Signature verification on all webhook endpoints
  • Event logging before processing (insert-before-process pattern)
  • Go-live checklist completed before production deployment </success_criteria>

<essential_principles>

Core Principles

  1. Idempotency is Non-Negotiable

- ALL webhook handlers MUST use database-backed idempotency - Never use in-memory Sets (lost on serverless cold starts) - Insert event record BEFORE processing, not after

  1. Test/Live Mode Separation

- Use environment variables for ALL keys (never hardcode) - Test keys: sk_test_, pk_test_, whsec_test_ - Live keys: sk_live_, pk_live_, whsec_live_ - Products/prices must be recreated in live mode

  1. Shared Stripe Account

- All NetZero Suite projects share ONE Stripe account - Same webhook secret can be used across projects - Each project has its own webhook endpoint URL

  1. Lazy Client Initialization

- Never initialize Stripe at module level (build errors) - Use factory function pattern for server-side client - Check for API key before creating instance

</essential_principles>

What Are You Building?

Before proceeding, identify your use case:

Use CaseWorkflowDescription
New projectsetup-new-project.mdFresh Stripe integration from scratch
Add webhooksadd-webhook-handler.mdAdd webhook handler to existing project
Subscriptionsimplement-subscriptions.mdRecurring billing with plans
Credit systemadd-credit-system.mdPay-as-you-go credits
Go livego-live-checklist.mdTest → Production migration

Workflow Routing

If setting up Stripe in a new project: → Read workflows/setup-new-project.md → Then read reference/environment-vars.md → Use templates/stripe-client.ts and templates/env-example.txt

If adding webhook handling: → Read workflows/add-webhook-handler.md → Then read reference/webhook-patterns.md → Use templates/webhook-handler-nextjs.ts and templates/idempotency-migration.sql

If implementing subscription billing: → Read workflows/implement-subscriptions.md → Then read reference/pricing-models.md → Use templates/plans-config.ts

If adding credit/usage-based system: → Read workflows/add-credit-system.md → Then read reference/pricing-models.md

If migrating test → production: → Read workflows/go-live-checklist.md

<quick_reference>

Quick Reference

Environment Variables (Standard)

# Server-side (never expose to client)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...

# Client-side (safe to expose)
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...

# Optional: Price IDs (for test→live switching)
STRIPE_PRICE_STARTER_MONTHLY=price_...
STRIPE_PRICE_PRO_MONTHLY=price_...

Common Webhook Events

EventWhen It FiresAction
checkout.session.completedCustomer completes checkoutCreate subscription record
customer.subscription.createdNew subscription startsInitialize user limits
customer.subscription.updatedPlan change, renewalUpdate plan/limits
customer.subscription.deletedCancellationDowngrade to free
invoice.paidMonthly renewal successReset usage counters
invoice.payment_failedPayment failedMark as past_due

Stripe Client Pattern

let _stripe: Stripe | null = null;

export function getStripe(): Stripe {
  if (!_stripe) {
    const key = process.env.STRIPE_SECRET_KEY;
    if (!key) throw new Error('STRIPE_SECRET_KEY not configured');
    _stripe = new Stripe(key, {
      apiVersion: '2025-12-15.clover',
      typescript: true
    });
  }
  return _stripe;
}

Idempotency Table Schema

CREATE TABLE stripe_webhook_events (
  id TEXT PRIMARY KEY,           -- Use Stripe event ID directly
  type TEXT NOT NULL,            -- Event type
  data JSONB NOT NULL,           -- Full event payload
  processed_at TIMESTAMPTZ DEFAULT NOW()
);

Webhook Handler Structure

export async function POST(request: NextRequest) {
  const body = await request.text();
  const signature = request.headers.get('stripe-signature');

  // 1. Verify signature
  const event = stripe.webhooks.constructEvent(body, signature, webhookSecret);

  // 2. Check idempotency (BEFORE processing)
  const { data: existing } = await supabase
    .from('stripe_webhook_events')
    .select('id')
    .eq('id', event.id)
    .single();

  if (existing) return NextResponse.json({ duplicate: true });

  // 3. Log event (INSERT before processing)
  await supabase.from('stripe_webhook_events').insert({
    id: event.id,
    type: event.type,
    data: event,
  });

  // 4. Process event
  switch (event.type) {
    case 'checkout.session.completed':
      await handleCheckout(event.data.object);
      break;
    // ... other handlers
  }

  return NextResponse.json({ received: true });
}

</quick_reference>

<integration_notes>

Integration Notes

Works With

  • Supabase: Use service role client for webhook handlers (bypasses RLS)
  • Prisma: Alternative to Supabase for idempotency table
  • Vercel: Add runtime/maxDuration config for webhook routes
  • Next.js App Router: Use request.text() for raw body

Related Skills

  • supabase-sql-skill - For database migrations
  • create-hooks-skill - For post-deployment notifications

GitHub Repository

Private templates and examples available at: github.com/ScientiaCapital/stripe-stack

</integration_notes>

<reference_index>

Reference Files

FilePurpose
reference/webhook-patterns.mdIdempotency, event handling, error recovery
reference/pricing-models.mdPlans vs Credits vs Usage-based billing
reference/environment-vars.mdStandard env var conventions
reference/common-errors.mdTroubleshooting guide

Template Files

FilePurpose
templates/webhook-handler-nextjs.tsComplete webhook route (copy-paste)
templates/stripe-client.tsLazy-loaded client factory
templates/plans-config.tsSubscription plan definitions
templates/idempotency-migration.sqlSupabase migration
templates/webhook-handler.test.tsTest template
templates/env-example.txtStandard.env template

Workflow Files

FilePurpose
workflows/setup-new-project.mdFresh Stripe integration
workflows/add-webhook-handler.mdAdd webhook to existing project
workflows/implement-subscriptions.mdSubscription billing
workflows/add-credit-system.mdPay-as-you-go credits
workflows/go-live-checklist.mdTest → Production migration

</reference_index>

Emit Outcome Sidecar

As the final step, write to ~/.claude/skill-analytics/last-outcome-stripe-stack.json:

{"ts":"[UTC ISO8601]","skill":"stripe-stack","version":"1.0.0","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[estimated ms from start],
 "metrics":{"webhooks_configured":[n],"products_created":[n],"checkout_flows_built":[n]},
 "error":null,"session_id":"[YYYY-MM-DD]"}

Use status "partial" if some stages failed but results were produced. Use "error" only if no output was generated.

平台分布

Claude Code

29.13%
按下载量换算127

Antigravity

26.02%
按下载量换算113

Gemini CLI

16.48%
按下载量换算72

Codex

12.4%
按下载量换算54

OpenCode

8.55%
按下载量换算37

windsurf

3.61%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills