Use whenever you are iterating on the look or layout of a screen — tuning a CSS rule, building a new modal, redesigning a table, hunting a mobile-only regression. Walks an edit / reload / screenshot / inspect loop that uses the Read tool to view PNGs inline at every viewport (desktop, mobile, mobile-landscape, tablet). The harness drives the app through reusable flows (sign in, add sheet, add account, swipe a row) so each iteration only changes the bit that's being designed. Manual playbook — not part of the `maintenance` umbrella.
Use when the user wants to clear out the open Dependabot PRs — "do the dependabot PRs", "update the deps", "merge dependabot". Consolidates every open Dependabot bump into ONE branch + PR, resolves the peer-dependency fallout the bumps trigger (Vite / ESLint / TypeScript / React majors drag transitive tooling with them), gets the full CI chain green, then closes the superseded Dependabot PRs. Manual playbook — not part of the `maintenance` umbrella.
Use when src/data/achievements/catalog.ts is stale relative to a newly-shipped user-facing feature — or when a fresh achievement needs to be added, a trigger predicate rewritten, or the AchievementsModal chrome touched. The achievements modal (src/components/AchievementsModal.tsx) is a fullscreen four-tier (Beginner → Intermediate → Pro → Expert) guided tour where every feature is also an unlockable trophy. This skill describes how to add a new achievement, how to slot it into the right tier, how to phrase it (in English AND Swedish), and how to wire its trigger so the unlock fires when the user does the thing.
Use when about to open a PR (or just after pushing one) to decide whether the change needs a `.changes/unreleased/<unix-ts>-<slug>.md` fragment. Resolves the latest `v*` tag, walks commits and existing fragments since, classifies the current change against the rules in AGENTS.md, and either writes a new fragment, folds the substance into an existing fragment, or labels the PR `no-changelog`.
Use when docs/ may be stale relative to src/ layout, the persisted-data shape, or the Makefile target table — or when the in-app privacy policy at src/components/PrivacyPage.tsx may be stale relative to the storage/encryption/Dropbox claims it restates. Discovers commits that touched those sources of truth since the skill last ran and merges the current shape back into docs/architecture.md, docs/getting-started.md, and the privacy page.
Use when the maintainer (or an agent acting on their behalf) wants to cut a new release of the Budget app. Walks the pre-flight checklist, dispatches the workflow, verifies the deploy, and links to the rollback recipe. Manual playbook — not part of the `maintenance` umbrella.
Use when the user asks for high-value performance optimizations — order-of-magnitude wins in algorithms that matter, not micro-tuning. Surveys the hot paths (reducers, per-render passes, per-keystroke handlers, validators, synthesis pipelines, search indexes), presents candidates with complexity and trigger context for the user to gate the work, and is honest when the codebase has already been tuned and no high-value wins remain.
Use when the user wants comments cleaned up, or whenever you're about to touch a file whose comments narrate history instead of explaining current invariants. Removes or rewrites changelog-style comments ("previously", "the legacy behaviour", "see the plan", "used to re-scan", "K calls × O(R) before this fix", PR-number references, wiring narratives) while preserving comments that explain WHY current code is the way it is — especially "don't try X, it doesn't work" anti-pattern guards.