@appsforgood/next-supabase-kit 0.4.2 → 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.
- package/CHANGELOG.md +18 -0
- package/README.md +2 -1
- package/UPGRADE.md +12 -0
- package/USER_GUIDE.html +62 -13
- package/USER_GUIDE.md +37 -10
- package/agents/design/agent.md +14 -6
- package/agents/qa/agent.md +3 -1
- package/dist/index.js +322 -245
- package/dist/index.js.map +1 -1
- package/examples/next-supabase-installed/.agent-kit/manifest.json +36 -36
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/browser-qa.toml +1 -1
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/frontend.toml +1 -1
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/test.toml +1 -1
- package/examples/next-supabase-installed/.antigravity/runtime-skills/accessibility-wcag/SKILL.md +66 -9
- package/examples/next-supabase-installed/.antigravity/runtime-skills/browser-qa/SKILL.md +1 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/deslop/SKILL.md +7 -1
- package/examples/next-supabase-installed/.antigravity/runtime-skills/frontend-design/SKILL.md +149 -15
- package/examples/next-supabase-installed/.antigravity/runtime-skills/planning/SKILL.md +6 -5
- package/examples/next-supabase-installed/.antigravity/runtime-skills/testing-qa/SKILL.md +53 -12
- package/examples/next-supabase-installed/.claude/agents/design.md +14 -6
- package/examples/next-supabase-installed/.claude/agents/qa.md +3 -1
- package/examples/next-supabase-installed/.codex/agents/design.toml +15 -7
- package/examples/next-supabase-installed/.codex/agents/qa.toml +3 -1
- package/examples/next-supabase-installed/.cursor/agents/design.md +14 -6
- package/examples/next-supabase-installed/.cursor/agents/qa.md +3 -1
- package/examples/next-supabase-installed/.cursor/skills/accessibility-wcag/SKILL.md +66 -9
- package/examples/next-supabase-installed/.cursor/skills/browser-qa/SKILL.md +1 -0
- package/examples/next-supabase-installed/.cursor/skills/deslop/SKILL.md +7 -1
- package/examples/next-supabase-installed/.cursor/skills/frontend-design/SKILL.md +149 -15
- package/examples/next-supabase-installed/.cursor/skills/planning/SKILL.md +6 -5
- package/examples/next-supabase-installed/.cursor/skills/testing-qa/SKILL.md +53 -12
- package/examples/next-supabase-installed/AGENTS.md +2 -1
- package/examples/next-supabase-installed/USER_GUIDE.html +62 -13
- package/examples/next-supabase-installed/USER_GUIDE.md +37 -10
- package/examples/next-supabase-installed/skills/accessibility-wcag/SKILL.md +66 -9
- package/examples/next-supabase-installed/skills/browser-qa/SKILL.md +1 -0
- package/examples/next-supabase-installed/skills/deslop/SKILL.md +7 -1
- package/examples/next-supabase-installed/skills/frontend-design/SKILL.md +149 -15
- package/examples/next-supabase-installed/skills/planning/SKILL.md +6 -5
- package/examples/next-supabase-installed/skills/testing-qa/SKILL.md +53 -12
- package/examples/next-supabase-installed/tree.txt +12 -0
- package/package.json +1 -1
- package/research/agent-skill-gap-report.md +4 -0
- package/skills/accessibility-wcag/SKILL.md +66 -9
- package/skills/browser-qa/SKILL.md +1 -0
- package/skills/deslop/SKILL.md +7 -1
- package/skills/frontend-design/SKILL.md +149 -15
- package/skills/optional/ui-polish/SKILL.md +2 -2
- package/skills/planning/SKILL.md +6 -5
- package/skills/testing-qa/SKILL.md +53 -12
- package/templates/next-supabase/AGENTS.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
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
|
+
|
|
11
|
+
## 0.4.3
|
|
12
|
+
|
|
13
|
+
- `doctor` fails if a default agent drops packaged `requiredTools` (QA/Design can no longer drop screenshot tools and still pass).
|
|
14
|
+
- `adapter validate all` validates the IDEs in `.agent-kit/manifest.json` `activated`, not every IDE the kit supports. Named targets still check that one IDE.
|
|
15
|
+
- `loadCatalog` caches per package root so tests and nested installs do not reuse the wrong catalog.
|
|
16
|
+
- `agent-kit guide` prints the local `USER_GUIDE.html` path. GitHub shows that file as source; open it in a browser.
|
|
17
|
+
- `planning` and `testing-qa` name the domain skills they must not replace.
|
|
18
|
+
- Visual P0s: reject left accent bars on selected rows and status wells. Selection is radio/check + tint. Same family as accent-border cards / glow rails, not a second prompt. `USER_GUIDE.html` fail-closed well is a flat tint, not a left stroke.
|
|
19
|
+
- Version Packages keeps a drafted next-version `CHANGELOG.md` heading instead of failing when `package.json` is still on the previous version.
|
|
20
|
+
|
|
3
21
|
## 0.4.2
|
|
4
22
|
|
|
5
23
|
- Uplift default domain skills so they are playbooks, not checklists: `nextjs-app-router` (App Router, async request APIs, `proxy.ts`), `supabase-auth-rls` (SSR clients, `getUser()`, service role, RLS), `postgres-migrations` (RLS in the same change), `owasp-security-review` (Top 10 mapped onto Actions/RLS/SSRF).
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ QA does not review user-visible work from code alone. A change is not done until
|
|
|
10
10
|
npx --yes @appsforgood/next-supabase-kit init --activate all
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Then open **[USER_GUIDE.html](USER_GUIDE.html)** (markdown twin: [USER_GUIDE.md](USER_GUIDE.md)). That guide is how you use the pack.
|
|
13
|
+
Then open **[USER_GUIDE.html](USER_GUIDE.html)** in a browser (markdown twin: [USER_GUIDE.md](USER_GUIDE.md)). GitHub shows the HTML as source; `npx agent-kit guide` prints the local path. That guide is how you use the pack.
|
|
14
14
|
|
|
15
15
|
## What you get
|
|
16
16
|
|
|
@@ -23,6 +23,7 @@ Then open **[USER_GUIDE.html](USER_GUIDE.html)** (markdown twin: [USER_GUIDE.md]
|
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
npx agent-kit init --activate all
|
|
26
|
+
npx agent-kit guide
|
|
26
27
|
npx agent-kit doctor
|
|
27
28
|
npx agent-kit add skill debug
|
|
28
29
|
npx agent-kit add agent lead-architect
|
package/UPGRADE.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Upgrade Guide
|
|
2
2
|
|
|
3
|
+
## 0.4.3
|
|
4
|
+
|
|
5
|
+
`0.4.3` does not change installed agent files unless you stripped `requiredTools`. `doctor` now fails that. `adapter validate all` on a Cursor-only install checks Cursor only.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx @appsforgood/next-supabase-kit@0.4.3 update
|
|
9
|
+
npx @appsforgood/next-supabase-kit@0.4.3 doctor
|
|
10
|
+
npx @appsforgood/next-supabase-kit@0.4.3 guide
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Open `USER_GUIDE.html` in a browser. GitHub shows it as source.
|
|
14
|
+
|
|
3
15
|
## 0.4.2
|
|
4
16
|
|
|
5
17
|
`0.4.1` is the published simplify catch-up. `0.4.2` rewrites the Next.js and Supabase domain skills. `update` refreshes pristine skill files; local edits win or land in conflicts.
|
package/USER_GUIDE.html
CHANGED
|
@@ -220,12 +220,15 @@
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
.rule {
|
|
223
|
-
border-left: 4px solid var(--safelight);
|
|
224
223
|
padding: 0.7rem 0.9rem;
|
|
225
|
-
background: #
|
|
224
|
+
background: #23160f;
|
|
226
225
|
margin: 0 0 1.4rem;
|
|
227
226
|
}
|
|
228
227
|
|
|
228
|
+
.rule strong {
|
|
229
|
+
color: var(--safelight);
|
|
230
|
+
}
|
|
231
|
+
|
|
229
232
|
.steps {
|
|
230
233
|
display: grid;
|
|
231
234
|
gap: 0.85rem;
|
|
@@ -506,6 +509,14 @@
|
|
|
506
509
|
<button class="copy" type="button" data-copy-from="plan-prompt">Copy Planner prompt</button>
|
|
507
510
|
</div>
|
|
508
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>
|
|
509
520
|
</div>
|
|
510
521
|
<p>
|
|
511
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
|
|
@@ -541,6 +552,10 @@
|
|
|
541
552
|
<td>It looks wrong</td>
|
|
542
553
|
<td>Design</td>
|
|
543
554
|
</tr>
|
|
555
|
+
<tr>
|
|
556
|
+
<td>Style guide / first UI / no DESIGN.md</td>
|
|
557
|
+
<td>Design (<code>setup</code>)</td>
|
|
558
|
+
</tr>
|
|
544
559
|
<tr>
|
|
545
560
|
<td>Is this done?</td>
|
|
546
561
|
<td>QA</td>
|
|
@@ -583,11 +598,11 @@
|
|
|
583
598
|
</tr>
|
|
584
599
|
<tr>
|
|
585
600
|
<td><code>frontend-design</code></td>
|
|
586
|
-
<td>
|
|
601
|
+
<td>Setup, build, review, or detect UI. Tokens first. Anti-generic</td>
|
|
587
602
|
</tr>
|
|
588
603
|
<tr>
|
|
589
604
|
<td><code>accessibility-wcag</code></td>
|
|
590
|
-
<td>Keyboard
|
|
605
|
+
<td>Keyboard pass in the running browser. Contrast, labels. Not a screenshot guess</td>
|
|
591
606
|
</tr>
|
|
592
607
|
<tr>
|
|
593
608
|
<td><code>browser-qa</code></td>
|
|
@@ -595,7 +610,7 @@
|
|
|
595
610
|
</tr>
|
|
596
611
|
<tr>
|
|
597
612
|
<td><code>testing-qa</code></td>
|
|
598
|
-
<td>Unit / regression / smoke
|
|
613
|
+
<td>Unit / regression / smoke. List commands run. Not screenshots</td>
|
|
599
614
|
</tr>
|
|
600
615
|
<tr>
|
|
601
616
|
<td><code>product-copy</code></td>
|
|
@@ -612,8 +627,9 @@
|
|
|
612
627
|
</tbody>
|
|
613
628
|
</table>
|
|
614
629
|
<p>
|
|
615
|
-
QA of a screen always uses <code>browser-qa</code>, not <code>testing-qa</code> alone.
|
|
616
|
-
<code>
|
|
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.
|
|
617
633
|
</p>
|
|
618
634
|
</section>
|
|
619
635
|
|
|
@@ -677,17 +693,45 @@ Act as the QA agent. Use the browser-qa skill. Do not review code alone. Open th
|
|
|
677
693
|
<li>Planner — paste the prompt on ticket 03.</li>
|
|
678
694
|
<li>App engineer — <code>Implement the plan. Smoke the changed route in the browser before you hand off.</code></li>
|
|
679
695
|
<li>Security if data, auth, or secrets changed.</li>
|
|
680
|
-
<li>
|
|
681
|
-
|
|
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>
|
|
682
705
|
</ol>
|
|
683
|
-
<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>
|
|
684
707
|
<h3>Auth / RLS</h3>
|
|
685
708
|
<p>
|
|
686
709
|
Planner → App engineer → Security → QA. QA must open login, logout, and denied in the browser. Screenshots still required when the finding is
|
|
687
710
|
user-visible.
|
|
688
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>
|
|
689
724
|
<h3>UI polish</h3>
|
|
690
|
-
<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>
|
|
691
735
|
<h3>Copy pass</h3>
|
|
692
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>
|
|
693
737
|
</section>
|
|
@@ -713,8 +757,9 @@ Do not review code alone. Open the app, capture desktop and mobile screenshots,
|
|
|
713
757
|
<li>Open the changed route with the real auth, role, and data.</li>
|
|
714
758
|
<li>Capture desktop (~1280) and mobile (~390) into <code>qa-evidence/<yyyy-mm-dd>-<slug>/</code>.</li>
|
|
715
759
|
<li><strong>Read the images.</strong> List blockers from what is on screen.</li>
|
|
716
|
-
<li>
|
|
717
|
-
<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>
|
|
718
763
|
</ol>
|
|
719
764
|
<p>Cursor: built-in browser first. Claude, Codex, Copilot, Antigravity: host browser if present, otherwise:</p>
|
|
720
765
|
<pre id="pw-cmd">
|
|
@@ -763,6 +808,10 @@ npx agent-kit update</pre>
|
|
|
763
808
|
<td>QA finished from the diff</td>
|
|
764
809
|
<td>Reject it. Re-run with the good QA prompt.</td>
|
|
765
810
|
</tr>
|
|
811
|
+
<tr>
|
|
812
|
+
<td>GitHub shows this page as code</td>
|
|
813
|
+
<td>Open <code>USER_GUIDE.html</code> in a browser, or run <code>npx agent-kit guide</code>. GitHub does not render the layout.</td>
|
|
814
|
+
</tr>
|
|
766
815
|
<tr>
|
|
767
816
|
<td><code>doctor</code> fails the guide</td>
|
|
768
817
|
<td>The screenshot fail-closed sentence must stay in <code>USER_GUIDE.md</code> and this page.</td>
|
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` |
|
|
91
|
-
| `accessibility-wcag` | Keyboard
|
|
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
|
|
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.
|
|
145
|
-
6.
|
|
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
|
|
|
@@ -179,5 +205,6 @@ Pristine files refresh. Local edits win or land in `.agent-kit/conflicts/`. Do n
|
|
|
179
205
|
| Skill not triggering | Mention the skill name (`browser-qa`) or `@` it in Cursor. |
|
|
180
206
|
| No browser in Copilot / Codex | Use the Playwright commands in `browser-qa`. |
|
|
181
207
|
| QA finished from the diff | Reject it. Re-run with the good QA prompt above. |
|
|
208
|
+
| GitHub shows `USER_GUIDE.html` as code | Open the file in a browser. Run `npx agent-kit guide` to print the path. GitHub does not render the layout. |
|
|
182
209
|
| `doctor` fails USER_GUIDE | The screenshot fail-closed sentence must stay in this file. |
|
|
183
210
|
| Still have `QUALITY_GATES.md` / `COUNCIL.md` | Expected. `update` does not delete them. `doctor` lists leftovers. |
|
package/agents/design/agent.md
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
-
|
|
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.
|
package/agents/qa/agent.md
CHANGED
|
@@ -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
|
|
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.
|