Create or refine implementation plans for WeDo changes so every implementation PR has a checked-in plan under docs/plans before substantial coding begins.
Use this skill before substantial implementation work for WeDo.
The goal is to create a concrete, reviewable plan that:
docs/plans/.Read only what is needed, but do not plan blind.
Required sources:
CLAUDE.mdREADME.mddocs/adrs/docs/alexandria/library/Write the plan to:
docs/plans/<issue-number-or-short-slug>/plan.mdUse the GitHub issue number when one exists. If there is no issue number yet, use a short descriptive slug.
Examples:
docs/plans/42-task-recurring-rule-editing/plan.mddocs/plans/day-navigation-polish/plan.mdEvery substantial implementation plan should cover:
Do not stop at a loose task list. The plan should explain what changes, what does not, and how you will know the slice is done.
Plans should preserve the checked-in repo rules:
types -> config -> db -> services -> workers/realtime -> uiWhen a plan touches one layer, say what does not belong there. Examples:
db or servicesDefault to one issue / one PR / one reviewable seam.
The plan should explicitly say:
If the work would mix schema changes, service rules, realtime coordination, and a broad UI redesign in one patch, narrow the slice before coding.
If the change affects synchronization, recurrence, task completion semantics, day rollover, or other stateful behavior, include:
This does not need Symphony's full recovery matrix unless the feature truly needs it, but stateful work should still make its transitions explicit.
Do not just say "add tests."
Name the exact checks that prove the slice:
npm run typechecknpm run lintnpm run testnpm run test:e2enpm run test:structUse the narrowest real set that matches the touched files, but widen when the change crosses layers or affects visible flows.
For UI work, include a note to verify the result visually in local Chrome through Playwright.
Before substantial coding:
docs/plans/.../plan.mdEvery implementation PR should have a corresponding checked-in plan. Small typo-only or trivial docs-only changes can skip this when they clearly do not represent implementation work.