Agent skill
planning-sprints-0xhoneyjar-loa-beauvoir
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/planning-sprints-0xhoneyjar-loa-beauvoir
SKILL.md
Sprint Planner
<zone_constraints>
Zone Constraints
This skill operates under Managed Scaffolding:
| Zone | Permission | Notes |
|---|---|---|
.claude/ |
NONE | System zone - never suggest edits |
grimoires/loa/, .beads/ |
Read/Write | State zone - project memory |
src/, lib/, app/ |
Read-only | App zone - requires user confirmation |
NEVER suggest modifications to .claude/. Direct users to .claude/overrides/ or .loa.config.yaml.
</zone_constraints>
<integrity_precheck>
Integrity Pre-Check (MANDATORY)
Before ANY operation, verify System Zone integrity:
- Check config:
yq eval '.integrity_enforcement' .loa.config.yaml - If
strictand drift detected -> HALT and report - If
warn-> Log warning and proceed with caution </integrity_precheck>
<factual_grounding>
Factual Grounding (MANDATORY)
Before ANY synthesis, planning, or recommendation:
- Extract quotes: Pull word-for-word text from source files
- Cite explicitly:
"[exact quote]" (file.md:L45) - Flag assumptions: Prefix ungrounded claims with
[ASSUMPTION]
Grounded Example:
The SDD specifies "PostgreSQL 15 with pgvector extension" (sdd.md:L123)
Ungrounded Example:
[ASSUMPTION] The database likely needs connection pooling
</factual_grounding>
<structured_memory_protocol>
Structured Memory Protocol
On Session Start
- Read
grimoires/loa/NOTES.md - Restore context from "Session Continuity" section
- Check for resolved blockers
During Execution
- Log decisions to "Decision Log"
- Add discovered issues to "Technical Debt"
- Update sub-goal status
- Apply Tool Result Clearing after each tool-heavy operation
Before Compaction / Session End
- Summarize session in "Session Continuity"
- Ensure all blockers documented
- Verify all raw tool outputs have been decayed </structured_memory_protocol>
<tool_result_clearing>
Tool Result Clearing
After tool-heavy operations (grep, cat, tree, API calls):
- Synthesize: Extract key info to NOTES.md or discovery/
- Summarize: Replace raw output with one-line summary
- Clear: Release raw data from active reasoning
Example:
# Raw grep: 500 tokens -> After decay: 30 tokens
"Found 47 AuthService refs across 12 files. Key locations in NOTES.md."
</tool_result_clearing>
<attention_budget>
Attention Budget
This skill follows the Tool Result Clearing Protocol (.claude/protocols/tool-result-clearing.md).
Token Thresholds
| Context Type | Limit | Action |
|---|---|---|
| Single search result | 2,000 tokens | Apply 4-step clearing |
| Accumulated results | 5,000 tokens | MANDATORY clearing |
| Full file load | 3,000 tokens | Single file, synthesize immediately |
| Session total | 15,000 tokens | STOP, synthesize to NOTES.md |
Clearing Triggers for Sprint Planning
- PRD/SDD combined >3K tokens
- Task breakdown search >10 matches
- Dependency mapping >20 items
- Any analysis exceeding 2K tokens
4-Step Clearing
- Extract: Max 10 files, 20 words per finding
- Synthesize: Write to
grimoires/loa/NOTES.md - Clear: Remove raw output from context
- Summary:
"Planning: N requirements → M tasks → sprint.md"</attention_budget>
<trajectory_logging>
Trajectory Logging
Log each significant step to grimoires/loa/a2a/trajectory/{agent}-{date}.jsonl:
{"timestamp": "...", "agent": "...", "action": "...", "reasoning": "...", "grounding": {...}}
</trajectory_logging>
<kernel_framework>
Task (N - Narrow Scope)
Transform PRD and SDD into actionable sprint plan with 2.5-day sprints. Generate grimoires/loa/sprint.md.
Context (L - Logical Structure)
- Input:
grimoires/loa/prd.md(requirements),grimoires/loa/sdd.md(technical design) - Integration context:
grimoires/loa/a2a/integration-context.md(if exists) for current state, priority signals, team capacity, dependencies - Current state: Architecture and requirements defined, but no implementation roadmap
- Desired state: Sprint-by-sprint breakdown with deliverables, acceptance criteria, tasks, dependencies
Constraints (E - Explicit)
- DO NOT proceed until you've read both
grimoires/loa/prd.mdANDgrimoires/loa/sdd.mdcompletely - DO NOT create sprints until clarifying questions are answered
- DO NOT plan more than 2.5 days of work per sprint
- DO NOT skip checking
grimoires/loa/a2a/integration-context.mdfor project state and priorities - DO check current project status (Product Home) before planning if integration context exists
- DO review priority signals (CX Triage, community feedback volume) if available
- DO consider team structure and cross-team dependencies from integration context
- DO link tasks back to source discussions (Discord threads, Linear issues) if required
- DO ask specific questions about: priority conflicts, technical uncertainties, resource availability, external dependencies
Verification (E - Easy to Verify)
Success = Complete sprint plan saved to grimoires/loa/sprint.md + engineers can start immediately without clarification
Each sprint MUST include:
- Sprint Goal (1 sentence)
- Deliverables (checkbox list with measurable outcomes)
- Acceptance Criteria (checkbox list, testable)
- Technical Tasks (checkbox list, specific)
- Dependencies (explicit)
- Risks & Mitigation (specific)
- Success Metrics (quantifiable)
Reproducibility (R - Reproducible Results)
- Use specific task descriptions: NOT "improve auth" → "Implement JWT token validation middleware with 401 error handling"
- Include exact file/component names when known from SDD
- Specify numeric success criteria: NOT "fast" → "API response < 200ms p99"
- Reference specific dates for sprint start/end: NOT "next week" </kernel_framework>
<uncertainty_protocol>
- If PRD or SDD is missing, STOP and inform user you cannot proceed without both
- If scope is too large for reasonable MVP, recommend scope reduction with specific suggestions
- If technical approach in SDD seems misaligned with PRD, flag discrepancy and seek clarification
- Say "I need more information about [X]" when lacking clarity to estimate effort
- Document assumptions explicitly when proceeding with incomplete information </uncertainty_protocol>
<grounding_requirements> Before creating sprint plan:
- Read
grimoires/loa/a2a/integration-context.md(if exists) for organizational context - Read
grimoires/loa/prd.mdcompletely—extract all MVP features - Read
grimoires/loa/sdd.mdcompletely—understand technical architecture - Quote specific requirements when creating tasks:
> From prd.md: FR-1.2: "..." - Reference SDD sections for technical tasks:
> From sdd.md: §3.2 Database Design</grounding_requirements>
<citation_requirements>
- Reference PRD functional requirements by ID (FR-X.Y)
- Reference SDD sections for technical approach
- Link acceptance criteria to original requirements
- Cite external dependencies with version numbers </citation_requirements>
Beads task tracking is the EXPECTED DEFAULT. Check health before starting sprint planning.
Run Beads Health Check
health=$(.claude/scripts/beads/beads-health.sh --json)
status=$(echo "$health" | jq -r '.status')
Status Handling
| Status | Action |
|---|---|
HEALTHY |
Proceed silently to Phase 0 |
DEGRADED |
Show recommendations, offer quick fix, proceed |
NOT_INSTALLED |
Check opt-out, prompt if needed |
NOT_INITIALIZED |
Check opt-out, prompt if needed |
MIGRATION_NEEDED |
Must address before proceeding |
UNHEALTHY |
Must address before proceeding |
If NOT_INSTALLED or NOT_INITIALIZED
-
Check for valid opt-out:
bashopt_out=$(.claude/scripts/beads/update-beads-state.sh --opt-out-check 2>/dev/null || echo "NO_OPT_OUT") -
If no valid opt-out, present HITL gate using AskUserQuestion:
Beads Preflight Check ════════════════════════════════════════════════════════════ Status: {status} Beads is not available. Task tracking is the EXPECTED DEFAULT for safe, auditable agent workflows. "We're building spaceships. Safety of operators and users is paramount." Options: [1] Install beads (Recommended) └─ .claude/scripts/beads/install-br.sh └─ Or: cargo install beads_rust [2] Initialize beads └─ br init [3] Continue without beads (24h acknowledgment) └─ Requires reason for audit trail [4] Abort -
If "Continue without beads" selected:
- Require reason (configurable via
beads.opt_out.require_reason) - Record opt-out:
.claude/scripts/beads/update-beads-state.sh --opt-out "Reason" - Log to trajectory:
grimoires/loa/a2a/trajectory/beads-preflight-{date}.jsonl - Opt-out expires after 24h (configurable)
- Require reason (configurable via
-
Update state after health check:
bash.claude/scripts/beads/update-beads-state.sh --health "$status"
If DEGRADED
Show recommendations but proceed:
Beads Health: DEGRADED
Recommendations:
$(echo "$health" | jq -r '.recommendations[]')
Proceeding with sprint planning...
Protocol Reference
See .claude/protocols/beads-preflight.md for full specification.
Phase 0: Check Feedback Files, Ledger, and Integration Context (CRITICAL—DO THIS FIRST)
Step 0: Check for Sprint Ledger (NEW in v1.8.0)
Check if grimoires/loa/ledger.json exists:
[ -f "grimoires/loa/ledger.json" ] && echo "EXISTS" || echo "MISSING"
If MISSING, use AskUserQuestion to offer creation:
No Sprint Ledger found at grimoires/loa/ledger.json
A Sprint Ledger provides:
• Global sprint numbering across development cycles
• Cycle tracking with PRD/SDD references
• Sprint history and metrics for retrospectives
Options:
[1] Create ledger (recommended)
[2] Continue without ledger
If user selects "Create ledger":
Create grimoires/loa/ledger.json with initial schema:
{
"version": "1.0.0",
"next_sprint_number": 1,
"active_cycle": "cycle-001",
"cycles": [
{
"id": "cycle-001",
"label": null,
"status": "active",
"created_at": "<ISO timestamp>",
"prd": "grimoires/loa/prd.md",
"sdd": "grimoires/loa/sdd.md",
"sprints": []
}
]
}
Log creation to trajectory: {"action": "ledger_created", "path": "grimoires/loa/ledger.json"}
If EXISTS, proceed to Step 1.
Step 1: Check for Security Audit Feedback
Check if grimoires/loa/a2a/auditor-sprint-feedback.md exists:
If exists + "CHANGES_REQUIRED":
- Previous sprint failed security audit
- Engineers must address feedback before new work
- STOP: "The previous sprint has unresolved security issues. Engineers should run /implement to address grimoires/loa/a2a/auditor-sprint-feedback.md before planning new sprints."
If exists + "APPROVED - LETS FUCKING GO":
- Previous sprint passed security audit
- Safe to proceed with next sprint planning
If missing:
- No security audit performed yet
- Proceed with normal workflow
Step 2: Check for Integration Context
Check if grimoires/loa/a2a/integration-context.md exists:
[ -f "grimoires/loa/a2a/integration-context.md" ] && echo "EXISTS" || echo "MISSING"
If EXISTS, read it to understand:
- Current state tracking: Where to find project status
- Priority signals: Community feedback volume, CX Triage backlog
- Team capacity: Team structure
- Dependencies: Cross-team initiatives affecting sprint scope
- Context linking: How to link sprint tasks to source discussions
- Documentation locations: Where to update status
- Available MCP tools: Discord, Linear, GitHub integrations
If MISSING, proceed with standard workflow using only PRD/SDD.
Phase 1: Deep Document Analysis
-
Read and synthesize both PRD and SDD, noting:
- Core MVP features and user stories
- Technical architecture and design decisions
- Dependencies between features
- Technical constraints and risks
- Success metrics and acceptance criteria
-
Identify gaps:
- Ambiguous requirements or acceptance criteria
- Missing technical specifications
- Unclear priorities or sequencing
- Potential scope creep
- Integration points needing clarification
Phase 2: Strategic Questioning
Ask clarifying questions about:
- Priority conflicts or feature trade-offs
- Technical uncertainties impacting effort estimation
- Resource availability or team composition
- External dependencies or third-party integrations
- Underspecified requirements
- Risk mitigation strategies
Wait for responses before proceeding. Questions should demonstrate deep understanding of the product and technical landscape.
Phase 3: Sprint Plan Creation
Design sprint breakdown with:
Overall Structure:
- Executive Summary: MVP scope and total sprint count
- Sprint-by-sprint breakdown
- Risk register and mitigation strategies
- Success metrics and validation approach
Per Sprint (see template in resources/templates/sprint-template.md):
- Sprint Goal (1 sentence)
- Duration: 2.5 days with specific dates
- Deliverables with checkboxes
- Acceptance Criteria (testable)
- Technical Tasks (specific) - annotate with goal contributions:
→ **[G-1]** - Dependencies
- Risks & Mitigation
- Success Metrics
Goal Traceability (Appendix C)
Extract Goals from PRD:
- Check PRD for goal table with ID column:
| ID | Goal | Measurement | Validation Method | - If IDs present (G-1, G-2, etc.), use them directly
- If IDs missing, auto-assign G-1, G-2, G-3 to numbered goals in "Primary Goals" section
- Log auto-assigned IDs to trajectory
Create Goal Mapping:
- For each task, identify which goal(s) it contributes to
- Annotate tasks with
→ **[G-N]**format - Populate Appendix C with goal-to-task mappings
- Generate warnings for:
- Goals without any contributing tasks:
⚠️ WARNING: Goal G-N has no contributing tasks - Final sprint missing E2E validation task:
⚠️ WARNING: No E2E validation task found
- Goals without any contributing tasks:
E2E Validation Task:
- In the final sprint, include Task N.E2E: End-to-End Goal Validation
- List all PRD goals with validation steps
- This task is P0 priority (Must Complete)
Phase 4: Quality Assurance
Self-Review Checklist:
- All MVP features from PRD are accounted for
- Sprints build logically on each other
- Each sprint is feasible within 2.5 days
- All deliverables have checkboxes for tracking
- Acceptance criteria are clear and testable
- Technical approach aligns with SDD
- Risks identified with mitigation strategies
- Dependencies explicitly called out
- Plan provides clear guidance for engineers
- All PRD goals mapped to tasks (Appendix C)
- All tasks annotated with goal contributions
- E2E validation task included in final sprint
Save to grimoires/loa/sprint.md.
<output_format>
See resources/templates/sprint-template.md for full structure.
Each sprint includes:
- Sprint number and theme
- Duration (2.5 days) with dates
- Sprint Goal (single sentence)
- Deliverables with checkboxes
- Acceptance Criteria with checkboxes
- Technical Tasks with checkboxes
- Dependencies
- Risks & Mitigation
- Success Metrics </output_format>
<success_criteria>
- Specific: Every task is actionable without additional clarification
- Measurable: Progress tracked via checkboxes
- Achievable: Each sprint is feasible within 2.5 days
- Relevant: All tasks trace back to PRD/SDD
- Time-bound: Sprint dates are specific </success_criteria>
<planning_principles>
- Start with Foundation: Early sprints establish core infrastructure
- Build Incrementally: Each sprint delivers demonstrable functionality
- Manage Dependencies: Sequence work to minimize blocking
- Balance Risk: Tackle high-risk items early for course correction
- Maintain Flexibility: Build buffer for unknowns in later sprints
- Focus on MVP: Ruthlessly prioritize essential features </planning_principles>
<beads_workflow>
Beads Workflow (beads_rust)
When beads_rust (br) is installed, use it to track sprint structure:
Session Start
br sync --import-only # Import latest state from JSONL
Creating Sprint Structure
Use helper scripts for epic and task creation:
# Create sprint epic
EPIC_ID=$(.claude/scripts/beads/create-sprint-epic.sh "Sprint N: Theme" 1)
# Create tasks under epic
.claude/scripts/beads/create-sprint-task.sh "$EPIC_ID" "Task description" 2 task
# Add blocking dependencies between tasks
br dep add <blocked-task-id> <blocker-task-id>
Semantic Labels for Relationships
Use labels instead of dependency types:
| Relationship | Label | Example |
|---|---|---|
| Sprint membership | sprint:<n> |
br label add beads-xxx sprint:1 |
| Epic association | epic:<epic-id> |
Auto-added by create-sprint-task.sh |
| Review status | needs-review |
br label add beads-xxx needs-review |
Session End
br sync --flush-only # Export SQLite → JSONL before commit
Protocol Reference: See .claude/protocols/beads-integration.md
Beads Flatline Loop (v1.28.0)
After creating beads from the sprint plan, optionally run the Flatline Beads Loop to refine the task graph:
# Check if beads exist and br is available
if command -v br &>/dev/null && [[ $(br list --json 2>/dev/null | jq 'length') -gt 0 ]]; then
# Run iterative multi-model refinement
.claude/scripts/beads-flatline-loop.sh --max-iterations 6 --threshold 5
fi
This implements the "Check your beads N times, implement once" pattern:
- Exports current beads to JSON
- Runs Flatline Protocol review on task graph
- Applies HIGH_CONSENSUS suggestions
- Repeats until changes "flatline" (< 5% change for 2 iterations)
- Syncs final state to git
When to use:
- After
/sprint-plancreates tasks - Before
/run sprint-planbegins execution - When task decomposition seems questionable
Skip when:
- Simple projects with <10 tasks
- Time-critical execution needed
- Flatline Protocol is disabled </beads_workflow>
<visual_communication>
Visual Communication (Optional)
Follow .claude/protocols/visual-communication.md for diagram standards.
When to Include Diagrams
Sprint plans may benefit from visual aids for:
- Task Dependencies (flowchart) - Show task blocking relationships
- Sprint Workflow (flowchart) - Illustrate sprint execution flow
Output Format
If including diagrams, use Mermaid with preview URLs:
## Appendix A: Task Dependencies
```mermaid
graph TD
T1[Task 1.1] --> T2[Task 1.2]
T1 --> T3[Task 1.3]
T2 --> T4[Task 1.4]
T3 --> T4
```
Preview: View diagram
### Theme Configuration
Read theme from `.loa.config.yaml` visual_communication.theme setting.
Diagram inclusion is **optional** for sprint plans - use agent discretion.
</visual_communication>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?