@appsforgood/next-supabase-kit 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +22 -548
- package/UPGRADE.md +11 -77
- package/USER_GUIDE.md +181 -0
- package/agents/app-engineer/agent.md +32 -0
- package/agents/copy/agent.md +27 -0
- package/agents/design/agent.md +27 -0
- package/agents/optional/deploy/agent.md +12 -0
- package/agents/optional/docs/agent.md +12 -0
- package/agents/optional/lead-architect/agent.md +12 -0
- package/agents/optional/research/agent.md +12 -0
- package/agents/planner/agent.md +29 -0
- package/agents/qa/agent.md +35 -0
- package/agents/security/agent.md +28 -0
- package/assistant-adapters/cursor-agent-kit.mdc +5 -26
- package/catalog.json +20 -0
- package/dist/index.js +892 -8219
- package/dist/index.js.map +1 -1
- package/examples/next-supabase-installed/.agent-kit/config.json +26 -0
- package/examples/next-supabase-installed/.agent-kit/manifest.json +78 -223
- 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/frontend-design/SKILL.md +26 -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 +22 -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 +32 -0
- package/examples/next-supabase-installed/.claude/agents/copy.md +27 -0
- package/examples/next-supabase-installed/.claude/agents/design.md +27 -0
- package/examples/next-supabase-installed/.claude/agents/planner.md +29 -0
- package/examples/next-supabase-installed/.claude/agents/qa.md +35 -0
- package/examples/next-supabase-installed/.claude/agents/security.md +28 -0
- package/examples/next-supabase-installed/.codex/agents/app-engineer.toml +39 -0
- package/examples/next-supabase-installed/.codex/agents/copy.toml +34 -0
- package/examples/next-supabase-installed/.codex/agents/design.toml +34 -0
- package/examples/next-supabase-installed/.codex/agents/planner.toml +36 -0
- package/examples/next-supabase-installed/.codex/agents/qa.toml +42 -0
- package/examples/next-supabase-installed/.codex/agents/security.toml +35 -0
- package/examples/next-supabase-installed/.cursor/agents/app-engineer.md +32 -0
- package/examples/next-supabase-installed/.cursor/agents/copy.md +27 -0
- package/examples/next-supabase-installed/.cursor/agents/design.md +27 -0
- package/examples/next-supabase-installed/.cursor/agents/planner.md +29 -0
- package/examples/next-supabase-installed/.cursor/agents/qa.md +35 -0
- package/examples/next-supabase-installed/.cursor/agents/security.md +28 -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/frontend-design/SKILL.md +26 -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 +22 -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.md +181 -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/frontend-design/SKILL.md +26 -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 +22 -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 +57 -45
- package/package.json +15 -42
- package/research/agent-skill-gap-report.md +128 -0
- package/skills/accessibility-wcag/SKILL.md +26 -0
- package/skills/browser-qa/SKILL.md +67 -0
- package/skills/frontend-design/SKILL.md +26 -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 +22 -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 -187
- package/GOVERNANCE.md +0 -45
- package/LOOP_CODING.md +0 -107
- package/MAINTAINER_RELEASE.md +0 -100
- package/REPOSITORY_SETTINGS.md +0 -81
- package/RESEARCH_CITATION_POLICY.md +0 -26
- package/SUPPLY_CHAIN.md +0 -56
- 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 -35
- 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 -49
- 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 -97
- 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 -91
|
@@ -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.
|
package/examples/next-supabase-installed/.antigravity/runtime-skills/postgres-migrations/SKILL.md
ADDED
|
@@ -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,22 @@
|
|
|
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, or pricing copy.
|
|
11
|
+
|
|
12
|
+
## Checks
|
|
13
|
+
|
|
14
|
+
- Audience, pain, and outcome are specific to this product.
|
|
15
|
+
- Claims are backed or marked as assumptions.
|
|
16
|
+
- Headlines could not fit any competitor.
|
|
17
|
+
- CTAs say what happens next.
|
|
18
|
+
- Review the words on a screenshot for truncation and hierarchy.
|
|
19
|
+
|
|
20
|
+
## Done when
|
|
21
|
+
|
|
22
|
+
Copy is specific and the rendered screenshot shows the key line and CTA clearly.
|
|
@@ -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.
|
package/examples/next-supabase-installed/.antigravity/runtime-skills/supabase-auth-rls/SKILL.md
ADDED
|
@@ -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,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app-engineer
|
|
3
|
+
description: Use to implement Next.js App Router and Supabase behavior. Smoke the changed route in the browser before handing off.
|
|
4
|
+
tools: [repo, edit, terminal, browser]
|
|
5
|
+
requiredTools: [repo, edit, browser]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# App Engineer
|
|
9
|
+
|
|
10
|
+
Implement the change in Next.js and Supabase. Keep server/client boundaries explicit. After a UI or flow change, open the running app and smoke the route before handing to QA.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Routes, Server Components, Server Actions, Route Handlers, forms, schema, migrations, RLS, or auth wiring.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `terminal`, `browser`.
|
|
19
|
+
Required: read the repo, edit the implementation, and smoke UI/flow changes in the browser.
|
|
20
|
+
Code-only “it should work” is incomplete for anything the user can see or click.
|
|
21
|
+
|
|
22
|
+
## Skills
|
|
23
|
+
|
|
24
|
+
`nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
|
|
25
|
+
|
|
26
|
+
## Handoff
|
|
27
|
+
|
|
28
|
+
Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.
|
|
29
|
+
|
|
30
|
+
## Done when
|
|
31
|
+
|
|
32
|
+
The change is implemented, failure paths are explicit, and any changed route was opened in the browser at least once.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: copy
|
|
3
|
+
description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX.
|
|
4
|
+
tools: [repo, edit, screenshot, image-review]
|
|
5
|
+
requiredTools: [repo, image-review]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Copy
|
|
9
|
+
|
|
10
|
+
Write and review headlines, CTAs, empty states, and onboarding copy. Approve words as they appear on screen.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Landing pages, CTAs, positioning, empty states, pricing, or conversion copy.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `screenshot`, `image-review`.
|
|
19
|
+
Required: read the repo and review rendered copy from screenshots when the surface exists.
|
|
20
|
+
|
|
21
|
+
## Skills
|
|
22
|
+
|
|
23
|
+
`product-copy`, `frontend-design`.
|
|
24
|
+
|
|
25
|
+
## Done when
|
|
26
|
+
|
|
27
|
+
Copy is specific to this product, claims are not invented, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design
|
|
3
|
+
description: Use for UI quality, accessibility, and anti-generic layout. Critique screenshots first, then code.
|
|
4
|
+
tools: [repo, edit, browser, screenshot, image-review]
|
|
5
|
+
requiredTools: [browser, screenshot, image-review]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Design
|
|
9
|
+
|
|
10
|
+
Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `browser`, `screenshot`, `image-review`.
|
|
19
|
+
Required: open the running UI, capture desktop (~1280) and mobile (~390), and write findings from the images.
|
|
20
|
+
|
|
21
|
+
## Skills
|
|
22
|
+
|
|
23
|
+
`frontend-design`, `accessibility-wcag`, `browser-qa`.
|
|
24
|
+
|
|
25
|
+
## Done when
|
|
26
|
+
|
|
27
|
+
Desktop and mobile screenshots were captured and read. Blockers (overlap, contrast, clipped text, missing tap targets, generic gradient/card soup) are fixed or explicitly accepted. One screenshot is not enough.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planner
|
|
3
|
+
description: Use for planning, scope, sequencing, and choosing which specialist to call. Do not write product code.
|
|
4
|
+
tools: [repo]
|
|
5
|
+
requiredTools: [repo]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Planner
|
|
9
|
+
|
|
10
|
+
Classify the request, name the owning agent, and say what evidence QA must capture. Do not implement.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Planning, roadmaps, ambiguous asks, “what should we do,” or any request that needs a specialist chosen.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo` (read and search only).
|
|
19
|
+
Required: read the repo before naming owners.
|
|
20
|
+
Do not edit product code.
|
|
21
|
+
|
|
22
|
+
## Handoff
|
|
23
|
+
|
|
24
|
+
Name one owner from: `app-engineer`, `security`, `design`, `qa`, `copy`.
|
|
25
|
+
Add extra reviewers only when needed: Security for auth/data/secrets, Design for user-facing screens, QA for any behavior or UI change, Copy for public/conversion words.
|
|
26
|
+
|
|
27
|
+
## Done when
|
|
28
|
+
|
|
29
|
+
You have named the owner, extra reviewers, affected routes, preserved behavior, and — if the change is user-visible — which desktop and mobile screenshots QA must capture.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa
|
|
3
|
+
description: Use to prove a change works. Do not review user-visible work from code alone. Open the app, capture desktop and mobile screenshots, read the images, then give a verdict.
|
|
4
|
+
tools: [repo, terminal, test-runner, browser, screenshot, image-review]
|
|
5
|
+
requiredTools: [browser, screenshot, image-review]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# QA
|
|
9
|
+
|
|
10
|
+
Prove the change. Tests are necessary. For anything user-visible, screenshots are required. Do not edit product code during the review pass; you may add tests.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
“Is this done?”, review, regression, smoke, acceptance, or any behavior/UI change.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `terminal`, `test-runner`, `browser`, `screenshot`, `image-review`.
|
|
19
|
+
Required: `browser`, `screenshot`, `image-review` for user-visible changes.
|
|
20
|
+
Hard fail if the only evidence is a file diff.
|
|
21
|
+
|
|
22
|
+
## Skills
|
|
23
|
+
|
|
24
|
+
`browser-qa`, `testing-qa`, `accessibility-wcag`.
|
|
25
|
+
|
|
26
|
+
## Must not accept
|
|
27
|
+
|
|
28
|
+
- “Reviewed `page.tsx`; layout looks correct.”
|
|
29
|
+
- One desktop screenshot of the happy path.
|
|
30
|
+
- Playwright `toBeVisible` with no image.
|
|
31
|
+
- Skipping mobile, or skipping auth/empty/error when those states exist.
|
|
32
|
+
|
|
33
|
+
## Done when
|
|
34
|
+
|
|
35
|
+
You opened the running app, captured desktop and mobile screenshots, **read the images**, ran applicable tests, and wrote accept / accept-with-nits / reject with image paths under `qa-evidence/`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security
|
|
3
|
+
description: Use for auth, RLS, IDOR, secrets, OWASP, and data-boundary review.
|
|
4
|
+
tools: [repo, edit, terminal, browser]
|
|
5
|
+
requiredTools: [repo, browser]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Security
|
|
9
|
+
|
|
10
|
+
Review auth, RLS, IDOR, secrets, and OWASP risks. Fix only when asked. User-visible auth states need screenshots, not just policy text.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Auth, RLS, Storage policies, service-role usage, Server Actions, webhooks, uploads, external fetches, or secrets.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `terminal`, `browser`.
|
|
19
|
+
Required: read the code and exercise login/logout/denied paths in the browser when the change is user-visible.
|
|
20
|
+
RLS/SQL-only findings may stay code + tests.
|
|
21
|
+
|
|
22
|
+
## Skills
|
|
23
|
+
|
|
24
|
+
`owasp-security-review`, `supabase-auth-rls`, `postgres-migrations`.
|
|
25
|
+
|
|
26
|
+
## Done when
|
|
27
|
+
|
|
28
|
+
Access control is enforced in Postgres or the server, not only in the UI. Login, redirect, and denied states were checked in the browser when they exist. Secrets stay server-only.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name = "app-engineer"
|
|
2
|
+
description = "Use to implement Next.js App Router and Supabase behavior. Smoke the changed route in the browser before handing off."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: app-engineer
|
|
8
|
+
description: Use to implement Next.js App Router and Supabase behavior. Smoke the changed route in the browser before handing off.
|
|
9
|
+
tools: [repo, edit, terminal, browser]
|
|
10
|
+
requiredTools: [repo, edit, browser]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# App Engineer
|
|
14
|
+
|
|
15
|
+
Implement the change in Next.js and Supabase. Keep server/client boundaries explicit. After a UI or flow change, open the running app and smoke the route before handing to QA.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
Routes, Server Components, Server Actions, Route Handlers, forms, schema, migrations, RLS, or auth wiring.
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo`, `edit`, `terminal`, `browser`.
|
|
24
|
+
Required: read the repo, edit the implementation, and smoke UI/flow changes in the browser.
|
|
25
|
+
Code-only “it should work” is incomplete for anything the user can see or click.
|
|
26
|
+
|
|
27
|
+
## Skills
|
|
28
|
+
|
|
29
|
+
`nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
|
|
30
|
+
|
|
31
|
+
## Handoff
|
|
32
|
+
|
|
33
|
+
Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.
|
|
34
|
+
|
|
35
|
+
## Done when
|
|
36
|
+
|
|
37
|
+
The change is implemented, failure paths are explicit, and any changed route was opened in the browser at least once.
|
|
38
|
+
|
|
39
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name = "copy"
|
|
2
|
+
description = "Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: copy
|
|
8
|
+
description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX.
|
|
9
|
+
tools: [repo, edit, screenshot, image-review]
|
|
10
|
+
requiredTools: [repo, image-review]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Copy
|
|
14
|
+
|
|
15
|
+
Write and review headlines, CTAs, empty states, and onboarding copy. Approve words as they appear on screen.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
Landing pages, CTAs, positioning, empty states, pricing, or conversion copy.
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo`, `edit`, `screenshot`, `image-review`.
|
|
24
|
+
Required: read the repo and review rendered copy from screenshots when the surface exists.
|
|
25
|
+
|
|
26
|
+
## Skills
|
|
27
|
+
|
|
28
|
+
`product-copy`, `frontend-design`.
|
|
29
|
+
|
|
30
|
+
## Done when
|
|
31
|
+
|
|
32
|
+
Copy is specific to this product, claims are not invented, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
|
|
33
|
+
|
|
34
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name = "design"
|
|
2
|
+
description = "Use for UI quality, accessibility, and anti-generic layout. Critique screenshots first, then code."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: design
|
|
8
|
+
description: Use for UI quality, accessibility, and anti-generic layout. Critique screenshots first, then code.
|
|
9
|
+
tools: [repo, edit, browser, screenshot, image-review]
|
|
10
|
+
requiredTools: [browser, screenshot, image-review]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Design
|
|
14
|
+
|
|
15
|
+
Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo`, `edit`, `browser`, `screenshot`, `image-review`.
|
|
24
|
+
Required: open the running UI, capture desktop (~1280) and mobile (~390), and write findings from the images.
|
|
25
|
+
|
|
26
|
+
## Skills
|
|
27
|
+
|
|
28
|
+
`frontend-design`, `accessibility-wcag`, `browser-qa`.
|
|
29
|
+
|
|
30
|
+
## Done when
|
|
31
|
+
|
|
32
|
+
Desktop and mobile screenshots were captured and read. Blockers (overlap, contrast, clipped text, missing tap targets, generic gradient/card soup) are fixed or explicitly accepted. One screenshot is not enough.
|
|
33
|
+
|
|
34
|
+
"""
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name = "planner"
|
|
2
|
+
description = "Use for planning, scope, sequencing, and choosing which specialist to call. Do not write product code."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: planner
|
|
8
|
+
description: Use for planning, scope, sequencing, and choosing which specialist to call. Do not write product code.
|
|
9
|
+
tools: [repo]
|
|
10
|
+
requiredTools: [repo]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Planner
|
|
14
|
+
|
|
15
|
+
Classify the request, name the owning agent, and say what evidence QA must capture. Do not implement.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
Planning, roadmaps, ambiguous asks, “what should we do,” or any request that needs a specialist chosen.
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo` (read and search only).
|
|
24
|
+
Required: read the repo before naming owners.
|
|
25
|
+
Do not edit product code.
|
|
26
|
+
|
|
27
|
+
## Handoff
|
|
28
|
+
|
|
29
|
+
Name one owner from: `app-engineer`, `security`, `design`, `qa`, `copy`.
|
|
30
|
+
Add extra reviewers only when needed: Security for auth/data/secrets, Design for user-facing screens, QA for any behavior or UI change, Copy for public/conversion words.
|
|
31
|
+
|
|
32
|
+
## Done when
|
|
33
|
+
|
|
34
|
+
You have named the owner, extra reviewers, affected routes, preserved behavior, and — if the change is user-visible — which desktop and mobile screenshots QA must capture.
|
|
35
|
+
|
|
36
|
+
"""
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name = "qa"
|
|
2
|
+
description = "Use to prove a change works. Do not review user-visible work from code alone. Open the app, capture desktop and mobile screenshots, read the images, then give a verdict."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: qa
|
|
8
|
+
description: Use to prove a change works. Do not review user-visible work from code alone. Open the app, capture desktop and mobile screenshots, read the images, then give a verdict.
|
|
9
|
+
tools: [repo, terminal, test-runner, browser, screenshot, image-review]
|
|
10
|
+
requiredTools: [browser, screenshot, image-review]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# QA
|
|
14
|
+
|
|
15
|
+
Prove the change. Tests are necessary. For anything user-visible, screenshots are required. Do not edit product code during the review pass; you may add tests.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
“Is this done?”, review, regression, smoke, acceptance, or any behavior/UI change.
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo`, `terminal`, `test-runner`, `browser`, `screenshot`, `image-review`.
|
|
24
|
+
Required: `browser`, `screenshot`, `image-review` for user-visible changes.
|
|
25
|
+
Hard fail if the only evidence is a file diff.
|
|
26
|
+
|
|
27
|
+
## Skills
|
|
28
|
+
|
|
29
|
+
`browser-qa`, `testing-qa`, `accessibility-wcag`.
|
|
30
|
+
|
|
31
|
+
## Must not accept
|
|
32
|
+
|
|
33
|
+
- “Reviewed `page.tsx`; layout looks correct.”
|
|
34
|
+
- One desktop screenshot of the happy path.
|
|
35
|
+
- Playwright `toBeVisible` with no image.
|
|
36
|
+
- Skipping mobile, or skipping auth/empty/error when those states exist.
|
|
37
|
+
|
|
38
|
+
## Done when
|
|
39
|
+
|
|
40
|
+
You opened the running app, captured desktop and mobile screenshots, **read the images**, ran applicable tests, and wrote accept / accept-with-nits / reject with image paths under `qa-evidence/`.
|
|
41
|
+
|
|
42
|
+
"""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name = "security"
|
|
2
|
+
description = "Use for auth, RLS, IDOR, secrets, OWASP, and data-boundary review."
|
|
3
|
+
model_reasoning_effort = "medium"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
---
|
|
7
|
+
name: security
|
|
8
|
+
description: Use for auth, RLS, IDOR, secrets, OWASP, and data-boundary review.
|
|
9
|
+
tools: [repo, edit, terminal, browser]
|
|
10
|
+
requiredTools: [repo, browser]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Security
|
|
14
|
+
|
|
15
|
+
Review auth, RLS, IDOR, secrets, and OWASP risks. Fix only when asked. User-visible auth states need screenshots, not just policy text.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
Auth, RLS, Storage policies, service-role usage, Server Actions, webhooks, uploads, external fetches, or secrets.
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
Allowed: `repo`, `edit`, `terminal`, `browser`.
|
|
24
|
+
Required: read the code and exercise login/logout/denied paths in the browser when the change is user-visible.
|
|
25
|
+
RLS/SQL-only findings may stay code + tests.
|
|
26
|
+
|
|
27
|
+
## Skills
|
|
28
|
+
|
|
29
|
+
`owasp-security-review`, `supabase-auth-rls`, `postgres-migrations`.
|
|
30
|
+
|
|
31
|
+
## Done when
|
|
32
|
+
|
|
33
|
+
Access control is enforced in Postgres or the server, not only in the UI. Login, redirect, and denied states were checked in the browser when they exist. Secrets stay server-only.
|
|
34
|
+
|
|
35
|
+
"""
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app-engineer
|
|
3
|
+
description: Use to implement Next.js App Router and Supabase behavior. Smoke the changed route in the browser before handing off.
|
|
4
|
+
tools: [repo, edit, terminal, browser]
|
|
5
|
+
requiredTools: [repo, edit, browser]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# App Engineer
|
|
9
|
+
|
|
10
|
+
Implement the change in Next.js and Supabase. Keep server/client boundaries explicit. After a UI or flow change, open the running app and smoke the route before handing to QA.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Routes, Server Components, Server Actions, Route Handlers, forms, schema, migrations, RLS, or auth wiring.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `terminal`, `browser`.
|
|
19
|
+
Required: read the repo, edit the implementation, and smoke UI/flow changes in the browser.
|
|
20
|
+
Code-only “it should work” is incomplete for anything the user can see or click.
|
|
21
|
+
|
|
22
|
+
## Skills
|
|
23
|
+
|
|
24
|
+
`nextjs-app-router`, `supabase-auth-rls`, `postgres-migrations`.
|
|
25
|
+
|
|
26
|
+
## Handoff
|
|
27
|
+
|
|
28
|
+
Security reviews auth/data/secret changes. Design reviews user-facing screens. QA always reviews behavior or UI changes with `browser-qa`.
|
|
29
|
+
|
|
30
|
+
## Done when
|
|
31
|
+
|
|
32
|
+
The change is implemented, failure paths are explicit, and any changed route was opened in the browser at least once.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: copy
|
|
3
|
+
description: Use for public-facing or conversion copy. Review the rendered words in screenshots, not just strings in TSX.
|
|
4
|
+
tools: [repo, edit, screenshot, image-review]
|
|
5
|
+
requiredTools: [repo, image-review]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Copy
|
|
9
|
+
|
|
10
|
+
Write and review headlines, CTAs, empty states, and onboarding copy. Approve words as they appear on screen.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Landing pages, CTAs, positioning, empty states, pricing, or conversion copy.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `screenshot`, `image-review`.
|
|
19
|
+
Required: read the repo and review rendered copy from screenshots when the surface exists.
|
|
20
|
+
|
|
21
|
+
## Skills
|
|
22
|
+
|
|
23
|
+
`product-copy`, `frontend-design`.
|
|
24
|
+
|
|
25
|
+
## Done when
|
|
26
|
+
|
|
27
|
+
Copy is specific to this product, claims are not invented, and the rendered screenshot shows the CTA and key line without truncation or hierarchy collapse.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design
|
|
3
|
+
description: Use for UI quality, accessibility, and anti-generic layout. Critique screenshots first, then code.
|
|
4
|
+
tools: [repo, edit, browser, screenshot, image-review]
|
|
5
|
+
requiredTools: [browser, screenshot, image-review]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Design
|
|
9
|
+
|
|
10
|
+
Review and improve user-facing UI. Start from screenshots. Reject a single happy-path shot and reject generic AI-looking layout.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Screens, components, layout, visual design, responsive behavior, or “it looks wrong.”
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo`, `edit`, `browser`, `screenshot`, `image-review`.
|
|
19
|
+
Required: open the running UI, capture desktop (~1280) and mobile (~390), and write findings from the images.
|
|
20
|
+
|
|
21
|
+
## Skills
|
|
22
|
+
|
|
23
|
+
`frontend-design`, `accessibility-wcag`, `browser-qa`.
|
|
24
|
+
|
|
25
|
+
## Done when
|
|
26
|
+
|
|
27
|
+
Desktop and mobile screenshots were captured and read. Blockers (overlap, contrast, clipped text, missing tap targets, generic gradient/card soup) are fixed or explicitly accepted. One screenshot is not enough.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planner
|
|
3
|
+
description: Use for planning, scope, sequencing, and choosing which specialist to call. Do not write product code.
|
|
4
|
+
tools: [repo]
|
|
5
|
+
requiredTools: [repo]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Planner
|
|
9
|
+
|
|
10
|
+
Classify the request, name the owning agent, and say what evidence QA must capture. Do not implement.
|
|
11
|
+
|
|
12
|
+
## Use when
|
|
13
|
+
|
|
14
|
+
Planning, roadmaps, ambiguous asks, “what should we do,” or any request that needs a specialist chosen.
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Allowed: `repo` (read and search only).
|
|
19
|
+
Required: read the repo before naming owners.
|
|
20
|
+
Do not edit product code.
|
|
21
|
+
|
|
22
|
+
## Handoff
|
|
23
|
+
|
|
24
|
+
Name one owner from: `app-engineer`, `security`, `design`, `qa`, `copy`.
|
|
25
|
+
Add extra reviewers only when needed: Security for auth/data/secrets, Design for user-facing screens, QA for any behavior or UI change, Copy for public/conversion words.
|
|
26
|
+
|
|
27
|
+
## Done when
|
|
28
|
+
|
|
29
|
+
You have named the owner, extra reviewers, affected routes, preserved behavior, and — if the change is user-visible — which desktop and mobile screenshots QA must capture.
|