Community写作与编辑github.com

getpaidskills/legal-pages

根据简短问卷,为 SaaS、数字产品或网站起草隐私政策、服务条款和退款政策草稿,并适配支付服务商(Creem、Paddle、Lemon Squeezy 作为记录商户,或 Stripe/直连)以及用户所在地法规(欧盟/英国 GDPR、加州 CCPA/CPRA、中国 PIPL),最终渲染为 Markdown、HTML 或 Next.js 页面并链接到页脚。

legal-pages 是什么?

该技能通过一个结构化问卷,自动化生成 SaaS、数字产品或网站的隐私政策、服务条款和退款政策模板。它能够识别代码库中的支付服务商(如 Creem、Paddle、Lemon Squeezy 或 Stripe)和用户所在地区(如欧盟/英国、加州、中国),从而在模板中插入相应的法律段落。输出格式支持 Markdown、HTML 和 Next.js App Router,脚本会自动检查必填字段并标记未填充项为 `[[TODO]]`。 此技能对于需要快速启动合法合规页面,尤其是当支付服务商(如 Paddle、Lemon Squeezy)要求提供这些页面时特别有用。它还能处理跨境数据转移、消费者撤销权等复杂法律提示。**但必须强调:输出仅为模板,不能替代律师的意见。** 用户必须仔细审核并由合格律师检查,特别是关于管辖法律、责任限制和数据转移的部分。技能还会生成包含审查警告的页面,用户确认后才可删除。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/getpaidskills/skills/tree/HEAD/skills/legal-pages

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

legal-pages 是做什么的?

非法律建议。 本技能根据用户回答生成模板。它不了解用户所在司法管辖区的具体义务,也不能替代律师。你必须在最终消息中告知用户这一点,生成的页面会带有审查通知,用户只有在审查文本后才能删除该通知。切勿声称这些页面“合规”。

步骤 1 — 收集事实(提问,不要猜测)

首先检查代码库以预填你能获取的信息(认证服务商、分析脚本、支付 SDK、邮件服务商、数据库主机、设置的 Cookie)。然后与用户确认。将 assets/legal-config.example.json 复制到项目根目录下的 legal-config.json 并填写:

字段示例查找位置
company_name、product_name、website_url、contact_email“Acme Studio”询问;页脚;环境变量
legal_entity_type、address、governing_law“individual”、“Hebei, China”、“People's Republic of China”询问——切勿编造
merchant_of_recordcreem / paddle / lemonsqueezy / nonepackage.json 依赖项(creem、@paddle/paddle-js、@lemonsqueezy/...、stripe)
data_collectedemail, name, payment handled by MoR, IP/usage logs认证服务商 + 数据库模式
processorsResend(邮件)、Plausible(分析)、AWS(托管)环境变量、SDK 导入
uses_cookies、analytics_cookiestrue / false由认证/分析服务设置的 Cookie
sells_subscriptions、sells_one_time定价页面
refund_modewindow(N 天)/ case_by_case / none询问——必须与服务商规则一致
serves_eu、serves_california、serves_china询问;影响添加的章节
min_age13 或 16如果服务欧盟用户,默认为 16 更安全

用户不知道的内容在输出中保留为 [[TODO: …]] 标记——不要用看似合理的值填充法律事实(地址、实体、管辖法律)。

步骤 2 — 渲染

python3 scripts/render_legal.py --config legal-config.json --out legal --format md
python3 scripts/render_legal.py --config legal-config.json --out app/(legal) --format nextjs   # Next.js App Router
python3 scripts/render_legal.py --config legal-config.json --out public/legal --format html

生成 privacy、terms、refund 文档。如果缺少必填字段,脚本会失败;打印所有剩余的 [[TODO]];并用 effective_date(或当前日期)标记“最后更新”日期。--format nextjs 会写入 privacy/page.tsx、terms/page.tsx、refund/page.tsx,包含静态 HTML 和 metadata——无需额外依赖。根据需要配合你的网站布局/排版。

步骤 3 — 链接配置

  • 在每个页面的页脚中链接所有三个页面(支付服务商会查找它们)。
  • 结账:在购买按钮附近链接条款和退款政策(“购买即表示您同意…”)。
  • 如果 analytics_cookies 为 true 且 serves_eu 为 true:告知用户在加载分析服务前可能需要 Cookie 同意横幅(或改用无 Cookie 分析工具)。不要静默添加横幅。
  • 注册表单:链接隐私政策。

步骤 4 — 服务商特定检查

阅读 references/provider-notes.md,了解所选记录商户(Merchant of Record)的详细信息。关键点:使用记录商户时,该商户是面向客户的销售方,因此条款必须如此说明,退款政策不得承诺与其自身买家条款相矛盾的内容。

步骤 5 — 交接消息(必需)

用用户的语言告知用户:

  1. 创建了哪些文件以及它们链接的位置。
  2. 仍然未完成的 [[TODO]] 项列表。
  3. 文本是模板,非法律建议,应由合格律师审查,特别是针对:管辖法律、责任限制、消费者撤销权(欧盟数字内容 14 天规则)以及用户所在国的数据转移。
  4. 当他们添加处理用户数据的新工具时,必须保持页面准确。

文件

  • assets/templates/*.md — 三个模板(mustache 风格的 {{field}}、{{#flag}}…{{/flag}})。
  • assets/legal-config.example.json — 包含所有字段的问卷。
  • scripts/render_legal.py — 渲染器(仅标准库)。
  • references/provider-notes.md — Creem / Paddle / Lemon Squeezy / Stripe 注释及链接。
  • references/regional-notes.md — GDPR、英国 GDPR、CCPA/CPRA、PIPL 指引(仅供参考)。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

getpaidskills/agents-md-starter

Creates or upgrades a repository's AGENTS.md (read by Codex, Cursor, and other agents) and a CLAUDE.md that imports it, so Claude Code, Codex, Cursor and Gemini CLI share one set of project rules. Scans the repo to detect languages, package manager, real build/test/lint commands, framework, directory layout and existing rule files (.cursorrules, .cursor/rules, CLAUDE.md, copilot-instructions), then writes a concise, verified rules file. Use when the user asks to set up AGENTS.md or CLAUDE.md, "project rules", "make Claude Code and Codex follow the same conventions", onboard an agent to a repo, or migrate .cursorrules.

getpaidskills/directory-launch-kit

Prepares a product for submission to launch platforms and directories (Product Hunt, Show HN, BetaList, Uneed, Fazier, SaaSHub, TinyLaunch, AI tool directories, agent-skill marketplaces, Reddit, V2EX and more) without submitting anything itself. Picks only the directories the product fits, writes the copy for each form within its field limits from one product.json, resizes screenshots to each platform's sizes (Product Hunt 1270x760 gallery and 240x240 thumbnail, 1200x630 OG), builds a tracker CSV, re-checks prices and rules on the live pages, and later verifies which listings went live and whether their backlinks are follow or nofollow. Use when the user asks where to launch, how to submit to Product Hunt or AI directories, wants launch copy, a directory list, backlinks, or a launch tracker.

getpaidskills/launch-checklist

Pre-launch audit for a website or SaaS - checks SEO tags (title, description, canonical, lang, Open Graph), robots.txt, sitemap.xml, favicon and apple-touch-icon, real 404 status, HTTPS redirect, legal pages (privacy, terms, refund), image alt text, page weight and response time, plus a payment self-check (webhook signature, raw body, idempotency, refunds, secrets, success-page grants), then lists the problems and fixes them in the codebase. Ships a no-dependency crawler script (audit_site.py) that produces a pass/warn/fail report. Use when the user says they are about to launch, ship, go live, submit to Product Hunt or AI directories, or asks "is my site ready", "SEO check", "why is my site not indexed", or wants a launch checklist, or asks whether their payment or webhook setup is safe.

getpaidskills/og-image-kit

Generates Open Graph / Twitter (X) share images for every page of a website and wires up the og:* and twitter:* meta tags, then verifies the social preview. Supports Next.js App Router (opengraph-image.tsx with next/og ImageResponse), Astro (build-time PNGs via satori + resvg) and any static site (Pillow script). Use when the user asks for OG images, social share cards, link previews, "my link looks bad on X/Slack/LinkedIn/WeChat", twitter:card, or before launching a site.

相关技能