Terms of Service Generator
Overview
Scans a website or application to understand the business model, user interactions,
data collection practices, and third-party integrations, then generates a comprehensive
terms of service document with 16 sections. Includes GDPR and CCPA compliance provisions,
plain English summaries after each section, and [VERIFY] tags for assumptions that
require human confirmation.
The generated ToS adapts its language and provisions based on the detected business type
(e-commerce, SaaS, marketplace, content platform, mobile app, etc.).
Legal Disclaimer: This skill generates template documents for informational and
educational purposes only. Generated terms of service are not a substitute for legal
advice. All documents should be reviewed by a licensed attorney before publication.
Regulatory requirements vary by jurisdiction and business type. No attorney-client
relationship is created by using this tool.
Prerequisites
- A live website URL or local codebase to analyze
- Knowledge of the business entity name and jurisdiction
- Understanding of whether the service involves payments, user accounts, or user-generated content
Instructions
Analyze the website or application. Use WebFetch to scan the target URL. Identify:
- Business type (SaaS, e-commerce, marketplace, content, API, mobile app)
- User interaction patterns (accounts, purchases, subscriptions, content uploads)
- Data collection mechanisms (forms, cookies, analytics scripts, payment processors)
- Third-party integrations (Stripe, Google Analytics, social login, CDNs)
- Geographic indicators (language, currency, server location)
If a codebase is available instead, use Glob and Read to scan for:
- Cookie/tracking implementations
- Authentication flows
- Payment integrations
- User data models
- API endpoints that accept user input
Gather business details from the user:
- Legal entity name and type (LLC, Corp, sole proprietor)
- Business address and jurisdiction
- Contact email for legal notices
- Minimum user age requirement
- Whether the service is free, paid, or freemium
Determine applicable compliance frameworks:
- GDPR — if serving EU/EEA users (detected via language, .eu domain, Euro pricing)
- CCPA/CPRA — if serving California users or meeting revenue/data thresholds
- COPPA — if the service could attract users under 13
- ADA/WCAG — if a US-based public-facing service
- PCI-DSS — if processing payment card data
- CAN-SPAM — if sending marketing emails
Generate the 16-section Terms of Service:
| # |
Section |
Covers |
| 1 |
Agreement to Terms |
Acceptance mechanism, effective date |
| 2 |
Description of Service |
What the service provides |
| 3 |
User Accounts |
Registration, security, age requirements |
| 4 |
Acceptable Use Policy |
Prohibited conduct, content standards |
| 5 |
User-Generated Content |
Ownership, licenses, moderation rights |
| 6 |
Intellectual Property |
Company IP rights, trademarks, DMCA |
| 7 |
Payment Terms |
Pricing, billing cycles, refunds (if applicable) |
| 8 |
Free Trials & Subscriptions |
Trial terms, auto-renewal, cancellation |
| 9 |
Privacy & Data Collection |
Reference to privacy policy, GDPR/CCPA summary |
| 10 |
Third-Party Services |
Links, integrations, disclaimers |
| 11 |
Disclaimers & Warranties |
"As-is" provision, warranty limitations |
| 12 |
Limitation of Liability |
Liability caps, excluded damages |
| 13 |
Indemnification |
User indemnification obligations |
| 14 |
Termination |
Grounds, notice, effect of termination |
| 15 |
Governing Law & Disputes |
Jurisdiction, arbitration, class action waiver |
| 16 |
General Provisions |
Modifications, severability, entire agreement, contact |
Add plain English summaries. After each section, include a blockquote:
> **In Plain English:** {simple summary of what this means for users}
Insert compliance-specific provisions:
- GDPR: Data processing legal basis, right to erasure, DPO contact, data portability
- CCPA: "Do Not Sell My Personal Information" rights, opt-out mechanism
- COPPA: Age verification, parental consent mechanism
Tag all assumptions. Place [VERIFY] before any clause based on inferred information:
[VERIFY: assumed SaaS model based on subscription pricing detected]
[VERIFY: jurisdiction set to Delaware — confirm with business owner]
[VERIFY: assumed no users under 13 — confirm age policy]
Write the output file using the naming convention below.
Output
Generate a single Markdown file named TERMS-OF-SERVICE-{company}-{YYYY-MM-DD}.md with:
# Terms of Service
**{Company Name}**
**Last Updated:** {date}
**Effective Date:** {date}
---
## Table of Contents
1. [Agreement to Terms](#1-agreement-to-terms)
{... all 16 sections ...}
---
## 1. Agreement to Terms
{formal legal text}
> **In Plain English:** {simple explanation}
## 2. Description of Service
{formal legal text}
> **In Plain English:** {simple explanation}
{... sections 3-16 ...}
---
## Contact Information
{business contact details}
---
**[VERIFY] Tags Summary:**
{numbered list of all assumptions needing confirmation}
**Compliance Frameworks Applied:** {GDPR, CCPA, etc.}
**Generated by:** Legal Assistant Plugin — Not a substitute for legal counsel.
Error Handling
| Error |
Cause |
Solution |
| Website unreachable |
URL is down or behind auth |
Ask user for a description of the service or local codebase path |
| Cannot determine business type |
Minimal website content |
Ask user directly about their business model |
| Payment detection ambiguous |
Cannot tell if free or paid |
Ask user to confirm pricing model |
| International complexity |
Multiple jurisdictions detected |
Generate provisions for all detected jurisdictions, add [VERIFY] |
| Dynamic content not scannable |
SPA with client-side rendering |
Ask user to describe features or provide sitemap |
| Missing company details |
User did not provide entity info |
Use [VERIFY] placeholders, list in summary |
Examples
Example 1: SaaS Application
Request: "Create terms of service for https://example-saas.com — we're a project management tool"
Result: TERMS-OF-SERVICE-ExampleSaaS-2026-04-02.md with:
- 16 sections with SaaS-specific provisions
- Payment terms for subscription model (detected via Stripe integration)
- GDPR provisions (EU users detected via multi-language support)
- CCPA provisions (US-based company)
- User-generated content section for project data
- 8 [VERIFY] tags for assumptions
Example 2: E-Commerce Store
Request: "Generate ToS for my Shopify store selling handmade jewelry"
Result: TERMS-OF-SERVICE-HandmadeJewels-2026-04-02.md with:
- E-commerce focused provisions (returns, shipping, product descriptions)
- Payment terms referencing Shopify Payments / PayPal
- No user-generated content section (simplified)
- Consumer protection provisions per FTC guidelines
- CCPA opt-out mechanism
Resources
Source: jeremylongshore/claude-code-plugins-plus-skills → skills/.curated/terms-generator/SKILL.md
Also appears in: jeremylongshore/claude-code-plugins-plus-skills/plugins/business-tools/general-legal-assistant/skills/terms-generator/SKILL.md
1---2name: terms-generator3description: 'Generates comprehensive terms of service by analyzing a website or application to detect business type, data collection, and user interactions. Use when launching a website, app, or SaaS product that needs terms of service with GDPR/CCPA compliance. Trigger with "/terms-generator" or "create terms of service for my website". '4---56# Terms of Service Generator78## Overview910Scans a website or application to understand the business model, user interactions,11data collection practices, and third-party integrations, then generates a comprehensive12terms of service document with 16 sections. Includes GDPR and CCPA compliance provisions,13plain English summaries after each section, and `[VERIFY]` tags for assumptions that14require human confirmation.1516The generated ToS adapts its language and provisions based on the detected business type17(e-commerce, SaaS, marketplace, content platform, mobile app, etc.).1819> **Legal Disclaimer:** This skill generates template documents for informational and20> educational purposes only. Generated terms of service are not a substitute for legal21> advice. All documents should be reviewed by a licensed attorney before publication.22> Regulatory requirements vary by jurisdiction and business type. No attorney-client23> relationship is created by using this tool.2425## Prerequisites2627- A live website URL or local codebase to analyze28- Knowledge of the business entity name and jurisdiction29- Understanding of whether the service involves payments, user accounts, or user-generated content3031## Instructions32331. **Analyze the website or application.** Use WebFetch to scan the target URL. Identify:34 - Business type (SaaS, e-commerce, marketplace, content, API, mobile app)35 - User interaction patterns (accounts, purchases, subscriptions, content uploads)36 - Data collection mechanisms (forms, cookies, analytics scripts, payment processors)37 - Third-party integrations (Stripe, Google Analytics, social login, CDNs)38 - Geographic indicators (language, currency, server location)39402. **If a codebase is available instead**, use Glob and Read to scan for:41 - Cookie/tracking implementations42 - Authentication flows43 - Payment integrations44 - User data models45 - API endpoints that accept user input46473. **Gather business details from the user:**48 - Legal entity name and type (LLC, Corp, sole proprietor)49 - Business address and jurisdiction50 - Contact email for legal notices51 - Minimum user age requirement52 - Whether the service is free, paid, or freemium53544. **Determine applicable compliance frameworks:**55 - **GDPR** — if serving EU/EEA users (detected via language, .eu domain, Euro pricing)56 - **CCPA/CPRA** — if serving California users or meeting revenue/data thresholds57 - **COPPA** — if the service could attract users under 1358 - **ADA/WCAG** — if a US-based public-facing service59 - **PCI-DSS** — if processing payment card data60 - **CAN-SPAM** — if sending marketing emails61625. **Generate the 16-section Terms of Service:**6364 | # | Section | Covers |65 |---|---------|--------|66 | 1 | Agreement to Terms | Acceptance mechanism, effective date |67 | 2 | Description of Service | What the service provides |68 | 3 | User Accounts | Registration, security, age requirements |69 | 4 | Acceptable Use Policy | Prohibited conduct, content standards |70 | 5 | User-Generated Content | Ownership, licenses, moderation rights |71 | 6 | Intellectual Property | Company IP rights, trademarks, DMCA |72 | 7 | Payment Terms | Pricing, billing cycles, refunds (if applicable) |73 | 8 | Free Trials & Subscriptions | Trial terms, auto-renewal, cancellation |74 | 9 | Privacy & Data Collection | Reference to privacy policy, GDPR/CCPA summary |75 | 10 | Third-Party Services | Links, integrations, disclaimers |76 | 11 | Disclaimers & Warranties | "As-is" provision, warranty limitations |77 | 12 | Limitation of Liability | Liability caps, excluded damages |78 | 13 | Indemnification | User indemnification obligations |79 | 14 | Termination | Grounds, notice, effect of termination |80 | 15 | Governing Law & Disputes | Jurisdiction, arbitration, class action waiver |81 | 16 | General Provisions | Modifications, severability, entire agreement, contact |82836. **Add plain English summaries.** After each section, include a blockquote:84 `> **In Plain English:** {simple summary of what this means for users}`85867. **Insert compliance-specific provisions:**87 - GDPR: Data processing legal basis, right to erasure, DPO contact, data portability88 - CCPA: "Do Not Sell My Personal Information" rights, opt-out mechanism89 - COPPA: Age verification, parental consent mechanism90918. **Tag all assumptions.** Place `[VERIFY]` before any clause based on inferred information:92 - `[VERIFY: assumed SaaS model based on subscription pricing detected]`93 - `[VERIFY: jurisdiction set to Delaware — confirm with business owner]`94 - `[VERIFY: assumed no users under 13 — confirm age policy]`95969. **Write the output file** using the naming convention below.9798## Output99100Generate a single Markdown file named `TERMS-OF-SERVICE-{company}-{YYYY-MM-DD}.md` with:101102```103# Terms of Service104**{Company Name}**105106**Last Updated:** {date}107**Effective Date:** {date}108109---110111## Table of Contents1121. [Agreement to Terms](#1-agreement-to-terms)113{... all 16 sections ...}114115---116117## 1. Agreement to Terms118{formal legal text}119120> **In Plain English:** {simple explanation}121122## 2. Description of Service123{formal legal text}124125> **In Plain English:** {simple explanation}126127{... sections 3-16 ...}128129---130131## Contact Information132{business contact details}133134---135**[VERIFY] Tags Summary:**136{numbered list of all assumptions needing confirmation}137138**Compliance Frameworks Applied:** {GDPR, CCPA, etc.}139**Generated by:** Legal Assistant Plugin — Not a substitute for legal counsel.140```141142## Error Handling143144| Error | Cause | Solution |145|-------|-------|----------|146| Website unreachable | URL is down or behind auth | Ask user for a description of the service or local codebase path |147| Cannot determine business type | Minimal website content | Ask user directly about their business model |148| Payment detection ambiguous | Cannot tell if free or paid | Ask user to confirm pricing model |149| International complexity | Multiple jurisdictions detected | Generate provisions for all detected jurisdictions, add [VERIFY] |150| Dynamic content not scannable | SPA with client-side rendering | Ask user to describe features or provide sitemap |151| Missing company details | User did not provide entity info | Use [VERIFY] placeholders, list in summary |152153## Examples154155**Example 1: SaaS Application**156157Request: "Create terms of service for https://example-saas.com — we're a project management tool"158159Result: `TERMS-OF-SERVICE-ExampleSaaS-2026-04-02.md` with:160161- 16 sections with SaaS-specific provisions162- Payment terms for subscription model (detected via Stripe integration)163- GDPR provisions (EU users detected via multi-language support)164- CCPA provisions (US-based company)165- User-generated content section for project data166- 8 [VERIFY] tags for assumptions167168**Example 2: E-Commerce Store**169170Request: "Generate ToS for my Shopify store selling handmade jewelry"171172Result: `TERMS-OF-SERVICE-HandmadeJewels-2026-04-02.md` with:173174- E-commerce focused provisions (returns, shipping, product descriptions)175- Payment terms referencing Shopify Payments / PayPal176- No user-generated content section (simplified)177- Consumer protection provisions per FTC guidelines178- CCPA opt-out mechanism179180## Resources181182- [FTC Business Guidance on Terms](https://www.ftc.gov/business-guidance) — Federal Trade Commission compliance183- [California Attorney General CCPA](https://oag.ca.gov/privacy/ccpa) — CCPA regulations and guidance184- [ICO Guide to Data Protection](https://ico.org.uk/for-organisations/) — UK/GDPR compliance guidance185- [CommonPaper Standard Terms](https://commonpaper.com/standards/) — CC BY 4.0 open-source terms186- [Termly ToS Generator](https://termly.io/) — Reference for section structures187- [SBA Small Business Legal Resources](https://www.sba.gov/) — US government business guidance188189---190191**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `skills/.curated/terms-generator/SKILL.md`192193**Also appears in:** `jeremylongshore/claude-code-plugins-plus-skills/plugins/business-tools/general-legal-assistant/skills/terms-generator/SKILL.md`