@appsforgood/next-supabase-kit 0.3.0 → 0.4.1
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 +19 -0
- package/README.md +22 -555
- package/UPGRADE.md +18 -73
- package/USER_GUIDE.html +808 -0
- package/USER_GUIDE.md +183 -0
- package/agents/app-engineer/agent.md +34 -0
- package/agents/copy/agent.md +40 -0
- package/agents/design/agent.md +33 -0
- package/agents/optional/deploy/agent.md +18 -0
- package/agents/optional/docs/agent.md +16 -0
- package/agents/optional/lead-architect/agent.md +20 -0
- package/agents/optional/research/agent.md +16 -0
- package/agents/planner/agent.md +37 -0
- package/agents/qa/agent.md +37 -0
- package/agents/security/agent.md +30 -0
- package/assistant-adapters/cursor-agent-kit.mdc +5 -26
- package/catalog.json +21 -0
- package/dist/index.js +931 -8227
- package/dist/index.js.map +1 -1
- package/examples/next-supabase-installed/.agent-kit/config.json +23 -26
- package/examples/next-supabase-installed/.agent-kit/manifest.json +83 -222
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/browser-qa.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/copy.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/frontend.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/plan.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/security.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/ship.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/commands/test.toml +6 -0
- package/examples/next-supabase-installed/.antigravity/agent-kit/plugin.json +12 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/accessibility-wcag/SKILL.md +26 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/browser-qa/SKILL.md +67 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/deslop/SKILL.md +62 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/frontend-design/SKILL.md +107 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/nextjs-app-router/SKILL.md +23 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/owasp-security-review/SKILL.md +23 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/planning/SKILL.md +25 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/postgres-migrations/SKILL.md +21 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/product-copy/SKILL.md +54 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/ship/SKILL.md +22 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/supabase-auth-rls/SKILL.md +23 -0
- package/examples/next-supabase-installed/.antigravity/runtime-skills/testing-qa/SKILL.md +27 -0
- package/examples/next-supabase-installed/.claude/agents/app-engineer.md +34 -0
- package/examples/next-supabase-installed/.claude/agents/copy.md +40 -0
- package/examples/next-supabase-installed/.claude/agents/design.md +33 -0
- package/examples/next-supabase-installed/.claude/agents/planner.md +37 -0
- package/examples/next-supabase-installed/.claude/agents/qa.md +37 -0
- package/examples/next-supabase-installed/.claude/agents/security.md +30 -0
- package/examples/next-supabase-installed/.codex/agents/app-engineer.toml +41 -0
- package/examples/next-supabase-installed/.codex/agents/copy.toml +47 -0
- package/examples/next-supabase-installed/.codex/agents/design.toml +40 -0
- package/examples/next-supabase-installed/.codex/agents/planner.toml +44 -0
- package/examples/next-supabase-installed/.codex/agents/qa.toml +44 -0
- package/examples/next-supabase-installed/.codex/agents/security.toml +37 -0
- package/examples/next-supabase-installed/.cursor/agents/app-engineer.md +34 -0
- package/examples/next-supabase-installed/.cursor/agents/copy.md +40 -0
- package/examples/next-supabase-installed/.cursor/agents/design.md +33 -0
- package/examples/next-supabase-installed/.cursor/agents/planner.md +37 -0
- package/examples/next-supabase-installed/.cursor/agents/qa.md +37 -0
- package/examples/next-supabase-installed/.cursor/agents/security.md +30 -0
- package/examples/next-supabase-installed/.cursor/rules/cursor-agent-kit.mdc +12 -0
- package/examples/next-supabase-installed/.cursor/skills/accessibility-wcag/SKILL.md +26 -0
- package/examples/next-supabase-installed/.cursor/skills/browser-qa/SKILL.md +67 -0
- package/examples/next-supabase-installed/.cursor/skills/deslop/SKILL.md +62 -0
- package/examples/next-supabase-installed/.cursor/skills/frontend-design/SKILL.md +107 -0
- package/examples/next-supabase-installed/.cursor/skills/nextjs-app-router/SKILL.md +23 -0
- package/examples/next-supabase-installed/.cursor/skills/owasp-security-review/SKILL.md +23 -0
- package/examples/next-supabase-installed/.cursor/skills/planning/SKILL.md +25 -0
- package/examples/next-supabase-installed/.cursor/skills/postgres-migrations/SKILL.md +21 -0
- package/examples/next-supabase-installed/.cursor/skills/product-copy/SKILL.md +54 -0
- package/examples/next-supabase-installed/.cursor/skills/ship/SKILL.md +22 -0
- package/examples/next-supabase-installed/.cursor/skills/supabase-auth-rls/SKILL.md +23 -0
- package/examples/next-supabase-installed/.cursor/skills/testing-qa/SKILL.md +27 -0
- package/examples/next-supabase-installed/.github/copilot-instructions.md +23 -0
- package/examples/next-supabase-installed/AGENTS.md +30 -0
- package/examples/next-supabase-installed/CLAUDE.md +7 -0
- package/examples/next-supabase-installed/README.md +2 -14
- package/examples/next-supabase-installed/USER_GUIDE.html +808 -0
- package/examples/next-supabase-installed/USER_GUIDE.md +183 -0
- package/examples/next-supabase-installed/skills/accessibility-wcag/SKILL.md +26 -0
- package/examples/next-supabase-installed/skills/browser-qa/SKILL.md +67 -0
- package/examples/next-supabase-installed/skills/deslop/SKILL.md +62 -0
- package/examples/next-supabase-installed/skills/frontend-design/SKILL.md +107 -0
- package/examples/next-supabase-installed/skills/nextjs-app-router/SKILL.md +23 -0
- package/examples/next-supabase-installed/skills/owasp-security-review/SKILL.md +23 -0
- package/examples/next-supabase-installed/skills/planning/SKILL.md +25 -0
- package/examples/next-supabase-installed/skills/postgres-migrations/SKILL.md +21 -0
- package/examples/next-supabase-installed/skills/product-copy/SKILL.md +54 -0
- package/examples/next-supabase-installed/skills/ship/SKILL.md +22 -0
- package/examples/next-supabase-installed/skills/supabase-auth-rls/SKILL.md +23 -0
- package/examples/next-supabase-installed/skills/testing-qa/SKILL.md +27 -0
- package/examples/next-supabase-installed/tree.txt +60 -42
- package/package.json +20 -46
- package/research/agent-skill-gap-report.md +133 -0
- package/skills/accessibility-wcag/SKILL.md +26 -0
- package/skills/browser-qa/SKILL.md +67 -0
- package/skills/deslop/SKILL.md +62 -0
- package/skills/frontend-design/SKILL.md +107 -0
- package/skills/nextjs-app-router/SKILL.md +23 -0
- package/skills/optional/debug/SKILL.md +11 -0
- package/skills/optional/docs/SKILL.md +10 -0
- package/skills/optional/ui-polish/SKILL.md +10 -0
- package/skills/optional/upgrade/SKILL.md +10 -0
- package/skills/owasp-security-review/SKILL.md +23 -0
- package/skills/planning/SKILL.md +25 -0
- package/skills/postgres-migrations/SKILL.md +21 -0
- package/skills/product-copy/SKILL.md +54 -0
- package/skills/ship/SKILL.md +22 -0
- package/skills/supabase-auth-rls/SKILL.md +23 -0
- package/skills/testing-qa/SKILL.md +27 -0
- package/templates/next-supabase/AGENTS.md +19 -129
- package/templates/next-supabase/CLAUDE.md +4 -36
- package/BEST_PRACTICE_EVIDENCE.md +0 -45
- package/DOGFOOD.md +0 -201
- package/GOVERNANCE.md +0 -45
- package/LOOP_CODING.md +0 -107
- package/MAINTAINER_RELEASE.md +0 -100
- package/REPOSITORY_SETTINGS.md +0 -83
- package/RESEARCH_CITATION_POLICY.md +0 -26
- package/SUPPLY_CHAIN.md +0 -57
- package/agents/deployment-observability-engineer.md +0 -13
- package/agents/docs-maintainer.md +0 -17
- package/agents/frontend-design-lead.md +0 -22
- package/agents/lead-architect.md +0 -25
- package/agents/marketing-copy-lead.md +0 -20
- package/agents/nextjs-engineer.md +0 -20
- package/agents/planner.md +0 -20
- package/agents/qa-engineer.md +0 -19
- package/agents/research-analyst.md +0 -13
- package/agents/security-reviewer.md +0 -16
- package/agents/supabase-postgres-engineer.md +0 -19
- package/antigravity/commands/accessibility-pass.toml +0 -16
- package/antigravity/commands/audit.toml +0 -16
- package/antigravity/commands/browser-qa.toml +0 -18
- package/antigravity/commands/copy.toml +0 -16
- package/antigravity/commands/distinctiveness-pass.toml +0 -16
- package/antigravity/commands/frontend.toml +0 -18
- package/antigravity/commands/handoff.toml +0 -16
- package/antigravity/commands/layout-cleanup.toml +0 -16
- package/antigravity/commands/plan.toml +0 -18
- package/antigravity/commands/responsive-cleanup.toml +0 -16
- package/antigravity/commands/review.toml +0 -16
- package/antigravity/commands/screenshot-critique.toml +0 -16
- package/antigravity/commands/security.toml +0 -16
- package/antigravity/commands/setup.toml +0 -16
- package/antigravity/commands/ship.toml +0 -17
- package/antigravity/commands/spec.toml +0 -17
- package/antigravity/commands/test.toml +0 -17
- package/antigravity/commands/ui-audit.toml +0 -17
- package/antigravity/commands/ui-polish.toml +0 -17
- package/antigravity/commands/upgrade.toml +0 -17
- package/antigravity/plugin.json +0 -70
- package/assistant-adapters/antigravity.md +0 -65
- package/assistant-adapters/claude-code-subagents.md +0 -38
- package/assistant-adapters/codex-agents.md +0 -53
- package/assistant-adapters/cursor-frontend.mdc +0 -16
- package/assistant-adapters/cursor-planner.mdc +0 -14
- package/assistant-adapters/cursor-security.mdc +0 -18
- package/assistant-adapters/github-copilot-instructions.md +0 -35
- package/assistant-adapters/github-next-supabase.instructions.md +0 -28
- package/assistant-adapters/model-selection/claude-code-subagents-with-models.md +0 -32
- package/assistant-adapters/model-selection/codex-config.example.toml +0 -32
- package/assistant-adapters/model-selection/cursor-model-selection.mdc +0 -24
- package/assistant-adapters/model-selection/github-copilot-model-selection.md +0 -20
- package/assistant-adapters/orchestrator-runtime.md +0 -39
- package/checklists/accessibility.md +0 -12
- package/checklists/agent-council.md +0 -13
- package/checklists/brand-content.md +0 -15
- package/checklists/deployment.md +0 -10
- package/checklists/design-critique.md +0 -13
- package/checklists/frontend-distinctiveness.md +0 -12
- package/checklists/frontend-product-quality.md +0 -13
- package/checklists/frontend-quality.md +0 -21
- package/checklists/marketing-copy.md +0 -11
- package/checklists/owasp.md +0 -12
- package/checklists/rls.md +0 -10
- package/checklists/testing.md +0 -12
- package/checklists/ui-acceptance-rubric.md +0 -58
- package/checklists/ui-detectors.md +0 -81
- package/checklists/upgrade.md +0 -13
- package/checklists/visual-regression.md +0 -11
- package/design-adapters/claude-design.prompt.md +0 -27
- package/design-adapters/figma.prompt.md +0 -18
- package/design-adapters/google-stitch.prompt.md +0 -36
- package/design-adapters/human-designer-brief.prompt.md +0 -36
- package/design-briefs/admin-dashboard.md +0 -21
- package/design-briefs/ai-workflow-product.md +0 -25
- package/design-briefs/community-social.md +0 -26
- package/design-briefs/content-app.md +0 -21
- package/design-briefs/ecommerce.md +0 -25
- package/design-briefs/education-course.md +0 -25
- package/design-briefs/marketplace.md +0 -21
- package/design-briefs/portfolio-venue.md +0 -25
- package/design-briefs/saas.md +0 -21
- package/design-briefs/tool.md +0 -21
- package/examples/next-supabase-installed/.agent-kit/agent-roster.json +0 -267
- package/examples/next-supabase-installed/.agent-kit/model-routing.json +0 -171
- package/examples/next-supabase-installed/.agent-kit/overrides.json +0 -3
- package/examples/next-supabase-installed/audit-output.json +0 -405
- package/model-routing/default-model-routing.json +0 -171
- package/profiles/admin-app.md +0 -17
- package/profiles/content-app.md +0 -17
- package/profiles/marketplace.md +0 -17
- package/profiles/saas.md +0 -17
- package/profiles/stack-next-firebase.md +0 -25
- package/profiles/stack-next-postgres.md +0 -24
- package/profiles/stack-remix-supabase.md +0 -24
- package/prompts/audit-project-setup.md +0 -28
- package/prompts/brand-content-intake.md +0 -17
- package/prompts/copy-review.md +0 -15
- package/prompts/council-session-review.md +0 -17
- package/prompts/creative-direction-matrix.md +0 -22
- package/prompts/design-critique-gate.md +0 -28
- package/prompts/docs-update.md +0 -16
- package/prompts/frontend-design-review.md +0 -35
- package/prompts/frontend-distinctiveness-benchmark.md +0 -32
- package/prompts/frontend-product-quality-scorecard.md +0 -35
- package/prompts/implement-feature.md +0 -14
- package/prompts/lifecycle-command-index.md +0 -180
- package/prompts/migration-review.md +0 -14
- package/prompts/screenshot-review.md +0 -28
- package/prompts/security-review.md +0 -17
- package/prompts/ui-command-index.md +0 -124
- package/prompts/upgrade-review.md +0 -18
- package/prompts/visual-qa-plan.md +0 -16
- package/research/proposed-updates.md +0 -70
- package/research/scan-config.json +0 -261
- package/research/scan-plan.md +0 -24
- package/research/summaries/.gitkeep +0 -1
- package/research/summaries/agent-workflow-patterns.md +0 -37
- package/research/summaries/agentic-engineering-maturity-levels.md +0 -54
- package/research/summaries/creative-design-patterns.md +0 -38
- package/research/summaries/design-critique-patterns.md +0 -34
- package/research/summaries/docs-and-agent-patterns.md +0 -64
- package/research/summaries/dogfood-adoption-patterns.md +0 -33
- package/research/summaries/frontend-design-patterns.md +0 -64
- package/research/summaries/frontend-distinctiveness-benchmark-patterns.md +0 -38
- package/research/summaries/frontend-product-quality-rubric-patterns.md +0 -37
- package/research/summaries/maturity-model-patterns.md +0 -29
- package/research/summaries/nextjs-patterns.md +0 -65
- package/research/summaries/repo-health-patterns.md +0 -41
- package/research/summaries/scan-overview.md +0 -46
- package/research/summaries/security-patterns.md +0 -64
- package/research/summaries/supabase-rls-patterns.md +0 -54
- package/research/summaries/supply-chain-patterns.md +0 -38
- package/research/summaries/testing-patterns.md +0 -63
- package/research/summaries/upgrade-lifecycle-patterns.md +0 -26
- package/research/summaries/visual-qa-patterns.md +0 -39
- package/rosters/next-supabase-default-council.json +0 -267
- package/runtime-skills/README.md +0 -7
- package/runtime-skills/accessibility-wcag/SKILL.md +0 -8
- package/runtime-skills/agent-handoff-tracing/SKILL.md +0 -8
- package/runtime-skills/best-practice-maturity-review/SKILL.md +0 -8
- package/runtime-skills/content-first-design/SKILL.md +0 -8
- package/runtime-skills/conversion-copywriting/SKILL.md +0 -8
- package/runtime-skills/deployment-observability/SKILL.md +0 -8
- package/runtime-skills/docs-maintainer/SKILL.md +0 -8
- package/runtime-skills/frontend-design-system/SKILL.md +0 -8
- package/runtime-skills/frontend-distinctiveness-benchmark/SKILL.md +0 -8
- package/runtime-skills/frontend-product-quality-rubric/SKILL.md +0 -8
- package/runtime-skills/landing-page-copy/SKILL.md +0 -8
- package/runtime-skills/nextjs-app-router/SKILL.md +0 -8
- package/runtime-skills/onboarding-empty-state-copy/SKILL.md +0 -8
- package/runtime-skills/owasp-security-review/SKILL.md +0 -8
- package/runtime-skills/planning-council/SKILL.md +0 -8
- package/runtime-skills/positioning-messaging/SKILL.md +0 -8
- package/runtime-skills/postgres-migrations/SKILL.md +0 -8
- package/runtime-skills/product-voice-tone/SKILL.md +0 -8
- package/runtime-skills/reference-led-design-critique/SKILL.md +0 -8
- package/runtime-skills/supabase-auth-rls/SKILL.md +0 -8
- package/runtime-skills/testing-qa/SKILL.md +0 -8
- package/runtime-skills/ui-improvement-harness/SKILL.md +0 -12
- package/runtime-skills/upgrade-maintenance/SKILL.md +0 -8
- package/runtime-skills/visual-regression-qa/SKILL.md +0 -8
- package/schemas/agent-roster.schema.json +0 -54
- package/schemas/agentic-level.schema.json +0 -47
- package/schemas/audit-report-v2.schema.json +0 -71
- package/schemas/audit-report.schema.json +0 -50
- package/schemas/correction-rules.schema.json +0 -32
- package/schemas/council-session.schema.json +0 -65
- package/schemas/model-routing.schema.json +0 -72
- package/schemas/onboarding-state.schema.json +0 -36
- package/schemas/orchestrator.schema.json +0 -167
- package/schemas/project-context.schema.json +0 -94
- package/schemas/runtime-event.schema.json +0 -66
- package/schemas/runtime-run.schema.json +0 -58
- package/schemas/session-event.schema.json +0 -48
- package/schemas/studio-session.schema.json +0 -48
- package/skills/accessibility-wcag.md +0 -15
- package/skills/agent-handoff-tracing.md +0 -44
- package/skills/best-practice-maturity-review.md +0 -26
- package/skills/content-first-design.md +0 -50
- package/skills/conversion-copywriting.md +0 -38
- package/skills/deployment-observability.md +0 -14
- package/skills/docs-maintainer.md +0 -19
- package/skills/frontend-design-system.md +0 -68
- package/skills/frontend-distinctiveness-benchmark.md +0 -40
- package/skills/frontend-product-quality-rubric.md +0 -59
- package/skills/landing-page-copy.md +0 -29
- package/skills/nextjs-app-router.md +0 -18
- package/skills/onboarding-empty-state-copy.md +0 -37
- package/skills/owasp-security-review.md +0 -19
- package/skills/planning-council.md +0 -21
- package/skills/positioning-messaging.md +0 -42
- package/skills/postgres-migrations.md +0 -14
- package/skills/product-voice-tone.md +0 -35
- package/skills/reference-led-design-critique.md +0 -48
- package/skills/supabase-auth-rls.md +0 -20
- package/skills/testing-qa.md +0 -15
- package/skills/ui-improvement-harness.md +0 -96
- package/skills/upgrade-maintenance.md +0 -32
- package/skills/visual-regression-qa.md +0 -42
- package/templates/next-supabase/.agent-kit/orchestrator.json +0 -48
- package/templates/next-supabase/.agent-kit/runtime/gitignore.template +0 -2
- package/templates/next-supabase/.github/workflows/agent-kit-audit.yml +0 -34
- package/templates/next-supabase/AGENT_ROSTER.md +0 -101
- package/templates/next-supabase/ASSISTANT_ADAPTERS.md +0 -146
- package/templates/next-supabase/COUNCIL.md +0 -54
- package/templates/next-supabase/DECISIONS.md +0 -87
- package/templates/next-supabase/DEPLOYMENT.md +0 -51
- package/templates/next-supabase/DESIGN.md +0 -180
- package/templates/next-supabase/DOCS.md +0 -80
- package/templates/next-supabase/LOOP_CODING.md +0 -98
- package/templates/next-supabase/MESSAGING.md +0 -81
- package/templates/next-supabase/MODEL_ROUTING.md +0 -130
- package/templates/next-supabase/QUALITY_GATES.md +0 -98
- package/templates/next-supabase/SKILLS.md +0 -235
- package/templates/next-supabase/SPEC.md +0 -122
- package/templates/next-supabase/STYLE_GUIDE.md +0 -121
- package/templates/next-supabase/TESTING.md +0 -107
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: Use when building or reviewing user-facing UI. Commit one simple palette and type pairing. Reject default AI layouts, timid color spreads, and decoration that is not the task.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frontend Design
|
|
7
|
+
|
|
8
|
+
Build or review a screen as if a stranger must name the product from the first viewport. Simple and specific beats decorated.
|
|
9
|
+
|
|
10
|
+
Scan 2026-09-06 (structure only, no bodies copied): Anthropic `frontend-design` (updated 2026-06), addyosmani `frontend-ui-engineering`, `educlopez/ui-craft`, `funboy322/avoid-ai-design`, `superdesigndev/superdesign-skill`.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Any user-facing layout, component, HTML page, or “it looks generic.” Required for `USER_GUIDE.html` and for app screens.
|
|
15
|
+
|
|
16
|
+
## Ground in the subject
|
|
17
|
+
|
|
18
|
+
Name the product, the user, and this screen’s job before CSS. Tokens come from the domain (materials, time of day, one real object) — not from a theme pack. A toy store and a ledger cannot share a palette.
|
|
19
|
+
|
|
20
|
+
**This kit’s HTML** (`USER_GUIDE.html`): charcoal assignment desk.
|
|
21
|
+
|
|
22
|
+
| Token | Value |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| Paper | `#10100e` |
|
|
25
|
+
| Ink | `#eceae4` |
|
|
26
|
+
| Frame | `#070706` |
|
|
27
|
+
| Line | `#2a2823` |
|
|
28
|
+
| Safelight | `#ff5a2a` (required / fail only) |
|
|
29
|
+
| Pass | `#5ea37a` |
|
|
30
|
+
| Type | `"Helvetica Neue", Helvetica, Arial, ui-sans-serif` |
|
|
31
|
+
| Mono | `ui-monospace, Menlo, Consolas` |
|
|
32
|
+
| Radius | `2px` |
|
|
33
|
+
| Shadow | none |
|
|
34
|
+
|
|
35
|
+
**Downstream Next.js apps:** do not paste the kit desk onto a product. Extract or invent **4–6 hex tokens** from *this* product’s job. Write them before CSS. Inside an existing design system, stay surgical — swap tells, do not invent a second brand.
|
|
36
|
+
|
|
37
|
+
## Color — simple schemes that hold up
|
|
38
|
+
|
|
39
|
+
One field, one ink, one accent, one line. That is enough.
|
|
40
|
+
|
|
41
|
+
1. **Dominant field** (~80%): the page. Flat. Not a gradient, not a mesh.
|
|
42
|
+
2. **Ink** (~15%): body text. Contrast ≥ 4.5:1 (3:1 for large type).
|
|
43
|
+
3. **Accent** (~5%): one action or one required state. Recolor-as-decoration fails.
|
|
44
|
+
4. **Line / well**: borders and code wells, one step off the field.
|
|
45
|
+
|
|
46
|
+
Recipes (pick one that fits the product, then stop):
|
|
47
|
+
|
|
48
|
+
| Scheme | Field | Ink | Accent | Use when |
|
|
49
|
+
| --- | --- | --- | --- | --- |
|
|
50
|
+
| Charcoal desk | `#10100e` | `#eceae4` | `#ff5a2a` | Tools, manuals, this kit |
|
|
51
|
+
| Paper + ink | `#f4f4f1` | `#171717` | `#0b57d0` | Documents, settings, calm apps |
|
|
52
|
+
| Night + signal | `#0e1116` | `#e6edf3` | `#3fb950` | Ops, status, pass/fail |
|
|
53
|
+
| Warm shop | `#1c1916` | `#f3ece3` | `#e8a317` | Craft, commerce with real goods |
|
|
54
|
+
|
|
55
|
+
Do not:
|
|
56
|
+
|
|
57
|
+
- Spread six mid-chroma colors evenly.
|
|
58
|
+
- Use purple→blue, default `blue-600`, or untouched shadcn `zinc` as the identity.
|
|
59
|
+
- Use cream `#F4F1EA` + terracotta (the 2026 editorial default) unless the brief asks.
|
|
60
|
+
- Use acid green or neon vermilion on near-black as decoration.
|
|
61
|
+
- Treat Space Grotesk + slate, or any “tasteful” swap you used last week, as a new idea.
|
|
62
|
+
|
|
63
|
+
Prefer CSS variables. Self-contained kit HTML: no Google Fonts, no CDN CSS.
|
|
64
|
+
|
|
65
|
+
## Type
|
|
66
|
+
|
|
67
|
+
One family, or two that are obviously different (display vs mono). Inter + system sans is not a pairing. Roboto, Space Grotesk, and “the last distinctive font you used” are second-order defaults.
|
|
68
|
+
|
|
69
|
+
- Line length < 80 characters.
|
|
70
|
+
- Tight display tracking on large sans. Do not italicize or recolor one word of a headline.
|
|
71
|
+
- No tracked-out ALL-CAPS eyebrows, middle-dot meta (`A · B · C`), or `WORD — fragment` labels unless the content needs them.
|
|
72
|
+
- Numbered tickets only when the content is a real sequence.
|
|
73
|
+
|
|
74
|
+
## Layout
|
|
75
|
+
|
|
76
|
+
- First viewport = the characteristic thing: command, table, form, named owner. Not a slogan over atmosphere.
|
|
77
|
+
- Mobile (~390): the primary CTA still fits above the fold.
|
|
78
|
+
- Hierarchy from size, weight, and space — not from cards.
|
|
79
|
+
- Landing and marketing pages take a full direction. App chrome (settings, tables) stays quiet and dense.
|
|
80
|
+
- Reject: centered hero + two pills + three icon cards; glass navbar; four-column empty footer; fake metrics; broadsheet hairlines + dense newsprint columns (that look is itself a 2026 default).
|
|
81
|
+
|
|
82
|
+
## Motion
|
|
83
|
+
|
|
84
|
+
None, or one moment that answers a click. Fade-and-slide on every section is generated. Respect `prefers-reduced-motion`.
|
|
85
|
+
|
|
86
|
+
## Process
|
|
87
|
+
|
|
88
|
+
1. Name the product, the user, and the job of this screen.
|
|
89
|
+
2. Write the 4–6 tokens and one-sentence layout idea.
|
|
90
|
+
3. Check the plan is not a 2026 default (cream editorial, neon-on-black decoration, SaaS card kit, newsprint desk, last week’s “tasteful” swap). If it is, change one axis: field, accent, or structure.
|
|
91
|
+
4. Build. Spend boldness once. Remove one accessory.
|
|
92
|
+
5. Screenshot desktop (~1280) and mobile (~390). Fix from pixels. Ask: would a stranger believe a person chose this?
|
|
93
|
+
|
|
94
|
+
## Checks
|
|
95
|
+
|
|
96
|
+
- A stranger can name the product from the first screen.
|
|
97
|
+
- Loading, empty, error, disabled, success exist where the flow has them.
|
|
98
|
+
- Focus visible, tap targets usable.
|
|
99
|
+
- Copy on the screen is real. If words are public-facing, Copy runs `deslop` last.
|
|
100
|
+
|
|
101
|
+
## Tools
|
|
102
|
+
|
|
103
|
+
`browser` + `screenshot` + `image-review` first. Do not approve UI from TSX or HTML alone.
|
|
104
|
+
|
|
105
|
+
## Done when
|
|
106
|
+
|
|
107
|
+
Desktop and mobile images were read. Token list is in the change or in `DESIGN.md`. No P0 slop from `deslop` remains unless Design names it as an accepted exception.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-app-router
|
|
3
|
+
description: Use for Next.js App Router, Server Components, Client Components, Route Handlers, Server Actions, caching, forms, and metadata.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js App Router
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Routes, layouts, Server Components, Client Components, Server Actions, Route Handlers, data loading, caching, or revalidation.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Server Components are the default. Client Components are only for browser-only behavior.
|
|
15
|
+
- Secrets never enter client bundles.
|
|
16
|
+
- User-specific data is not stored in shared caches.
|
|
17
|
+
- Route params, query params, forms, and API bodies are validated.
|
|
18
|
+
- Loading, error, empty, and success states exist.
|
|
19
|
+
- Authorization is enforced on the server and in RLS, not only in the UI.
|
|
20
|
+
|
|
21
|
+
## Done when
|
|
22
|
+
|
|
23
|
+
The server/client boundary is explicit and the changed route can be opened in the browser.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: owasp-security-review
|
|
3
|
+
description: Use when reviewing auth, APIs, Server Actions, uploads, webhooks, dependencies, secrets, or data mutations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OWASP Security Review
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Auth, APIs, Server Actions, external fetches, uploads, webhooks, dependencies, or mutations.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Broken access control and IDOR are tested.
|
|
15
|
+
- Inputs are validated with safe schemas.
|
|
16
|
+
- Outputs are encoded; secrets are not logged or bundled.
|
|
17
|
+
- SSRF risk is addressed for server-side fetches.
|
|
18
|
+
- Dependencies are reviewed for known critical CVEs.
|
|
19
|
+
- Errors are explicit without leaking internals.
|
|
20
|
+
|
|
21
|
+
## Done when
|
|
22
|
+
|
|
23
|
+
Each finding has severity, affected behavior, and a concrete fix. User-visible auth failures were seen in the browser.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planning
|
|
3
|
+
description: Classify work, pick an owner, and name the evidence QA must capture. Use when the request is ambiguous, cross-layer, or needs a specialist.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Planning
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Planning, roadmaps, “what should we do,” or any request that needs an owner.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. Read enough of the repo to name affected routes and data.
|
|
15
|
+
2. Pick one owner: `app-engineer`, `security`, `design`, `qa`, or `copy`.
|
|
16
|
+
3. Add Security for auth/data/secrets, Design for UI, QA for behavior/UI, Copy for public words.
|
|
17
|
+
4. If the change is user-visible, list the desktop and mobile screenshots QA must capture.
|
|
18
|
+
|
|
19
|
+
## Done when
|
|
20
|
+
|
|
21
|
+
Owner, extra reviewers, preserved behavior, and required screenshots are explicit. No product code was written.
|
|
22
|
+
|
|
23
|
+
## Reject
|
|
24
|
+
|
|
25
|
+
Implementing in the planning pass. Asking one chat to play every role.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: postgres-migrations
|
|
3
|
+
description: Use for schema changes, migrations, constraints, indexes, and rollback risk.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Postgres Migrations
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Creating or changing tables, constraints, indexes, functions, triggers, or seed data.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Migrations are additive or have an explicit rollback path.
|
|
15
|
+
- Constraints protect integrity; indexes match real query paths.
|
|
16
|
+
- RLS is planned in the same change when the table holds user or tenant data.
|
|
17
|
+
- Generated types are refreshed after schema changes.
|
|
18
|
+
|
|
19
|
+
## Done when
|
|
20
|
+
|
|
21
|
+
Migration order and rollback risk are named. User data is not left unprotected.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-copy
|
|
3
|
+
description: Use for headlines, CTAs, empty states, and conversion copy. Review rendered screenshots, not only strings in source.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product Copy
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Landing pages, CTAs, positioning, onboarding, empty states, pricing copy, or the public user guide (`USER_GUIDE.html`).
|
|
11
|
+
|
|
12
|
+
## Audience
|
|
13
|
+
|
|
14
|
+
Engineers and coding agents on a Next.js + Supabase repo who already have Cursor, Claude, Codex, Copilot, or Antigravity. They do not need a manifesto. They need to know **who to @**, **what to paste**, and **what “done” looks like**.
|
|
15
|
+
|
|
16
|
+
## Positioning (this product)
|
|
17
|
+
|
|
18
|
+
Name the specialist. Prove the screen. Six agents, twelve skills, five IDEs. QA is two screenshots, not a file diff.
|
|
19
|
+
|
|
20
|
+
Do not describe this as an “agent operating system,” a copilot marketplace, or “AI-powered delivery.”
|
|
21
|
+
|
|
22
|
+
## Voice
|
|
23
|
+
|
|
24
|
+
Direct, specific, slightly dry. Prefer verbs: ask, paste, open, capture, reject.
|
|
25
|
+
|
|
26
|
+
Use: specialist, owner, screenshot, desktop, mobile, fail-closed, paste, Planner, browser-qa.
|
|
27
|
+
Avoid: supercharge, seamless, unlock, copilot for X, 10x, enterprise-grade, magic, revolutionize.
|
|
28
|
+
|
|
29
|
+
## Headline test
|
|
30
|
+
|
|
31
|
+
If the headline could sell GitHub Copilot, Cursor, or any agent marketplace, rewrite it.
|
|
32
|
+
|
|
33
|
+
Good: `Ask one specialist. Then open the running UI.`
|
|
34
|
+
Bad: `Supercharge your AI workflow with agents and skills.`
|
|
35
|
+
|
|
36
|
+
## CTA test
|
|
37
|
+
|
|
38
|
+
A CTA is a command or a pasteable prompt, not “Get started.”
|
|
39
|
+
|
|
40
|
+
Good: `Paste this to Planner` followed by the plan prompt.
|
|
41
|
+
Good: `npx --yes @appsforgood/next-supabase-kit init --activate all`
|
|
42
|
+
Bad: `Start building today`.
|
|
43
|
+
|
|
44
|
+
## Checks
|
|
45
|
+
|
|
46
|
+
- Audience, pain, and outcome are specific to this product.
|
|
47
|
+
- Claims are backed or marked as assumptions. Do not invent user counts or “best-in-class.”
|
|
48
|
+
- Headlines could not fit any competitor.
|
|
49
|
+
- CTAs say what happens next.
|
|
50
|
+
- Review the words on a screenshot for truncation, wrapping, and hierarchy. Copy that only exists in markdown is not approved for a public HTML page.
|
|
51
|
+
|
|
52
|
+
## Done when
|
|
53
|
+
|
|
54
|
+
Copy is specific and the rendered screenshot shows the key line and CTA clearly on desktop and mobile. Copy then runs `deslop` as the last pass — this skill is not the end of the run.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship
|
|
3
|
+
description: Use before release. Check env vars, migration order, smoke, and rollback. User-visible releases still need browser-qa evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ship
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Preparing to deploy, promote, or roll back.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Production-critical env vars are named.
|
|
15
|
+
- Migration order and rollback are explicit.
|
|
16
|
+
- Smoke of the primary path passed.
|
|
17
|
+
- User-visible changes have desktop and mobile screenshot evidence from `browser-qa`.
|
|
18
|
+
- Secrets are not in the repo or client bundle.
|
|
19
|
+
|
|
20
|
+
## Done when
|
|
21
|
+
|
|
22
|
+
Go / no-go is explicit, with commands run and rollback named.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: supabase-auth-rls
|
|
3
|
+
description: Use for Supabase Auth, SSR clients, middleware, sessions, Row Level Security, Storage policies, and service-role usage.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Supabase Auth And RLS
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Supabase Auth, SSR clients, middleware, sessions, tables, policies, Storage, or service-role operations.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- RLS is enabled on user-owned and tenant-owned tables.
|
|
15
|
+
- Policies enforce ownership and tenant boundaries.
|
|
16
|
+
- Service-role keys stay server-only.
|
|
17
|
+
- Auth middleware refreshes sessions safely.
|
|
18
|
+
- Storage buckets have explicit policies.
|
|
19
|
+
- IDOR is considered and tested at the policy boundary.
|
|
20
|
+
|
|
21
|
+
## Done when
|
|
22
|
+
|
|
23
|
+
A table that stores user data cannot be read or written across users without a failing policy. UI checks are not treated as authorization.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing-qa
|
|
3
|
+
description: Use when adding unit, regression, or smoke tests. Visual proof of a screen always also uses browser-qa.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Testing QA
|
|
7
|
+
|
|
8
|
+
## Use when
|
|
9
|
+
|
|
10
|
+
Adding or reviewing tests, smoke checks, or regression coverage.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Core logic has unit tests.
|
|
15
|
+
- Preserved behavior has regression tests.
|
|
16
|
+
- Critical flows have Playwright or equivalent smoke tests.
|
|
17
|
+
- Auth and mutation paths are prioritized.
|
|
18
|
+
- Network failure, empty, and error behavior is covered.
|
|
19
|
+
- Gaps are named when infrastructure is missing.
|
|
20
|
+
|
|
21
|
+
## Visual proof
|
|
22
|
+
|
|
23
|
+
User-visible screens also require `browser-qa`. This skill does not replace screenshots.
|
|
24
|
+
|
|
25
|
+
## Done when
|
|
26
|
+
|
|
27
|
+
Commands run, results, and residual gaps are listed.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copilot instructions
|
|
2
|
+
|
|
3
|
+
This repo uses a small agent and skill pack. Read `AGENTS.md` and `USER_GUIDE.md`.
|
|
4
|
+
|
|
5
|
+
When the user names a role, act as that agent:
|
|
6
|
+
|
|
7
|
+
- planner
|
|
8
|
+
- app-engineer
|
|
9
|
+
- security
|
|
10
|
+
- design
|
|
11
|
+
- qa
|
|
12
|
+
- copy
|
|
13
|
+
|
|
14
|
+
A user-visible change is not done until someone opened the running UI, captured desktop and mobile screenshots, and reviewed those images.
|
|
15
|
+
|
|
16
|
+
Do not review user-visible work from code alone. Use the browser-qa skill: open the app, capture desktop and mobile screenshots, read the images, then give accept / accept-with-nits / reject.
|
|
17
|
+
|
|
18
|
+
If you cannot open a browser, use Playwright:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx playwright screenshot --viewport-size=1280,720 "$URL" qa-evidence/<slug>/desktop.png
|
|
22
|
+
npx playwright screenshot --viewport-size=390,844 "$URL" qa-evidence/<slug>/mobile.png
|
|
23
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Agents
|
|
2
|
+
|
|
3
|
+
This repo uses a small specialist pack. **Agent** = who. **Skill** = how. **Tool** = what they must use.
|
|
4
|
+
|
|
5
|
+
Read `USER_GUIDE.md` for how to invoke these in Cursor, Claude, Codex, Copilot, and Antigravity.
|
|
6
|
+
|
|
7
|
+
## Screenshot rule
|
|
8
|
+
|
|
9
|
+
A user-visible change is not done until someone opened the running UI, captured desktop and mobile screenshots, and reviewed those images. Reading TSX is not QA.
|
|
10
|
+
|
|
11
|
+
## Who to ask
|
|
12
|
+
|
|
13
|
+
| Ask | Agent |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| Plan, scope, who owns this | `@planner` |
|
|
16
|
+
| Implement Next.js or Supabase | `@app-engineer` |
|
|
17
|
+
| Auth, RLS, secrets, OWASP | `@security` |
|
|
18
|
+
| UI looks wrong / generic | `@design` |
|
|
19
|
+
| Is this done? | `@qa` |
|
|
20
|
+
| Headlines, CTAs, empty states | `@copy` |
|
|
21
|
+
|
|
22
|
+
Do not ask one chat to be all six.
|
|
23
|
+
|
|
24
|
+
## Handoff
|
|
25
|
+
|
|
26
|
+
Planner names the owner. Security joins auth/data/secret work. Design joins user-facing screens. QA joins any behavior or UI change and **must use the browser**. Copy joins public/conversion copy. Stop there.
|
|
27
|
+
|
|
28
|
+
## Skills
|
|
29
|
+
|
|
30
|
+
Default skills live in `.cursor/skills/*/SKILL.md` (and the matching Claude/Codex/Antigravity copies). QA of a screen always uses `browser-qa`, not `testing-qa` alone. Copy finishes public words with `deslop`. Planner uses `planning` and names owners; it does not run the other agents. Each agent file points at `catalog.json` for the full skill list.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Claude Code
|
|
2
|
+
|
|
3
|
+
This repo uses a small agent and skill pack. Read `AGENTS.md` and `USER_GUIDE.md`.
|
|
4
|
+
|
|
5
|
+
Subagents live in `.claude/agents/`. Use the matching subagent instead of one generic thread.
|
|
6
|
+
|
|
7
|
+
A user-visible change is not done until someone opened the running UI, captured desktop and mobile screenshots, and reviewed those images. If you cannot open a browser, use the Playwright fallback in `skills/browser-qa/SKILL.md`.
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
# Example
|
|
1
|
+
# Example install
|
|
2
2
|
|
|
3
|
-
This
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npx @appsforgood/next-supabase-kit init --stack next-supabase
|
|
7
|
-
npx @appsforgood/next-supabase-kit audit --json
|
|
8
|
-
npx @appsforgood/next-supabase-kit audit --min-readiness baseline-setup
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The example is intentionally compact. It documents the generated structure, representative manifest metadata, Cursor adapter rules under `.cursor/rules/`, and expected audit shape without duplicating every template file. `npm run examples:check` verifies that these committed example files still match a clean install from the current built CLI.
|
|
12
|
-
|
|
13
|
-
The installed `.agent-kit/agent-roster.json` is the machine-readable default council contract used by agents and validated by `agent-kit audit`. New installs also include `COUNCIL.md`, `ASSISTANT_ADAPTERS.md`, `MODEL_ROUTING.md`, `UPGRADE.md`, `.agent-kit/model-routing.json`, `.agent-kit/assistant-adapters/`, `.agent-kit/schemas/`, `DESIGN.md`, and `QUALITY_GATES.md` so handoffs, tool-specific assistant activation, model selection, upgrade review, frontend brand/content intake, reference-led critique, product-quality scoring, creative direction, visual QA, and maturity evidence are explicit before implementation is accepted. Optional `.agent-kit/council-sessions/*.json` records are validated when present.
|
|
14
|
-
|
|
15
|
-
The sample audit intentionally reports `readiness.level: baseline-setup` with two warnings. A fresh install still contains starter placeholders and unverified assistant/model-selection rows; downstream projects should replace those with real project evidence before claiming strong or best-practice maturity.
|
|
3
|
+
This tree is what `agent-kit init --activate all` writes.
|