skills/create-plan/SKILL.md
Create a comprehensive implementation plan artifact (plan.md) from the current conversation context. Captures all Phase 0-1 discussion into a structured, self-contained document that enables context recovery and session handoff. Use after planning is complete and confidence gate passes. Triggers on create plan, generate plan, write plan artifact.
npx skillsauth add mthines/gw-tools create-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate .gw/{branch-name}/plan.md — the single source of truth for autonomous execution.
A new Claude session MUST be able to execute from this plan alone without the original conversation.
Before invoking this skill:
Run this command to get the artifact path — do NOT guess the branch name:
BRANCH=$(git branch --show-current) && mkdir -p ".gw/${BRANCH}" && echo ".gw/${BRANCH}/plan.md"
Use the output as the file path. Do NOT hardcode or guess the branch name.
Create the file at the path from Step 1 using the EXACT template structure below. Every section is MANDATORY. Fill each section from the Phase 0-1 conversation context.
After writing, verify against the checklist at the bottom of this skill. If any item fails, fix it immediately.
All timestamps MUST use full ISO 8601 with time: YYYY-MM-DDTHH:MM:SSZ
---
created: { TIMESTAMP }
branch: { BRANCH }
task: { TASK_DESCRIPTION }
complexity: { LOW | MEDIUM | HIGH }
status: approved
approved: true
---
# Plan: {TASK_DESCRIPTION}
## Summary
<!-- What, why, and definition of "done" in 2-3 sentences -->
## Background & Context
<!-- Why is this needed? What problem does it solve? Include history and motivation
from Phase 0 discussion. Write so a reader with zero prior context understands
the full "why". -->
## Requirements
<!-- ALL requirements from Phase 0. Tag each one. Include non-functional requirements
(performance, compatibility, security) inline. -->
1. {requirement} — [user-stated | inferred]
### Out of Scope
<!-- Items discussed but explicitly excluded, with reason. Prevents scope creep. -->
1. {item} — {reason}
## Decisions
<!-- Every decision from Phase 0-1, including rejected alternatives and rationale.
Critical for context recovery — a new session needs to know WHY, not just WHAT. -->
| Decision | Alternatives Rejected | Rationale |
| -------- | --------------------- | --------- |
## Technical Approach
<!-- Architecture, data flow, integration points. Specific enough for a new session
to implement without the original conversation. -->
### Patterns to Follow
<!-- Existing codebase patterns to match. Reference specific files as examples. -->
### Edge Cases
| Edge Case | Handling |
| --------- | -------- |
### API / Interfaces
<!-- Type signatures, function signatures, config shapes. Omit section if N/A. -->
## Implementation Order
<!-- Ordered steps for Phase 3 execution. Each step should be atomic and verifiable.
Enables context recovery if interrupted mid-implementation. -->
1. {step}
## File Changes
<!-- ALL files: create, modify, or delete. Include docs. -->
| Action | File | Change | Reason |
| ------ | ------ | ----------------------- | ------ |
| create | {path} | {purpose / key exports} | {why} |
| modify | {path} | {specific changes} | {why} |
## Tests
<!-- Specific test cases, not categories. Each row is a concrete test. -->
| Type | Test Case | File | Validates |
| ----------- | -------------- | ------ | ---------- |
| unit | {case} | {file} | {behavior} |
| integration | | | |
| manual | {step-by-step} | | |
## Dependencies
<!-- "None" or list with versions. Mark new additions with [new]. -->
## Risks
| Risk | Likelihood | Impact | Mitigation |
| ---- | ---------- | ------ | ---------- |
## Verification
<!-- Commands to run. Determine from package.json, Makefile, or project config. -->
- **After editing**: {fast check: type-check or compile}
- **Before PR**: {full suite: build + test + lint}
## Progress Log
<!-- Append-only. Updated at phase transitions and key milestones. -->
- [{TIMESTAMP}] Phase 1: Plan created
- [{TIMESTAMP}] Phase 2: Worktree created at {branch}
After writing plan.md, verify ALL of the following. Fix any failures immediately.
git branch --show-current — inside the worktree (NOT on main)YYYY-MM-DDTHH:MM:SSZ)[user-stated] or [inferred]| Failure | Fix |
| ------------------------------------ | --------------------------------------------------------------------- |
| Sparse sections ("TBD", "see above") | Fill from conversation context — every section must be self-contained |
| Missing decisions rationale | Add "Alternatives Rejected" and "Rationale" for each decision |
| Vague implementation steps | Make each step atomic: "Add X to file Y" not "implement feature" |
| No file paths in Patterns | Reference specific existing files, not abstract descriptions |
| Requirements not tagged | Add [user-stated] or [inferred] to every requirement |
| Timestamps missing time component | Use 2026-03-07T14:30:00Z not 2026-03-07 |
tools
Configure .gw/config.json for gw-tools repos — auto-copy files, hooks, cleanup thresholds, update strategy, and the config migration system. Use when: setting up gw for a new project, adding or changing a config field, adding a hook, configuring auto-copy patterns, asking what fields gw config supports, running gw init, adding a migration, bumping configVersion, keeping schema.json in sync, or troubleshooting missing env files in worktrees.
tools
Use the `gw` CLI for ALL Git worktree work — creating, navigating, listing, removing, syncing, updating, checking out PRs, troubleshooting. Replaces raw `git worktree`, `cd ../wt`, `git checkout -b`, and manual file copies. Triggers on: "spin up a branch", "work on a feature", "check out PR", "switch branch without stashing", "create a worktree", "parallel branches", "clean up branches", "gw", "gw add", "gw checkout", "git worktree", or any branch workflow.
development
Autonomous feature development workflow using isolated worktrees. Use to autonomously implement features from task description through tested PR delivery. Handles worktree creation, implementation, testing, iteration, documentation, and PR creation. Triggers on autonomous feature development, end-to-end implementation, or "implement X autonomously."
development
Generate a walkthrough artifact (walkthrough.md) summarizing completed work for PR delivery. Gathers information from plan.md, git history, and test results to produce a comprehensive summary. Use at Phase 6 before creating the draft PR. Triggers on create walkthrough, generate walkthrough, write walkthrough artifact.