Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

SOW (Statement of Work) Generator

A Claude Code workspace configured with specialized AI agents to help create comprehensive Statement of Work documents from project requirements.

What is This?

This is a Claude Code workspace setup that orchestrates multiple AI agents to collaborate on creating professional SOW documents. The system uses:

  • Custom AI Agents: Specialized personas for business analysis and system architecture
  • Structured Workflows: Step-by-step processes for requirement gathering, specification writing, and work planning
  • Document Generation: Automated creation of specs, work items, risks, and assumptions

Components

AI Agents

Located in .claude/agents/:

  • business-analyst.md: Expert Business Analyst agent with 15+ years experience in requirements engineering. Handles:

    • Requirements discovery and clarification
    • Asking probing questions to uncover true needs
    • Converting requirements into testable specifications
    • Documentation in structured scenario format
  • system-architect.md: Experienced Software Architect with 15+ years designing production systems. Handles:

    • Analyzing codebases to identify implementation gaps
    • Breaking down specs into work items
    • Estimating development effort
    • Identifying risks and assumptions
    • Prioritizing battle-tested technologies and patterns

Commands

Located in .claude/commands/:

  • sow.md: Main orchestration command that guides the entire SOW creation process

How to Use

Creating a Statement of Work

  1. Start the SOW Command:

    Use the /sow command in Claude Code
    
  2. Provide Requirements:

    • Describe your project, feature, or system requirements
    • The business-analyst agent will ask clarifying questions
  3. Answer Clarifying Questions:

    • The BA will probe for unclear requirements
    • Provide answers to help refine the specifications
  4. Review Specifications:

    • The BA will generate a specs document with format:
      • Requirement statements (SHALL format)
      • Scenarios with WHEN/THEN conditions
    • File created: YYYY-MM-DD-[project-title]-specs.md
  5. Add Codebase Context (if applicable):

    • Use /add-dir to add relevant codebase directories
    • The system-architect will analyze the code
  6. Review Work Items:

    • The architect will identify gaps and create work items
    • Development effort estimates are provided (assumes senior dev + AI)
    • Files created:
      • YYYY-MM-DD-[project-title]-work-items.md
      • YYYY-MM-DD-[project-title]-risks-and-assumptions.md
  7. Get CSV Outputs:

    • Automatically generates CSV files for project management:
      • YYYY-MM-DD-[project-title]-work-items.csv
      • YYYY-MM-DD-[project-title]-risks.csv
      • YYYY-MM-DD-[project-title]-assumptions.csv

Workflow Steps

The SOW command orchestrates these steps automatically:

  1. BA analyzes requirements and asks questions → STOP
  2. BA converts requirements to specs → STOP
  3. User adds codebase directories via /add-dirSTOP
  4. Architect analyzes codebase and identifies gaps
  5. Architect creates work items with effort estimates
  6. Architect documents risks and assumptions
  7. Auto-generate CSV files for all outputs

Output Documents

All generated documents are stored in history/[project-name]/:

  • Specs: YYYY-MM-DD-[project-title]-specs.md - Testable requirements with scenarios
  • Work Items: YYYY-MM-DD-[project-title]-work-items.md - Implementation tasks with estimates
  • Risks & Assumptions: YYYY-MM-DD-[project-title]-risks-and-assumptions.md - Project risks and assumptions
  • CSVs: Spreadsheet-ready formats for project management tools

Specification Format

Requirements follow this structure:

### Requirement: [Feature Name]
The system SHALL [clear, testable requirement statement]

#### Scenario: [Scenario Name]
- **WHEN** [preconditions and actions]
- **THEN** [expected outcomes and system behavior]

#### Scenario: [Edge Case Name]
- **WHEN** [corner case condition]
- **THEN** [expected system response]

Configuration

Permissions

Located in .claude/settings.local.json:

{
  "permissions": {
    "allow": [
      "Bash(/tmp/parse_markdown.py:*)",
      "Bash(python3:*)",
      "Bash(wc:*)"
    ]
  }
}

Best Practices

  1. Be Thorough with Initial Requirements: The more context you provide upfront, the fewer clarification rounds needed
  2. Answer BA Questions Carefully: The quality of specs depends on clear answers
  3. Add Relevant Codebase: Only include directories relevant to the project for accurate gap analysis
  4. Review Each Stop Point: The workflow has built-in stops for your review and approval
  5. Keep Documents Organized: All outputs go into history/[project-name]/ for version control

Agent Capabilities

Business Analyst

  • 5 Whys technique for root cause analysis
  • User story mapping
  • MoSCoW prioritization
  • SMART requirements validation
  • Non-functional requirements elicitation

System Architect

  • Proven technology patterns (3+ years production use)
  • Operational complexity analysis
  • Scalability and performance planning
  • Security and compliance considerations
  • Risk identification and mitigation strategies

Contributing

When enhancing this workspace:

  1. Update agent prompts in .claude/agents/ for improved behavior
  2. Modify workflow in .claude/commands/sow.md for process changes
  3. Update permissions in .claude/settings.local.json as needed
  4. Document changes in this README

About

A Claude Code agent team to create Statement of Work documents to cope with company bureaucracy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors