Write design rationale for a feature
/plugin marketplace add asermax/claude-plugins/plugin install katachi@asermax-pluginsFEATURE-IDWrite design rationale for a specific feature.
Feature ID: $ARGUMENTS (e.g., "CORE-001")
Skills to load:
katachi:framework-core - Workflow principleskatachi:working-on-feature - Per-feature workflowFeature inventory:
@planning/FEATURES.md - Feature definitions
@planning/DEPENDENCIES.md - Feature dependencies
Feature spec:
@specs/$ARGUMENTS.md - The specification we're designing for
Project decisions:
@docs/architecture/README.md - Architecture decisions (ADRs)
@docs/design/README.md - Design patterns (DES)
Existing design (if present):
@designs/$ARGUMENTS.md - Current design to update or create
Verify spec exists:
specs/$ARGUMENTS.md doesn't exist, suggest running /katachi:spec-feature $ARGUMENTS firstIf designs/$ARGUMENTS.md exists:
If no design exists: proceed with initial creation
Update status:
python ${CLAUDE_PLUGIN_ROOT}/scripts/features.py status set $ARGUMENTS "⧗ Design"
specs/$ARGUMENTS.md)planning/DEPENDENCIES.mdCreate full design document following template:
Note any uncertainties or assumptions.
Show complete design document to user. Highlight uncertainties and ask about them. Invite feedback: "What needs adjustment in this design?"
Apply user corrections, additions, or changes. Re-present updated sections if significant changes. Repeat until user approves the design.
Dispatch the design-reviewer agent:
Task(
subagent_type="katachi:design-reviewer",
prompt=f"""
Review this feature design.
## Feature Spec
{spec_content}
## Completed Design
{design_content}
## ADR Index Summary
{adr_summary}
## DES Index Summary
{des_summary}
Provide structured critique covering:
- Problem context clarity
- Design coherence
- Modeling completeness
- Data flow clarity
- Decision quality
- Pattern alignment with ADRs/DES
"""
)
Review agent findings with user. Discuss which recommendations to accept.
If agent or user identifies repeatable patterns:
Ask: "Should we iterate based on validation feedback, or is the design complete?"
If gaps to address → refine relevant sections (go back to step 4)
If complete → finalize document to designs/$ARGUMENTS.md
Update status:
python ${CLAUDE_PLUGIN_ROOT}/scripts/features.py status set $ARGUMENTS "✓ Design"
When design reveals hard-to-change choices:
This is a collaborative process: