$npx -y skills add getnao/sylph --skill create-contractGenerate a customer-specific enterprise service agreement by filling in the standard template with deal details.
| 1 | # /create-contract - Enterprise Contract Generation |
| 2 | |
| 3 | ## MCP connectors |
| 4 | |
| 5 | None required. This skill operates on local repo files only. |
| 6 | |
| 7 | Generate a customer-specific Enterprise Service Agreement by filling in the standard template with deal-specific details. |
| 8 | |
| 9 | **Architecture**: The template lives in `legal/templates/`: |
| 10 | - `enterprise-service-agreement.md` - source of truth (readable, diffable) |
| 11 | - `generate-docx.js` - Node.js script that produces a formatted `.docx` from the template (`npm install docx && node generate-docx.js`) |
| 12 | |
| 13 | Customer-specific contracts are generated locally and never committed to git. |
| 14 | |
| 15 | **Important**: This produces a draft contract. All contracts must be reviewed by qualified legal counsel before signing. |
| 16 | |
| 17 | ## Invocation |
| 18 | |
| 19 | ``` |
| 20 | /create-contract <proposal file or deal details> |
| 21 | ``` |
| 22 | |
| 23 | ## Workflow |
| 24 | |
| 25 | ### Step 1: Collect Deal-Specific Fields |
| 26 | |
| 27 | The template uses `[TO COMPLETE]` placeholders for all customer-specific information. Collect these from the user's input (proposal, CRM record, or conversation): |
| 28 | |
| 29 | **Customer details:** |
| 30 | - Customer legal name |
| 31 | - Jurisdiction and corporate form |
| 32 | - Principal place of business address |
| 33 | - Registry and registration number (if applicable) |
| 34 | - Signatory name and title |
| 35 | |
| 36 | **Commercial terms:** |
| 37 | - Enterprise license fee (annual, USD) |
| 38 | - Implementation services fee (one-time, USD) |
| 39 | - Year 1 total |
| 40 | - Renewal fee after Year 1 |
| 41 | - Number of implementation days |
| 42 | - Number of follow-up months |
| 43 | - Initial term length (months) |
| 44 | |
| 45 | **Scope:** |
| 46 | - Number of tables in initial scope |
| 47 | - Data sources |
| 48 | - Billing contact email |
| 49 | - Technical contacts |
| 50 | |
| 51 | If details are missing, prompt the user. For unknown legal entity details, use `[TO COMPLETE]` placeholders and flag them. |
| 52 | |
| 53 | ### Step 2: Generate the Customer Contract |
| 54 | |
| 55 | 1. Read the template from `legal/templates/enterprise-service-agreement.md` |
| 56 | 2. Fill in all `[TO COMPLETE]` placeholders with the actual deal values |
| 57 | 3. Save the filled contract to `legal/_drafts/YYYY-MM-DD_<customer-slug>-enterprise-contract.md` |
| 58 | |
| 59 | ### Step 3: Generate the formatted .docx |
| 60 | |
| 61 | 1. Run the docx generator to produce a formatted Word document: |
| 62 | ```bash |
| 63 | cd legal/templates && node generate-docx.js |
| 64 | ``` |
| 65 | 2. The generator reads the same template and produces `enterprise-service-agreement.docx` with proper formatting (headers, footers, logo, tables, page breaks) |
| 66 | 3. Move the generated docx to the drafts folder: |
| 67 | ```bash |
| 68 | mv legal/templates/enterprise-service-agreement.docx legal/_drafts/YYYY-MM-DD_<customer-slug>-enterprise-contract.docx |
| 69 | ``` |
| 70 | |
| 71 | ### Step 4: Review Checklist |
| 72 | |
| 73 | Before handing off, verify: |
| 74 | - [ ] All `[TO COMPLETE]` placeholders have been filled |
| 75 | - [ ] Pricing matches the proposal exactly |
| 76 | - [ ] Term and renewal terms are correct |
| 77 | - [ ] Scope of services matches what was proposed |
| 78 | - [ ] Implementation deliverables are listed |
| 79 | - [ ] Customer legal name and address are correct |
| 80 | |
| 81 | ### Step 5: Summary |
| 82 | |
| 83 | Output a deal summary: |
| 84 | - Parties and key contacts |
| 85 | - Total contract value (Year 1 and recurring) |
| 86 | - Key terms (term length, implementation scope) |
| 87 | - Files generated and their locations |
| 88 | - Next steps: legal review, then send for signature |
| 89 | |
| 90 | ## Notes |
| 91 | |
| 92 | - Never fabricate customer legal entity details - use `[TO COMPLETE]` |
| 93 | - Customer-specific files go in `legal/_drafts/` and are gitignored |
| 94 | |
| 95 | ## Self-improvement |
| 96 | |
| 97 | After the CAO reviews and approves a contract: |
| 98 | |
| 99 | 1. Move the final contract from `legal/_drafts/` to `legal/_published/` |
| 100 | 2. Diff what was drafted vs what the CAO (or legal counsel) changed - identify patterns in clause edits |
| 101 | 3. Update `legal/_insights.md` with what was changed and why (e.g. "removed auto-renewal for this deal type", "added data residency clause for EU clients") |
| 102 | 4. If the edits reveal a recurring pattern, update `legal/templates/enterprise-service-agreement.md` to reflect the new standard position |
| 103 | 5. If a contract structure works particularly well for a deal type, save it to `legal/_examples/` as a reference |