@appsforgood/next-supabase-kit 0.1.5 → 0.1.6
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 +5 -0
- package/DOGFOOD.md +9 -0
- package/README.md +40 -4
- package/REPOSITORY_SETTINGS.md +7 -3
- package/SUPPLY_CHAIN.md +5 -5
- package/UPGRADE.md +2 -1
- package/antigravity/commands/accessibility-pass.toml +16 -0
- package/antigravity/commands/browser-qa.toml +18 -0
- package/antigravity/commands/distinctiveness-pass.toml +16 -0
- package/antigravity/commands/frontend.toml +5 -4
- package/antigravity/commands/layout-cleanup.toml +16 -0
- package/antigravity/commands/responsive-cleanup.toml +16 -0
- package/antigravity/commands/screenshot-critique.toml +16 -0
- package/antigravity/commands/ui-audit.toml +17 -0
- package/antigravity/commands/ui-polish.toml +17 -0
- package/antigravity/plugin.json +9 -0
- package/checklists/ui-acceptance-rubric.md +58 -0
- package/checklists/ui-detectors.md +75 -0
- package/dist/index.js +793 -458
- package/dist/index.js.map +1 -1
- package/dist/studio/office/assets/office.css +109 -28
- package/dist/studio/office/assets/office.js +14 -63
- package/dist/studio/wizard/assets/wizard.css +105 -26
- package/dist/studio/wizard/assets/wizard.js +22 -85
- package/examples/next-supabase-installed/.agent-kit/agent-roster.json +7 -3
- package/examples/next-supabase-installed/.agent-kit/manifest.json +11 -11
- package/examples/next-supabase-installed/audit-output.json +7 -2
- package/package.json +21 -5
- package/prompts/ui-command-index.md +124 -0
- package/rosters/next-supabase-default-council.json +37 -12
- package/runtime-skills/ui-improvement-harness/SKILL.md +12 -0
- package/skills/ui-improvement-harness.md +96 -0
- package/templates/next-supabase/AGENT_ROSTER.md +6 -3
- package/templates/next-supabase/ASSISTANT_ADAPTERS.md +3 -1
- package/templates/next-supabase/DECISIONS.md +14 -0
- package/templates/next-supabase/DESIGN.md +3 -0
- package/templates/next-supabase/DOCS.md +5 -1
- package/templates/next-supabase/QUALITY_GATES.md +4 -2
- package/templates/next-supabase/SKILLS.md +14 -0
- package/templates/next-supabase/SPEC.md +5 -1
- package/templates/next-supabase/STYLE_GUIDE.md +3 -1
- package/templates/next-supabase/TESTING.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.6
|
|
4
|
+
|
|
5
|
+
- Added a repo-native UI improvement harness with command-style prompts, deterministic detector checklist, acceptance rubric, portable runtime skill, and focused Antigravity UI commands.
|
|
6
|
+
- Wired UI audit, polish, layout cleanup, responsive cleanup, accessibility, distinctiveness, screenshot critique, and browser QA workflows into roster routing, docs, templates, package validation, and example snapshots.
|
|
7
|
+
|
|
3
8
|
## 0.1.5
|
|
4
9
|
|
|
5
10
|
- Added computed **Agentic Engineering Level** (L3–L6) in Agent Office and setup wizard: iceberg strip, climb checklist, `/api/state` payload, and `POST /api/agentic-level/refresh`.
|
package/DOGFOOD.md
CHANGED
|
@@ -34,6 +34,15 @@ Mode: read-only audit; no downstream files were modified.
|
|
|
34
34
|
- Assistant adapters and upgrade lifecycle still need real activation/dogfood evidence after publication.
|
|
35
35
|
- Reference-led design critique still needs a real UI change dogfood pass with screenshots or equivalent visual evidence.
|
|
36
36
|
|
|
37
|
+
## 2026-07-02 Publish Verification And Self-Install Snapshot
|
|
38
|
+
|
|
39
|
+
Date: 2026-07-02
|
|
40
|
+
CLI source: public npm registry (`@appsforgood/next-supabase-kit`, published) plus local `src/` for the self-install.
|
|
41
|
+
Mode: post-publish verification against the live registry, and dogfooding the kit into this repo's own root.
|
|
42
|
+
|
|
43
|
+
- `node scripts/post-publish-verify.mjs` against the published package passed: registry visibility confirmed, `npx` doctor ok, clean temp `init` installed 23 files, and `audit --json --min-readiness baseline-setup` returned 0 failures (readiness `baseline-setup`).
|
|
44
|
+
- This repo now dogfoods its own kit at the root: `agent-kit init` installed the root docs, `.agent-kit/`, and Cursor rules; project context, council session, and overrides were filled with real evidence; `agent-kit audit --min-readiness best-practice-candidate` passes with 0 warnings and 0 failures.
|
|
45
|
+
|
|
37
46
|
## 2026-06-07 Agent Studio Dogfood Snapshot
|
|
38
47
|
|
|
39
48
|
Date: 2026-06-07
|
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Agent Skills Next/Supabase Kit
|
|
2
2
|
|
|
3
|
+
[](https://github.com/lukey662/agentsandskills/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/@appsforgood/next-supabase-kit)
|
|
5
|
+
[](https://scorecard.dev/viewer/?uri=github.com/lukey662/agentsandskills)
|
|
6
|
+
[](https://github.com/lukey662/agentsandskills/actions/workflows/codeql.yml)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
|
|
3
9
|
`@appsforgood/next-supabase-kit` installs an agent operating system for Next.js + Supabase projects.
|
|
4
10
|
|
|
5
11
|
It gives agentic coders a default council roster, reusable skills, handoff rules, model-routing guidance, markdown docs, frontend design gates, Supabase/RLS security checks, upgrade workflows, and audit commands.
|
|
@@ -14,7 +20,7 @@ It also includes a local Agent Studio workflow: project context, durable human c
|
|
|
14
20
|
|
|
15
21
|
## Quick Start
|
|
16
22
|
|
|
17
|
-
Use this in a Next.js + Supabase project
|
|
23
|
+
Use this in a Next.js + Supabase project:
|
|
18
24
|
|
|
19
25
|
```bash
|
|
20
26
|
npx @appsforgood/next-supabase-kit init --stack next-supabase --setup --open
|
|
@@ -33,6 +39,34 @@ npx @appsforgood/next-supabase-kit adapter validate antigravity
|
|
|
33
39
|
|
|
34
40
|
The installer preserves existing docs. If a file already exists and differs from the template, the new version is written to `.agent-kit/conflicts/` for review.
|
|
35
41
|
|
|
42
|
+
### See It In Action
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
$ agent-kit init --stack next-supabase
|
|
46
|
+
agent-kit installed (stack: next-supabase)
|
|
47
|
+
Created (21)
|
|
48
|
+
AGENTS.md
|
|
49
|
+
AGENT_ROSTER.md
|
|
50
|
+
ASSISTANT_ADAPTERS.md
|
|
51
|
+
...
|
|
52
|
+
.cursor/rules/cursor-agent-kit.mdc
|
|
53
|
+
.agent-kit/agent-roster.json
|
|
54
|
+
.agent-kit/model-routing.json
|
|
55
|
+
|
|
56
|
+
Manifest: .agent-kit/manifest.json
|
|
57
|
+
Next: run agent-kit audit to check readiness.
|
|
58
|
+
|
|
59
|
+
$ agent-kit audit
|
|
60
|
+
READINESS baseline-setup: Agent kit setup is valid, but project-specific
|
|
61
|
+
evidence still needs to replace starter placeholders.
|
|
62
|
+
SUMMARY pass=60 warn=3 fail=0
|
|
63
|
+
NEXT ACTIONS
|
|
64
|
+
- Run agent-kit onboard or agent-kit init --guided so agents can start
|
|
65
|
+
with project-specific context.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Every command accepts `--json` for machine-readable output, and mutating commands (`init`, `update`, `add skill`) accept `--dry-run`. A `vhs` tape for regenerating the animated demo lives at `docs/demo.tape`.
|
|
69
|
+
|
|
36
70
|
For local development of this repo:
|
|
37
71
|
|
|
38
72
|
```bash
|
|
@@ -63,7 +97,7 @@ Default routing:
|
|
|
63
97
|
- Planner handles plans, roadmaps, scope, and ambiguous requests first.
|
|
64
98
|
- Lead Architect reviews core changes before implementation.
|
|
65
99
|
- Security Reviewer joins auth, RLS, data mutation, dependency, secret, external-call, and release-risk work.
|
|
66
|
-
- Frontend Design Lead owns content-first design, reference-led critique, distinctiveness benchmarking, product-quality scoring, and visual QA.
|
|
100
|
+
- Frontend Design Lead owns content-first design, reference-led critique, distinctiveness benchmarking, product-quality scoring, UI detector severity review, command-based polish/audit loops, and visual QA.
|
|
67
101
|
- Marketing Copy Lead owns public-facing and conversion-facing copy, positioning, proof, objections, voice, and CTA hierarchy.
|
|
68
102
|
- QA Engineer verifies behavior changes before completion.
|
|
69
103
|
- Documentation Maintainer keeps the living markdown current.
|
|
@@ -160,7 +194,7 @@ Agent Kit separates the mechanisms that make AI coding repeatable:
|
|
|
160
194
|
- Instructions: `AGENTS.md`, assistant adapters, and IDE-specific rule files.
|
|
161
195
|
- Roster: `.agent-kit/agent-roster.json` chooses agents, workflows, and handoffs.
|
|
162
196
|
- Skills: `.agent-kit/skills/` keeps specialist workflows reusable.
|
|
163
|
-
- Runtime commands: Antigravity `commands/*.toml` expose `/setup`, `/audit`, `/plan`, `/handoff`, `/frontend`, `/security`, `/copy`, `/ship`, and `/upgrade` as native adapter entrypoints.
|
|
197
|
+
- Runtime commands: Antigravity `commands/*.toml` expose `/setup`, `/audit`, `/plan`, `/handoff`, `/frontend`, focused UI improvement commands, `/security`, `/copy`, `/ship`, and `/upgrade` as native adapter entrypoints.
|
|
164
198
|
- Portable skills: `runtime-skills/*/SKILL.md` wraps canonical `skills/*.md` files for runtimes that discover skill directories.
|
|
165
199
|
- Model routing: `MODEL_ROUTING.md` and `.agent-kit/model-routing.json` map agents to model profiles.
|
|
166
200
|
- Messaging: `MESSAGING.md` records audience, pain, outcome, proof, objections, voice, and conversion evidence for public-facing copy.
|
|
@@ -189,6 +223,8 @@ Significant UI work should prove:
|
|
|
189
223
|
|
|
190
224
|
The Frontend Design Lead should reject work that would still look valid for another product after only changing the logo or headline.
|
|
191
225
|
|
|
226
|
+
Operational UI improvement workflows live in `.agent-kit/prompts/ui-command-index.md` and ship as Antigravity commands: `/ui-audit`, `/ui-polish`, `/layout-cleanup`, `/responsive-cleanup`, `/accessibility-pass`, `/distinctiveness-pass`, `/screenshot-critique`, and `/browser-qa`. Use `.agent-kit/checklists/ui-detectors.md` for deterministic blocker/major/minor findings and `.agent-kit/checklists/ui-acceptance-rubric.md` for pass/fail decisions. High-risk UI work requires desktop and mobile screenshots plus authenticated or permission-state evidence when the surface is not public.
|
|
227
|
+
|
|
192
228
|
## Security Bar
|
|
193
229
|
|
|
194
230
|
The kit treats these as defaults, not optional polish:
|
|
@@ -255,7 +291,7 @@ Release expectations:
|
|
|
255
291
|
- Dependency Review, CodeQL, OpenSSF Scorecard, Dependabot, SBOM validation, and SBOM attestation.
|
|
256
292
|
- Post-publish verification with `npm run publish:verify`.
|
|
257
293
|
|
|
258
|
-
|
|
294
|
+
The package is published to public npm under `@appsforgood/next-supabase-kit`. Every release must pass `npm run release:check` before publish and `npm run publish:verify` after (registry visibility, clean `npx` doctor/init/audit). Post-publish verification was last run 2026-07-02 against the live registry: doctor, init, and `audit --min-readiness baseline-setup` all passed with zero failures.
|
|
259
295
|
|
|
260
296
|
## Repository Health
|
|
261
297
|
|
package/REPOSITORY_SETTINGS.md
CHANGED
|
@@ -31,9 +31,9 @@ Create environment `npm-publish` with:
|
|
|
31
31
|
- Required reviewers enabled.
|
|
32
32
|
- Prevent self-review enabled where available.
|
|
33
33
|
- Deployment branches restricted to `main` and release events.
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
34
|
+
- Preferred path: no npm publish token secret once Trusted Publishing is confirmed for this package.
|
|
35
|
+
- Current fallback: a maintainer npm publish token secret on the release workflow so manual publish dispatch can complete until npm Trusted Publishing is configured.
|
|
36
|
+
- Any fallback npm token secrets deleted after Trusted Publishing is confirmed.
|
|
37
37
|
|
|
38
38
|
The npm trusted publisher must match:
|
|
39
39
|
|
|
@@ -66,6 +66,10 @@ Create labels from `.github/labels.yml`. Required label families:
|
|
|
66
66
|
- Status: `needs-triage`, `blocked`, `good first issue`, `help wanted`
|
|
67
67
|
- Risk: `risk: security`, `risk: breaking-change`
|
|
68
68
|
|
|
69
|
+
## GitHub Pages
|
|
70
|
+
|
|
71
|
+
Enable GitHub Pages with source "Deploy from a branch", branch `main`, folder `/docs`. The minimal docs site lives at `docs/index.md` with the `jekyll-theme-minimal` theme configured in `docs/_config.yml`. Update `docs/index.md` when the CLI surface, readiness levels, or quick-start commands change.
|
|
72
|
+
|
|
69
73
|
## Review Cadence
|
|
70
74
|
|
|
71
75
|
Review these settings before every public release and after any workflow, release, permission, package, or security-policy change.
|
package/SUPPLY_CHAIN.md
CHANGED
|
@@ -5,12 +5,12 @@ This package is intended for public npm distribution and downstream project boot
|
|
|
5
5
|
## Publish Identity
|
|
6
6
|
|
|
7
7
|
- Public package: `@appsforgood/next-supabase-kit`.
|
|
8
|
-
- Publish path: GitHub Actions release workflow through npm Trusted Publishing.
|
|
9
|
-
- Authentication: OIDC trusted publisher
|
|
8
|
+
- Publish path: GitHub Actions release workflow through npm Trusted Publishing when configured, with a token-backed publish fallback for the current npm package setup.
|
|
9
|
+
- Authentication: prefer OIDC trusted publisher; the fallback uses a scoped npm automation token stored as a GitHub Actions secret.
|
|
10
10
|
- Environment: `npm-publish`.
|
|
11
11
|
- Trusted publisher must be scoped to repository `lukey662/agentsandskills`, workflow `release.yml`, and allowed action `npm publish`.
|
|
12
12
|
|
|
13
|
-
When npm Trusted Publishing is used from a public GitHub repository for a public package, npm generates provenance attestations automatically.
|
|
13
|
+
When npm Trusted Publishing is used from a public GitHub repository for a public package, npm generates provenance attestations automatically. Until that package-level publisher is confirmed in npm, the release workflow publishes with the configured secret and `--provenance` so npm still receives GitHub Actions provenance.
|
|
14
14
|
|
|
15
15
|
The release workflow also creates a deterministic package tarball, generates a CycloneDX SBOM from `package-lock.json`, uploads the tarball, SBOM, and pack metadata as release evidence, and attests the SBOM against the exact tarball path that is published to npm.
|
|
16
16
|
|
|
@@ -47,9 +47,9 @@ The release workflow and `npm run publish:verify` both use `scripts/post-publish
|
|
|
47
47
|
|
|
48
48
|
## Maintainer Rules
|
|
49
49
|
|
|
50
|
-
- Do not use bypass-2FA npm publish tokens for automation.
|
|
50
|
+
- Do not use bypass-2FA npm publish tokens for automation; any fallback token must be scoped for package publishing and stored only as a GitHub Actions secret.
|
|
51
51
|
- Do not publish from unreviewed branches or untrusted workflow changes.
|
|
52
52
|
- Treat workflow edits as release-risk changes requiring security and maintainer review.
|
|
53
|
-
- Rotate and delete
|
|
53
|
+
- Rotate and delete fallback publish secrets after Trusted Publishing is confirmed.
|
|
54
54
|
- Keep package contents free of secrets, private downstream data, and copied third-party source.
|
|
55
55
|
- Keep SBOM generation and attestation in the shared release path; do not publish an unattested tarball when the workflow is available.
|
package/UPGRADE.md
CHANGED
|
@@ -78,4 +78,5 @@ Keep rollback evidence next to the upgrade:
|
|
|
78
78
|
| Date | From | To | Scope | Evidence | Owner |
|
|
79
79
|
| --- | --- | --- | --- | --- | --- |
|
|
80
80
|
| 2026-06-14 | TypeScript 5 / Node 22 types | TypeScript 6 / Node 25 types | Dev dependency update for package validation and CI parity | `npm run typecheck`, `npm test`, `npm audit --audit-level=moderate` | Maintainers |
|
|
81
|
-
|
|
|
81
|
+
| 2026-06 | 0.1.0 | 0.1.1 | Package rename to `@appsforgood/next-supabase-kit`, harness readiness gates, adapter install on init, publish prep | `CHANGELOG.md` 0.1.1 entry, `npm run release:check` green, commit `37e1a0f` | lukey662 |
|
|
82
|
+
| 2026-07-02 | none | 0.1.1 (self-install) | Dogfooded the kit into this repo's own root: `agent-kit init` installed root docs, `.agent-kit/`, and confirmed the Cursor rules' referenced files exist | `.agent-kit/manifest.json`, `agent-kit audit` zero failures, `COUNCIL.md` 2026-07-02 session | lukey662 |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name = "accessibility-pass"
|
|
2
|
+
description = "Run a WCAG 2.1 AA-oriented UI pass for semantics, keyboard flow, focus, labels, contrast, and motion."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the accessibility pass workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/skills/accessibility-wcag.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Check semantics, headings, landmarks, forms, labels, tables, buttons, and ARIA use.
|
|
11
|
+
2. Check keyboard navigation, visible focus, tab order, escape/close behavior, and skip path when applicable.
|
|
12
|
+
3. Check contrast, reduced motion, error association, touch targets, and status announcements.
|
|
13
|
+
4. Keep accessibility checks separate from visual-only approval.
|
|
14
|
+
|
|
15
|
+
Required outputs: accessibility findings by severity, fixes made or proposed, skipped checks, test evidence, remaining risks.
|
|
16
|
+
"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name = "browser-qa"
|
|
2
|
+
description = "Run a live browser QA loop with desktop, mobile, state, and authenticated screen evidence."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the live browser QA workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, .agent-kit/prompts/screenshot-review.md, .agent-kit/prompts/visual-qa-plan.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Start or identify the dev/preview server and target routes.
|
|
11
|
+
2. Open the target with required auth, role, tenant, and data state.
|
|
12
|
+
3. Capture desktop and mobile screenshots.
|
|
13
|
+
4. Run detector, screenshot critique, accessibility pass, and responsive cleanup.
|
|
14
|
+
5. Apply scoped fixes and repeat until no blockers remain and major findings are fixed or documented.
|
|
15
|
+
6. Record evidence with agent-kit session output when Agent Studio is in use.
|
|
16
|
+
|
|
17
|
+
Required outputs: route, auth state, commands run, screenshots, detector results, fixes, final verdict.
|
|
18
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name = "distinctiveness-pass"
|
|
2
|
+
description = "Check that UI is product-specific, source-safe, and not generic SaaS or AI-site styling."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the visual distinctiveness pass workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, MESSAGING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/skills/frontend-distinctiveness-benchmark.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Compare the first viewport to product category, audience, workflow, and content fingerprint.
|
|
11
|
+
2. Confirm references were translated into lessons without copying source layouts, copy, assets, or brand marks.
|
|
12
|
+
3. Identify fake metrics, vague claims, abstract filler, interchangeable card stacks, and generic visual tropes.
|
|
13
|
+
4. Re-score distinctiveness and product quality where significant UI work is involved.
|
|
14
|
+
|
|
15
|
+
Required outputs: product-specific evidence, generic-risk findings, source-safety notes, required changes, final distinctiveness verdict.
|
|
16
|
+
"""
|
|
@@ -4,14 +4,15 @@ description = "Route frontend work through content-first design, accessibility,
|
|
|
4
4
|
prompt = """
|
|
5
5
|
Run the frontend-change workflow.
|
|
6
6
|
|
|
7
|
-
Canonical sources: DESIGN.md, STYLE_GUIDE.md, MESSAGING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/design-briefs/, .agent-kit/prompts/screenshot-review.md,
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, MESSAGING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/design-briefs/, .agent-kit/prompts/screenshot-review.md, .agent-kit/prompts/ui-command-index.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, .agent-kit/skills/frontend-design-system.md, and .agent-kit/skills/ui-improvement-harness.md.
|
|
8
8
|
|
|
9
9
|
Workflow:
|
|
10
10
|
1. Start with Frontend Design Lead before implementation.
|
|
11
11
|
2. Confirm brand/content intake, user needs, real content, creative direction, references, anti-references, and source-safety notes.
|
|
12
12
|
3. Require distinctiveness benchmark and product-quality scorecard for significant UI.
|
|
13
|
-
4.
|
|
14
|
-
5.
|
|
13
|
+
4. Apply the UI improvement command index when auditing, polishing, cleaning layout, reviewing screenshots, or running browser QA.
|
|
14
|
+
5. Preserve WCAG 2.1 AA, keyboard flow, responsive states, and loading/error/empty/success states.
|
|
15
|
+
6. Record UI detector findings, visual QA, and accessibility evidence with `agent-kit session output`.
|
|
15
16
|
|
|
16
|
-
Required outputs: design direction, reference evidence, product-specific UI rationale, state coverage, accessibility checks, desktop/mobile visual QA.
|
|
17
|
+
Required outputs: design direction, reference evidence, product-specific UI rationale, UI detector findings, state coverage, accessibility checks, desktop/mobile visual QA, authenticated screen evidence when applicable.
|
|
17
18
|
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name = "layout-cleanup"
|
|
2
|
+
description = "Clean crowded layouts, weak hierarchy, card nesting, overflow, and inconsistent spacing."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the layout cleanup workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Identify primary task, secondary tasks, content hierarchy, and target viewport range.
|
|
11
|
+
2. Remove unnecessary nesting, repeated surfaces, card-within-card patterns, arbitrary dividers, and workflow-obscuring decoration.
|
|
12
|
+
3. Normalize spacing, grouping, alignment, heading scale, and responsive containers.
|
|
13
|
+
4. Verify text fit, truncation, overlap, and horizontal overflow on desktop and mobile.
|
|
14
|
+
|
|
15
|
+
Required outputs: layout findings, cleanup actions, preserved workflow, desktop/mobile evidence, remaining layout risks.
|
|
16
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name = "responsive-cleanup"
|
|
2
|
+
description = "Verify and repair mobile and responsive UI behavior with required desktop and mobile evidence."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the responsive cleanup workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Review mobile width, desktop width, and project-specific breakpoint assumptions.
|
|
11
|
+
2. Verify tap targets, text fit, navigation, primary action visibility, sticky UI, scroll behavior, and viewport-safe spacing.
|
|
12
|
+
3. Verify relevant loading, empty, error, disabled, success, permission, and focus states on mobile.
|
|
13
|
+
4. Capture or request desktop and mobile screenshots before acceptance.
|
|
14
|
+
|
|
15
|
+
Required outputs: viewports checked, responsive findings, fixes made or proposed, screenshots, remaining risks.
|
|
16
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name = "screenshot-critique"
|
|
2
|
+
description = "Critique desktop, mobile, state, and authenticated screenshots against design and detector rules."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the screenshot critique workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, .agent-kit/prompts/screenshot-review.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Name each screenshot, viewport, route, auth state, data state, and UI state.
|
|
11
|
+
2. Run screenshot review, detector checklist, and accessibility risk scan.
|
|
12
|
+
3. Compare against DESIGN.md, STYLE_GUIDE.md, and selected creative direction.
|
|
13
|
+
4. Return concrete fixes and missing screenshot evidence.
|
|
14
|
+
|
|
15
|
+
Required outputs: screenshot inventory, blockers, high-value fixes, accepted areas, missing screenshots, release verdict.
|
|
16
|
+
"""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name = "ui-audit"
|
|
2
|
+
description = "Run a deterministic UI audit with severity-based detector findings and release evidence."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the UI audit workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Identify target route, component, workflow, auth state, data state, and risk tier.
|
|
11
|
+
2. Load product/design context and relevant design brief.
|
|
12
|
+
3. Review desktop and mobile evidence, or state which evidence must still be captured.
|
|
13
|
+
4. Run the UI detector checklist and classify blockers, majors, minors, passes, and not-applicable items.
|
|
14
|
+
5. Return required fixes, accepted exceptions, preserved capabilities, and pass/fail verdict.
|
|
15
|
+
|
|
16
|
+
Required outputs: target surface, risk tier, detector findings by severity, missing evidence, release verdict.
|
|
17
|
+
"""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name = "ui-polish"
|
|
2
|
+
description = "Improve UI hierarchy, spacing, state feedback, and visual finish through detector-guided polish."
|
|
3
|
+
|
|
4
|
+
prompt = """
|
|
5
|
+
Run the UI polish workflow.
|
|
6
|
+
|
|
7
|
+
Canonical sources: DESIGN.md, STYLE_GUIDE.md, TESTING.md, QUALITY_GATES.md, .agent-kit/agent-roster.json, .agent-kit/skills/ui-improvement-harness.md, .agent-kit/checklists/ui-detectors.md, .agent-kit/checklists/ui-acceptance-rubric.md, and .agent-kit/prompts/ui-command-index.md.
|
|
8
|
+
|
|
9
|
+
Workflow:
|
|
10
|
+
1. Start from detector findings, screenshots, or a named target surface.
|
|
11
|
+
2. Preserve product behavior, auth boundaries, copy claims, data contracts, and existing component patterns.
|
|
12
|
+
3. Improve hierarchy, spacing, density, alignment, component states, and interaction feedback.
|
|
13
|
+
4. Remove decorative clutter and generic SaaS or AI-site defaults.
|
|
14
|
+
5. Re-run detector and screenshot critique after the scoped polish pass.
|
|
15
|
+
|
|
16
|
+
Required outputs: polish goals, changes made or proposed, detector deltas, screenshot evidence, residual risks.
|
|
17
|
+
"""
|
package/antigravity/plugin.json
CHANGED
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
{ "name": "plan", "path": "commands/plan.toml" },
|
|
22
22
|
{ "name": "handoff", "path": "commands/handoff.toml" },
|
|
23
23
|
{ "name": "frontend", "path": "commands/frontend.toml" },
|
|
24
|
+
{ "name": "ui-audit", "path": "commands/ui-audit.toml" },
|
|
25
|
+
{ "name": "ui-polish", "path": "commands/ui-polish.toml" },
|
|
26
|
+
{ "name": "layout-cleanup", "path": "commands/layout-cleanup.toml" },
|
|
27
|
+
{ "name": "responsive-cleanup", "path": "commands/responsive-cleanup.toml" },
|
|
28
|
+
{ "name": "accessibility-pass", "path": "commands/accessibility-pass.toml" },
|
|
29
|
+
{ "name": "distinctiveness-pass", "path": "commands/distinctiveness-pass.toml" },
|
|
30
|
+
{ "name": "screenshot-critique", "path": "commands/screenshot-critique.toml" },
|
|
31
|
+
{ "name": "browser-qa", "path": "commands/browser-qa.toml" },
|
|
24
32
|
{ "name": "security", "path": "commands/security.toml" },
|
|
25
33
|
{ "name": "copy", "path": "commands/copy.toml" },
|
|
26
34
|
{ "name": "ship", "path": "commands/ship.toml" },
|
|
@@ -38,6 +46,7 @@
|
|
|
38
46
|
{ "name": "frontend-distinctiveness-benchmark", "path": "../runtime-skills/frontend-distinctiveness-benchmark/SKILL.md" },
|
|
39
47
|
{ "name": "frontend-product-quality-rubric", "path": "../runtime-skills/frontend-product-quality-rubric/SKILL.md" },
|
|
40
48
|
{ "name": "landing-page-copy", "path": "../runtime-skills/landing-page-copy/SKILL.md" },
|
|
49
|
+
{ "name": "ui-improvement-harness", "path": "../runtime-skills/ui-improvement-harness/SKILL.md" },
|
|
41
50
|
{ "name": "nextjs-app-router", "path": "../runtime-skills/nextjs-app-router/SKILL.md" },
|
|
42
51
|
{ "name": "onboarding-empty-state-copy", "path": "../runtime-skills/onboarding-empty-state-copy/SKILL.md" },
|
|
43
52
|
{ "name": "owasp-security-review", "path": "../runtime-skills/owasp-security-review/SKILL.md" },
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# UI Acceptance Rubric
|
|
2
|
+
|
|
3
|
+
Use this rubric after the UI detector checklist, screenshot critique, accessibility pass, and browser QA loop.
|
|
4
|
+
|
|
5
|
+
## Pass/Fail
|
|
6
|
+
|
|
7
|
+
| Verdict | Criteria |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| fail | Any blocker remains, required screenshot evidence is missing, or authenticated screens were not reviewed when auth is required |
|
|
10
|
+
| conditional | No blockers remain, but major findings need documented owner, rationale, or follow-up before high-risk release |
|
|
11
|
+
| pass | No blockers remain, major findings are fixed or explicitly accepted, and evidence covers viewports, states, and auth needs |
|
|
12
|
+
| strong | Pass criteria plus clear product specificity, accessible keyboard flow, responsive resilience, and state coverage for the workflow |
|
|
13
|
+
|
|
14
|
+
## Required Evidence
|
|
15
|
+
|
|
16
|
+
- Target surface: route, component, flow, or screenshot set.
|
|
17
|
+
- Product context source: `DESIGN.md`, `STYLE_GUIDE.md`, design brief, or documented override.
|
|
18
|
+
- Viewports: desktop and mobile dimensions.
|
|
19
|
+
- Auth state: public, signed-in, role, tenant, permission, or explicit not-applicable.
|
|
20
|
+
- Data state: realistic, empty, loading, error, or fixture notes.
|
|
21
|
+
- Screenshots: first viewport, primary workflow, mobile, and highest-risk state.
|
|
22
|
+
- Checks: detector checklist, accessibility pass, screenshot critique, and visual QA tier.
|
|
23
|
+
|
|
24
|
+
## Release Blocking Rules
|
|
25
|
+
|
|
26
|
+
- Block release for any blocker detector.
|
|
27
|
+
- Block high-risk UI release when desktop or mobile screenshot evidence is missing.
|
|
28
|
+
- Block authenticated workflow release when no signed-in or permission-state evidence exists.
|
|
29
|
+
- Block acceptance when loading, empty, error, disabled, success, permission, or focus states are relevant but omitted without rationale.
|
|
30
|
+
- Block best-practice claims when product specificity, accessibility, or source safety is weak.
|
|
31
|
+
|
|
32
|
+
## Risk Tiers
|
|
33
|
+
|
|
34
|
+
| Tier | Use When | Minimum Evidence |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| low | Copy-only or isolated cosmetic change to a stable component | Targeted screenshot or component evidence plus detector review |
|
|
37
|
+
| medium | Layout, responsive, or state changes on a user-facing surface | Desktop and mobile screenshots plus relevant state evidence |
|
|
38
|
+
| high | Authenticated workflow, checkout, data mutation, admin, onboarding, or shared component system | Desktop, mobile, auth/permission, error/empty/loading, keyboard/focus, and smoke evidence |
|
|
39
|
+
|
|
40
|
+
## Exception Rules
|
|
41
|
+
|
|
42
|
+
Exceptions are allowed only when:
|
|
43
|
+
|
|
44
|
+
- The finding is not a blocker.
|
|
45
|
+
- The rationale names product or technical constraints.
|
|
46
|
+
- The owner and follow-up path are documented.
|
|
47
|
+
- The exception does not weaken auth, accessibility, data integrity, or source safety.
|
|
48
|
+
|
|
49
|
+
## Output Format
|
|
50
|
+
|
|
51
|
+
Return:
|
|
52
|
+
|
|
53
|
+
1. Verdict: fail, conditional, pass, or strong.
|
|
54
|
+
2. Risk tier and target surface.
|
|
55
|
+
3. Evidence reviewed.
|
|
56
|
+
4. Blockers, majors, minors, and accepted exceptions.
|
|
57
|
+
5. Required fixes before release.
|
|
58
|
+
6. Follow-up work after release.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# UI Detector Checklist
|
|
2
|
+
|
|
3
|
+
Use this deterministic checklist for UI audit, polish, layout cleanup, responsive cleanup, screenshot critique, and browser QA. Mark each item as `blocker`, `major`, `minor`, `pass`, or `not-applicable`.
|
|
4
|
+
|
|
5
|
+
## Severity
|
|
6
|
+
|
|
7
|
+
| Severity | Meaning |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| blocker | Prevents release because a user cannot complete the workflow, the UI is inaccessible, or required evidence is missing |
|
|
10
|
+
| major | Degrades comprehension, trust, responsiveness, or state handling enough that high-risk UI should not ship without a fix or accepted exception |
|
|
11
|
+
| minor | Polish issue that should be fixed when nearby but does not block normal release |
|
|
12
|
+
| pass | Checked and acceptable for the target surface |
|
|
13
|
+
| not-applicable | The detector does not apply to this surface or state |
|
|
14
|
+
|
|
15
|
+
## Layout And Hierarchy
|
|
16
|
+
|
|
17
|
+
| Detector | Blocker Signal | Major Signal |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| Crowded layout | Primary workflow cannot be identified or completed | Too many competing sections, controls, badges, or panels |
|
|
20
|
+
| Weak hierarchy | Primary action or current state is hidden | Headings, labels, and actions do not establish clear priority |
|
|
21
|
+
| Inconsistent spacing | Spacing causes overlap or unusable controls | Density, gaps, padding, or alignment shift without system logic |
|
|
22
|
+
| Card-within-card | Nested containers obscure the workflow or trap scroll | Decorative nested panels add visual noise without information value |
|
|
23
|
+
| Poor grouping | Related controls are separated or unrelated items are grouped | Scan path is unclear or section boundaries are arbitrary |
|
|
24
|
+
|
|
25
|
+
## Responsive And Mobile
|
|
26
|
+
|
|
27
|
+
| Detector | Blocker Signal | Major Signal |
|
|
28
|
+
| --- | --- | --- |
|
|
29
|
+
| Poor tap targets | Critical control is too small, overlapped, or unreachable | Repeated controls feel cramped or hard to tap |
|
|
30
|
+
| Truncation or overflow | Text, inputs, tables, or controls clip essential content | Labels wrap badly, overflow horizontally, or push layout off-screen |
|
|
31
|
+
| Mobile hierarchy | Mobile first screen hides the primary task or action | Desktop order collapses into a confusing mobile sequence |
|
|
32
|
+
| Sticky or fixed UI | Fixed header/footer covers content or controls | Sticky UI consumes too much viewport or causes awkward scrolling |
|
|
33
|
+
| Orientation and narrow widths | Page breaks at common mobile widths | Responsive behavior is untested below tablet width |
|
|
34
|
+
|
|
35
|
+
## States And Feedback
|
|
36
|
+
|
|
37
|
+
| Detector | Blocker Signal | Major Signal |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
| Missing loading state | User can trigger duplicate or unsafe action while waiting | Loading state exists but does not preserve layout or context |
|
|
40
|
+
| Missing empty state | Empty data leaves a dead end | Empty state lacks next action or domain-specific guidance |
|
|
41
|
+
| Missing error state | Failure is silent or blocks recovery | Error is vague, unactionable, or visually disconnected |
|
|
42
|
+
| Missing disabled state | Disabled action looks enabled or loses explanation | Disabled state lacks affordance, label, or contrast |
|
|
43
|
+
| Missing success feedback | User cannot tell whether action completed | Success message is too subtle, transient, or ambiguous |
|
|
44
|
+
| Missing permission state | Protected UI leaks actions or fails without explanation | Permission limitation is not clear to the affected role |
|
|
45
|
+
| Weak interaction feedback | Focus, selected, hover, pressed, or active state is absent on critical controls | State feedback is inconsistent across similar controls |
|
|
46
|
+
|
|
47
|
+
## Accessibility
|
|
48
|
+
|
|
49
|
+
| Detector | Blocker Signal | Major Signal |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| Keyboard path | Critical workflow cannot be completed by keyboard | Tab order is confusing or focus moves unexpectedly |
|
|
52
|
+
| Focus visibility | Focus indicator is absent on interactive controls | Focus is low contrast or inconsistent |
|
|
53
|
+
| Semantic structure | Heading, landmark, form, table, or button semantics block assistive tech use | Semantics are mostly present but incomplete |
|
|
54
|
+
| Labels and errors | Inputs or controls lack accessible names or error association | Labels exist but are vague, duplicate, or visually disconnected |
|
|
55
|
+
| Contrast | Text or critical controls fail WCAG 2.1 AA contrast | Secondary text or state colors are borderline |
|
|
56
|
+
| Motion | Motion prevents comprehension or ignores reduced-motion need | Motion distracts from workflow or feels inconsistent |
|
|
57
|
+
|
|
58
|
+
## Distinctiveness And Source Safety
|
|
59
|
+
|
|
60
|
+
| Detector | Blocker Signal | Major Signal |
|
|
61
|
+
| --- | --- | --- |
|
|
62
|
+
| Generic SaaS styling | First screen could fit another product by changing logo and headline | Visual direction relies on common cards, gradients, fake dashboards, or vague claims |
|
|
63
|
+
| Missing content fingerprint | UI hides missing product decisions behind placeholders | Real nouns, records, actions, or edge cases are too sparse |
|
|
64
|
+
| Weak visual identity | No product-specific density, typography, imagery, or interaction point of view | Direction is coherent but category-generic |
|
|
65
|
+
| Unsafe reference use | Copy, assets, layout signature, or brand identity appear copied | References are cited without lessons and anti-copy notes |
|
|
66
|
+
| Fake or unsupported proof | Fake metrics or claims imply unavailable capability | Proof exists but is not tied to actual product behavior |
|
|
67
|
+
|
|
68
|
+
## Evidence Requirements
|
|
69
|
+
|
|
70
|
+
- Desktop screenshot reviewed.
|
|
71
|
+
- Mobile screenshot reviewed.
|
|
72
|
+
- Highest-risk state screenshot reviewed.
|
|
73
|
+
- Authenticated or permission-state screenshot reviewed when applicable.
|
|
74
|
+
- Browser route, viewport, data fixture, and user role named.
|
|
75
|
+
- Detector exceptions documented with rationale and owner.
|