plugins/promode/skills/promode-audit/SKILL.md
Audit how well a repository's codebase and practices align with the promode methodology, then produce a prioritised, actionable improvement plan. Fans out parallel assessors (one per dimension) and synthesises their findings. Use when the user wants to assess promode alignment/fit, audit a repo against the methodology, or get a plan to bring a codebase in line with promode. Also flags stale per-project install leftovers — promode ships its own SessionStart hook, so nothing should be copied into a project.
npx skillsauth add mikekelly/promode promode-auditInstall 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.
You (the main agent) run this audit: fan out parallel assessors, one per dimension, then synthesise their findings into a prioritised, actionable plan. The assessors gather evidence; the prioritisation and plan are yours — that judgement is not delegated.
This audits the repo's alignment with promode's working practices, plus a pre-flight setup check. promode ships its delivery via its own plugin SessionStart hook, so nothing is installed per-project — the only setup issue to catch is stale leftovers from the retired copy-install.
Each dimension is a reusable lens, not just a step in the full sweep — it mirrors what a working agent is already responsible for. The same standard runs at three cadences: every agent upholds its dimension continuously while working; a single owning agent can be asked to audit just its dimension for a targeted spot-check (e.g. promode:code-reviewer for tests or architecture); or you run this skill for the full parallel sweep. Auditing and doing are the same standard, zoomed differently.
| Dimension | Assesses (promode principle) | Suggested assessor |
|-----------|------------------------------|--------------------|
| Framing & traceability | Apply the framing & traceability check (below): does a top-down document hierarchy (goals/risks/priorities, realistic customer profiles / personas → marketing → feature definitions → feature tests) make the repo self-describing, each layer explaining WHY and linking up to a goal? Are the user needs/journeys/workflows features rest on cited or flagged as assumptions (a silent one is the highest-severity finding) vs asserted as fact? (feature knowledge-base, self-describing repo, evidence-based user needs) | general-purpose |
| Tests & feedback loops | Behaviour-focused tests on critical paths; tested through public interfaces vs coupled to implementation / over-mocked; speed & determinism (can an agent get a fast pass/fail signal?); a documented one-command way to run tests, lint, typecheck, and the app. Where a UI fronts real logic, apply the Discovery → Determinism layered-coverage check (below) — including whether the acceptance tier reads as domain-language user stories traceable to a cited/flagged need and whether a product-doc↔acceptance-test seam exists (tool-agnostic, not BDD-mandated). (TDD, tests-as-documentation, fast feedback, verifier-readiness, traceable acceptance) | promode:code-reviewer |
| Agent knowledge & orientation | Apply the CLAUDE.md health check (below), including the orientation hierarchy: root launchpad, optional subtree launchpads, and adjacent AGENTS.md symlinks. Beyond it, two questions: (1) capture — is durable reusable knowledge captured as linked nodes reachable from the root or relevant subtree CLAUDE.md, or left tribal — across the kinds the knowledge-graph model names: subsystem orientation, non-obvious build/run gotchas, decisions (ADR-style), and runbooks (repeatable operational procedures — deploy, migration, env bring-up, recovery, recurring incidents)? Flag any kind that's missing, unlinked, or lives only in someone's head. (2) discoverability — are crucial design constraints (invariants, prohibitions, required patterns, load-bearing decisions) stated inline in the loaded orientation governing the affected area, or only reachable by a traversal an agent may never make? The latter is the dimension's highest-severity finding (see the health check). (CLAUDE.md-rooted knowledge graph; hierarchy; decision/runbook/operational-knowledge capture; critical-constraint discoverability) | general-purpose |
| Architecture & navigability | Module depth vs shallowness; testability (dependency injection, seams, return-values over side-effects); oversized files that burn agent context; tangled coupling, dead code, misleading names. (small diffs, testability, context-frugality) | promode:code-reviewer |
| Observability & traceability | Apply the observability & traceability check (below): do runtime logs carry a correlation/tracer ID that threads one request client→backend (and across service hops), filterable on both sides, so an agent can pull a single request's whole trace instead of slurping unfiltered logs? (context is precious applied to runtime; cheap agent debugging) | promode:code-reviewer |
| Design system & visual feedback loop | Apply the design system & visual feedback-loop check (below): is a design source-of-truth established (two-layer DESIGN_SYSTEM.md, tokens + rationale, linked from CLAUDE.md, traceable to personas/goals), does a lookbook exist and cover the components/screens, and is there a live-refresh preview loop for design + marketing artifacts? (visual feedback loop = the design analogue of the operator-seam test loop; crystallise taste into determinism) | promode:product-design-expert |
| Change hygiene (optional) | Commit focus & size; messages explain why; do tests land with the code they cover? (small focused commits, explain-why, visible TDD) | general-purpose |
</dimensions>
docs/product/PERSONAS.md), product/marketing framing, feature definitions, and feature tests? Note which layers are missing or thin.CLAUDE.md. Each orientation file should be a launchpad, not a manual.CLAUDE.md for repo-wide rules or the nearest subtree CLAUDE.md for local rules, not one hop away. The rule is criticality, not topic. This bites hardest for crucial design constraints and critical workflow/build/test rules that habitually hide in ADRs, runbooks, workflow docs, or code comments: each one that's load-bearing, harmful-if-violated, and non-obvious from the code must appear inline (concisely, with a link to its full rationale). A critical rule reachable only by traversal is the highest-severity finding in this dimension — rank it Now and recommend the reinforce-design-constraints skill, the write action that hoists each buried rule into the nearest loaded orientation with its link.CLAUDE.md should link to major subtree orientation files when present, and major subsystems with materially different local commands, concepts, or landmines should have their own concise CLAUDE.md instead of bloating the root. Flag both missing subtree orientation and root bloat that should split downward.AGENTS.md -> CLAUDE.md symlinks beside orientation files. If symlinks are impossible, flag absence of a minimal lockstep fallback.Recommended write action: use reinforce-design-constraints for buried critical constraints. For broad shape problems, create or split concise CLAUDE.md orientation files, link them from the parent/root, and add adjacent AGENTS.md symlinks where supported. Do not overwrite project orientation or move promode orchestration methodology into it.
</claude-md-health>
discovery-to-determinism's <scenario-vs-seam> for the mechanics (scenario = the what, traceable to the need; operator seam = the how/where, headless).
</layered-coverage>
docs/product/DESIGN_SYSTEM.md (YAML token front-matter for the normative what + ## rationale sections for the why), linked from CLAUDE.md as a graph node (not a project-root DESIGN.md, not inlined into CLAUDE.md), tracing up to the documented personas/goals. Flag fabricated or ad-hoc tokens (a hex here, a spacing value there) with no source-of-truth behind them.docs/product/lookbook/ that renders the tokens: living (imports the real components, so it can't drift) where a component system exists, or reference (curated, tagged screenshots) before one does. It should cover the key components and screen states and trace up to the source-of-truth. Flag a stale or absent lookbook.Applicability: like the layered-coverage check, this dimension is conditional — it applies when the project has a user-facing visual surface or produces marketing artifacts. Skip it for a pure backend or library with no visual output. </design-system-visual-loop>
<assessor-brief> Give each assessor: - **Scope** — its one dimension, and which part of the repo to read (whole repo, or an area for large codebases). - **Read-only** — "Assess and report only. Do not modify, create, or commit any files." - **Rubric** — the dimension's checklist (from the table), framed as "rate how well the repo does this, with evidence." - **Required output** (so you can synthesise cleanly): - **Rating** — `Strong` / `Partial` / `Weak` for the dimension. - **Findings** — concrete, each citing file/path evidence (not "tests are weak" but "`src/checkout.ts` has no tests; `auth.test.ts` mocks the internal `UserStore`, coupling to implementation"). - **Recommendations** — specific changes, each with rough effort (S/M/L) and the promode principle it serves. </assessor-brief> <output> Synthesise into:# Promode Methodology Audit — <repo>
## Overall alignment
<2–4 sentences. Per-dimension rating: Framing <R> · Tests <R> · Knowledge <R> · Architecture <R> · Observability <R> · Design <R> · Hygiene <R>>
## Findings by dimension
### <Dimension> — <rating>
- <finding with file evidence>
## Prioritised action plan
Ranked across all dimensions by impact × effort. Each item:
**[Now/Next/Later] <change>** — why it matters for promode · effort S/M/L · suggested executor (`promode:<agent>`)
development
Establish a design source-of-truth (a DESIGN.md-style two-layer doc of tokens + rationale), build a lookbook that renders it, and wire a live-refresh preview server so visual work gets a fast edit→see feedback loop. Use when setting up or restructuring a design system / design tokens, creating a DESIGN.md or design source-of-truth, building a lookbook, or wanting live preview / live reload of design or marketing artifacts — landing pages, decks, one-pagers, marketing material previews. The visual analogue of the operator-seam test loop: it crystallises taste into determinism. Defers aesthetic taste (typography/color/motion choices) to the frontend-design skill.
development
Walk the knowledge graph (rooted at CLAUDE.md) and ensure every crucial design constraint — invariants, prohibitions, required patterns, load-bearing decisions — is stated inline in the nearest loaded CLAUDE.md orientation that governs the affected area, with a link to its full rationale for expanded discovery. Use when constraints are buried in ADRs, knowledge docs, code comments, or tribal knowledge; when an agent violated a rule it had no way to know; or when asked to surface, hoist, lift, strengthen, or reinforce design constraints, or make them discoverable to agents.
testing
Write a handoff document so a fresh agent can continue this work after the conversation ends. Invoke when the user is about to /clear or /compact, when context is filling up, or when the user asks to hand off, checkpoint, or pause work for a later session. Argument (optional): what the next session will focus on.
tools
Put the bulk of acceptance coverage below the UI through a fast, deterministic headless client driving an operator seam, and reserve a surgical UI state-graph tier for defects that only manifest through the real GUI. Use when designing test/QA or acceptance-testing strategy, automating acceptance, end-to-end (E2E), or QA testing of a running app, deciding what to cover with fast headless tests vs slow UI/E2E, building agent-driven exploration or automation of a running app, building a below-UI operator seam (interaction layer) or headless client, or crystallising agent-discovered knowledge into reusable deterministic artifacts (maps, graphs, scripts, tests). Covers the Discovery⇄Determinism flywheel, the operator-seam architecture (one seam serving both a headless test client and AI-agent tools), and layered headless-first acceptance testing with a surgical UI state-graph tier for GUI-only defects.