Files
leo-claude-mktplace/plugins/projman/skills/planning-workflow.md
lmiranda 0e70156e26 feat(projman): add plan-then-batch skill optimization
Separate cognitive work from mechanical API execution to reduce
skill-related token consumption by ~76-83% during sprint workflows.

Changes:
- Add batch-execution.md skill with 4-phase protocol
- Promote mcp-tools-reference and batch-execution to frontmatter
  for planner and orchestrator agents (auto-injected, zero re-read)
- Replace "Skills to Load" with phase-based "Skill Loading Protocol"
- Restructure planning-workflow.md Steps 8-10 for batch execution
- Update agent matrix in CLAUDE.md and docs/CONFIGURATION.md
- Add Phase-Based Skill Loading documentation section
- Clean up .gitignore (transient files, dev symlinks)

Token impact:
- 6-issue sprint planning: ~76% reduction
- 10-issue sprint planning: ~80% reduction
- 8-issue status updates: ~83% reduction

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 19:57:10 -05:00

185 lines
5.6 KiB
Markdown

---
name: planning-workflow
description: The complete sprint planning process steps
---
# Planning Workflow
## Purpose
Defines the complete 11-step planning workflow from validation through approval.
## When to Use
- **Planner agent**: When executing `/sprint-plan`
- **Commands**: `/sprint-plan`
---
## Workflow Steps
### 1. Understand Sprint Goals
Ask clarifying questions:
- What are the sprint objectives?
- What's the scope and priority?
- Are there any constraints (time, resources, dependencies)?
- What's the desired outcome?
**Never rush - take time to understand requirements fully.**
### 2. Run Pre-Planning Validations
Execute in order:
1. **Branch detection** - See `skills/branch-security.md`
2. **Repository org check** - See `skills/repo-validation.md`
3. **Label taxonomy validation** - See `skills/repo-validation.md`
**STOP if any validation fails.**
### 3. Detect Input Source
Follow `skills/input-detection.md`:
1. **Check for approved RFCs** (Priority 0)
2. Check for `docs/changes/*.md` files
3. Check for existing wiki proposal
4. If neither: use conversation context
5. If ambiguous: ask user
### 3a. RFC Status Update (if RFC selected)
If input source is an RFC:
1. **Note the RFC number** for later status update
2. RFC status update happens AFTER sprint approval (Step 11)
3. The RFC provides the planning context - use its Summary, Motivation, and Design sections
### 4. Search Relevant Lessons Learned
Follow `skills/lessons-learned.md`:
```python
search_lessons(repo="org/repo", query="sprint keywords", tags=["relevant", "tags"])
```
Present findings to user before proceeding.
### 5. Create/Update Wiki Proposal
Follow `skills/wiki-conventions.md`:
- If local file: migrate content to wiki, create proposal page
- If conversation: create proposal from discussion
- If existing wiki: skip creation, use as-is
### 6. Create Wiki Implementation Page
Follow `skills/wiki-conventions.md`:
- Create `Change VXX.X.X: Proposal (Implementation N)`
- Update proposal page with link to implementation
### 7. Architecture Analysis
Think through:
- What components will be affected?
- What are the integration points?
- Are there edge cases to handle?
- What dependencies exist?
- What are potential risks?
### 8. Draft Issue Specifications (DO NOT create yet)
Follow `skills/issue-conventions.md` and `skills/task-sizing.md` to prepare the complete specification for ALL issues. **Do NOT call `create_issue` yet.**
For each issue, resolve completely:
- Title: `[Sprint XX] <type>: <description>`
- Body: Full description with wiki reference, acceptance criteria, technical notes
- Labels: Use `suggest_labels` to determine, then finalize the list
- Milestone: The sprint milestone (create first if needed)
- Dependencies: Which issues depend on which (by draft order index)
**Refuse to create L/XL tasks without breakdown.**
Output: A complete execution manifest per `skills/batch-execution.md` Phase 2 format.
### 8a. Batch Execute Issue Creation
Follow `skills/batch-execution.md` Phase 3:
1. Execute all `create_issue` calls — collect returned issue numbers
2. Execute all `create_issue_dependency` calls — using collected numbers
3. Assign all issues to milestone
4. Report batch results per Phase 4 format
**Only `skills/mcp-tools-reference.md` is needed for this step.** Do NOT re-read other skill files.
### 9. (Merged into Step 8a)
Dependencies are now created as part of the batch execution in Step 8a. No separate step needed.
### 10. Create or Select Milestone (before batch)
**This step runs BEFORE Step 8a** — the milestone must exist before batch issue creation can assign to it.
```python
create_milestone(
repo="org/repo",
title="Sprint 17 - Feature Name",
description="Sprint description",
due_on="2025-02-01T00:00:00Z"
)
```
If milestone already exists, select it. Record the milestone ID for use in the batch manifest.
### 11. Request Sprint Approval
Follow `skills/sprint-approval.md`:
- Present approval request with scope summary
- Wait for explicit user approval
- Record approval in milestone description
### 12. Update RFC Status (if applicable)
If planning input was an RFC:
1. **Fetch RFC page:**
```python
get_wiki_page(page_name="RFC-NNNN:-Title", repo="org/repo")
```
2. **Update RFC page:**
- Change status: Approved → Implementing
- Add Sprint reference to frontmatter
- Add Implementation section with sprint details and issue links
```python
update_wiki_page(
page_name="RFC-NNNN:-Title",
content="[updated content with Implementing status]",
repo="org/repo"
)
```
3. **Update RFC-Index:**
- Remove from "## Approved" section
- Add to "## Implementing" section with sprint reference
---
## Cleanup After Planning
- Delete local input file (wiki is now source of truth)
- Summarize architectural decisions
- List created issues with labels
- Document dependency graph
- Provide sprint overview with wiki links
---
## Visual Output
Display header at start:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🎯 PLANNING ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```