这套方案适合谁
- 用 Claude Code 做主力编码 Agent 的独立开发者
- 在做出海 SaaS(Next.js + Stripe + i18n)
- 想避免每次新会话都重新解释项目 context
- 月 token 预算 100-200 美金
准备工作
你需要
- Claude Code CLI(2026-03 stable)
- 一个 Next.js / Astro / Remix 出海 SaaS 仓库
- Anthropic API key 或一家中转方的 key
- 1-2 小时一次性配 Skills 的时间
步骤一:创建 .claude/skills/ 目录
仓库根目录/
├── .claude/
│ ├── skills/
│ │ ├── saas-architect/SKILL.md
│ │ ├── payment-stripe/SKILL.md
│ │ └── i18n-router/SKILL.md
│ └── settings.local.json
├── src/
└── ...
settings.local.json
{
"permissions": {
"allow": ["Bash(npm:*)", "Bash(pnpm:*)"]
}
}
步骤二:写 saas-architect Skill
.claude/skills/saas-architect/SKILL.md:
---
name: saas-architect
description: 出海 SaaS 架构选型(Next.js + Drizzle + Stripe + Cloudflare)
when_to_use: 用户问架构 / 选型 / 目录结构 / 数据库 ORM / 部署平台
---
# 出海 SaaS 默认架构
## 框架
Next.js 15 App Router
## 数据库
Postgres on Neon + Drizzle ORM
## 鉴权
Auth.js (NextAuth) + Magic Link + GitHub OAuth
## 支付
Stripe Checkout + Webhook(不用 Lemon Squeezy 因为 MoR 费率高)
## 部署
Vercel 国内不稳,Cloudflare Pages + Cloudflare D1(如果数据量小)
## 反例
- 不要用 Firebase(vendor lock)
- 不要用 MongoDB(强一致需求选 Postgres)
- 不要早期上 Kubernetes(Solopreneur 不需要)
步骤三:写 payment-stripe Skill
.claude/skills/payment-stripe/SKILL.md:
---
name: payment-stripe
description: Stripe Checkout + Subscription 接入决策
when_to_use: 用户问支付 / Stripe / 订阅 / webhook / 退款
---
# Stripe 接入默认决策
## Checkout Session(推荐)
不要自己实现 Card Element,用 Stripe Checkout 托管页。
## Webhook
- 必处理:checkout.session.completed、customer.subscription.updated、invoice.payment_failed
- 用 Stripe CLI stripe listen 本地开发
## 多币种
Stripe 自动处理,但 product / price 要预先创建多套(USD / EUR / JPY)
## 退款
30 天内全额退,30 天以上需手动 review
## 反例
- 不要存 card number / cvc(违反 PCI)
- 不要在前端写 secret key
- 不要相信 client side 价格(webhook 验证)
步骤四:写 i18n-router Skill
.claude/skills/i18n-router/SKILL.md:
---
name: i18n-router
description: Next.js 多语言路由 + SEO meta
when_to_use: 用户问 i18n / 多语言 / 翻译 / hreflang
---
# 多语言路由默认方案
## 路由
Next.js App Router 的 [locale] 段,10 种语言(en/zh/ja/ko/es/fr/de/pt-BR/ru/ar)
## 翻译
next-intl + JSON 文件,不用 react-intl(太重)
## hreflang
sitemap.xml 每个 page 列所有语言 alternate
## meta
每语言独立 title / description,避免直译
## 反例
- 不要把英文写死再用翻译插件
- 不要忽略 RTL(阿拉伯语方向)
- 不要忽略 hreflang(Google 会判重复内容)
步骤五:跑 Claude Code 触发 Skills
国内访问环境
国内直连 api.anthropic.com 跑 Claude Code 经常 timeout。Solopreneur 推荐配一家主推 GPT-5.5 / Claude 4.7 的低价 API 中转,免外卡 + 多模型聚合,Claude Code 用 ANTHROPIC_BASE_URL 一键切换。
export ANTHROPIC_BASE_URL=https://中转方域名
export ANTHROPIC_API_KEY=sk-中转方key
cd /path/to/saas-repo
claude
触发 Skills
会话内问:
> 我要做个 SaaS,给我推荐架构
Claude Code 自动加载 saas-architect Skill,按你预设的决策回答。
> 接入 Stripe 订阅
加载 payment-stripe Skill + 跑代码模板。
月预算样例(访问于 2026-05-20)
Solopreneur 用 Claude Code + Skills 写出海 SaaS:
| 项 | 月消耗 token | 月成本 |
|---|---|---|
| Skills 加载(固定开销) | 5M | ≈ $20-30 |
| Composer 写新 feature | 20M | ≈ $80-130 |
| Agent 跑测试 + 重构 | 10M | ≈ $50-80 |
| 月总计 | ~35M | ≈ $150-240 |
caching 命中 30% 后实际 100-170 美金/月。
协作小坑
Skills 跟仓库不同步
- 一定要 commit .claude/skills 到 git
- 团队 PR 改 Skills 要走 review
Skills 写得太长
- 每个 Skill ≤ 300 行(progressive disclosure 不必读全文)
- 决策树 + 代码模板 + 反例三部分
Skills 跟 system prompt 重复
- system prompt 只放「我是谁」级元信息
- Skills 放具体技术决策
关联文章
Claude Code Skills 写 SaaS的落地条件
Claude Code Skills 写 SaaS最怕把法律主体、收款工具和产品代码混成一个问题。动手前看清回滚动作、费用影响和权限变化,金额较大或涉及税务时应交给专业顾问处理。
一个人运营时可以用表格压住复杂度:负责人、后台入口、到期日、费用来源和回滚动作各占一列,避免换服务商时才发现资料缺口。
涉及 Stripe、公司注册、税表或签证的内容,只能作为操作参考。当前页面没有覆盖你所在司法辖区的特殊规定时,不应把它当成法律或税务意见。