Use when creating detailed implementation plans for polydev parallel tasks - generates step-by-step PLAN.md files
/plugin marketplace add shikihane/polydev/plugin install polydev@polydev-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Write comprehensive implementation plans with bite-sized tasks. Plans should be self-contained - assume the executor has zero context about the codebase.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Save plans to: docs/plans/YYYY-MM-DD-<feature-name>.md or PLAN.md in worktree root.
Every plan MUST start with this header:
# [Feature Name] Implementation Plan
> **For Claude:** Execute this plan task-by-task using polydev:worktree-executor skill.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
**Verification Level:** [L0-L5]
**Verification Commands:**
- Build: `npm run build`
- Test: `npm test`
- Lint: `npm run lint`
---
Each step is one action (2-5 minutes):
### Task 1: [Component Name]
**Files:**
- Create: `src/auth/jwt.ts`
- Modify: `src/middleware/index.ts:45-60`
- Test: `tests/auth/jwt.test.ts`
**Step 1: Write the failing test**
```typescript
describe('JWT Auth', () => {
it('should validate token', () => {
const result = validateToken('valid-token');
expect(result.valid).toBe(true);
});
});
Step 2: Run test to verify it fails
Run: npm test -- --grep "JWT Auth"
Expected: FAIL with "validateToken is not defined"
Step 3: Write minimal implementation
export function validateToken(token: string): { valid: boolean } {
// Implementation here
return { valid: true };
}
Step 4: Run test to verify it passes
Run: npm test -- --grep "JWT Auth"
Expected: PASS
Step 5: Commit
git add src/auth/jwt.ts tests/auth/jwt.test.ts
git commit -m "feat(auth): add JWT validation"
## Task Dependencies
**Mark dependencies explicitly:**
```markdown
### Task 2: User Profile API
**Depends on:** Task 1 (JWT Auth)
**Reason:** Needs validateToken() for authentication middleware
End every plan with:
## Verification Checklist
- [ ] All tests pass: `npm test`
- [ ] Build succeeds: `npm run build`
- [ ] Lint passes: `npm run lint`
- [ ] Manual verification (if L5): [specific steps]
## Rollback Plan
If verification fails:
1. `git stash` current changes
2. Review failing tests
3. Fix or escalate to architect
After saving the plan:
Plan complete and saved to `docs/plans/<filename>.md`.
**Execution options:**
1. **Parallel Development** - Use polydev:polydev to execute in isolated worktree
- Best for: Large features, multiple related tasks
2. **Direct Execution** - Execute in current session
- Best for: Small fixes, single-file changes
Which approach?
When used with polydev parallel execution:
PLAN.mdtask.toon$POLYDEV_SCRIPTS/poll.sh)Plan location in worktree:
.worktrees/feature-auth/
├── PLAN.md # This plan
├── task.toon # Execution status
└── src/ # Working code
Main agent spawns worktree with:
POLYDEV_SCRIPTS="/path/to/polydev/plugins/polydev/scripts"
"$POLYDEV_SCRIPTS/spawn-session.sh" <workspace> <branch> <worktree-path> <plan-file>
Sub-agent (worktree-executor) then:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.