All checks were successful
CI / check (push) Successful in 3m16s
Correct terminology mismatch: - Rename skills/ to commands/ (these are user-invokable commands) - Create new skills/ for reference materials - Move bd_workflow.md to skills/ (it's reference material) - Add micro-skills and formulas directories - Update default.nix to install both commands and skills Commands → ~/.claude/commands/ (invokable as /command-name) Skills → ~/.claude/commands/skills/ (reference materials) Formulas → ~/.beads/formulas/ (workflow templates) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
125 lines
2.6 KiB
TOML
125 lines
2.6 KiB
TOML
# RPI Formula - Research -> Plan -> Implement
|
|
#
|
|
# Universal workflow for feature development with human gates.
|
|
|
|
formula = "rpi"
|
|
description = """
|
|
Research -> Plan -> Implement workflow.
|
|
|
|
Usage:
|
|
bd pour rpi --var title="Add user preferences"
|
|
bd pour rpi --var title="Auth" --var bead_id="project-abc" --var test_cmd="nix flake check"
|
|
"""
|
|
version = 1
|
|
type = "workflow"
|
|
|
|
# ─── Variables ───
|
|
|
|
[vars.title]
|
|
required = true
|
|
description = "What are we building?"
|
|
|
|
[vars.bead_id]
|
|
description = "Existing bead ID (creates new if not provided)"
|
|
|
|
[vars.test_cmd]
|
|
default = "make test"
|
|
description = "Command to run tests"
|
|
|
|
[vars.lint_cmd]
|
|
default = "make lint"
|
|
description = "Command to run linting"
|
|
|
|
# ─── Research Phase ───
|
|
|
|
[[steps]]
|
|
id = "research"
|
|
title = "Research: {{title}}"
|
|
skill = "research-agents"
|
|
description = """
|
|
Conduct comprehensive codebase research.
|
|
|
|
Goals:
|
|
- Understand current implementation
|
|
- Identify patterns to follow
|
|
- Find relevant files and dependencies
|
|
- Document key discoveries
|
|
|
|
Output: thoughts/beads-{{bead_id}}/research.md
|
|
"""
|
|
|
|
# ─── Planning Phase ───
|
|
|
|
[[steps]]
|
|
id = "plan"
|
|
title = "Plan: {{title}}"
|
|
needs = ["research"]
|
|
type = "human"
|
|
skill = "planning"
|
|
description = """
|
|
Create detailed implementation plan based on research.
|
|
|
|
Goals:
|
|
- Present understanding and clarify requirements
|
|
- Propose design options with tradeoffs
|
|
- Define phases with success criteria
|
|
- Identify what we're NOT doing
|
|
|
|
Output: thoughts/beads-{{bead_id}}/plan.md
|
|
"""
|
|
|
|
[steps.gate]
|
|
type = "human"
|
|
reason = "Plan approval before implementation"
|
|
|
|
# ─── Implementation Phase ───
|
|
|
|
[[steps]]
|
|
id = "implement"
|
|
title = "Implement: {{title}}"
|
|
needs = ["plan"]
|
|
description = """
|
|
Execute the approved plan phase by phase.
|
|
|
|
For each phase:
|
|
1. Make the changes
|
|
2. Run verification: {{test_cmd}}, {{lint_cmd}}
|
|
3. Update plan checkboxes for resumability
|
|
|
|
Stop and ask if encountering unexpected issues.
|
|
"""
|
|
|
|
# ─── Verification Phase ───
|
|
|
|
[[steps]]
|
|
id = "verify"
|
|
title = "Manual verification"
|
|
needs = ["implement"]
|
|
type = "human"
|
|
description = """
|
|
Human confirms implementation works correctly.
|
|
|
|
Check: feature works, edge cases handled, no regressions.
|
|
Tests: {{test_cmd}} | Lint: {{lint_cmd}}
|
|
"""
|
|
|
|
[steps.gate]
|
|
type = "human"
|
|
reason = "Confirm implementation is correct"
|
|
|
|
# ─── Completion ───
|
|
|
|
[[steps]]
|
|
id = "complete"
|
|
title = "Close bead"
|
|
needs = ["verify"]
|
|
skill = "artifact-format"
|
|
description = """
|
|
Mark work as complete.
|
|
|
|
Actions:
|
|
- bd update {{bead_id}} --notes="Implementation complete"
|
|
- bd close {{bead_id}} --reason="Completed: {{title}}"
|
|
- bd sync && git push
|
|
"""
|