reviewer-harness 1.15.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@ One sync to bind them all,
12
12
  and in your codebase, protect them.
13
13
  ```
14
14
 
15
- ![version](https://img.shields.io/badge/version-1.14.0-blue)
15
+ ![version](https://img.shields.io/badge/version-1.16.0-blue)
16
16
  ![License](https://img.shields.io/badge/License-MIT-yellowgreen)
17
17
  ![node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)
18
18
  ![dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)
@@ -139,7 +139,7 @@ reviewer-harness status
139
139
  Expected output (version number varies):
140
140
 
141
141
  ```
142
- Harness : reviewer-harness v1.14.0
142
+ Harness : reviewer-harness v1.16.0
143
143
  Target : /path/to/your/project
144
144
  Runtimes:
145
145
  - opencode → .opencode/instructions.md
@@ -187,7 +187,7 @@ Expected output when everything is fine:
187
187
 
188
188
  `validate` checks for empty or duplicate rules and scans the config for leaked API keys and tokens — secrets must never be synced into instruction files (they would leak into Git).
189
189
 
190
- **Step 3 — Add the skills you want.** Pick from the 27 bundled skills (full list below):
190
+ **Step 3 — Add the skills you want.** Pick from the 28 bundled skills (full list below):
191
191
 
192
192
  ```bash
193
193
  reviewer-harness skills add safe-editing
@@ -237,12 +237,12 @@ npx reviewer-harness skills add no-hallucination
237
237
  A skill is a playbook: a short, checkable set of rules for one job (safe editing, API security, UI taste, debugging, and so on), distilled from real, reputable sources — not generic advice. Every rule cites its source.
238
238
 
239
239
  ```bash
240
- reviewer-harness skills list # see all 27 bundled skills (+ which are enabled)
240
+ reviewer-harness skills list # see all 28 bundled skills (+ which are enabled)
241
241
  reviewer-harness skills add <name> # install into the project and enable it in the config
242
242
  reviewer-harness skills remove <name> # disable it in the config and remove it
243
243
  ```
244
244
 
245
- All 27 bundled skills (v1.14.0):
245
+ All 28 bundled skills:
246
246
 
247
247
  | Skill | What it does |
248
248
  |---|---|
@@ -255,7 +255,7 @@ All 27 bundled skills (v1.14.0):
255
255
  | `api-security` | 14 API security rules — apply to every backend endpoint you build or review. |
256
256
  | `ux-edge-states` | 10 UX states beyond the happy path — empty, loading, error, offline, success. |
257
257
  | `owasp-top10` | OWASP Top 10 web security risks — the industry standard check before shipping. |
258
- | `backend-performance` | 10 backend performance rules from nodebestpractices and system-design-primer. |
258
+ | `backend-performance` | 19 backend performance rules from nodebestpractices, system-design-primer, the PostgreSQL concurrency docs, and the OWASP Business Logic cheat sheet. |
259
259
  | `devops-basics` | 12 DevOps rules from nodebestpractices — Docker, graceful shutdown, health checks, logging. |
260
260
  | `motion-design` | Animation principles from GSAP (GreenSock) — easing, sequencing, stagger, performance. |
261
261
  | `frontend-performance` | Frontend performance rules from the Front-End Checklist — animations, resource hints, budgets, lazy loading. |
@@ -264,7 +264,7 @@ All 27 bundled skills (v1.14.0):
264
264
  | `audit-team` | Run an 8-agent parallel audit — 5 skill specialists plus 3 area agents — report-only, no edits. |
265
265
  | `ub-mode` | Uncle Bob mode — Clean Code discipline from Robert C. Martin: TDD first, CRAP < 10. |
266
266
  | `design-taste-frontend` | Anti-slop design taste from Leonxlnx/taste-skill — layout, palettes, type, heroes, copy ban lists. |
267
- | `ui-ux-pro-max` | Full UI/UX audit from nextlevelbuilder/ui-ux-pro-max-skill — 224 checkable guidelines across 10 categories. |
267
+ | `ui-ux-pro-max` | Full UI/UX audit from nextlevelbuilder/ui-ux-pro-max-skill — 222 checkable guidelines across 10 categories. |
268
268
  | `vengeance-ui` | Modern animated React components from VengeanceUI — 79 copy-paste components across 9 families. |
269
269
  | `brainstorming` | Find out what you actually want — and why — before anything gets built. Design doc first, approval first. |
270
270
  | `writing-plans` | Turn an approved spec into a bite-sized TDD implementation plan. |
@@ -273,6 +273,7 @@ All 27 bundled skills (v1.14.0):
273
273
  | `instruction_registers` | Name the user's target and action registers before building, pushing, or planning, and ask one clarifying question when they are ambiguous. |
274
274
  | `verify_provider_claims` | Check a provider's live documentation or the user's verified setup before asserting its current availability, free tier, pricing, endpoints, or retired status. |
275
275
  | `verify_publish_install_surface` | Verify a published version on each surface the user can see (commit/tag, registry, installed file) before claiming it is installed or live. |
276
+ | `playwright-cli` | Browser automation and real web-app testing for coding agents, from Microsoft's Playwright CLI — drive the app, turn the session into Playwright tests, attach screenshot evidence. |
276
277
 
277
278
  Enabled skills render below the rules in every instruction file — and sync also generates a **slash command** for each one (`.opencode/commands/<name>.md` and `.claude/commands/<name>.md`), so every enabled skill appears in the `/` menu of OpenCode and Claude, ready to invoke on a specific task: `/safe-editing`, `/no-hallucination`, and so on.
278
279
 
@@ -400,7 +401,7 @@ Requires Node.js 18+ (no dependencies). Run these inside your project — every
400
401
 
401
402
  | Command | What it does |
402
403
  |---|---|
403
- | `reviewer-harness skills list` | List all 27 bundled skills (+ which are enabled) |
404
+ | `reviewer-harness skills list` | List all 28 bundled skills (+ which are enabled) |
404
405
  | `reviewer-harness skills add <name>` | Install a skill into the project and enable it in the config |
405
406
  | `reviewer-harness skills remove <name>` | Disable a skill and remove it |
406
407
  | `reviewer-harness agents list` | List the bundled sub-agents |
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": {
4
4
  "reviewer-harness": "./bin/cli.js"
5
5
  },
6
- "description": "Your own AI harness \u2014 one master config that syncs guardrail rules, skills, and a local memory to Claude, OpenCode, Gemini, Cline, Freebuff, Copilot CLI, and Antigravity. No API key, no dependencies.",
6
+ "description": "Your own AI harness \u2014 one master config that syncs guardrail rules, skills, and a local memory to Claude, OpenCode, Gemini, Cline, Freebuff, Copilot CLI, Antigravity, and Qoder. No API key, no dependencies.",
7
7
  "engines": {
8
8
  "node": ">=18"
9
9
  },
@@ -31,7 +31,7 @@
31
31
  "test": "node --test tests/*.test.js"
32
32
  },
33
33
  "type": "module",
34
- "version": "1.15.0",
34
+ "version": "1.16.0",
35
35
  "files": [
36
36
  "bin",
37
37
  "lib",
@@ -45,6 +45,7 @@ Apply these 14 rules to every endpoint. If a rule doesn't apply, say why.
45
45
  - [ ] Every query is parameterized (no string concatenation into SQL)
46
46
 
47
47
  ### Learn more (official sources)
48
+ - Rules 1–12 originate from the "12 API Security Rules" reel by Code Crack — the reel is their origin; their detailed wording in this file is general practice. Rules 13–14 cite their OWASP sources inline.
48
49
  - OWASP API Security Top 10: https://owasp.org/API-Security/
49
50
  - OWASP Cheat Sheet Series (API Security): https://cheatsheetseries.owasp.org/
50
51
  - OWASP Web Security Testing Guide: https://github.com/OWASP/wstg
@@ -21,8 +21,8 @@ Spawn all eight at once. The first five are skill specialists (one skill each, d
21
21
  | 4 | **backend-performance** | backend-performance | Queries, N+1, missing indexes, re-renders, Edge Function cost |
22
22
  | 5 | **system-design** | system-design | Status transitions, trust boundaries, scale (pilot city → bigger) |
23
23
  | 6 | **backend** (area) | safe-editing, debug-first, owasp-top10, nodejs-quality, rea | Code correctness and quality: surgical edits, error handling, OWASP Top 10, Node quality rules, tracing unfamiliar flows |
24
- | 7 | **frontend** (area) | motion-design, frontend-performance | Real animations (not static visuals), render performance, visual quality |
25
- | 8 | **devops** (area) | — (pipeline proof; the CI guidance in devops-basics "Also apply") | The live shipping path: CI green on this exact commit, tests (pass count AND exit code AND the "Errors" line), build, lint, typecheck, migrations idempotent + re-runnable, deploy config, no secrets in the repo |
24
+ | 7 | **frontend** (area) | motion-design, frontend-performance, playwright-cli | Real animations (not static visuals), render performance, visual quality, runtime behavior in a real browser |
25
+ | 8 | **devops** (area) | devops-basics (the CI guidance in its "Also apply" section) | The live shipping path: CI green on this exact commit, tests (pass count AND exit code AND the "Errors" line), build, lint, typecheck, migrations idempotent + re-runnable, deploy config, no secrets in the repo |
26
26
 
27
27
  **Every agent also applies no-hallucination** — every finding cites a real file and line, and every claim about what runs or passes is backed by evidence the agent actually saw.
28
28
 
@@ -70,9 +70,9 @@ Spawn all eight at once. The first five are skill specialists (one skill each, d
70
70
 
71
71
  **6 — backend area agent brief:** "Audit the backend of <repo> at <commit> as a whole. Read these skills first and apply them genuinely, not as labels: safe-editing, debug-first, owasp-top10, nodejs-quality, rea. Check: code correctness and quality (surgical edits, readable at a glance, separated files, no spaghetti, no hardcoded values, nothing unnecessary); error handling (no swallowed errors, no silent failures); OWASP Top 10 coverage; Node quality rules; trace unfamiliar flows end-to-end before judging them. Report-only — do not edit anything. Every finding: severity (Blocker/Warning/Suggestion), file:line, evidence, and what breaks in real use."
72
72
 
73
- **7 — frontend area agent brief:** "Audit the frontend of <repo> at <commit> as a whole. Read these skills first and apply them genuinely, not as labels: motion-design, frontend-performance. Check: animations are real motion, not static visuals; render performance (no infinite fetch loops, no jank from layout-triggering animations — transform/opacity only); visual quality (no generic purple-blue gradients, no floating orbs, no identical glass cards); contrast (WCAG AA on text over gradients). Report-only — do not edit anything. Every finding: severity (Blocker/Warning/Suggestion), file:line, evidence, and what breaks in real use."
73
+ **7 — frontend area agent brief:** "Audit the frontend of <repo> at <commit> as a whole. Read these skills first and apply them genuinely, not as labels: motion-design, frontend-performance, playwright-cli. Check: animations are real motion, not static visuals; render performance (no infinite fetch loops, no jank from layout-triggering animations — transform/opacity only); visual quality (no generic purple-blue gradients, no floating orbs, no identical glass cards); contrast (WCAG AA on text over gradients). When the target is a web app that can be run (dev server or deployed URL), also drive its key flows with playwright-cli — open, snapshot, walk the primary journeys — and report runtime failures (console errors, dead buttons, broken states) as findings with screenshot or snapshot evidence; if it cannot be run, say so and label the findings code-only. Report-only — do not edit anything. Every finding: severity (Blocker/Warning/Suggestion), file:line, evidence, and what breaks in real use."
74
74
 
75
- **8 — devops area agent brief:** "Audit the live shipping path of <repo> at <commit>. Check: CI is green on this exact commit (read the Actions/runs page, not the workflow file — a workflow file is not proof); tests really pass (pass count AND exit code AND the 'Errors' line); build, lint, and typecheck clean; migrations are idempotent and re-runnable (every CREATE has DROP IF EXISTS / IF NOT EXISTS / CREATE OR REPLACE); deploy config matches the live target; no secrets in the repo. Report-only — do not edit anything. Every finding: severity (Blocker/Warning/Suggestion), file:line or run URL, evidence, and what breaks in real use."
75
+ **8 — devops area agent brief:** "Audit the live shipping path of <repo> at <commit>. Read this skill first and apply it genuinely, not as a label: devops-basics — in particular the CI guidance in its 'Also apply' section. Check: CI is green on this exact commit (read the Actions/runs page, not the workflow file — a workflow file is not proof); tests really pass (pass count AND exit code AND the 'Errors' line); build, lint, and typecheck clean; migrations are idempotent and re-runnable (every CREATE has DROP IF EXISTS / IF NOT EXISTS / CREATE OR REPLACE); deploy config matches the live target; no secrets in the repo. Report-only — do not edit anything. Every finding: severity (Blocker/Warning/Suggestion), file:line or run URL, evidence, and what breaks in real use."
76
76
 
77
77
  ### Quick check before reporting
78
78
  - [ ] Target commit verified against the remote (agents read the right code)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: backend-performance
3
- description: 10 backend performance rules distilled from nodebestpractices (105k stars) and system-design-primer — event loop, caching, idempotency, backpressure, and the latency numbers that tell you what's actually slow.
3
+ description: 19 backend performance rules distilled from nodebestpractices (105k stars), system-design-primer, the PostgreSQL concurrency docs, and the OWASP Business Logic cheat sheet — event loop, caching, idempotency, backpressure, race conditions, and the latency numbers that tell you what's actually slow.
4
4
  ---
5
5
 
6
6
  ## Skill: backend-performance
@@ -43,6 +43,34 @@ Every rule below is distilled from a reputable open-source repo (cited per rule)
43
43
  10. **Watch the four golden signals.** Error rate (users feel it immediately), latency (directly affects business), throughput (gives context to the other two), and saturation (90% CPU = no headroom). Node-specific: keep process RAM under ~1.4GB, track errors per minute and restarts.
44
44
  *Source: goldbergyoni/nodebestpractices — `sections/production/monitoring.md`*
45
45
 
46
+ ### Survive concurrent requests
47
+ 11. **Treat every check-then-act as a race.** Any operation that reads a value, decides, then writes — check balance then debit, check the coupon is unused then redeem it, check the slot is free then book it — lets two concurrent requests both read the old value, both pass the check, and both write. Loyalty points get drained, balances go negative, single-use coupons get redeemed many times. If two requests can race, assume they will; the check and the act must be one atomic operation. (Idempotency keys, rule 5, cover retries — this rule covers simultaneous first attempts.)
48
+ *Source: OWASP Cheat Sheet Series — `Business_Logic_Security_Cheat_Sheet.md`, "Prevent Race Conditions on Sensitive Operations"*
49
+
50
+ 12. **Lock the row when you read-then-write it.** In PostgreSQL, `SELECT ... FOR UPDATE` inside a transaction locks the row until commit — other writers and lockers wait, then see the updated row. Use `FOR NO KEY UPDATE` when you don't change key columns (weaker, blocks less). A plain `SELECT` takes no such lock: under MVCC it reads a snapshot and stops nobody.
51
+ *Source: PostgreSQL documentation — Chapter 13 "Concurrency Control", §13.3.2 "Row-Level Locks"*
52
+
53
+ 13. **Prefer a conditional update over read-modify-write.** `UPDATE ... SET stock = stock - 1 WHERE stock > 0` makes the predicate part of the write itself — there is no window between check and act. Check the affected-row count: 0 rows means the condition no longer held at write time, so return the conflict error instead of writing.
54
+ *Source: OWASP Cheat Sheet Series — `Business_Logic_Security_Cheat_Sheet.md`, pattern reference (conditional decrement)*
55
+
56
+ 14. **Back "exactly once" with a unique constraint.** One claim per donation, one redemption per coupon, one bonus per user: put a UNIQUE constraint on the natural key (e.g. `(user_id, bonus_type)`) and let the database reject the loser of the race. Application-level checks alone always leave a window — the constraint is the last line of defense.
57
+ *Source: OWASP Cheat Sheet Series — `Business_Logic_Security_Cheat_Sheet.md`, pattern reference (one-per-user bonus)*
58
+
59
+ 15. **Know your isolation level — the default is weaker than you think.** PostgreSQL defaults to Read Committed: every statement sees a fresh snapshot, so invariants that span rows or statements can break under concurrency even though each statement looks correct. Repeatable Read gives one stable snapshot per transaction; Serializable additionally detects dangerous read/write patterns and aborts one side. Choose per invariant, not by habit.
60
+ *Source: PostgreSQL documentation — Chapter 13 "Concurrency Control", §13.2 "Transaction Isolation"*
61
+
62
+ 16. **Retry serialization failures and deadlocks — they are normal outcomes, not bugs.** Repeatable Read and Serializable transactions can abort with SQLSTATE 40001 ("could not serialize access…"), and PostgreSQL automatically detects deadlocks and aborts one transaction to let the others finish. Wrap the whole transaction in a bounded retry loop; never surface a 40001 or a deadlock abort to the user as a 500.
63
+ *Source: PostgreSQL documentation — Chapter 13, §13.2.2–13.2.3 (SQLSTATE 40001) and §13.3.4 "Deadlocks"*
64
+
65
+ 17. **Lock rows in a consistent order to prevent deadlocks.** When every transaction that touches multiple rows or tables locks them in the same order, circular waits mostly disappear. PostgreSQL detects the deadlocks that remain and aborts one side — which is why rule 16's retry loop must exist wherever explicit locking is used.
66
+ *Source: PostgreSQL documentation — Chapter 13, §13.3.4 "Deadlocks"*
67
+
68
+ 18. **Use advisory locks when the resource isn't a row.** `pg_advisory_xact_lock` gives an application-defined lock for resources MVCC doesn't model — a job name, an external system, a whole workflow — and releases it automatically at transaction end. Advisory locks are cooperative: every code path that touches the resource must take the same lock, or it protects nothing.
69
+ *Source: PostgreSQL documentation — Chapter 13, §13.3.5 "Advisory Locks"*
70
+
71
+ 19. **Write a test that races.** If two requests can race, a sequential test suite will never see the bug. Fire the same request concurrently (parallel calls against the real database) and assert the end state: the balance never goes negative, the coupon is redeemed exactly once, exactly one claim wins. The test documents the invariant as much as it verifies it.
72
+ *Source: OWASP Cheat Sheet Series — `Business_Logic_Security_Cheat_Sheet.md`, "Test Concurrency"*
73
+
46
74
  ### Also apply (general practice, beyond these repos)
47
75
  - **Kill N+1 queries** — never query inside a loop; fetch related data with JOIN or `IN (...)`.
48
76
  - **Index hot columns** — foreign keys, `WHERE` and `ORDER BY` columns; verify with `EXPLAIN`.
@@ -54,6 +82,8 @@ Every rule below is distilled from a reputable open-source repo (cited per rule)
54
82
  - [ ] No Lodash where a native method does the job
55
83
  - [ ] Repeated reads are cached with a TTL and an invalidation plan
56
84
  - [ ] Write endpoints are idempotent or carry idempotency keys
85
+ - [ ] Check-then-act operations are atomic — row lock, conditional update, or unique constraint, never a bare read-then-write
86
+ - [ ] Serialization failures (40001) and deadlocks are retried with a bounded loop, not surfaced as 500s
57
87
  - [ ] Retries use backoff; queues have caps with 503 on overflow
58
88
  - [ ] Connections come from a sized pool, released on every path
59
89
  - [ ] Slowest path measured against the latency scale — biggest number attacked first
@@ -64,3 +94,5 @@ Every rule below is distilled from a reputable open-source repo (cited per rule)
64
94
  - System design primer: https://github.com/donnemartin/system-design-primer
65
95
  - Don't block the event loop (Node.js docs): https://nodejs.org/en/docs/guides/dont-block-the-event-loop/
66
96
  - Latency numbers: https://github.com/donnemartin/system-design-primer#latency-numbers-every-programmer-should-know
97
+ - PostgreSQL concurrency control (official docs, Ch. 13): https://www.postgresql.org/docs/current/mvcc.html
98
+ - OWASP Business Logic Security Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Business_Logic_Security_Cheat_Sheet.html
package/skills/clone.md CHANGED
@@ -15,3 +15,4 @@ When to use: the user asks to clone a website or design, and gives a URL or refe
15
15
  - Front-end only: a clone reproduces the look, never the backend — no login, database, or dynamic data.
16
16
  - If the target is the user's own site, their own assets may be reused.
17
17
  - Afterwards, validate: compare screenshots side by side, check responsive breakpoints, audit every recorded measurement against the rebuild (sizes, spacing, fonts, colors), and audit that no third-party image, text, or brand remains. Report what was cloned, what was replaced, and any measurement that could not be verified.
18
+ - If no browser or screenshot tooling is available in this environment, degrade honestly: run every check that does not need a rendered comparison (the measurement audit against the fetched styles and markup, the breakpoint check, the replaced-content audit) and state plainly in the report that the visual side-by-side was skipped — never imply it was done, and never report a visual match you did not actually see.
@@ -6,6 +6,7 @@ description: Anti-slop design taste distilled from Leonxlnx/taste-skill (v2.5.1)
6
6
  ## Skill: design-taste-frontend
7
7
 
8
8
  Distilled from [Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill) (`tasteskill 2.5.1`, HEAD `f6b7657`) — SKILL.md + references/layout-v4.md, copy.md, copy-tells.md, system.md, motion.md, library/palettes.json, library/type.json. Every rule below cites its source file. Anything the source does not cover is labeled "general practice".
9
+ The two library files are vendored verbatim in this repo at `skills/library/palettes.json` (64 palettes) and `skills/library/type.json` (39 pairings), so the `library/…` paths in rules 32–33 resolve from this file's directory. Upstream is MIT — the license is vendored at `skills/library/LICENSE` (Copyright (c) 2026 Leonxlnx).
9
10
 
10
11
  When to use: build, design, redesign, restyle, polish, or review a landing page, company site, product page, shop, cafe, hotel, studio, SaaS, AI, devtool, or game site — or when a page looks generic, templated, or "AI-made".
11
12
 
@@ -107,6 +108,8 @@ When to use: build, design, redesign, restyle, polish, or review a landing page,
107
108
  59. **Tap targets:** every link/control outside running text ≥44px tall; a FAIL when another target is under 8px away. Nothing past the screen at 320.
108
109
 
109
110
  ### Edsiel's rules (local — not from the source)
111
+ - **No green by default (2026-11-07):** never default to green or jade accents — Edsiel finds them ugly. The accent comes from the client or product (rule 27); a dealt palette that lands green-dominant with no client basis is dealt again. (A client's own green brand colour is his call, not a default.)
112
+ - **No grid or dot-pattern backgrounds (2026-11-07):** grounds are flat colour, photographs, or the dealt effects where rule 3 allows them — never a grid or dot texture behind content.
110
113
  - Frontend team = `design-taste-frontend` + `ui-ux-pro-max` (+ `ux-edge-states`, `ub-mode`).
111
114
  - Installed on Edsiel's PC via `npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"`; location `~/.claude/skills/design-taste-frontend` (needed manual copy from `~/.agents/skills/`).
112
115
  - Paired with ui-ux-pro-max for the anti-slop check in DevPilotAI UI audits (since 2026-10-31).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fix-team
3
- description: Run an 11-agent fix — 8 domain fixers (same skills as audit-team) plus ub-mode, superpowers, and a verification agent — over an audit report's findings, each applying the relevant skills, fix-only, no new features. The fix plan is written first and approved by the user; the verification agent runs last. Merged verification with the coordinator; the user picks what to fix.
3
+ description: Run an 11-agent fix — 8 domain fixers (audit-team's eight areas; the backend fixer also applies ub-mode, and the frontend fixer also applies design-taste-frontend, ui-ux-pro-max, and vengeance-ui) plus ub-mode, superpowers, and a verification agent — over an audit report's findings, each applying the relevant skills, fix-only, no new features. The fix plan is written first and approved by the user; the verification agent runs last. Merged verification with the coordinator; the user picks what to fix.
4
4
  ---
5
5
 
6
6
  ## Skill: Fix Team (fix-team)
@@ -22,10 +22,10 @@ The superpowers agent runs FIRST (it writes the fix plan). The nine fixers run i
22
22
  | 5 | **system-design** | system-design | Status transitions, trust boundaries, races, idempotency |
23
23
  | 6 | **backend** (area) | safe-editing, debug-first, owasp-top10, nodejs-quality, rea, ub-mode | Code correctness and quality across the whole backend |
24
24
  | 7 | **frontend** (area) | motion-design, frontend-performance, design-taste-frontend, ui-ux-pro-max, vengeance-ui | Real animations, render performance, visual quality, anti-slop |
25
- | 8 | **devops** (area) | — (pipeline proof; the CI guidance in devops-basics "Also apply") | The live shipping path: tests, build, lint, typecheck, migrations, deploy config |
25
+ | 8 | **devops** (area) | devops-basics (the CI guidance in its "Also apply" section) | The live shipping path: tests, build, lint, typecheck, migrations, deploy config |
26
26
  | 9 | **ub-mode** | ub-mode | Clean Code organization across the whole fix: TDD first, smallest edit, CRAP < 10, duplication ≥ 0.8 out, small ordered commits + log |
27
27
  | 10 | **superpowers** | writing-plans, brainstorming | The fix plan first (file map, rollback anchor, bite-sized TDD tasks, each ending in a commit) + the hard gate (no fix until the user approves the plan) |
28
- | 11 | **verification** | verify_before_done, instruction_registers, verify_provider_claims, verify_publish_install_surface | The fixer at the last: re-checks every fix (defined AND called, remote evidence, publish/install surfaces) and fixes what verification catches |
28
+ | 11 | **verification** | verify_before_done, instruction_registers, verify_provider_claims, verify_publish_install_surface, playwright-cli | The fixer at the last: re-checks every fix (defined AND called, remote evidence, publish/install surfaces) and fixes what verification catches. For fixes touching a runnable web UI, it also drives the real app with playwright-cli — a UI fix is not verified by reading code alone |
29
29
 
30
30
  **Every agent also applies safe-editing, debug-first, no-hallucination, instruction_registers** — surgical edits only; root-cause first; every fix cites the finding's file:line + evidence; the target and action registers are named before building, and exactly one clarifying question is asked when they are ambiguous.
31
31
 
@@ -53,8 +53,8 @@ The superpowers agent runs FIRST (it writes the fix plan). The nine fixers run i
53
53
  6. **Every fix needs evidence.** The finding's file:line + the test/build output that proves the fix. A fix without a passing test (or a stated reason an honest test is impractical) is not a fix — it is a claim. A definition with no call site is an untested change, not a fix. A pass on mocked data proves the code logic only, never the live behavior.
54
54
  *Source: no-hallucination + verify_before_done (defined AND called, re-run every affected suite, mock passes are logic-only).*
55
55
 
56
- 7. **Verification runs last and fixes what it catches.** The verification agent re-checks every fix against the finding, names the target and action registers before touching anything, checks provider claims and publish/install surfaces where the fix touches them, and fixes whatever the verification catches — then re-verifies its own fix. A fix that does not survive verification is not reported as done. Never present a guess as done — label untested work as untested and name what remains.
57
- *Source: verify_before_done (remote evidence, never present a guess as done), verify_provider_claims (check the live source first), verify_publish_install_surface (check each surface in order; never say live from a push alone), instruction_registers (name the registers; ask once when unsure).*
56
+ 7. **Verification runs last and fixes what it catches.** The verification agent re-checks every fix against the finding, names the target and action registers before touching anything, checks provider claims and publish/install surfaces where the fix touches them, and fixes whatever the verification catches — then re-verifies its own fix. A fix that does not survive verification is not reported as done. Never present a guess as done — label untested work as untested and name what remains. Where a fix touches a web UI and the app can be run (dev server or deployed URL), verification must exercise the changed flow in a real browser via playwright-cli and attach the evidence (screenshot, snapshot, or a generated Playwright spec that passes) — code-reading alone does not verify a UI fix; if the app cannot be run, say so and label the UI fix unverified-at-runtime.
57
+ *Source: verify_before_done (remote evidence, never present a guess as done), verify_provider_claims (check the live source first), verify_publish_install_surface (check each surface in order; never say live from a push alone), instruction_registers (name the registers; ask once when unsure); playwright-cli runtime evidence — adoption test 2026-11-12 (TodoMVC: CLI session → generated spec → `npx playwright test` 1 passed).*
58
58
 
59
59
  8. **The coordinator merges, dedupes, and verifies centrally — then stops.** One merged report: counts by severity, fixes grouped by agent, regressions called out first. The coordinator re-runs the gates itself (tests, build, lint, typecheck, PGlite/Deno where they apply) — a pass count is not proof, check the exit code and the "Errors" line too. Then it prepares the push manifest (NUL-delimited, trailing NUL, count verified). It never pushes — the push is a separate decision by the user.
60
60
  *Source: Pantry fix rounds — central re-verification caught the capitalised-tag mismatch in round 6; push approvals are one-time per file.*
@@ -81,13 +81,13 @@ The superpowers agent runs FIRST (it writes the fix plan). The nine fixers run i
81
81
 
82
82
  **7 — frontend area fixer brief:** "Fix the frontend findings in <audit report> on <repo> at <commit> as a whole. Read these skills first and apply them genuinely, not as labels: motion-design, frontend-performance, design-taste-frontend, ui-ux-pro-max, vengeance-ui. Fix: animations are real motion, not static visuals; render performance; visual quality (no generic purple-blue gradients, no floating orbs, no identical glass cards); contrast (WCAG AA on text over gradients). Fix-only — fix what the audit found, nothing more. TDD first: failing test, smallest fix, tests pass. Every fix: finding file:line, what you changed, and the test/build output proving it."
83
83
 
84
- **8 — devops area fixer brief:** "Fix the shipping-path findings in <audit report> on <repo> at <commit>. Fix: CI green on this exact commit, tests really passing (pass count AND exit code AND the 'Errors' line), build, lint, and typecheck clean, migrations idempotent and re-runnable, deploy config matching the live target, no secrets in the repo. Fix-only — fix what the audit found, nothing more. Every fix: finding file:line or run URL, what you changed, and the command output proving it."
84
+ **8 — devops area fixer brief:** "Fix the shipping-path findings in <audit report> on <repo> at <commit>. Read this skill first and apply it genuinely, not as a label: devops-basics — in particular the CI guidance in its 'Also apply' section. Fix: CI green on this exact commit, tests really passing (pass count AND exit code AND the 'Errors' line), build, lint, and typecheck clean, migrations idempotent and re-runnable, deploy config matching the live target, no secrets in the repo. Fix-only — fix what the audit found, nothing more. Every fix: finding file:line or run URL, what you changed, and the command output proving it."
85
85
 
86
86
  **9 — ub-mode fixer brief:** "Make the fixes in <fix run> on <repo> at <commit> clean and organized. Read this skill first and apply it genuinely, not as a label: ub-mode. Enforce across the whole fix: TDD first (failing test before the change); smallest edit that solves the problem (one decision lives in one place); sequence the work into verifiable units (finish one small unit and check it, then start the next); fix root causes, not symptoms; every function under CRAP 10; duplication ≥ 0.8 eliminated; small ordered commits, each saying why, what changed, and how it was proved; a log of every action and the reason. Where the crapper/dryer/mutator tools are not installed, apply the same thresholds by manual review and say so. Fix-only — organize what the audit found, nothing more. Every fix: finding file:line, what you changed, and the test/build output proving it."
87
87
 
88
88
  **10 — superpowers fixer brief:** "Write the fix plan for <audit report> on <repo> at <commit>, and hold the gate. Read these skills first and apply them genuinely, not as labels: writing-plans, brainstorming. Map the files first (which files are created or modified, what each is responsible for); write the plan with the header (Goal, Architecture, Tech Stack, Spec, Rollback anchor: last-known-good SHA), Global Constraints, and Review Focus; bite-sized TDD tasks, each ending in a testable deliverable and a commit, steps in checkbox syntax. Nothing is fixed until the user approves this plan — the hard gate. If the spec covers multiple independent subsystems, split them into separate plans. Self-review the plan against the audit report (spec coverage, step scan, type consistency, Review Focus, proportion) and fix it inline."
89
89
 
90
- **11 — verification fixer brief:** "Verify the fixes in <fix run> on <repo> at <commit>, and fix what verification catches. Read these skills first and apply them genuinely, not as labels: verify_before_done, instruction_registers, verify_provider_claims, verify_publish_install_surface. Re-check every fix: is the changed code defined AND called (or imported and used)? Re-run every affected suite after every change — do not reuse a passing result from before the change. Treat a mock pass as logic-only evidence. Get remote evidence (a pushed SHA exists on origin) before calling anything pushed. Name the target register (the agent's own workspace vs the reviewer-harness repo) and the action register (plan vs build) before touching anything; ask exactly one clarifying question when they are ambiguous. Where a fix touches a provider claim, check the live source first and quote it; where it touches a published version, check each surface in order (commit/tag, registry, installed file) and name the version on each. Fix what verification catches, then re-verify your own fix. Never present a guess as done — label untested work as untested and name what remains. Every result: fix file:line, what you checked, the evidence, and what you fixed if anything."
90
+ **11 — verification fixer brief:** "Verify the fixes in <fix run> on <repo> at <commit>, and fix what verification catches. Read these skills first and apply them genuinely, not as labels: verify_before_done, instruction_registers, verify_provider_claims, verify_publish_install_surface, playwright-cli. Re-check every fix: is the changed code defined AND called (or imported and used)? Re-run every affected suite after every change — do not reuse a passing result from before the change. Treat a mock pass as logic-only evidence. Get remote evidence (a pushed SHA exists on origin) before calling anything pushed. Name the target register (the agent's own workspace vs the reviewer-harness repo) and the action register (plan vs build) before touching anything; ask exactly one clarifying question when they are ambiguous. Where a fix touches a provider claim, check the live source first and quote it; where it touches a published version, check each surface in order (commit/tag, registry, installed file) and name the version on each. Where a fix touches a web UI and the app can be run (dev server or deployed URL), drive the changed flow with playwright-cli: snapshot, perform the flow, screenshot the result, and where practical leave a passing Playwright spec as the evidence; if the app cannot be run, state that and label the UI fix unverified-at-runtime. Fix what verification catches, then re-verify your own fix. Never present a guess as done — label untested work as untested and name what remains. Every result: fix file:line, what you checked, the evidence, and what you fixed if anything."
91
91
 
92
92
  ### Quick check before reporting
93
93
  - [ ] Target commit + audit report verified (agents fixed the right code, from real findings)
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Leonxlnx
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.