Create an implementation plan with atomic commits that build toward a complete feature
Create a TOML implementation plan that drives the implement-commit skill.
The plan must be machine-parseable—the orchestrator reads it mechanically.
docs/features/NNNN-feature-name/design.mddocs/features/NNNN-feature-name/test-plan.mdCreate docs/features/NNNN-feature-name/implementation-plan.toml:
[meta]
feature = "feature-name"
feature_dir = "docs/features/NNNN-feature-name"
workspace = "./path/to/workspace"
[dependencies]
1 = []
2 = []
3 = [1, 2]
[[commits]]
id = 1
title = "Short description"
message = "feat(scope): conventional commit message"
files = ["path/to/file.rs"] # Relative to workspace
acceptance = ["Criterion from CC table (CC-N)"]
anti_patterns = ["What NOT to do"]
tests = ["test_name_from_test_plan"] # REQUIRED: maps to test-plan.md
Read design.md thoroughly, noting:
Read test-plan.md and create a mapping:
Look for capability boundaries, not code artifact boundaries.
Good boundaries:
Anti-pattern: Splitting by artifact (types in one commit, impl in another, tests in a third).
For each commit, list which commits must complete first.
Encode as [dependencies] table where key is commit ID, value is list of dependency IDs.
The orchestrator uses this to determine parallel execution.
For each commit, list the specific test names from test-plan.md that verify it:
tests = [
"test_protocol_encode_acquire_request",
"test_protocol_decode_roundtrip",
]
Every test in test-plan.md must appear in exactly one commit's tests array.
This creates an auditable trace: test-plan.md → implementation-plan.toml → code.
For each commit, copy relevant entries from the design's Critical Constraints table:
acceptance = criteria that MUST be met (reference CC-N and test names)anti_patterns = what reviewers should rejectFor each commit:
[[commits]]
id = N # Sequential integer
title = "..." # What this commit accomplishes
message = "..." # Full conventional commit message
files = ["..."] # Paths relative to workspace
acceptance = ["..."] # From CC table + test descriptions
anti_patterns = ["..."] # From CC table, or empty []
tests = ["..."] # Test names from test-plan.md (REQUIRED)
After drafting the plan, spawn a verification agent:
result = spawn(
prompt=draft_spawn_prompt(SkillDefined(
"Verify implementation plan covers all test-plan.md tests"
)),
context_files=[
f"{skill_dir}/agents/verifier.md",
f"{feature_dir}/test-plan.md",
f"{feature_dir}/implementation-plan.toml",
],
response_model=VerificationResult,
read_only=True,
)
if not result.parsed.valid:
# Fix gaps before proceeding
agent_feedback(f"Plan incomplete: {result.parsed.gaps}")
The verifier checks:
# Check TOML parses
python3 -c "import tomllib; tomllib.load(open('implementation-plan.toml', 'rb'))"
Target: 200-400 lines changed per commit
Too Small:
Too Large:
Just Right:
from pydantic import BaseModel
class VerificationResult(BaseModel):
valid: bool
total_tests_in_plan: int
tests_assigned: int
gaps: list[str] # Tests not assigned to any commit
duplicates: list[str] # Tests assigned to multiple commits
See docs/features/0000-templates/implementation-plan.toml for a complete example.
After creating and verifying the plan:
implement-commit skill to executenpx skills add cbgbt/propose-implementation-plan下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer