Transform a draft document into a well-structured implementation plan. Use when converting rough ideas or feature descriptions into actionable plans with acceptance criteria.
Transforms draft documents into structured implementation plans with acceptance criteria and path boundaries.
/plugin marketplace add humania-org/humanize/plugin install humanize@humaniaThis skill is limited to using the following tools:
This skill transforms a user's draft document into a well-structured implementation plan with clear goals, acceptance criteria (AC-X format), path boundaries, and feasibility suggestions.
Execute the validation script with the provided arguments:
"${CLAUDE_PLUGIN_ROOT}/scripts/validate-gen-plan-io.sh" $ARGUMENTS
Handle exit codes:
After IO validation passes, check if the draft is relevant to this repository.
Read the input draft file to get its content
Use the Task tool to invoke the draft-relevance-checker agent (haiku model):
Task tool parameters:
- subagent_type: "draft-relevance-checker"
- model: "haiku"
- prompt: Include the draft content and ask the agent to:
1. Explore the repository structure (README, CLAUDE.md, main files)
2. Analyze if the draft content relates to this repository
3. Return either `RELEVANT: <reason>` or `NOT_RELEVANT: <reason>`
The draft-relevance-checker agent is defined in agents/draft-relevance-checker.md and is specifically designed for this purpose.
If NOT_RELEVANT:
If RELEVANT: Continue to Phase 3
Deeply analyze the draft for potential issues. Use Explore agents to investigate the codebase.
Clarity: Is the draft's intent and goals clearly expressed?
Consistency: Does the draft contradict itself?
Completeness: Are there missing considerations?
Functionality: Does the design have fundamental flaws?
Use the Task tool with subagent_type: "Explore" to investigate:
If any issues are found during analysis, use AskUserQuestion to clarify with the user.
For each issue category that has problems, present:
Continue this dialogue until all significant issues are resolved or acknowledged by the user.
Generate the plan.md following these rules:
# <Plan Title>
## Goal Description
<Clear, direct description of what needs to be accomplished>
## Acceptance Criteria
Following TDD philosophy, each criterion includes positive and negative tests for deterministic verification.
- AC-1: <First criterion>
- Positive Tests (expected to PASS):
- <Test case that should succeed when criterion is met>
- <Another success case>
- Negative Tests (expected to FAIL):
- <Test case that should fail/be rejected when working correctly>
- <Another failure/rejection case>
- AC-1.1: <Sub-criterion if needed>
- Positive: <...>
- Negative: <...>
- AC-2: <Second criterion>
- Positive Tests: <...>
- Negative Tests: <...>
...
## Path Boundaries
Path boundaries define the acceptable range of implementation quality and choices.
### Upper Bound (Maximum Acceptable Scope)
<Affirmative description of the most comprehensive acceptable implementation>
<This represents completing the goal without over-engineering>
Example: "The implementation includes X, Y, and Z features with full test coverage"
### Lower Bound (Minimum Acceptable Scope)
<Affirmative description of the minimum viable implementation>
<This represents the least effort that still satisfies all acceptance criteria>
Example: "The implementation includes core feature X with basic validation"
### Allowed Choices
<Options that are acceptable for implementation decisions>
- Can use: <technologies, approaches, patterns that are allowed>
- Cannot use: <technologies, approaches, patterns that are prohibited>
> **Note on Deterministic Designs**: If the draft specifies a highly deterministic design with no choices (e.g., "must use JSON format", "must use algorithm X"), then the path boundaries should reflect this narrow constraint. In such cases, upper and lower bounds may converge to the same point, and "Allowed Choices" should explicitly state that the choice is fixed per the draft specification.
## Feasibility Hints and Suggestions
> **Note**: This section is for reference and understanding only. These are conceptual suggestions, not prescriptive requirements.
### Conceptual Approach
<Text description, pseudocode, or diagrams showing ONE possible implementation path>
### Relevant References
<Code paths and concepts that might be useful>
- <path/to/relevant/component> - <brief description>
## Dependencies and Sequence
### Milestones
1. <Milestone 1>: <Description>
- Phase A: <...>
- Phase B: <...>
2. <Milestone 2>: <Description>
- Step 1: <...>
- Step 2: <...>
<Describe relative dependencies between components, not time estimates>
Language: Write in English only. No emoji or CJK characters.
Terminology: Use Milestone, Phase, Step, Section. Never use Day, Week, Month, Year, or time estimates.
No Line Numbers: Reference code by path only (e.g., src/utils/helpers.ts), never by line ranges.
No Time Estimates: Do not estimate duration, effort, or code line counts.
Conceptual Not Prescriptive: Path boundaries and suggestions guide without mandating.
AC Format: All acceptance criteria must use AC-X or AC-X.Y format.
Clear Dependencies: Show what depends on what, not when things happen.
TDD-Style Tests: Each acceptance criterion MUST include both positive tests (expected to pass) and negative tests (expected to fail). This follows Test-Driven Development philosophy and enables deterministic verification.
Affirmative Path Boundaries: Describe upper and lower bounds using affirmative language (what IS acceptable) rather than negative language (what is NOT acceptable).
Respect Deterministic Designs: If the draft specifies a fixed approach with no choices, reflect this in the plan by narrowing the path boundaries to match the user's specification.
Write the generated plan to the output file path, then report:
If issues arise during plan generation that require user input:
If unable to generate a complete plan:
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Activates when the user asks about Agent Skills, wants to find reusable AI capabilities, needs to install skills, or mentions skills for Claude. Use for discovering, retrieving, and installing skills.
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.