Enforcement skill for consistent architectural planning
Ensures every architecture plan is thorough, actionable, and testable. Used by the planner agent.
Every architectural decision MUST follow this structure:
Every architecture plan MUST include:
## Files to Create/Modify
### 1. lib/new_module.py (CREATE)
- Purpose: [what this file does]
- Key classes/functions: [list]
- Dependencies: [what it imports]
- Tests: tests/unit/test_new_module.py
### 2. lib/existing_module.py (MODIFY)
- Changes: [what changes and why]
- Lines affected: ~[range]
- Risk: [low/medium/high]
## Implementation Order
1. Create lib/new_module.py (no dependencies)
2. Create tests/unit/test_new_module.py (depends on step 1)
3. Modify lib/existing_module.py (depends on step 1)
4. Update integration tests (depends on steps 1-3)
Steps MUST be ordered so each step can be tested independently before proceeding.
For decisions that affect architecture (new patterns, technology choices, major refactors):
# ADR-NNN: [Title]
**Date**: YYYY-MM-DD
**Status**: Proposed | Accepted | Deprecated | Superseded
## Context
[Problem and constraints]
## Decision
[What we chose and why]
## Consequences
[Positive and negative outcomes]
## Alternatives Considered
[Other options and why rejected]
When planning for this codebase, follow these established patterns:
plugins/autonomous-dev/lib/): Pure Python, no side effects, testableplugins/autonomous-dev/commands/): Markdown prompts that invoke libFORBIDDEN:
REQUIRED:
"We should refactor the auth module to be more modular.
We can add better error handling later."
No file paths, no steps, no testing, no "later" promises.
## Files to Modify
1. lib/auth.py (MODIFY) — Extract token validation into TokenValidator class
2. lib/token_validator.py (CREATE) — Pure validation logic, no side effects
3. tests/unit/test_token_validator.py (CREATE) — 8 tests covering valid/invalid/expired
## Order
1. Create token_validator.py + tests (independent)
2. Modify auth.py to use TokenValidator (depends on step 1)
3. Run full test suite to verify no regressions
Step 1: Rewrite the entire authentication system
Step 2: Test everything
Cannot test incrementally, cannot roll back partially.
Each step produces a testable, committable unit of work.
If the migration fails halfway through, what happens? Every plan needs a recovery path.
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