@appsforgood/next-supabase-kit 0.4.3 → 0.4.4

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/USER_GUIDE.html +53 -11
  3. package/USER_GUIDE.md +36 -10
  4. package/agents/design/agent.md +14 -6
  5. package/agents/qa/agent.md +3 -1
  6. package/dist/index.js +4 -4
  7. package/dist/index.js.map +1 -1
  8. package/examples/next-supabase-installed/.agent-kit/manifest.json +36 -36
  9. package/examples/next-supabase-installed/.antigravity/agent-kit/commands/browser-qa.toml +1 -1
  10. package/examples/next-supabase-installed/.antigravity/agent-kit/commands/frontend.toml +1 -1
  11. package/examples/next-supabase-installed/.antigravity/agent-kit/commands/test.toml +1 -1
  12. package/examples/next-supabase-installed/.antigravity/runtime-skills/accessibility-wcag/SKILL.md +66 -9
  13. package/examples/next-supabase-installed/.antigravity/runtime-skills/browser-qa/SKILL.md +1 -0
  14. package/examples/next-supabase-installed/.antigravity/runtime-skills/frontend-design/SKILL.md +146 -14
  15. package/examples/next-supabase-installed/.antigravity/runtime-skills/planning/SKILL.md +6 -5
  16. package/examples/next-supabase-installed/.antigravity/runtime-skills/testing-qa/SKILL.md +52 -13
  17. package/examples/next-supabase-installed/.claude/agents/design.md +14 -6
  18. package/examples/next-supabase-installed/.claude/agents/qa.md +3 -1
  19. package/examples/next-supabase-installed/.codex/agents/design.toml +15 -7
  20. package/examples/next-supabase-installed/.codex/agents/qa.toml +3 -1
  21. package/examples/next-supabase-installed/.cursor/agents/design.md +14 -6
  22. package/examples/next-supabase-installed/.cursor/agents/qa.md +3 -1
  23. package/examples/next-supabase-installed/.cursor/skills/accessibility-wcag/SKILL.md +66 -9
  24. package/examples/next-supabase-installed/.cursor/skills/browser-qa/SKILL.md +1 -0
  25. package/examples/next-supabase-installed/.cursor/skills/frontend-design/SKILL.md +146 -14
  26. package/examples/next-supabase-installed/.cursor/skills/planning/SKILL.md +6 -5
  27. package/examples/next-supabase-installed/.cursor/skills/testing-qa/SKILL.md +52 -13
  28. package/examples/next-supabase-installed/AGENTS.md +2 -1
  29. package/examples/next-supabase-installed/USER_GUIDE.html +53 -11
  30. package/examples/next-supabase-installed/USER_GUIDE.md +36 -10
  31. package/examples/next-supabase-installed/skills/accessibility-wcag/SKILL.md +66 -9
  32. package/examples/next-supabase-installed/skills/browser-qa/SKILL.md +1 -0
  33. package/examples/next-supabase-installed/skills/frontend-design/SKILL.md +146 -14
  34. package/examples/next-supabase-installed/skills/planning/SKILL.md +6 -5
  35. package/examples/next-supabase-installed/skills/testing-qa/SKILL.md +52 -13
  36. package/examples/next-supabase-installed/tree.txt +12 -0
  37. package/package.json +1 -1
  38. package/research/agent-skill-gap-report.md +4 -0
  39. package/skills/accessibility-wcag/SKILL.md +66 -9
  40. package/skills/browser-qa/SKILL.md +1 -0
  41. package/skills/frontend-design/SKILL.md +146 -14
  42. package/skills/optional/ui-polish/SKILL.md +2 -2
  43. package/skills/planning/SKILL.md +6 -5
  44. package/skills/testing-qa/SKILL.md +52 -13
  45. package/templates/next-supabase/AGENTS.md +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.4
4
+
5
+ - Uplift `frontend-design` and the Design agent from a 2026-09-12 GitHub scan (structure only): name `build` / `review` / `detect`, pick a surface profile, read `DESIGN.md` tokens, tag findings as code-certain or inferred. Do not install a design MCP or canvas CLI. Kit charcoal tokens stay off downstream apps.
6
+ - Add Design `setup` for new repos: scan, then ask what the user needs (who it is for, what they must get done, what this pass should produce). Recommend from the answers, then write style-guide and principles files they asked for. `init` still does not install `DESIGN.md`. Setup may skip screenshots when nothing can render; Design keeps `requiredTools`.
7
+ - Rewrite `ROADMAP.md` Phase 10 as the working queue: playbook parity for `accessibility-wcag` / `testing-qa` / `ship`, optional-skill uplifts, paste-ready handoff. Default `init` stays a relay, not an orchestrator.
8
+ - Uplift `accessibility-wcag` to the playbook bar: WCAG 2.1 AA mapped onto App Router forms and dialogs, keyboard-only pass in the running UI, Reject “contrast looks fine in the screenshot.” Planner, QA, and Design name the skill. Structure from a 2026-09-12 scan; no third-party skill bodies, no required axe.
9
+ - Uplift `testing-qa` to the playbook bar: unit / regression / smoke, list commands actually run, Reject `toBeVisible` as visual proof, RLS tests fail when another user can read the row. Does not replace `browser-qa` or `supabase-auth-rls`.
10
+
3
11
  ## 0.4.3
4
12
 
5
13
  - `doctor` fails if a default agent drops packaged `requiredTools` (QA/Design can no longer drop screenshot tools and still pass).
package/USER_GUIDE.html CHANGED
@@ -509,6 +509,14 @@
509
509
  <button class="copy" type="button" data-copy-from="plan-prompt">Copy Planner prompt</button>
510
510
  </div>
511
511
  </article>
512
+ <article class="ticket">
513
+ <header><span>New repo — paste this to Design so it asks what you need</span></header>
514
+ <pre id="design-setup-prompt">
515
+ Act as design. This is a new repo. Scan what is already here, then ask me what we need to set up: who it is for, what they must get done, and what you should produce. Recommend from my answers. Write the style guide and principles with me before any CSS.</pre>
516
+ <div class="copy-row">
517
+ <button class="copy" type="button" data-copy-from="design-setup-prompt">Copy Design setup prompt</button>
518
+ </div>
519
+ </article>
512
520
  </div>
513
521
  <p>
514
522
  You should get a named owner (<code>app-engineer</code>, <code>security</code>, <code>design</code>, <code>qa</code>, or <code>copy</code>) and, if
@@ -544,6 +552,10 @@
544
552
  <td>It looks wrong</td>
545
553
  <td>Design</td>
546
554
  </tr>
555
+ <tr>
556
+ <td>Style guide / first UI / no DESIGN.md</td>
557
+ <td>Design (<code>setup</code>)</td>
558
+ </tr>
547
559
  <tr>
548
560
  <td>Is this done?</td>
549
561
  <td>QA</td>
@@ -586,11 +598,11 @@
586
598
  </tr>
587
599
  <tr>
588
600
  <td><code>frontend-design</code></td>
589
- <td>Layout, simple palette, anti-generic UI</td>
601
+ <td>Setup, build, review, or detect UI. Tokens first. Anti-generic</td>
590
602
  </tr>
591
603
  <tr>
592
604
  <td><code>accessibility-wcag</code></td>
593
- <td>Keyboard, contrast, labels</td>
605
+ <td>Keyboard pass in the running browser. Contrast, labels. Not a screenshot guess</td>
594
606
  </tr>
595
607
  <tr>
596
608
  <td><code>browser-qa</code></td>
@@ -598,7 +610,7 @@
598
610
  </tr>
599
611
  <tr>
600
612
  <td><code>testing-qa</code></td>
601
- <td>Unit / regression / smoke only</td>
613
+ <td>Unit / regression / smoke. List commands run. Not screenshots</td>
602
614
  </tr>
603
615
  <tr>
604
616
  <td><code>product-copy</code></td>
@@ -615,8 +627,9 @@
615
627
  </tbody>
616
628
  </table>
617
629
  <p>
618
- QA of a screen always uses <code>browser-qa</code>, not <code>testing-qa</code> alone. Each agent file names the skills it must run, then points at
619
- <code>catalog.json</code> for the rest.
630
+ QA of a screen always uses <code>browser-qa</code>, not <code>testing-qa</code> alone. User-facing screens also run
631
+ <code>accessibility-wcag</code> (keyboard in the browser, not a contrast guess from the screenshot). Each agent file names the skills it must run,
632
+ then points at <code>catalog.json</code> for the rest.
620
633
  </p>
621
634
  </section>
622
635
 
@@ -680,17 +693,45 @@ Act as the QA agent. Use the browser-qa skill. Do not review code alone. Open th
680
693
  <li>Planner — paste the prompt on ticket 03.</li>
681
694
  <li>App engineer — <code>Implement the plan. Smoke the changed route in the browser before you hand off.</code></li>
682
695
  <li>Security if data, auth, or secrets changed.</li>
683
- <li>Design if the UI changed — <code>Review the running UI from screenshots first. Desktop and mobile. Reject generic AI-looking layout.</code></li>
684
- <li>QA paste the good prompt below.</li>
696
+ <li>
697
+ Design if the UI changed
698
+ <code
699
+ >Act as design. Name the mode (setup, build, review, or detect). Review the running UI from screenshots first. Desktop and mobile. Reject generic
700
+ AI-looking layout.</code
701
+ >
702
+ If <code>DESIGN.md</code> is missing, run setup first.
703
+ </li>
704
+ <li>QA — paste the good prompt below. For screens, also run <code>accessibility-wcag</code>.</li>
685
705
  </ol>
686
- <p>Done when QA attaches both frames plus a verdict.</p>
706
+ <p>Done when QA attaches both frames plus a verdict, and the changed flow passed a keyboard-only check.</p>
687
707
  <h3>Auth / RLS</h3>
688
708
  <p>
689
709
  Planner → App engineer → Security → QA. QA must open login, logout, and denied in the browser. Screenshots still required when the finding is
690
710
  user-visible.
691
711
  </p>
712
+ <h3>New repo design setup</h3>
713
+ <p>After <code>init</code>, before the first product CSS, paste to Design:</p>
714
+ <pre id="design-setup-flow">
715
+ Act as design. This is a new repo. Scan what is already here, then ask me what we need to set up: who it is for, what they must get done, and what you should produce. Recommend from my answers. Write the style guide and principles with me before any CSS.</pre>
716
+ <div class="copy-row">
717
+ <button class="copy" type="button" data-copy-from="design-setup-flow">Copy Design setup prompt</button>
718
+ </div>
719
+ <p>
720
+ Design scans the stack, then asks what you need. Recommendations come from those answers. It writes a short product <code>DESIGN.md</code> and
721
+ frontend <code>STYLE_GUIDE.md</code> rules only after that. It does not paste this kit’s charcoal desk onto the app. Screenshots wait until there is a
722
+ screen to capture.
723
+ </p>
692
724
  <h3>UI polish</h3>
693
- <p>Design + <code>frontend-design</code> + <code>browser-qa</code>. Desktop and mobile. One happy-path shot is a fail.</p>
725
+ <p>
726
+ Design + <code>frontend-design</code> + <code>accessibility-wcag</code> + <code>browser-qa</code>. Name setup, build, review, or detect. Desktop and
727
+ mobile once a screen exists. One happy-path shot is a fail. A contrast guess from the screenshot is a fail.
728
+ </p>
729
+ <h3>Accessibility pass</h3>
730
+ <p>On any user-facing screen, paste to Design or QA:</p>
731
+ <pre id="a11y-prompt">Run accessibility-wcag. Open the changed flow. Keyboard-only pass. Do not accept contrast from the screenshot alone.</pre>
732
+ <div class="copy-row">
733
+ <button class="copy" type="button" data-copy-from="a11y-prompt">Copy accessibility prompt</button>
734
+ </div>
694
735
  <h3>Copy pass</h3>
695
736
  <p>Copy reviews the <em>rendered</em> words in screenshots, not strings in TSX. Run <code>product-copy</code>, then <code>deslop</code> last.</p>
696
737
  </section>
@@ -716,8 +757,9 @@ Do not review code alone. Open the app, capture desktop and mobile screenshots,
716
757
  <li>Open the changed route with the real auth, role, and data.</li>
717
758
  <li>Capture desktop (~1280) and mobile (~390) into <code>qa-evidence/&lt;yyyy-mm-dd&gt;-&lt;slug&gt;/</code>.</li>
718
759
  <li><strong>Read the images.</strong> List blockers from what is on screen.</li>
719
- <li>Run applicable tests. <code>toBeVisible</code> is not a screenshot.</li>
720
- <li>Write <code>notes.md</code> with route, viewports, auth state, verdict.</li>
760
+ <li>Keyboard-only the changed flow (<code>accessibility-wcag</code>). Do not accept contrast from the screenshot alone.</li>
761
+ <li>Run applicable tests (<code>testing-qa</code>). List the commands. <code>toBeVisible</code> is not a screenshot.</li>
762
+ <li>Write <code>notes.md</code> with route, viewports, auth state, keyboard result, commands run, verdict.</li>
721
763
  </ol>
722
764
  <p>Cursor: built-in browser first. Claude, Codex, Copilot, Antigravity: host browser if present, otherwise:</p>
723
765
  <pre id="pw-cmd">
package/USER_GUIDE.md CHANGED
@@ -23,6 +23,12 @@ Plan this change. Name the owning agent, extra reviewers, and which screenshots
23
23
 
24
24
  You should get a named owner (`app-engineer`, `security`, `design`, `qa`, or `copy`) and, if the work is user-visible, a desktop + mobile screenshot list.
25
25
 
26
+ If this repo has no product `DESIGN.md` yet, also paste to Design:
27
+
28
+ ```text
29
+ Act as design. This is a new repo. Scan what is already here, then ask me what we need to set up: who it is for, what they must get done, and what you should produce. Recommend from my answers. Write the style guide and principles with me before any CSS.
30
+ ```
31
+
26
32
  ## How to invoke in each IDE
27
33
 
28
34
  ### Cursor
@@ -73,6 +79,7 @@ Files: `.antigravity/agent-kit/commands/*.toml`, `.antigravity/runtime-skills/*/
73
79
  | Implementation | App engineer |
74
80
  | Auth / RLS / secrets | Security |
75
81
  | It looks wrong | Design |
82
+ | Style guide / first UI / no DESIGN.md | Design (`setup`) |
76
83
  | Is this done? | QA |
77
84
  | Landing / CTA words | Copy |
78
85
 
@@ -87,15 +94,15 @@ Do not ask one chat to be all six. Planner names the next specialist. It does no
87
94
  | `supabase-auth-rls` | Auth, RLS, service role, Storage |
88
95
  | `postgres-migrations` | Schema, constraints, RLS in the same change |
89
96
  | `owasp-security-review` | Mutations, uploads, SSRF, secrets |
90
- | `frontend-design` | Layout, simple palette, anti-generic UI |
91
- | `accessibility-wcag` | Keyboard, contrast, labels |
97
+ | `frontend-design` | Setup, build, review, or detect UI. Tokens first. Anti-generic |
98
+ | `accessibility-wcag` | Keyboard pass in the running browser. Contrast, labels. Not a screenshot guess |
92
99
  | `browser-qa` | Any screen. Required for QA of UI |
93
- | `testing-qa` | Unit / regression / smoke only |
100
+ | `testing-qa` | Unit / regression / smoke. List commands run. Not screenshots |
94
101
  | `product-copy` | Headlines and CTAs |
95
102
  | `deslop` | Last copy pass. Copy always runs this |
96
103
  | `ship` | Release, env, rollback |
97
104
 
98
- QA of a screen always uses `browser-qa`, not `testing-qa` alone. Each agent file names the skills it must run, then points at `catalog.json` for the rest.
105
+ QA of a screen always uses `browser-qa`, not `testing-qa` alone. User-facing screens also run `accessibility-wcag` (keyboard in the browser, not a contrast guess from the screenshot). Each agent file names the skills it must run, then points at `catalog.json` for the rest.
99
106
 
100
107
  ## Standard workflows
101
108
 
@@ -104,18 +111,36 @@ QA of a screen always uses `browser-qa`, not `testing-qa` alone. Each agent file
104
111
  1. **Planner** — paste: `Plan this change. Name the owning agent, extra reviewers, and which screenshots QA must capture. Do not write code.`
105
112
  2. **App engineer** — paste: `Implement the plan. Smoke the changed route in the browser before you hand off.`
106
113
  3. **Security** if data/auth/secrets changed.
107
- 4. **Design** if the UI changed — paste: `Review the running UI from screenshots first. Desktop and mobile. Reject generic AI-looking layout.`
108
- 5. **QA** — paste: `Do not review code alone. Open the app, capture desktop and mobile screenshots, read the images, then give accept / accept-with-nits / reject.`
114
+ 4. **Design** if the UI changed — paste: `Act as design. Name the mode (setup, build, review, or detect). Review the running UI from screenshots first. Desktop and mobile. Reject generic AI-looking layout.` If `DESIGN.md` is missing, run setup first.
115
+ 5. **QA** — paste: `Do not review code alone. Open the app, capture desktop and mobile screenshots, read the images, then give accept / accept-with-nits / reject.` For screens, also run `accessibility-wcag`.
109
116
 
110
- Done when QA attaches `qa-evidence/<date>-<slug>/desktop.png` and `mobile.png` plus a verdict.
117
+ Done when QA attaches `qa-evidence/<date>-<slug>/desktop.png` and `mobile.png` plus a verdict, and the changed flow passed a keyboard-only check.
111
118
 
112
119
  ### Auth / RLS change
113
120
 
114
121
  Planner → App engineer → Security → QA. QA must open login/logout/denied in the browser and still run tests. Screenshots required when the finding is user-visible.
115
122
 
123
+ ### New repo design setup
124
+
125
+ After `init`, before the first product CSS, paste to Design:
126
+
127
+ ```text
128
+ Act as design. This is a new repo. Scan what is already here, then ask me what we need to set up: who it is for, what they must get done, and what you should produce. Recommend from my answers. Write the style guide and principles with me before any CSS.
129
+ ```
130
+
131
+ Design scans the stack, then asks what you need. Recommendations come from those answers. It writes a short product `DESIGN.md` and frontend `STYLE_GUIDE.md` rules only after that. It does not paste this kit’s charcoal desk onto the app. Screenshots wait until there is a screen to capture.
132
+
116
133
  ### UI polish
117
134
 
118
- Design + `frontend-design` + `browser-qa`. Desktop and mobile required. One happy-path shot is a fail.
135
+ Design + `frontend-design` + `accessibility-wcag` + `browser-qa`. Name setup, build, review, or detect. Desktop and mobile required once a screen exists. One happy-path shot is a fail. A contrast guess from the screenshot is a fail.
136
+
137
+ ### Accessibility pass
138
+
139
+ On any user-facing screen, paste to Design or QA:
140
+
141
+ ```text
142
+ Run accessibility-wcag. Open the changed flow. Keyboard-only pass. Do not accept contrast from the screenshot alone.
143
+ ```
119
144
 
120
145
  ### Copy pass
121
146
 
@@ -141,8 +166,9 @@ Steps the QA agent must follow:
141
166
  2. Open the changed route with the real auth/role/data state.
142
167
  3. Capture desktop (~1280) and mobile (~390) into `qa-evidence/<yyyy-mm-dd>-<slug>/`.
143
168
  4. **Read the images.** List blockers from what is on screen.
144
- 5. Run applicable tests.
145
- 6. Write `notes.md` with route, viewports, auth state, verdict.
169
+ 5. Keyboard-only the changed flow (`accessibility-wcag`). Do not accept contrast from the screenshot alone.
170
+ 6. Run applicable tests (`testing-qa`). List the commands. `toBeVisible` is not a screenshot.
171
+ 7. Write `notes.md` with route, viewports, auth state, keyboard result, commands run, verdict.
146
172
 
147
173
  Cursor: use the built-in browser first. Claude / Codex / Copilot / Antigravity: use the host browser if present, otherwise Playwright:
148
174
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: design
3
- description: Use for UI quality, accessibility, and anti-generic layout. Critique screenshots first, then code.
3
+ description: Use for UI quality, accessibility, and anti-generic layout. Name setup, build, review, or detect. New repos: ask what they need, then principles, before CSS. Critique screenshots first, then code.
4
4
  tools: [repo, edit, browser, screenshot, image-review]
5
5
  requiredTools: [browser, screenshot, image-review]
6
6
  ---
@@ -9,25 +9,33 @@ requiredTools: [browser, screenshot, image-review]
9
9
 
10
10
  Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
11
11
 
12
+ Name the **mode** (`setup`, `build`, `review`, or `detect`) and, except setup, the **surface** (`landing`, `app-chrome`, `inside-design-system`, or `kit-html`) before changing CSS. Detect means audit only — no edits.
13
+
14
+ **Setup** when `DESIGN.md` is missing or TBD, the user asked to set up design / a style guide / principles, or this is first UI work in a fresh install. Scan the repo, then **ask what they need** — who it is for, what they must get done, what this pass should produce. Follow up if answers are vague. Recommend principles from those answers, then write only the style-guide files they asked for. No CSS until they ask to build. Screenshots are not required if nothing can render yet. Do not drop `requiredTools`.
15
+
12
16
  This kit’s HTML (especially `USER_GUIDE.html`) is an assignment desk, not a SaaS landing page. First screen: named specialists, the fail-closed screenshot rule, and a pasteable prompt. Use `frontend-design` kit tokens: charcoal paper `#10100e`, ink `#eceae4`, safelight `#ff5a2a` only for required QA, Helvetica Neue + mono, 2px radius, no gradients, no card soup. Downstream product screens get their own 4–6 tokens — do not paste the kit desk onto an app.
13
17
 
14
- Public words on a screen hand to Copy. Copy finishes with `deslop`. You restyle leftover visual P0s.
18
+ Read `DESIGN.md` when it exists. Public words on a screen hand to Copy. Copy finishes with `deslop`. You restyle leftover visual P0s. QA owns accept / accept-with-nits / reject.
15
19
 
16
20
  ## Use when
17
21
 
18
- Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
22
+ Screens, components, layout, visual design, responsive behavior, “it looks wrong,” or first-run design setup on a new repo.
19
23
 
20
24
  ## Tools
21
25
 
22
26
  Allowed: `repo`, `edit`, `browser`, `screenshot`, `image-review`.
23
- Required: open the running UI, capture desktop (~1280) and mobile (~390), and write findings from the images.
27
+ Required for `build`, `review`, and `detect`: open the running UI, capture desktop (~1280) and mobile (~390), and write findings from the images. Detect still captures when a server is up; if nothing can render, mark visual findings inferred. Setup may skip capture when nothing can render yet.
24
28
 
25
29
  ## Skills
26
30
 
27
- `frontend-design`, `accessibility-wcag`, `browser-qa`. Visual P0 list lives in `deslop`; you fix pixels, Copy does not.
31
+ `frontend-design`, `accessibility-wcag`, `browser-qa`. Visual P0 list lives in `deslop`; you fix pixels, Copy does not. Optional `ui-polish` is a later spacing/state pass, not a second design system. On user-visible UI, run `accessibility-wcag` — keyboard in the running browser. `frontend-design` does not replace it.
28
32
 
29
33
  Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start with the skills named above. Use another listed skill when this job needs it.
30
34
 
35
+ ## Review output
36
+
37
+ For `review` and `detect`, return a severity table (P0 / P1 / P2) with where it showed up and whether it is code-certain or inferred. Then, unless detect, fix P0s.
38
+
31
39
  ## Done when
32
40
 
33
- Desktop and mobile screenshots were captured and read. Blockers (overlap, contrast, clipped text, missing tap targets, generic gradient/card soup) are fixed or explicitly accepted. One screenshot is not enough.
41
+ Mode was named. Setup asked what they need and recorded the answers they asked to keep. No unsolicited CSS. For other modes, a surface was named and desktop and mobile screenshots were captured and read. Blockers (overlap, contrast, clipped text, missing tap targets, generic gradient/card soup, left-edge selection rails) are fixed or explicitly accepted. One screenshot is not enough. On screens that can render, `accessibility-wcag` had a keyboard-only pass or remaining gaps are named. Detect ends with the table and no edits.
@@ -31,7 +31,9 @@ Available skills: `catalog.json` and the skill table in `USER_GUIDE.md`. Start w
31
31
  - One desktop screenshot of the happy path.
32
32
  - Playwright `toBeVisible` with no image.
33
33
  - Skipping mobile, or skipping auth/empty/error when those states exist.
34
+ - “Contrast looks fine in the screenshot” without a keyboard-only pass on the changed flow (`accessibility-wcag`).
35
+ - “Tests pass” with no command list (`testing-qa`).
34
36
 
35
37
  ## Done when
36
38
 
37
- You opened the running app, captured desktop and mobile screenshots, **read the images**, ran applicable tests, and wrote accept / accept-with-nits / reject with image paths under `qa-evidence/`.
39
+ You opened the running app, captured desktop and mobile screenshots, **read the images**, ran applicable tests **and listed the commands**, and wrote accept / accept-with-nits / reject with image paths under `qa-evidence/`. For screens, `accessibility-wcag` ran: a keyboard-only pass on the changed flow, not a screenshot guess.
package/dist/index.js CHANGED
@@ -303,7 +303,7 @@ function generateAntigravityCommands(cwd, force, collector) {
303
303
  {
304
304
  name: "browser-qa",
305
305
  description: "Live browser QA with desktop and mobile screenshots.",
306
- prompt: "Act as the QA agent. Use the browser-qa skill. Do not review code alone. Open the app, capture desktop and mobile screenshots, read the images, then give accept / accept-with-nits / reject."
306
+ prompt: "Act as the QA agent. Use the browser-qa skill. Do not review code alone. Open the app, capture desktop and mobile screenshots, read the images, then give accept / accept-with-nits / reject. For screens, also run accessibility-wcag: keyboard-only pass. Do not accept contrast from the screenshot alone."
307
307
  },
308
308
  {
309
309
  name: "security",
@@ -313,7 +313,7 @@ function generateAntigravityCommands(cwd, force, collector) {
313
313
  {
314
314
  name: "frontend",
315
315
  description: "UI review from screenshots first.",
316
- prompt: "Act as the design agent. Review the running UI from screenshots first. Desktop and mobile. Reject generic AI-looking layout."
316
+ prompt: "Act as the design agent. Name the mode (setup, build, review, or detect) and the surface. Use the frontend-design skill. If DESIGN.md is missing or this is a new repo, run setup: scan what is here, then ask what they need (who it is for, what they must get done, what this pass should produce). Recommend from the answers. Write style guide and principles only after that, and before CSS. Otherwise review the running UI from screenshots first. Desktop and mobile. Reject generic AI-looking layout. Detect means audit only \u2014 no edits."
317
317
  },
318
318
  {
319
319
  name: "copy",
@@ -323,7 +323,7 @@ function generateAntigravityCommands(cwd, force, collector) {
323
323
  {
324
324
  name: "test",
325
325
  description: "Run tests, then browser-qa for UI.",
326
- prompt: "Act as the QA agent. Run applicable tests, then use browser-qa for any user-visible change."
326
+ prompt: "Act as the QA agent. Use the testing-qa skill: run applicable tests and list the commands. Then use browser-qa for any user-visible change. For screens, run accessibility-wcag: keyboard-only pass in the running UI. Do not treat toBeVisible as a screenshot."
327
327
  },
328
328
  {
329
329
  name: "ship",
@@ -429,7 +429,7 @@ import { join as join7 } from "path";
429
429
 
430
430
  // src/config/defaults.ts
431
431
  var PACKAGE_NAME = "@appsforgood/next-supabase-kit";
432
- var PACKAGE_VERSION = "0.4.3";
432
+ var PACKAGE_VERSION = "0.4.4";
433
433
  var ROOT_DOCS = ["AGENTS.md", "USER_GUIDE.md", "USER_GUIDE.html"];
434
434
  var CURSOR_RULE_FILE = {
435
435
  source: "assistant-adapters/cursor-agent-kit.mdc",