Use, cite, and maintain consistency with Accepted Architectural Decision Records under docs/adrs/. Load relevant ADRs for architecture-shaped work, flag conflicts (refuse silent drift; allow human-owned exceptions), and help update supersession/index hygiene. Does not propose, discuss, or approve ADRs — humans own the…
Fix bugs with a test-first workflow. Use when the user reports a bug, asks to fix a defect, or describes unexpected behavior. Triggers on: bug, fix, defect, broken, regression, not working, unexpected behavior.
Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.
Retrospective on what made a task unexpectedly difficult. Reviews your own session to identify codebase friction and either fixes it or proposes improvements. Triggers on: slow progress, friction, hard to find, confusing, discoverability.
Regenerate docs/database-erd.md from MySQL informationschema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, exportdatabaseerd, schema diagram, ER diagram after migration.
Autonomously execute a plan under .planning/phases/ or .planning/quick/ . Applies local wrap-up on every slice: Jidoka, post-change-refactor, plan update, commit, and push. Parallel waves OK when safe. Triggers on: execute plan, run plan, execute slices, start plan, do .planning, execute .planning, run .planning.
Regenerate the frontend TypeScript API client from backend OpenAPI spec. Use after changing backend controller signatures or related data types. Triggers on: generateTypeScript, API regeneration, controller signature changed, OpenAPI lint failure, generated API code.
Browser-based manual testing of the Donut web app. Use ONLY when the developer explicitly asks to test manually or when a slice includes manual testing. Do NOT use proactively.
Run and interpret Stryker mutation testing results. Use ONLY when the developer explicitly asks for mutation testing or when a slice includes it. Do NOT use proactively.
Refactor concepts implicated by the current uncommitted change before commit. Use concept-bounded scope even when completion requires untouched code, but Jidoka-stop before unapproved cross-subsystem refactoring. Remove duplication, unclear naming, shotgun surgery, dead / test-only / redundant code, and oversized…
Prepare, refine, order, and assess a real-product backlog for an upcoming LeSS in Action (LIA) class. Use when selecting class-sized product features, investigating how much of an idea already exists, turning feature themes into vertical interdependent user stories, adding high-value items, or facilitating Product…
Decompose work into GSD-aligned plans whose executable units are Behavior/Structure slices (one observable behavior per slice, stop-safe). Use when planning new features, breaking down large tasks, or when a fix / make-test-pass breakdown has overrun the time-box (see planning.mdc). Triggers on: plan, decompose…
Profile a test suite, optimize the slowest top 10% in grouped slices, and close with a re-profile. Works for unit tests (JUnit/Vitest/…; "small test" style) in any sub-project (backend, frontend, cli, mcp-server) or Cypress E2E. Use when the developer asks to optimize, speed up, or profile slow tests, top 10% slowest…