name: feater description: Small feature implementation (1-5 files). Light planning, direct implementation, no heavy orchestration. No design brainstorm, no subagents, no plugin check gate.
Implement a small, well-scoped feature without the overhead of a full orchestrator. Direct work, light planning, quick delivery.
$ARGUMENTS
Before starting, verify this is actually a small feature:
git status
git log --oneline -3
Read the relevant existing code to understand the context.
| Rule | Trigger | Action |
|---|---|---|
| 1 | Estimated diff < 2 files AND no logic (config value, copy fix, missing field) | DOWNGRADE → load $HOME/.claude/agents/hotfixer.md |
| 2 | New external dependency (npm install <x>, pip install, cargo add) required |
ESCALATE → /ship-feature (dep choices need design gate) |
| 3 | New route family / new top-level module / new DB migration | ESCALATE → /ship-feature |
| 4 | Estimated diff > 5 files | ESCALATE → /ship-feature |
| 5 | User wording is uncertain ("not sure how", "what do you think") | ESCALATE → /ship-feature (needs brainstorming) |
| 6 | UI feature on a stack with a design system AND ui-ux-pro-max inactive |
Proceed in /feat, but flag it in STEP 0.5 design gate |
| 7 | Otherwise | PROCEED in /feat |
/health endpoint returning {status:"ok",version}" → 1-2 files, no new dep, route added to existing router → PROCEED.prefers-color-scheme" → 2-3 files, design system exists → PROCEED (design gate triggers in STEP 0.5)./ship-feature./hotfix.Print a one-line scope confirmation (use the rule that fired):
FEAT: <feature name> — rule <N>, ~<N> files, <brief approach>
Follow $HOME/.claude/lib/design-gate.md:
ui-ux-pro-max inactive → ask user to activate.Quick mental model, not a formal plan document:
Print the plan as a compact checklist:
PLAN:
[ ] <file> — <what to do>
[ ] <file> — <what to do>
[ ] <test file> — <test to add>
No gate — proceed directly unless the approach is ambiguous. If ambiguous: ask the user one focused question, then proceed.
Work through the plan:
Run the full relevant test suite:
# detect and run tests, lint, type-check
If a dev server is relevant, mention what the user should check visually.
Quick self-review: scan your diff for obvious issues:
git diff --stat
git diff
Commit using conventional format:
feat(<scope>): <what was added>
<brief description of the feature>
Co-Authored-By: Claude <noreply@anthropic.com>
If the feature touched multiple concerns (e.g., feature + config +
test), consider splitting into 2-3 atomic commits — load
$HOME/.claude/agents/commit-changer.md and follow its grouping logic.
Print summary:
FEAT COMPLETE
FEATURE : <name>
FILE(S) : <created/modified files>
TEST(S) : <added tests>
VERIFIED : <what was checked>
Load $HOME/.claude/agents/doc-syncer.md.
Execute in automatic mode:
auto-mode scope: <list of files modified during this session>
A small feature may or may not involve a design choice. Scan the work for:
BDR-XXX in .claude/memory/decisions.md with alternatives considered.LRN-XXX in .claude/memory/learnings.md.Present the candidates grouped:
CAPITALIZE — proposé
[decisions.md] BDR-XXX — <titre> (optionnel)
[learnings.md] LRN-XXX — <pattern> (optionnel)
Valider ? (all / <IDs> / edit / skip)
Always append a 1-line entry to today's heading in .claude/memory/journal.md.
Language rule: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The interactive gate may mirror the user's language; the appended entries must not.
If no substantive capture candidate → skip with CAPITALIZE: nothing to log.
/ship-feature./ship-feature)./feat + follow-up task.