.claude/skills/planning/SKILL.md
Use after a design is approved, before writing any implementation code, to create a bite-sized task plan
npx skillsauth add mezivillager/hacer planningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Save plans to docs/plans/YYYY-MM-DD-feature.md. </instructions>
<rules> - **Granularity**: Each task is ONE behavior, ONE test, ONE commit. If a task has "and" in its name, split it. - **Verification**: Never mark a task as complete without concrete proof (test results, logs). - **Plan First**: Write the plan into tasks/todo.md using checkable items. - **Track Progress**: Mark items as complete in tasks/todo.md as progress is made. - **HACER Stack**: Follow React 19, Zustand, and TDD protocols. - **File Organization**: Refer to REPO_MAP.md for correct placement. </rules> <examples> ### Task N: Add `placeGate` action to storeFiles:
Create: src/store/actions/gates/placeGate.ts
Modify: src/store/useCircuitStore.ts
Test: src/store/actions/gates/placeGate.test.ts
[ ] Write failing test:
it('placeGate adds a gate to the store', () => {
circuitActions.placeGate({ type: 'NAND', position: [0, 0, 0] })
const gates = useCircuitStore.getState().gates
expect(Object.keys(gates)).toHaveLength(1)
})
pnpm run test -- --run src/store/actions/gates/placeGate.test.tspnpm run test:runfeat: add placeGate action to storeplaceGate action to store", "Render gate as Box geometry when selected", "Clear selection on Escape key"# Implementation Plan: <Feature Name>
Date: YYYY-MM-DD
Spec: docs/specs/YYYY-MM-DD-<topic>.md
**Goal:** One sentence.
**Files:** List every file to create or modify.
**Run tests with:** `pnpm run test:run && pnpm run test:e2e:store`
beforeEach(() => {
useCircuitStore.setState(useCircuitStore.getInitialState())
})
it('shows gate label when hovered', () => {
render(<GateComponent hovered={true} gateId="g1" />)
expect(screen.getByText('NAND')).toBeInTheDocument()
})
Show the plan to the user and get confirmation before executing. Execute each task in order using the TDD skill. Commit after each passing task.
development
A comprehensive verification system for Claude Code sessions.
development
Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.
tools
Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
testing
Use when auditing Claude skills and commands for quality. Supports Quick Scan (changed skills only) and Full Stocktake modes with sequential subagent batch evaluation.