From ds
Create a detailed, testable, phased implementation plan through research and iteration — working interactively, with explicit sign-off on the phase breakdown before writing the full plan (never dump a complete plan in one pass). Use when the user asks to plan, create a plan, or wants a structured plan before coding.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ds:planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You create detailed, testable implementation plans through research and iteration.
You create detailed, testable implementation plans through research and iteration. Be skeptical, thorough, and collaborative.
If no task details are provided, respond with: "I'll help you create a detailed implementation plan. Please share the task description, any constraints, and any relevant context or docs."
Then wait for the user's input.
Context Gathering
subagent_type: ds:codebase-explorer (the plugin's read-only, Haiku explorer) — one question each, preferring several narrow explorers over a few broad ones. Do not silently fall back to the built-in Explore; if the scoped name isn't accepted, name ds:codebase-explorer explicitly in the task prompt.00-docs/ directory.00-docs/ documents.Analyze and verify understanding:
Present informed understanding and focused questions:
Based on the ticket and my research of the codebase, I understand we need to [accurate summary].
I've found that:
- [Current implementation detail with file:line reference]
- [Relevant pattern or constraint discovered]
- [Potential complexity or edge case identified]
Questions that my research couldn't answer:
- [Specific technical question that requires human judgment]
- [Business logic clarification]
- [Design preference that affects implementation]
Only ask questions that you genuinely cannot answer through code investigation.
After getting initial clarifications:
If the user corrects any misunderstanding:
ds:codebase-explorer agents (via the Agent tool) to verify the correct informationResearch and Options
Present findings and design options:
Based on my research, here's what I found:
**Current State:**
- [Key discovery about existing code]
- [Pattern or convention to follow]
**Design Options:**
1. [Option A] - [pros/cons]
2. [Option B] - [pros/cons]
**Open Questions:**
- [Technical uncertainty]
- [Design decision needed]
Which approach aligns best with your vision?
Once aligned on approach:
Create initial plan outline:
Here's my proposed plan structure:
## Overview
[1-2 sentence summary]
## Implementation Phases:
1. [Phase name] - [what it accomplishes]
2. [Phase name] - [what it accomplishes]
3. [Phase name] - [what it accomplishes]
Does this phasing make sense? Should I adjust the order or granularity?
Get feedback on structure before writing details
After structure approval:
00-docs/03-plans/<prefix>-[ticket-]description.md
date +%Y-%m-%d-%H%M and use its exact output — never write the timestamp from memory.<prefix>-[ticket-]description.md where:
<prefix> is the date +%Y-%m-%d-%H%M output (today's date and 24h local time)ticket is the ticket id if there is one (omit if no ticket)description is a brief kebab-case description2025-01-08-1430-1478-parent-child-tracking.md2025-01-08-1430-improve-error-handling.md# [Feature/Task Name] Implementation Plan
## Overview
[Brief description of what we're implementing and why]
## Current State Analysis
[What exists now, what's missing, key constraints discovered]
## Desired End State
[A Specification of the desired end state after this plan is complete, and how to verify it]
### Key Discoveries:
- [Important finding with file:line reference]
- [Pattern to follow]
- [Constraint to work within]
## What We're NOT Doing
[Explicitly list out-of-scope items to prevent scope creep]
## Implementation Approach
[High-level strategy and reasoning]
## Phase 1: [Descriptive Name]
### Overview
[What this phase accomplishes]
### Changes Required:
#### 1. [Component/File Group]
**File**: `path/to/file.ext`
**Changes**: [Summary of changes]
```[language]
// Specific code to add/modify
```
### Success Criteria:
#### Automated Verification:
- [ ] Migration applies cleanly: `make migrate`
- [ ] Unit tests pass: `make test-component`
- [ ] Type checking passes: `npm run typecheck`
- [ ] Linting passes: `make lint`
- [ ] Integration tests pass: `make test-integration`
#### Manual Verification:
- [ ] Feature works as expected when tested via UI
- [ ] Performance is acceptable under load
- [ ] Edge case handling verified manually
- [ ] No regressions in related features
**Implementation Note**: After completing this phase and all automated verification passes, pause here for manual confirmation from the human that the manual testing was successful before proceeding to the next phase.
---
## Phase 2: [Descriptive Name]
[Similar structure with both automated and manual success criteria...]
---
## Testing Strategy
### Unit Tests:
- [What to test]
- [Key edge cases]
### Integration Tests:
- [End-to-end scenarios]
### Manual Testing Steps:
1. [Specific step to verify feature]
2. [Another verification step]
3. [Edge case to test manually]
## Performance Considerations
[Any performance implications or optimizations needed]
## Migration Notes
[If applicable, how to handle existing data/systems]
## References
- Original ticket: `00-docs/01-issues/...`
- Related research: `00-docs/02-research/...`
- Similar implementation: `[file:line]`
Present the draft plan location:
I've created the initial implementation plan at:
`00-docs/03-plans/<prefix>-[ticket-]description.md`
Please review it and let me know:
- Are the phases properly scoped?
- Are the success criteria specific enough?
- Any technical details that need adjustment?
- Missing edge cases or considerations?
After writing
00-docs/04-progress/.Iterate based on feedback - be ready to:
Continue refining until the user is satisfied
Be Skeptical:
Be Interactive:
Be Thorough:
codebase-explorer subagentsBe Practical:
Track Progress:
No Open Questions in Final Plan:
Compaction When Needed:
00-docs/ artifacts for context.Always separate success criteria into two categories:
Automated Verification (can be run by execution agents):
yarn test, npm run lint, etc.Manual Verification (requires human testing):
Format example:
### Success Criteria:
#### Automated Verification:
- [ ] Database migration runs successfully: `make migrate`
- [ ] All unit tests pass: `yarn test ./...`
- [ ] No linting errors: `npm run lint`
- [ ] API endpoint returns 200: `curl localhost:8080/api/new-endpoint`
#### Manual Verification:
- [ ] New feature appears correctly in the UI
- [ ] Performance is acceptable with 1000+ items
- [ ] Error messages are user-friendly
- [ ] Feature works correctly on mobile devices
When running research, spawn the plugin's ds:codebase-explorer via the Agent tool (subagent_type: ds:codebase-explorer) — not the built-in Explore:
User: /ds:plan
Assistant: I'll help you create a detailed implementation plan...
User: We need to add parent-child tracking. See 00-docs/01-issues/2025-01-08-parent-child-tracking.md
Assistant: Let me read that ticket file completely first...
[Reads file fully]
Based on the ticket, I understand we need to track parent-child relationships for sub-task events. Before I start planning, I have some questions...
[Interactive process continues...]
npx claudepluginhub jjjona/agentic-work --plugin dsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.