Invoked as /agiflow:project-plan. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.
Usage:
/agiflow:project-plan <requirements or feature description> - Plan from requirements
/agiflow:project-plan - Start interactive planning session
Examples:
/agiflow:project-plan Add user notification preferences
/agiflow:project-plan Integrate Stripe billing with usage-based pricing
/agiflow:project-plan (interactive discovery)
Guardrails
- Tasks are created in "Planning" status — NOT "Todo"
- No work units are created during this skill — use
backlog-grooming for that
- Use
tags field for categorization (e.g. feature:auth, bug:checkout, epic:billing)
- Favor straightforward, minimal implementations first; add complexity only when requested
- Keep task scope focused on delivering user-visible progress
- Identify vague or ambiguous details and ask follow-up questions before creating tasks
AgiFlow Project Management Guidelines
Follow the shared AgiFlow project-management guidelines in references/agiflow-agents.md — agent assignment, the task status workflow and transitions, work-unit best practices, and the tags strategy apply to this workflow.
Steps
1. Research Before Planning
Do NOT jump to task breakdown. You must understand the product, codebase, and existing work FIRST.
- Use
get_project_detail MCP tool to understand the current project scope and goals.
- Use
list_members MCP tool to get available agent members and their capabilities.
- Use
list_tasks MCP tool with relevant filters to check for similar or duplicate tasks.
- Use
list_work_units MCP tool to check for existing work units and understand feature organization.
- Read the codebase: Use available tools to explore relevant source code, existing patterns, and architecture before proposing any tasks. Understand how similar features are already implemented.
- Check product context: Review project documentation, existing specs, and artifacts attached to the project. Understand the product's current state — what's built, what's planned, what's in progress.
- Check dependencies: Review what other work units and tasks are in-flight. Understand what's changing in the codebase right now to avoid conflicts.
Detect project state:
- Greenfield (no existing tasks/work units): Focus on scaffolding, initial architecture, and foundational tasks. Ask about technology choices, project structure, and initial setup needs.
- Brownfield (existing tasks/work units): Focus on integration points, affected areas, and backward compatibility. Check for overlap with existing work and patterns to follow.
If you lack sufficient context to plan confidently, create spike:investigation tasks to investigate unknowns before creating implementation tasks. Spike tasks are time-boxed (1-2 hours) and output knowledge (file paths, patterns, recommendations), not code. Mark implementation tasks that depend on spike results in their descriptions.
2. Clarify Requirements
Identify what the user is asking for and extract:
- User stories: Who benefits and what they need
- Feature scope: What is included and what is explicitly excluded
- Constraints: Performance, security, compatibility, deadlines
- Dependencies: External services, existing features, data requirements
- Test scenarios: For each acceptance criterion, what must be verified? (happy path, error paths, edge cases)
Ask the user follow-up questions for any ambiguities:
- Unclear acceptance criteria
- Missing edge cases or error handling expectations
- Priority and urgency
- Preferred approach if multiple options exist
- What test types are expected (unit, integration, E2E)?
If requirements are already clear and well-defined, skip to Step 3.
Do NOT proceed to decomposition until scope is sufficiently clear.
3. Decompose
For simple features (fewer than 5 tasks with obvious structure), skip decomposition and proceed directly to Step 4.
For complex features (5+ tasks, unclear boundaries, or multiple system areas):
- Choose a decomposition strategy:
| Question |
If yes... |
Strategy |
| Does the feature have 3+ distinct user-facing capabilities? |
Users interact with it in multiple ways |
Functional |
| Is the core complexity in the data model and relationships? |
Schema design matters most |
Data-oriented |
| Is the feature a multi-step workflow with a clear sequence? |
"First X, then Y, then Z" |
Temporal |
| Not sure? |
Try two strategies and compare |
Compare |
- Produce vertical slices (each must be independently buildable, testable, and demonstrable):
- What: One sentence — concrete, not abstract
- Inputs: Data, services, APIs needed
- Outputs: What it produces — UI, API response, side effect
- Done when: WHEN [action], THEN [observable result]
Slice quality check:
- Can this slice be demonstrated to a user? (If not, it's a horizontal slice — recut it)
- Is it completable in one agent session (2-4 hours)?
- Does it have clear boundaries (what's in vs. out)?
Map dependencies between slices:
- Identify the critical path (longest chain of dependent slices)
- Identify parallelizable work (slices with no mutual dependencies)
Identify the MVP subset — the smallest set of slices that delivers user-visible value. Mark MVP slices.
Present decomposition to user for confirmation before creating tasks. Do NOT create tasks yet.
4. Create Tasks in "Planning" Status
- For each slice or requirement, create tasks using
create_task or batch_create_tasks MCP tool:
- status:
"planning" (strict — NOT "todo")
- title: Clear, action-oriented (verb-led: "Implement", "Fix", "Refactor", "Update")
- description: Detailed context including requirements, constraints, and references to existing patterns
- tags: Categorization labels (e.g.
feature:auth, bug:checkout, epic:billing, spike:perf, chore:deps)
- priority: "low" | "medium" | "high" based on impact
- acceptanceCriteria: 2-5 concrete, verifiable completion conditions per task
- assignee: Appropriate agent member from
list_members (optional — can be assigned during grooming)
Task guidelines:
- Tasks should be completable in 15min - 2 hours each
- Include test tasks alongside implementation tasks (e.g., "Write unit tests for registration validation")
- Each critical acceptance criterion should map to at least one test case
- Order tasks by dependencies — create prerequisite tasks first
- For each acceptance criterion, consider: happy path, error path, edge cases
DO NOT create work units — leave that to backlog-grooming.
5. Verify Plan
- Use
list_tasks to verify all tasks were created correctly in "Planning" status.
- Review completeness:
- All feature requirements are captured in tasks
- Acceptance criteria are concrete and verifiable
- Critical acceptance criteria have corresponding test tasks
- Dependencies are documented in descriptions
- Tags are applied consistently for categorization
- Agents are assigned where possible
- Present a summary to the user:
- Total tasks created (all in "Planning" status)
- Tasks grouped by tag (feature areas)
- Dependency order
- MVP vs. full scope (if decomposition was applied)
- Any remaining open questions or risks
- Recommend next steps:
- "Use refine-task on any tasks that need more depth before grooming."
- "Use backlog-grooming to prioritize tasks, promote to Todo, and group into work units for execution."
Common Mistakes to Avoid
- ❌ Creating tasks in "Todo" status (must use "Planning" — grooming promotes to Todo)
- ❌ Creating work units during planning (that's backlog-grooming's job)
- ❌ Skipping requirement clarification when scope is vague
- ❌ Producing horizontal slices ("all database tables first, then all APIs") instead of vertical slices
- ❌ Over-decomposing: 20 tiny slices when 5 well-scoped ones would do
- ❌ Under-decomposing: 2 giant slices that each take a week
- ❌ Tasks without tags (makes grooming harder)
- ❌ Acceptance criteria that say "should work correctly" (what does "correctly" mean?)
- ❌ Tasks taking >2 hours (they need further decomposition)
- ❌ Planning for 3 months of work (plan the next 2-4 weeks)
1---2name: project-plan3description: Plan a project or feature: research context, clarify requirements, decompose into vertical slices, and create tasks in Planning status. Use when starting new work or breaking down requirements. Invoked as /agiflow:project-plan <requirements>. Uses get_project_detail, list_tasks, list_work_units, create_task, batch_create_tasks.4---56> Invoked as `/agiflow:project-plan`. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.78**Usage**:910- `/agiflow:project-plan <requirements or feature description>` - Plan from requirements11- `/agiflow:project-plan` - Start interactive planning session1213**Examples**:1415- `/agiflow:project-plan Add user notification preferences`16- `/agiflow:project-plan Integrate Stripe billing with usage-based pricing`17- `/agiflow:project-plan` (interactive discovery)1819---2021**Guardrails**2223- Tasks are created in **"Planning"** status — NOT "Todo"24- **No work units** are created during this skill — use `backlog-grooming` for that25- Use `tags` field for categorization (e.g. `feature:auth`, `bug:checkout`, `epic:billing`)26- Favor straightforward, minimal implementations first; add complexity only when requested27- Keep task scope focused on delivering user-visible progress28- Identify vague or ambiguous details and ask follow-up questions before creating tasks2930---3132## AgiFlow Project Management Guidelines3334Follow the shared AgiFlow project-management guidelines in [`references/agiflow-agents.md`](../../references/agiflow-agents.md) — agent assignment, the task status workflow and transitions, work-unit best practices, and the tags strategy apply to this workflow.353637---3839**Steps**4041## 1. Research Before Planning4243**Do NOT jump to task breakdown.** You must understand the product, codebase, and existing work FIRST.44451. Use `get_project_detail` MCP tool to understand the current project scope and goals.462. Use `list_members` MCP tool to get available agent members and their capabilities.473. Use `list_tasks` MCP tool with relevant filters to check for similar or duplicate tasks.484. Use `list_work_units` MCP tool to check for existing work units and understand feature organization.495. **Read the codebase**: Use available tools to explore relevant source code, existing patterns, and architecture before proposing any tasks. Understand how similar features are already implemented.506. **Check product context**: Review project documentation, existing specs, and artifacts attached to the project. Understand the product's current state — what's built, what's planned, what's in progress.517. **Check dependencies**: Review what other work units and tasks are in-flight. Understand what's changing in the codebase right now to avoid conflicts.5253**Detect project state:**5455- **Greenfield** (no existing tasks/work units): Focus on scaffolding, initial architecture, and foundational tasks. Ask about technology choices, project structure, and initial setup needs.56- **Brownfield** (existing tasks/work units): Focus on integration points, affected areas, and backward compatibility. Check for overlap with existing work and patterns to follow.5758**If you lack sufficient context to plan confidently**, create `spike:investigation` tasks to investigate unknowns before creating implementation tasks. Spike tasks are time-boxed (1-2 hours) and output knowledge (file paths, patterns, recommendations), not code. Mark implementation tasks that depend on spike results in their descriptions.5960## 2. Clarify Requirements61625. Identify what the user is asking for and extract:63 - **User stories**: Who benefits and what they need64 - **Feature scope**: What is included and what is explicitly excluded65 - **Constraints**: Performance, security, compatibility, deadlines66 - **Dependencies**: External services, existing features, data requirements67 - **Test scenarios**: For each acceptance criterion, what must be verified? (happy path, error paths, edge cases)68696. Ask the user follow-up questions for any ambiguities:70 - Unclear acceptance criteria71 - Missing edge cases or error handling expectations72 - Priority and urgency73 - Preferred approach if multiple options exist74 - What test types are expected (unit, integration, E2E)?7576**If requirements are already clear and well-defined, skip to Step 3.**77Do NOT proceed to decomposition until scope is sufficiently clear.7879## 3. Decompose8081For **simple features** (fewer than 5 tasks with obvious structure), skip decomposition and proceed directly to Step 4.8283For **complex features** (5+ tasks, unclear boundaries, or multiple system areas):84857. Choose a decomposition strategy:8687| Question | If yes... | Strategy |88| ----------------------------------------------------------- | --------------------------------------- | ----------------- |89| Does the feature have 3+ distinct user-facing capabilities? | Users interact with it in multiple ways | **Functional** |90| Is the core complexity in the data model and relationships? | Schema design matters most | **Data-oriented** |91| Is the feature a multi-step workflow with a clear sequence? | "First X, then Y, then Z" | **Temporal** |92| Not sure? | Try two strategies and compare | **Compare** |93948. Produce vertical slices (each must be independently buildable, testable, and demonstrable):95 - **What**: One sentence — concrete, not abstract96 - **Inputs**: Data, services, APIs needed97 - **Outputs**: What it produces — UI, API response, side effect98 - **Done when**: WHEN [action], THEN [observable result]99100**Slice quality check:**101102- Can this slice be demonstrated to a user? (If not, it's a horizontal slice — recut it)103- Is it completable in one agent session (2-4 hours)?104- Does it have clear boundaries (what's in vs. out)?1051069. Map dependencies between slices:107 - Identify the critical path (longest chain of dependent slices)108 - Identify parallelizable work (slices with no mutual dependencies)10911010. Identify the MVP subset — the smallest set of slices that delivers user-visible value. Mark MVP slices.11111211. Present decomposition to user for confirmation before creating tasks. Do NOT create tasks yet.113114## 4. Create Tasks in "Planning" Status11511612. For each slice or requirement, create tasks using `create_task` or `batch_create_tasks` MCP tool:117118- **status**: `"planning"` (strict — NOT "todo")119- **title**: Clear, action-oriented (verb-led: "Implement", "Fix", "Refactor", "Update")120- **description**: Detailed context including requirements, constraints, and references to existing patterns121- **tags**: Categorization labels (e.g. `feature:auth`, `bug:checkout`, `epic:billing`, `spike:perf`, `chore:deps`)122- **priority**: "low" | "medium" | "high" based on impact123- **acceptanceCriteria**: 2-5 concrete, verifiable completion conditions per task124- **assignee**: Appropriate agent member from `list_members` (optional — can be assigned during grooming)125126**Task guidelines:**127128- Tasks should be completable in 15min - 2 hours each129- Include test tasks alongside implementation tasks (e.g., "Write unit tests for registration validation")130- Each critical acceptance criterion should map to at least one test case131- Order tasks by dependencies — create prerequisite tasks first132- For each acceptance criterion, consider: happy path, error path, edge cases133134**DO NOT create work units** — leave that to `backlog-grooming`.135136## 5. Verify Plan13713813. Use `list_tasks` to verify all tasks were created correctly in "Planning" status.13914. Review completeness:140141- All feature requirements are captured in tasks142- Acceptance criteria are concrete and verifiable143- Critical acceptance criteria have corresponding test tasks144- Dependencies are documented in descriptions145- Tags are applied consistently for categorization146- Agents are assigned where possible14714815. Present a summary to the user:149150- Total tasks created (all in "Planning" status)151- Tasks grouped by tag (feature areas)152- Dependency order153- MVP vs. full scope (if decomposition was applied)154- Any remaining open questions or risks15515616. Recommend next steps:157158- "Use **refine-task** on any tasks that need more depth before grooming."159- "Use **backlog-grooming** to prioritize tasks, promote to Todo, and group into work units for execution."160161---162163**Common Mistakes to Avoid**164165- ❌ Creating tasks in "Todo" status (must use "Planning" — grooming promotes to Todo)166- ❌ Creating work units during planning (that's backlog-grooming's job)167- ❌ Skipping requirement clarification when scope is vague168- ❌ Producing horizontal slices ("all database tables first, then all APIs") instead of vertical slices169- ❌ Over-decomposing: 20 tiny slices when 5 well-scoped ones would do170- ❌ Under-decomposing: 2 giant slices that each take a week171- ❌ Tasks without tags (makes grooming harder)172- ❌ Acceptance criteria that say "should work correctly" (what does "correctly" mean?)173- ❌ Tasks taking >2 hours (they need further decomposition)174- ❌ Planning for 3 months of work (plan the next 2-4 weeks)