Community寫作與編輯github.com

getpaidskills/legal-pages

根據簡短問卷為 SaaS、數位產品或網站草擬隱私權政策、服務條款與退款政策,並根據付款供應商(Creem、Paddle、Lemon Squeezy 作為商家記錄,或 Stripe/直接)及使用者所在區域(EU/UK GDPR、California CCPA/CPRA、China PIPL 備註)進行調整,然後輸出為 Markdown、HTML 或 Next.js 頁面並連結到頁尾。

legal-pages 是什麼?

此技能可自動產生 SaaS、數位產品或網站的隱私權政策、服務條款與退款政策範本。它會先掃描程式碼庫以預先填入常見資訊(如驗證提供者、分析腳本、付款 SDK 等),然後透過使用者的問卷確認細節,再根據所選的付款供應商(Creem、Paddle、Lemon Squeezy 或 Stripe)和使用者所在的司法管轄區(歐盟/英國 GDPR、加州 CCPA/CPRA、中國 PIPL)調整內容。最後,它會將這些頁面以 Markdown、HTML 或 Next.js 格式輸出,並自動在網站頁尾加上連結。此技能支援 Claude Code 和 Cursor 等開發環境,旨在提供一個起點範本——強烈建議使用者在部署前由合格律師審查內容,因為這並非法律建議,也無法保證法規遵循。

相容平台~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_collected電子郵件、姓名、付款由 MoR 處理、IP/使用記錄驗證 + 資料庫結構
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 — 連結

  • 頁尾:在每個頁面連結所有三個頁面(付款供應商會檢查它們)。
  • 結帳:在購買按鈕附近連結條款 + 退款政策("By purchasing you agree to…")。
  • 如果 analytics_cookies 為 true 且 serves_eu 為 true:告知使用者可能需要 Cookie 同意橫幅才能載入分析(或改用無 Cookie 的分析工具)。不要靜默新增橫幅。
  • 註冊表單:連結隱私權政策。

步驟 4 — 供應商特定檢查

閱讀 references/provider-notes.md 以瞭解所選商家記錄的注意事項。重點:使用 MoR 時,MoR 是對客戶的銷售記錄者,因此條款必須如此說明,且退款政策不得承諾與 MoR 自身買家條款相矛盾的事項。

步驟 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、UK 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.

相關技能