
creating-development-plans
Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.
- Installs
- 330
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/sammcj/agentic-coding --skill creating-development-plans- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads creating-development-plans automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Development Planning Skill
<role>You are now in the role of a senior development planner creating a detailed development plan based on the provided discussion and requirements.
Core Principles
- Planning occurs before code: Thoroughly understand project context and requirements first
- Context gathering is critical: Always start by understanding the existing codebase and documentation
- Phased approach: Break work into discrete, manageable phases with human review checkpoints
- Simplicity over complexity: Keep solutions free of unnecessary abstractions
- Actionable output: The plan must be clear enough for another senior AI agent to execute independently
Planning Process
Step 1: Context Gathering
If there is existing code in the project:
- Read all relevant files in the project directory
- Examine existing documentation (README.md, docs/, CONTRIBUTING.md, etc.)
- Analyse codebase structure, architecture, and dependencies
- Identify coding conventions, patterns, and standards used
- Review existing tests to understand expected behaviour
- Note package versions and technology stack choices
Step 2: Requirements Analysis
Based on your conversation with the user:
- Identify the core goal and objectives
- List hard requirements explicitly stated
- Document any unknowns or assumptions
- Consider edge cases and architectural implications
- Evaluate multiple implementation approaches and trade-offs (performance, maintainability, complexity)
- Identify integration points with existing code
- Clarify any ambiguous requirements with the user before proceeding
Step 3: Task Breakdown
Organise development into phases:
- Each phase should be independently testable and reviewable
- Break down complex tasks into sub-tasks (use nested checkboxes)
- Identify dependencies between tasks
- Order tasks logically within each phase
- Each phase MUST end with:
- A self-review checkpoint
- A "STOP and wait for human review" checkpoint
Step 4: Quality Assurance Planning
Build a concise QA checklist that includes (if applicable):
- Standard items (listed below)
- Project-specific requirements gathered from conversation
- Technology-specific checks (e.g., "Go vet passes" for Go projects, "ESLint clean" for JavaScript)
- Security considerations mentioned
- Any other quality gates discussed with the user
Step 5: Deep Review
Before finalising:
- Use "ultrathink" to deeply consider:
- Implementation approach soundness
- Potential architectural issues
- Constraint satisfaction
- Alignment to requirements
- Missing considerations
- Complexity mitigations
- Over-engineering risks
- Make necessary adjustments to the plan
Development Plan Structure
Create a new file called ./docs/DEVELOPMENT_PLAN.md with this structure:
Project Purpose and Goals
[Clear statement of what this project aims to achieve and why]
Context and Background
[Important background information, architectural context, constraints, research findings, and design decisions made during discussion]
Development Tasks
Phase 1: [Phase Name]
- Task 1
- Sub-task 1.1 (if needed)
- Sub-task 1.2 (if needed)
- Task 2
- Task 3
- Perform a self-review of your code, once you're certain it's 100% complete to the requirements in this phase mark the task as done.
Phase 2: [Phase Name]
- Task 1
- Task 2
- Perform a self-review of your code, once you're certain it's 100% complete to the requirements in this phase mark the task as done.
[Additional phases as needed]
Important Considerations & Requirements
- Do not over-engineer the solution, simple solutions are preferred
- If a change means increasing complexity, weigh up options to reduce or mitigate that complexity
- Do not add placeholder or TODO code
- [Additional requirements from conversation]
- [Architectural constraints]
- [Integration requirements]
Technical Decisions
[Document any key technical decisions, trade-offs considered, and rationale for chosen approaches explicitly agreed upon with the user]
Testing Strategy
[Describe testing approach - should be lightweight, fast, and run without external dependencies]
Debugging Protocol
If issues arise during implementation:
- Tests fail: Analyse failure reason and fix root cause, do not work around
- Performance issues: Profile and optimise critical paths
- Integration issues: Check dependencies and interfaces
- Unclear requirements: Stop and seek clarification
QA Checklist
- All user instructions followed
- All requirements implemented and tested
- No critical code smell warnings
- British/Australian spelling used throughout (NO AMERICAN SPELLING ALLOWED!)
- No smart formatting, non-ascii characters or emojis
- Code follows project conventions and standards
- Documentation is updated and accurate if needed
- Security considerations addressed
- Integration points verified (if applicable)
- [Project-specific QA criteria based on technology stack]
- [Additional QA criteria from user requirements]
</plan-template>
<instructions-part-two>
## Writing Guidelines
- Use dashes with single spaces for markdown lists: `- [ ] Task`
- Do not include dates or time estimates
- Be clear, concise, and actionable
- Write in British English
- Use technical terminology consistently
- Avoid vague language - be specific about what needs to be done
## Quality Gates
Adjust based on project risk tolerance:
- **High-risk production systems**: Strict QA, extensive testing, security audits
- **Internal tools/local development**: Lighter QA, focus on functionality
- **Open source contributions**: Follow project's contribution guidelines precisely
- **Prototypes/experiments**: Minimal QA, emphasis on learning and iteration
## Testing Philosophy
- Lightweight and fast
- No external dependencies required
- Tests should run in isolation
- When possible behavioural tests should be written before the code
- Cover critical paths and edge cases
- Integration tests for key workflows (if applicable)
## Final Steps
1. Write the complete `docs/DEVELOPMENT_PLAN.md` file
2. Apply deep thinking to review the plan thoroughly
3. Make any necessary adjustments including those to reduce complexity and over-engineering
4. Present the plan to the user
5. **STOP** and wait for user review
## Remember
- This is a **planning document**, not implementation
- The user will review and potentially iterate on this plan
- Another AI agent (or you, in a future session) will execute this plan
- Clarity and completeness are paramount but keep it concise
- When in doubt about requirements, ask the user for clarification
</instructions-part-two>
FAQ
What does the creating-development-plans skill do?
Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.
How do I install creating-development-plans?
Run npx skills add https://github.com/sammcj/agentic-coding --skill creating-development-plans in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/creating-development-plans/ (personal) or .claude/skills/creating-development-plans/ (project).
Which AI agents can use creating-development-plans?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is creating-development-plans safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains creating-development-plans?
It is published by sammcj in sammcj/agentic-coding. It has 330 recorded installs.
More from sammcj/agentic-coding
critical-thinking-logical-reasoning
sammcj/agentic-coding
Critically analyse the reasoning in written content (articles, blogs, transcripts, reports), not code. Use only when explicitly asked to critically analyse or critique an argument.
writing-documentation-with-diataxis
sammcj/agentic-coding
Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.
ghostty-config
sammcj/agentic-coding
Open the skill to read its SKILL.md instructions.
code-simplification
sammcj/agentic-coding
Open the skill to read its SKILL.md instructions.
prompt-enhancer
sammcj/agentic-coding
Open the skill to read its SKILL.md instructions.
extract-wisdom
sammcj/agentic-coding
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.