Files
2025-11-29 18:50:24 +08:00

118 lines
4.0 KiB
Markdown

---
allowed-tools: [Skill, Read, Grep, Glob, TodoWrite]
description: "Create and manage specifications through skills-based planning"
---
# /plan - Lightweight Planning Router
ARGUMENTS: $DESCRIPTION
## Purpose
Routes planning requests to specialized skills for specification creation and lifecycle management.
## Usage
```
/plan # Create new specification (delegates to managing-specifications skill)
/plan "User Auth" # Create spec with title
/plan --status # Show dashboard (delegates to managing-specifications skill)
```
## Interactive Specification Creation
The planning process is interactive - I'll ask clarifying questions to ensure the specification matches your intent:
**What I'll Ask About:**
- **Type & Scope**: What kind of work (feature/bugfix/refactor) and boundaries
- **Approach**: If multiple valid approaches exist, you choose which direction
- **Priorities**: Trade-offs between speed, simplicity, flexibility, maintainability
- **Dependencies**: What must be done first, what this blocks
- **Success Criteria**: How we'll know this is complete
**You'll make key decisions through structured questions before I generate the specification.**
## Execution
This command is a lightweight router that delegates to appropriate skills based on the request:
**Creating Specifications:**
When you request a new spec, immediately invoke the **managing-specifications skill** with user requirements.
**Managing Specifications:**
When checking status or managing lifecycle (activate, complete, etc.), invoke the **managing-specifications skill**.
**Creating Pull Requests:**
When user mentions PR or wants to ship completed work, invoke the **reviewing-and-shipping skill**.
## Routing Logic
### Request Type Detection
**New Specification:**
- Pattern: `/plan`, `/plan "title"`, "create spec", "plan feature"
- Action: Invoke `managing-specifications` skill
- Pass: User requirements, title, description
**Status Dashboard:**
- Pattern: `/plan --status`, "show specs", "spec dashboard"
- Action: Invoke `managing-specifications` skill with status mode
- Returns: Progress overview, active specs, recommendations
**Lifecycle Management:**
- Pattern: "activate spec-X", "complete spec-X", "move spec-X"
- Action: Invoke `managing-specifications` skill with spec ID
- Operations: Draft→Active, Active→Completed, validation
**Pull Request Creation:**
- Pattern: "create pr", "ship spec", "pr for spec-X"
- Action: Invoke `reviewing-and-shipping` skill with spec ID
- Returns: Generated PR with rich context
## Skill Delegation
This command acts as a thin router. All detailed functionality is handled by skills:
- **managing-specifications**: Interactive spec creation, requirement gathering, template generation, lifecycle management, progress tracking, status dashboard
- **reviewing-and-shipping**: Pull request creation from completed specifications
## Implementation Notes
**No Complex Logic:**
This command should only:
1. Parse user intent from arguments
2. Invoke the appropriate skill with Skill tool
3. Pass through user requirements/parameters
**Example Routing:**
```
User: /plan "User Authentication"
→ Detect: New specification request
→ Invoke: Skill("managing-specifications") with title="User Authentication"
→ Skill handles: Requirements, criteria, file creation
User: /plan --status
→ Detect: Status dashboard request
→ Invoke: Skill("managing-specifications") with mode="status"
→ Skill handles: Progress calculation, display
User: "activate spec-feature-001"
→ Detect: Lifecycle management
→ Invoke: Skill("managing-specifications") with operation="activate", spec="spec-feature-001"
→ Skill handles: Validation, file moving, state updates
```
## Folder Structure Reference
Specifications use folder-based state management:
```
.quaestor/specs/
├── draft/ # Planned (unlimited)
├── active/ # In progress (max 3)
└── completed/ # Finished
```
**See managing-specifications skill for lifecycle details.**
---
*Simple, interactive specification planning powered by Agent Skills*