Output Requirements
The final .docx must read like a lawyer drafted it. The output must contain:
- Zero YC drafting annotations (
*[Note:...]*, *[OPTIONAL:...]*)
- Zero placeholder scaffolding (
[OPTIONAL] markers, option guides)
- Zero unfilled template brackets — except deliberate
[TBD — description]
markers for values the user couldn't provide, documented in the memo
The agreement title is "Customer Agreement" — NOT "SaaS Services Agreement".
If any annotation, note, or non-TBD bracket appears in the output, the draft
is not ready. Fix it before delivering.
Workflow
Step 1: Load References
Before asking any questions, read all three reference files:
references/intake-questions.md — 15 question groups with branching and defaults
references/decision-matrix.md — maps answers to YC template actions (18 always-apply defaults, 12 conditional decisions, variable substitutions, raise-with-lawyer flags)
references/supplementary-language.md — pre-written clause text anchored by ID (always-apply blocks and conditional blocks)
The decision matrix tells you WHAT to change. The supplementary language gives
you the EXACT TEXT to insert. Do not improvise contract language — if the
matrix says to insert #DATA-PRIVACY, use the verbatim text from
supplementary-language.md. The ONE exception is Order Form Service Fees,
where the LLM composes from fee pattern examples.
Step 2: Run Intake
Follow the questions in references/intake-questions.md in order. Apply
branching logic (e.g., skip implementation fee if no implementation, skip
pilot details if no pilot, skip service capacity if flat pricing).
Key principles:
- Offer defaults but let the user override
- Use
[TBD — description] for any value the user can't provide yet
- Confirm all decisions in a summary before proceeding (template at the
end of intake-questions.md)
- Do NOT proceed to document assembly without user confirmation
Step 3: Produce the Agreement
Read the YC template from assets/YC_Form_SaaS_Agreement.docx.
Apply modifications in this order:
First — Always-apply defaults (decision-matrix.md Section A, items A1-A18):
- Rename Order Form title → "Order Form Number One"
- Rename "SaaS Services Agreement" → "Customer Agreement" throughout
- Update preamble date year
- Section 1.1 SLA reference — remove [OPTIONAL], always on
- Section 1.2 — change "Exhibit C" to "Exhibit B"
- Section 2.2 — strip export controls note (keep the language)
- Section 2.3 — delete customer indemnity clause + note entirely
- Section 2.5 — insert
#DATA-PRIVACY (new section)
- Section 3.3 — remove optional framing (keep analytics language)
- Section 6 — restructure into 6.1/6.2/6.3: insert
#WARRANTY-REMEDY,
#CUSTOMER-WARRANTY, #BETA-DISCLAIMER
- Section 7 — remove optional note, remove "United States" from patent scope
- Section 8 — strip negotiation note
- Section 9 — replace YC press release language with
#MARKETING-DEFAULT
- Exhibits — replace B + C with
#EXHIBIT-B-CONSOLIDATED, delete Exhibit C
- Strip ALL remaining annotations and notes
Second — Conditional decisions (decision-matrix.md Section B, items B1-B12):
Walk through each conditional decision. For each, look up the intake answer
and apply the specified action. When the matrix references supplementary
language (e.g., #NO-AUTO-RENEWAL), use the verbatim text.
Third — Variable substitutions (decision-matrix.md Section C):
Replace all YC placeholders with intake values. Any field not collected →
[TBD — description].
Fourth — Cleanup:
- Remove any surviving annotations, brackets, or drafting guidance
- Remove empty paragraphs left by deleted sections
- Verify section numbering is sequential (especially after §2.5 addition
and §6 restructure into 6.1/6.2/6.3)
- Verify no non-TBD brackets remain
DocX formatting notes:
- Exhibit B credit table MUST be a proper Word table, not inline text
- Exhibit B communication channels MUST be a proper Word table
- Section 6 subsections (6.1, 6.2, 6.3) need proper heading formatting
- Section 6.3 (Beta Products) must be ALL CAPS
Produce the output as a .docx file:
[CompanyName]_[CustomerName]_Customer_Agreement_DRAFT.docx
Use available document creation tools (native DocX skill, python-docx, or
equivalent) to produce a professionally formatted Word document.
Step 4: Produce the Lawyer Memo
Create a markdown memo alongside the agreement:
[CompanyName]_[CustomerName]_Customer_Agreement_Memo.md
The memo must include:
1. Deal Summary — One paragraph: who, what, fee structure, term.
2. Template Base — "This agreement is based on the Y Combinator standard
form SaaS Agreement with the following modifications."
3. Always-Applied Defaults — Itemized list of every always-apply change
(A1-A18), with brief rationale for each. Example:
- "Renamed to 'Customer Agreement' (professional standard)"
- "Removed 'United States' from IP indemnity patent scope (standard redline)"
- "Added Section 2.5 data privacy and security provisions (essential for modern SaaS)"
- "Added Section 6.2 customer warranty and Section 6.3 beta products disclaimer"
4. Intake-Driven Decisions — Each conditional decision and what was
selected. Example:
- "Section 3.2: Customer owns derivative data (bracketed language retained)"
- "Section 5.1: Auto-renewal with 60-day notice"
5. Items Requiring Attorney Review — This is critical. For each
raise-with-lawyer flag (decision-matrix.md Section D), include the flag
text verbatim. These are:
- DPA recommendation (almost always needed)
- Implementation services IP ownership (if applicable)
- Derivative data ownership (if company retains)
- ML training on customer content (if applicable)
- Data retention timeline confirmation
6. TBD Items — Every [TBD — description] in the document, listed so
the founder knows what to fill in before sending.
Step 5: Deliver
Provide the user with:
- The clean .docx Customer Agreement
- The lawyer memo
- Brief summary: key decisions, TBD count, attorney review items
Decision Points Quick Reference
| # |
Location |
What's Decided |
| B1 |
Order Form |
Services description (from product intake) |
| B2 |
Order Form |
Fee structure + service capacity (8 fee types) |
| B3 |
Order Form + Exhibit A |
Implementation services: include or remove |
| B4 |
Order Form |
Pilot period: include or remove |
| B5 |
§2.1 |
Distributed software license: include or remove |
| B6 |
§3.2 |
Derivative data: customer owns or company retains |
| B7 |
§5.1 |
Auto-renewal: yes (30/60/90 day notice) or no |
| B8 |
§5.2 |
Data retention period on termination |
| B9 |
§9 |
Governing law: state selection |
| B10 |
§9 |
Marketing formulation: default, more, or less |
| B11 |
Exhibit B |
SLA availability: 99.9% / 99.95% / 99.99% |
| B12 |
Exhibit B |
Support details: email, phone, hours, tool |
Supplementary Language Reference
| Anchor |
Clause |
Type |
| #DATA-PRIVACY |
§2.5 Data privacy & security |
Always |
| #WARRANTY-REMEDY |
§6.1 Exclusive warranty remedy |
Always |
| #CUSTOMER-WARRANTY |
§6.2 Customer warranty |
Always |
| #BETA-DISCLAIMER |
§6.3 Beta products (ALL CAPS) |
Always |
| #MARKETING-DEFAULT |
§9 Marketing language |
Always |
| #EXHIBIT-B-CONSOLIDATED |
Exhibit B: SLA + Support |
Always |
| #NO-AUTO-RENEWAL |
§5.1 Manual renewal replacement |
Conditional |
| #FEE-EXAMPLES |
Order Form fee patterns (8 types) |
Conditional |
| #EXPANDED-DATA-RESTRICTIONS |
Sensitive data protections |
Conditional |
| #ML-TRAINING |
ML model training rights |
Conditional |
| #ML-FEDERATED |
Federated learning carve-out |
Conditional |
What This Skill Does NOT Do
- Does not draft DPAs. Flags DPA need in memo; use dpa-drafter separately.
- Does not handle professional services agreements. If the deal has
significant services beyond implementation, use msa-drafter.
- Does not review or redline incoming contracts. This drafts from a
template. For review, use a review skill.
- Does not invent clause language. Every modification is a deletion,
variable substitution, or verbatim insertion from supplementary-language.md.
Exception: Order Form Service Fees, composed from fee pattern examples.
- Does not resolve attorney review items. Flags them in the memo for
counsel to address.
41:["$","div",null,{"className":"relative z-10 mx-auto max-w-[1400px] px-4 pb-16 sm:px-8 lg:px-16","children":[["$","$L45",null,{"skillId":"8c742b2e-9445-44af-a837-ce4c2e72c4db","skillTitle":"YC SaaS Drafter","skillStatus":"active","skillVisibility":"listed","slug":"victor-wang-yc-saas-drafter","shareToken":null,"settingsShareToken":null,"fileTree":["assets/","references/","assets/YC_Form_SaaS_Agreement.docx","LICENSE","README.md","references/decision-matrix.md","references/intake-questions.md","references/supplementary-language.md","SKILL.md"],"textContents":{"README.md":"$46","references/decision-matrix.md":"$47","references/intake-questions.md":"$48","references/supplementary-language.md":"$49","SKILL.md":"$4a"},"fileSizes":{"assets/YC_Form_SaaS_Agreement.docx":37440,"LICENSE":1078,"README.md":3019,"references/decision-matrix.md":16774,"references/intake-questions.md":13095,"references/supplementary-language.md":16234,"SKILL.md":9543},"hasShowcase":false,"hasSandbox":true,"canEdit":false,"isAdmin":false,"demoFiles":[],"sandboxConfig":{"steps":[{"type":"files","filesRequired":false}]},"initialDependencies":[],"initialMcpServers":[],"initialOauthConnections":[],"initialAccessGrants":[],"showcase":null,"about":{"locale":"en","sections":[{"title":"What this skill does","body":"Drafts a customized SaaS Customer Agreement starting from the Y Combinator standard form SaaS template. Runs a structured intake covering fee structure, data handling, ML/AI rights, implementation services, SLA, and governing law, then applies 18 always-on professional defaults plus 12 conditional decisions. Outputs a clean .docx ready for review alongside a lawyer-facing memo that itemizes every change from the YC baseline and flags each item still requiring attorney input. Aimed at startup founders preparing first-draft customer subscription agreements."},{"title":"How to use","body":"The best way to start is to try it live right here — run it against your own document or question to see exactly how it operates, without any setup. Once you're comfortable, download the skill files and drop them into any AI assistant — Claude (Anthropic), ChatGPT (OpenAI), Gemini (Google), or Mistral. The same skill file works across all of them, so you are never locked into a single provider."}],"requiredSkills":[],"dependentSkills":[],"author":{"name":"Victor Wang
1---2name: victor-wang-yc-saas-drafter3description: Drafts a customized Customer Agreement starting from the Y Combinator standard form SaaS template. Tailors the agreement through structured intake questions covering fee structure, data handling, ML rights, implementation services, and more. Applies 18 always-on defaults that transform the raw YC form into a professional starting point (renamed to "Customer Agreement", data privacy section added, warranty restructured, consolidated SLA/support exhibit, etc.). Produces a clean .docx and a lawyer-facing memo explaining every change from the YC standard. Use when user says "draft a SaaS agreement", "YC SaaS", "startup SaaS contract", "customer agreement", "SaaS subscription agreement", or "I need a SaaS agreement starting from the YC form". Also trigger when the user is a startup founder discussing SaaS contracting, even if they don't mention YC specifically.4license: MIT5---67## Output Requirements89The final .docx must read like a lawyer drafted it. The output must contain:1011- **Zero** YC drafting annotations (`*[Note:...]*`, `*[OPTIONAL:...]*`)12- **Zero** placeholder scaffolding (`[OPTIONAL]` markers, option guides)13- **Zero** unfilled template brackets — except deliberate `[TBD — description]`14 markers for values the user couldn't provide, documented in the memo1516The agreement title is "Customer Agreement" — NOT "SaaS Services Agreement".1718If any annotation, note, or non-TBD bracket appears in the output, the draft19is not ready. Fix it before delivering.2021---2223## Workflow2425### Step 1: Load References2627Before asking any questions, read all three reference files:2829- `references/intake-questions.md` — 15 question groups with branching and defaults30- `references/decision-matrix.md` — maps answers to YC template actions (18 always-apply defaults, 12 conditional decisions, variable substitutions, raise-with-lawyer flags)31- `references/supplementary-language.md` — pre-written clause text anchored by ID (always-apply blocks and conditional blocks)3233The decision matrix tells you WHAT to change. The supplementary language gives34you the EXACT TEXT to insert. Do not improvise contract language — if the35matrix says to insert `#DATA-PRIVACY`, use the verbatim text from36supplementary-language.md. The ONE exception is Order Form Service Fees,37where the LLM composes from fee pattern examples.3839### Step 2: Run Intake4041Follow the questions in `references/intake-questions.md` in order. Apply42branching logic (e.g., skip implementation fee if no implementation, skip43pilot details if no pilot, skip service capacity if flat pricing).4445Key principles:46- Offer defaults but let the user override47- Use `[TBD — description]` for any value the user can't provide yet48- Confirm all decisions in a summary before proceeding (template at the49 end of intake-questions.md)50- Do NOT proceed to document assembly without user confirmation5152### Step 3: Produce the Agreement5354Read the YC template from `assets/YC_Form_SaaS_Agreement.docx`.5556Apply modifications in this order:5758**First — Always-apply defaults** (decision-matrix.md Section A, items A1-A18):591. Rename Order Form title → "Order Form Number One"602. Rename "SaaS Services Agreement" → "Customer Agreement" throughout613. Update preamble date year624. Section 1.1 SLA reference — remove [OPTIONAL], always on635. Section 1.2 — change "Exhibit C" to "Exhibit B"646. Section 2.2 — strip export controls note (keep the language)657. Section 2.3 — delete customer indemnity clause + note entirely668. Section 2.5 — insert `#DATA-PRIVACY` (new section)679. Section 3.3 — remove optional framing (keep analytics language)6810. Section 6 — restructure into 6.1/6.2/6.3: insert `#WARRANTY-REMEDY`,69 `#CUSTOMER-WARRANTY`, `#BETA-DISCLAIMER`7011. Section 7 — remove optional note, remove "United States" from patent scope7112. Section 8 — strip negotiation note7213. Section 9 — replace YC press release language with `#MARKETING-DEFAULT`7314. Exhibits — replace B + C with `#EXHIBIT-B-CONSOLIDATED`, delete Exhibit C7415. Strip ALL remaining annotations and notes7576**Second — Conditional decisions** (decision-matrix.md Section B, items B1-B12):77Walk through each conditional decision. For each, look up the intake answer78and apply the specified action. When the matrix references supplementary79language (e.g., `#NO-AUTO-RENEWAL`), use the verbatim text.8081**Third — Variable substitutions** (decision-matrix.md Section C):82Replace all YC placeholders with intake values. Any field not collected →83`[TBD — description]`.8485**Fourth — Cleanup:**86- Remove any surviving annotations, brackets, or drafting guidance87- Remove empty paragraphs left by deleted sections88- Verify section numbering is sequential (especially after §2.5 addition89 and §6 restructure into 6.1/6.2/6.3)90- Verify no non-TBD brackets remain9192**DocX formatting notes:**93- Exhibit B credit table MUST be a proper Word table, not inline text94- Exhibit B communication channels MUST be a proper Word table95- Section 6 subsections (6.1, 6.2, 6.3) need proper heading formatting96- Section 6.3 (Beta Products) must be ALL CAPS9798Produce the output as a .docx file:99`[CompanyName]_[CustomerName]_Customer_Agreement_DRAFT.docx`100101Use available document creation tools (native DocX skill, python-docx, or102equivalent) to produce a professionally formatted Word document.103104### Step 4: Produce the Lawyer Memo105106Create a markdown memo alongside the agreement:107`[CompanyName]_[CustomerName]_Customer_Agreement_Memo.md`108109The memo must include:110111**1. Deal Summary** — One paragraph: who, what, fee structure, term.112113**2. Template Base** — "This agreement is based on the Y Combinator standard114form SaaS Agreement with the following modifications."115116**3. Always-Applied Defaults** — Itemized list of every always-apply change117(A1-A18), with brief rationale for each. Example:118- "Renamed to 'Customer Agreement' (professional standard)"119- "Removed 'United States' from IP indemnity patent scope (standard redline)"120- "Added Section 2.5 data privacy and security provisions (essential for modern SaaS)"121- "Added Section 6.2 customer warranty and Section 6.3 beta products disclaimer"122123**4. Intake-Driven Decisions** — Each conditional decision and what was124selected. Example:125- "Section 3.2: Customer owns derivative data (bracketed language retained)"126- "Section 5.1: Auto-renewal with 60-day notice"127128**5. Items Requiring Attorney Review** — This is critical. For each129raise-with-lawyer flag (decision-matrix.md Section D), include the flag130text verbatim. These are:131- DPA recommendation (almost always needed)132- Implementation services IP ownership (if applicable)133- Derivative data ownership (if company retains)134- ML training on customer content (if applicable)135- Data retention timeline confirmation136137**6. TBD Items** — Every `[TBD — description]` in the document, listed so138the founder knows what to fill in before sending.139140### Step 5: Deliver141142Provide the user with:1431. The clean .docx Customer Agreement1442. The lawyer memo1453. Brief summary: key decisions, TBD count, attorney review items146147---148149## Decision Points Quick Reference150151| # | Location | What's Decided |152|---|----------|---------------|153| B1 | Order Form | Services description (from product intake) |154| B2 | Order Form | Fee structure + service capacity (8 fee types) |155| B3 | Order Form + Exhibit A | Implementation services: include or remove |156| B4 | Order Form | Pilot period: include or remove |157| B5 | §2.1 | Distributed software license: include or remove |158| B6 | §3.2 | Derivative data: customer owns or company retains |159| B7 | §5.1 | Auto-renewal: yes (30/60/90 day notice) or no |160| B8 | §5.2 | Data retention period on termination |161| B9 | §9 | Governing law: state selection |162| B10 | §9 | Marketing formulation: default, more, or less |163| B11 | Exhibit B | SLA availability: 99.9% / 99.95% / 99.99% |164| B12 | Exhibit B | Support details: email, phone, hours, tool |165166---167168## Supplementary Language Reference169170| Anchor | Clause | Type |171|--------|--------|------|172| #DATA-PRIVACY | §2.5 Data privacy & security | Always |173| #WARRANTY-REMEDY | §6.1 Exclusive warranty remedy | Always |174| #CUSTOMER-WARRANTY | §6.2 Customer warranty | Always |175| #BETA-DISCLAIMER | §6.3 Beta products (ALL CAPS) | Always |176| #MARKETING-DEFAULT | §9 Marketing language | Always |177| #EXHIBIT-B-CONSOLIDATED | Exhibit B: SLA + Support | Always |178| #NO-AUTO-RENEWAL | §5.1 Manual renewal replacement | Conditional |179| #FEE-EXAMPLES | Order Form fee patterns (8 types) | Conditional |180| #EXPANDED-DATA-RESTRICTIONS | Sensitive data protections | Conditional |181| #ML-TRAINING | ML model training rights | Conditional |182| #ML-FEDERATED | Federated learning carve-out | Conditional |183184---185186## What This Skill Does NOT Do187188- **Does not draft DPAs.** Flags DPA need in memo; use dpa-drafter separately.189- **Does not handle professional services agreements.** If the deal has190 significant services beyond implementation, use msa-drafter.191- **Does not review or redline incoming contracts.** This drafts from a192 template. For review, use a review skill.193- **Does not invent clause language.** Every modification is a deletion,194 variable substitution, or verbatim insertion from supplementary-language.md.195 Exception: Order Form Service Fees, composed from fee pattern examples.196- **Does not resolve attorney review items.** Flags them in the memo for197 counsel to address.19841:["$","div",null,{"className":"relative z-10 mx-auto max-w-[1400px] px-4 pb-16 sm:px-8 lg:px-16","children":[["$","$L45",null,{"skillId":"8c742b2e-9445-44af-a837-ce4c2e72c4db","skillTitle":"YC SaaS Drafter","skillStatus":"active","skillVisibility":"listed","slug":"victor-wang-yc-saas-drafter","shareToken":null,"settingsShareToken":null,"fileTree":["assets/","references/","assets/YC_Form_SaaS_Agreement.docx","LICENSE","README.md","references/decision-matrix.md","references/intake-questions.md","references/supplementary-language.md","SKILL.md"],"textContents":{"README.md":"$46","references/decision-matrix.md":"$47","references/intake-questions.md":"$48","references/supplementary-language.md":"$49","SKILL.md":"$4a"},"fileSizes":{"assets/YC_Form_SaaS_Agreement.docx":37440,"LICENSE":1078,"README.md":3019,"references/decision-matrix.md":16774,"references/intake-questions.md":13095,"references/supplementary-language.md":16234,"SKILL.md":9543},"hasShowcase":false,"hasSandbox":true,"canEdit":false,"isAdmin":false,"demoFiles":[],"sandboxConfig":{"steps":[{"type":"files","filesRequired":false}]},"initialDependencies":[],"initialMcpServers":[],"initialOauthConnections":[],"initialAccessGrants":[],"showcase":null,"about":{"locale":"en","sections":[{"title":"What this skill does","body":"Drafts a customized SaaS Customer Agreement starting from the Y Combinator standard form SaaS template. Runs a structured intake covering fee structure, data handling, ML/AI rights, implementation services, SLA, and governing law, then applies 18 always-on professional defaults plus 12 conditional decisions. Outputs a clean .docx ready for review alongside a lawyer-facing memo that itemizes every change from the YC baseline and flags each item still requiring attorney input. Aimed at startup founders preparing first-draft customer subscription agreements."},{"title":"How to use","body":"The best way to start is to try it live right here — run it against your own document or question to see exactly how it operates, without any setup. Once you're comfortable, download the skill files and drop them into any AI assistant — Claude (Anthropic), ChatGPT (OpenAI), Gemini (Google), or Mistral. The same skill file works across all of them, so you are never locked into a single provider."}],"requiredSkills":[],"dependentSkills":[],"author":{"name":"Victor Wang