Statement of Work Generator
Generates formal Statements of Work (SOW) with project scope, milestones, acceptance criteria, payment schedule, and legal terms. Exports to PDF via pandoc. Prerequisites: python3, pandoc.
MCP get_skill({ skillId: "statement-of-work-generator-d0561830" })Use this skill with your agent
Create a free account and connect via MCP
# Statement of Work Generator
Generate formal Statements of Work with milestones, acceptance criteria, and payment schedules.
## When to Use
- "Create a SOW for {project}"
- "I need a formal statement of work for {client}"
- "Help me define the scope for a client project"
## Requirements
- **python3** for milestone and payment calculations
- **pandoc** for PDF/DOCX export
## Workflow
### Step 1 — Project Details
- **Client name and company**
- **Project name and description**
- **Start date and duration**
- **Total project value**
- **Payment structure** (milestones, monthly, upfront+final)
- **Key deliverables**
- **Acceptance criteria** (how deliverables are approved)
### Step 2 — Generate SOW
```markdown
# Statement of Work
**Project:** {PROJECT_NAME}
**Client:** {CLIENT_NAME}, {CLIENT_COMPANY}
**Contractor:** {YOUR_NAME}, {YOUR_COMPANY}
**Effective Date:** {START_DATE}
**SOW #:** {SOW_NUMBER}
---
## 1. Purpose
This Statement of Work defines the scope, deliverables, timeline, and terms for {PROJECT_DESCRIPTION}.
## 2. Scope of Work
### 2.1 In Scope
- {Deliverable 1}: {Detailed description}
- {Deliverable 2}: {Detailed description}
- {Deliverable 3}: {Detailed description}
### 2.2 Out of Scope
- {Excluded item 1}
- {Excluded item 2}
- {Excluded item 3}
### 2.3 Assumptions
- {Assumption 1 — e.g., client provides content by X date}
- {Assumption 2}
## 3. Milestones & Timeline
| # | Milestone | Deliverable | Due Date | Payment |
|---|-----------|------------|----------|--------|
| 1 | Project Kickoff | Discovery complete | {DATE} | ${AMOUNT} |
| 2 | {Milestone 2} | {Deliverable} | {DATE} | ${AMOUNT} |
| 3 | {Milestone 3} | {Deliverable} | {DATE} | ${AMOUNT} |
| 4 | Final Delivery | All deliverables | {DATE} | ${AMOUNT} |
| | **Total** | | | **${TOTAL}** |
## 4. Acceptance Criteria
- Each deliverable will be reviewed within {N} business days of submission
- Client provides written approval or specific revision requests
- Maximum {N} rounds of revisions per deliverable included
- Deliverable is considered accepted if no feedback within {N} business days
## 5. Payment Terms
- **Total value:** ${TOTAL}
- **Payment schedule:** Per milestone completion
- **Payment method:** {Bank transfer / PayPal / etc.}
- **Net terms:** {Net 15 / Net 30}
- **Late payment:** {Interest rate or policy}
## 6. Change Management
- Changes to scope require a written Change Order signed by both parties
- Change Orders may adjust timeline and budget
- Rate for additional work: ${RATE}/hr
## 7. Intellectual Property
- All deliverables become Client property upon full payment
- Contractor retains right to use work in portfolio
- Pre-existing IP remains with its owner
## 8. Confidentiality
- Both parties agree to keep project details confidential
- This obligation survives termination for {N} years
## 9. Termination
- Either party may terminate with {N} days written notice
- Client pays for all completed work and work-in-progress
- Contractor delivers all completed work upon termination
## 10. Signatures
| | Client | Contractor |
|---|--------|------------|
| Name | _____________ | _____________ |
| Title | _____________ | _____________ |
| Date | _____________ | _____________ |
| Signature | _____________ | _____________ |
```
### Step 3 — Payment Schedule Calculator
```bash
python3 << 'PYEOF'
milestones = [
{"name": "Kickoff / Discovery", "pct": 25},
{"name": "{Milestone 2}", "pct": 25},
{"name": "{Milestone 3}", "pct": 25},
{"name": "Final Delivery", "pct": 25},
]
total = {TOTAL_VALUE}
print("Payment Schedule:")
running = 0
for m in milestones:
amount = total * m["pct"] / 100
running += amount
print(f" {m['name']}: ${amount:,.2f} ({m['pct']}%) — Cumulative: ${running:,.2f}")
print(f"\nTotal: ${total:,.2f}")
PYEOF
```
### Step 4 — Export
```bash
mkdir -p outputs/contracts
pandoc "outputs/contracts/SOW-{NUMBER}.md" -o "outputs/contracts/SOW-{NUMBER}.pdf" --pdf-engine=wkhtmltopdf -V geometry:margin=1in
echo "SOW saved: outputs/contracts/SOW-{NUMBER}.pdf"
```
## Important Rules
- Always define Out of Scope explicitly — this prevents disputes
- Include acceptance criteria with specific timeframes
- Payment milestones should be tied to deliverables, not dates
- Include change management process — scope creep kills projects
- Add a disclaimer: this is a template, not legal advice — recommend legal review
## Example Prompts
- "Create a SOW for a 3-month website development project worth $15,000"
- "I need a statement of work for my consulting engagement"
- "Help me write a formal SOW for {client}'s mobile app project"Related Skills
More skills in Business & Freelance
Business Plan One-Pager
Creates a concise one-page business plan covering value proposition, market, revenue model, and key metrics. Researches market data via Brave Search and generates a Mermaid business model canvas. Prerequisites: brave-search MCP, python3.
Client Proposal Writer
Builds professional client proposals with scope, timeline, pricing, and terms — researches market rates via Brave Search and generates pandoc-ready documents. Prerequisites: brave-search MCP, python3, pandoc.
Competitor Analysis Report
Researches competitors via Brave Search and builds a comprehensive competitive landscape analysis with positioning, pricing, strengths/weaknesses, and strategic recommendations. Prerequisites: brave-search MCP, python3.
Invoice Generator
Generates professional invoices with line items, tax calculations, payment terms, and exports to PDF via pandoc. Tracks invoice numbers and calculates totals. Prerequisites: python3, pandoc.
Pricing Strategy Calculator
Helps freelancers and businesses set pricing using cost-plus, value-based, and competitive analysis methods. Researches market rates via Brave Search and runs breakeven calculations. Prerequisites: brave-search MCP, python3.
Explore Other Categories
Skills from other categories with shared topics
Ab Test Setup
When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.
Academic Search
Search and analyze academic literature. Find papers, understand research methodologies, and synthesize academic findings for research projects.
Ad Creative
When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say 'write ad copy,' 'generate headlines,' 'create ad variations,' 'bulk creative,' 'iterate on ads,' 'ad copy validation,' 'RSA headlines,' 'Meta ad copy,' 'LinkedIn ad,' or 'creative testing.' This is pure creative production — distinct from paid-ads (campaign strategy). Use ad-creative when you need the copy, not the campaign plan.