Skip to content
G GBTI
Sign in

Manage Statements of Work with Claude Code

This is a Claude Code skill that assists with scope of work (SOW) management. It comes with commands to ship a kanban style lane management system for markdown scope of work files, as well as commands for quickly creating and scaling scopes of work. See description for more details.

Prompt

When you are asked to author or improve a SOW (Statement of Work), do these steps IN ORDER before writing anything. SOWs are local planning documents that live in a .data/sow/ folder (kept out of version control), organized into lanes that a work item moves through: 0_queue, 1_progressing, 2_waiting_review, 3_completed, with a _staging side-lane for items parked on an external blocker. Keep one canonical markdown file per SOW.

Initialize (/sow init)

When invoked as /sow init (or when the lane folders do not exist yet), scaffold the framework idempotently, then stop (this command only builds the folders, it does not author a SOW):

mkdir -p .data/sow/{_staging,0_queue,1_progressing,2_waiting_review,3_completed}
[ -f .data/sow/todo.md ] || printf '# SOW todo\n' > .data/sow/todo.md
grep -qxF '.data/' .gitignore 2>/dev/null || echo '.data/' >> .gitignore

It creates only what is missing and never overwrites an existing todo.md. The .data/ folder stays out of version control (local planning, never committed).

1. Improve an existing SOW first (do not duplicate)

Search the open lanes for a SOW this work belongs in and extend that one instead of creating a new file. If a fitting SOW exists, add to it (a decision, a phase, an open-question resolution). If it sits in 2_waiting_review, add a dated review-feedback note (it is code-complete, so this is a follow-up). Only create a new SOW when no open SOW is a reasonable home, and state that you checked.

2. Ground it in a code audit (no guessing)

Read the real code so the SOW cites file and line and the true root cause, not assumptions. For a bug, name the root cause. For a feature, name the surfaces and the pattern to reuse. Prefer reusing existing infrastructure over inventing new code.

Search the completed lane and cite the relevant items (as dependencies or related work, the origin of a regression, or the pattern to reuse). Name each completed SOW by id and path in the cross-references section.

4. Number and place it

Find the next free number, and default the lane to 0_queue unless told to start in 1_progressing. Group SOWs into subfolders that match the areas of your project.

5. Plan mode and writing conventions

Every SOW is built in plan mode, so add a note that its build begins in plan mode and leave genuine decisions as open questions. Follow the writing conventions of your project consistently.

6. Structure it

Frontmatter: id, title, status (matching the lane), priority, phase, created (today, as an absolute date), depends_on, related, owner. Then a title, a status banner (what and why, grounded in the audit), design decisions, phases, constraints and guardrails, open questions, and cross-references.

7. Design-first SOWs

If the SOW redesigns a visual surface, do not build from prose: request a mockup, store the assets under a sow-NNN-assets folder with a source note, and reference them.

Reminders

The planning docs are local only and never committed. A SOW is a living document: keep its status and lane in sync as the work moves from queue to completed.

A creator network, powered by Git

Join the GBTI Network

The GBTI Network is a creator network. Members showcase their work, write articles, share in network profits, and meet in weekly coaching calls with the community.

Publish your profile, blog posts, products, and prompts
Share in network profits
Join weekly coaching calls with the community

A 90-day limited-access trial lets you evaluate the community before you pay. Paid membership is $150 per year and unlocks your public presence on the network: your profile, blog, products, and prompts.

Become a member You are reading atwellpub's work. Joining from this page credits atwellpub.

From the author

atwellpub

A Claude Code skill for authoring and managing Statements of Work (SOWs) as local, lane-based planning documents.

/sow init scaffolds the framework in the current project. It is idempotent and builds folders only, so it never authors a SOW:

  • creates the lane folders 0_queue, 1_progressing, 2_waiting_review, and a _staging side-lane
  • creates a todo.md when one is missing, and never overwrites an existing one
  • keeps the .data/ planning folder out of version control

/sow "<request>" authors or updates a SOW from a plain-language request, for example /sow "add a SOW for the new billing webhook":

  • searches the open SOWs first (queue, in progress, and waiting review) and folds the request into an existing SOW when one fits, instead of creating a duplicate
  • creates a new canonical markdown file only when nothing open is a reasonable home, and reports that it checked first
  • places a new SOW in 0_queue by default, and starts it in 1_progressing only when the request says so explicitly, for example /sow "add the billing webhook SOW and start it in progress"
  • grounds each SOW in a code audit that cites file and line, references the completed work it builds on, and keeps its status in sync as the SOW moves across the lanes

0 Comments

No comments yet. Be the first. Members comment from the GBTI local client, where comments are submitted as pull requests and auto-published for paid members.

Become a member

Members write comments from the GBTI client or browser extension. Become a member to join the conversation.

Sign in with the GBTI extension

Signing in and publishing happen through the free GBTI browser extension. It keeps your GitHub sign-in on your own machine and lets you edit and publish in place.

The Chrome Web Store listing is coming soon. For now, the download page walks you through loading it as an unpacked extension.