@appsforgood/next-supabase-kit 0.1.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/BEST_PRACTICE_EVIDENCE.md +45 -0
- package/CHANGELOG.md +44 -0
- package/CODE_OF_CONDUCT.md +26 -0
- package/CONTRIBUTING.md +48 -0
- package/DOGFOOD.md +121 -0
- package/GOVERNANCE.md +45 -0
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/REPOSITORY_SETTINGS.md +70 -0
- package/RESEARCH_CITATION_POLICY.md +26 -0
- package/SECURITY.md +29 -0
- package/SUPPLY_CHAIN.md +55 -0
- package/SUPPORT.md +28 -0
- package/UPGRADE.md +77 -0
- package/agents/deployment-observability-engineer.md +13 -0
- package/agents/docs-maintainer.md +17 -0
- package/agents/frontend-design-lead.md +22 -0
- package/agents/lead-architect.md +25 -0
- package/agents/marketing-copy-lead.md +20 -0
- package/agents/nextjs-engineer.md +20 -0
- package/agents/planner.md +20 -0
- package/agents/qa-engineer.md +19 -0
- package/agents/research-analyst.md +13 -0
- package/agents/security-reviewer.md +16 -0
- package/agents/supabase-postgres-engineer.md +19 -0
- package/assistant-adapters/README.md +28 -0
- package/assistant-adapters/claude-code-subagents.md +37 -0
- package/assistant-adapters/codex-agents.md +35 -0
- package/assistant-adapters/cursor-agent-kit.mdc +30 -0
- package/assistant-adapters/github-copilot-instructions.md +35 -0
- package/assistant-adapters/github-next-supabase.instructions.md +28 -0
- package/assistant-adapters/model-selection/claude-code-subagents-with-models.md +32 -0
- package/assistant-adapters/model-selection/codex-config.example.toml +29 -0
- package/assistant-adapters/model-selection/cursor-model-selection.mdc +24 -0
- package/assistant-adapters/model-selection/github-copilot-model-selection.md +20 -0
- package/checklists/accessibility.md +12 -0
- package/checklists/agent-council.md +13 -0
- package/checklists/brand-content.md +15 -0
- package/checklists/deployment.md +10 -0
- package/checklists/design-critique.md +13 -0
- package/checklists/frontend-distinctiveness.md +12 -0
- package/checklists/frontend-product-quality.md +13 -0
- package/checklists/frontend-quality.md +20 -0
- package/checklists/marketing-copy.md +11 -0
- package/checklists/owasp.md +12 -0
- package/checklists/rls.md +10 -0
- package/checklists/testing.md +12 -0
- package/checklists/upgrade.md +13 -0
- package/checklists/visual-regression.md +11 -0
- package/design-adapters/claude-design.prompt.md +27 -0
- package/design-adapters/figma.prompt.md +18 -0
- package/design-adapters/google-stitch.prompt.md +36 -0
- package/design-adapters/human-designer-brief.prompt.md +36 -0
- package/design-briefs/admin-dashboard.md +21 -0
- package/design-briefs/ai-workflow-product.md +25 -0
- package/design-briefs/community-social.md +26 -0
- package/design-briefs/content-app.md +21 -0
- package/design-briefs/ecommerce.md +25 -0
- package/design-briefs/education-course.md +25 -0
- package/design-briefs/marketplace.md +21 -0
- package/design-briefs/portfolio-venue.md +25 -0
- package/design-briefs/saas.md +21 -0
- package/design-briefs/tool.md +21 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3521 -0
- package/dist/index.js.map +1 -0
- package/examples/next-supabase-installed/.agent-kit/agent-roster.json +228 -0
- package/examples/next-supabase-installed/.agent-kit/manifest.json +58 -0
- package/examples/next-supabase-installed/.agent-kit/model-routing.json +164 -0
- package/examples/next-supabase-installed/.agent-kit/overrides.json +9 -0
- package/examples/next-supabase-installed/README.md +15 -0
- package/examples/next-supabase-installed/audit-output.json +336 -0
- package/examples/next-supabase-installed/tree.txt +38 -0
- package/model-routing/default-model-routing.json +164 -0
- package/package.json +98 -0
- package/profiles/admin-app.md +17 -0
- package/profiles/content-app.md +17 -0
- package/profiles/marketplace.md +17 -0
- package/profiles/saas.md +17 -0
- package/profiles/stack-next-firebase.md +25 -0
- package/profiles/stack-next-postgres.md +24 -0
- package/profiles/stack-remix-supabase.md +24 -0
- package/prompts/audit-project-setup.md +28 -0
- package/prompts/brand-content-intake.md +17 -0
- package/prompts/copy-review.md +15 -0
- package/prompts/council-session-review.md +17 -0
- package/prompts/creative-direction-matrix.md +22 -0
- package/prompts/design-critique-gate.md +28 -0
- package/prompts/docs-update.md +16 -0
- package/prompts/frontend-design-review.md +29 -0
- package/prompts/frontend-distinctiveness-benchmark.md +32 -0
- package/prompts/frontend-product-quality-scorecard.md +35 -0
- package/prompts/implement-feature.md +14 -0
- package/prompts/migration-review.md +14 -0
- package/prompts/screenshot-review.md +27 -0
- package/prompts/security-review.md +17 -0
- package/prompts/upgrade-review.md +18 -0
- package/prompts/visual-qa-plan.md +16 -0
- package/research/proposed-updates.md +70 -0
- package/research/scan-config.json +261 -0
- package/research/scan-plan.md +24 -0
- package/research/summaries/.gitkeep +1 -0
- package/research/summaries/agent-workflow-patterns.md +37 -0
- package/research/summaries/creative-design-patterns.md +38 -0
- package/research/summaries/design-critique-patterns.md +34 -0
- package/research/summaries/docs-and-agent-patterns.md +64 -0
- package/research/summaries/dogfood-adoption-patterns.md +33 -0
- package/research/summaries/frontend-design-patterns.md +64 -0
- package/research/summaries/frontend-distinctiveness-benchmark-patterns.md +38 -0
- package/research/summaries/frontend-product-quality-rubric-patterns.md +37 -0
- package/research/summaries/maturity-model-patterns.md +29 -0
- package/research/summaries/nextjs-patterns.md +65 -0
- package/research/summaries/repo-health-patterns.md +41 -0
- package/research/summaries/scan-overview.md +46 -0
- package/research/summaries/security-patterns.md +64 -0
- package/research/summaries/supabase-rls-patterns.md +54 -0
- package/research/summaries/supply-chain-patterns.md +38 -0
- package/research/summaries/testing-patterns.md +63 -0
- package/research/summaries/upgrade-lifecycle-patterns.md +26 -0
- package/research/summaries/visual-qa-patterns.md +39 -0
- package/rosters/next-supabase-default-council.json +228 -0
- package/schemas/agent-roster.schema.json +54 -0
- package/schemas/audit-report.schema.json +50 -0
- package/schemas/correction-rules.schema.json +32 -0
- package/schemas/council-session.schema.json +65 -0
- package/schemas/model-routing.schema.json +72 -0
- package/schemas/project-context.schema.json +94 -0
- package/schemas/session-event.schema.json +46 -0
- package/schemas/studio-session.schema.json +48 -0
- package/skills/accessibility-wcag.md +15 -0
- package/skills/agent-handoff-tracing.md +44 -0
- package/skills/best-practice-maturity-review.md +26 -0
- package/skills/content-first-design.md +50 -0
- package/skills/conversion-copywriting.md +38 -0
- package/skills/deployment-observability.md +14 -0
- package/skills/docs-maintainer.md +19 -0
- package/skills/frontend-design-system.md +68 -0
- package/skills/frontend-distinctiveness-benchmark.md +40 -0
- package/skills/frontend-product-quality-rubric.md +59 -0
- package/skills/landing-page-copy.md +29 -0
- package/skills/nextjs-app-router.md +18 -0
- package/skills/onboarding-empty-state-copy.md +37 -0
- package/skills/owasp-security-review.md +19 -0
- package/skills/planning-council.md +21 -0
- package/skills/positioning-messaging.md +42 -0
- package/skills/postgres-migrations.md +14 -0
- package/skills/product-voice-tone.md +35 -0
- package/skills/reference-led-design-critique.md +48 -0
- package/skills/supabase-auth-rls.md +20 -0
- package/skills/testing-qa.md +15 -0
- package/skills/upgrade-maintenance.md +32 -0
- package/skills/visual-regression-qa.md +42 -0
- package/templates/next-supabase/AGENTS.md +138 -0
- package/templates/next-supabase/AGENT_ROSTER.md +98 -0
- package/templates/next-supabase/ASSISTANT_ADAPTERS.md +82 -0
- package/templates/next-supabase/COUNCIL.md +54 -0
- package/templates/next-supabase/DECISIONS.md +45 -0
- package/templates/next-supabase/DEPLOYMENT.md +45 -0
- package/templates/next-supabase/DESIGN.md +171 -0
- package/templates/next-supabase/DOCS.md +62 -0
- package/templates/next-supabase/MESSAGING.md +81 -0
- package/templates/next-supabase/MODEL_ROUTING.md +109 -0
- package/templates/next-supabase/QUALITY_GATES.md +87 -0
- package/templates/next-supabase/SECURITY.md +54 -0
- package/templates/next-supabase/SKILLS.md +221 -0
- package/templates/next-supabase/SPEC.md +114 -0
- package/templates/next-supabase/STYLE_GUIDE.md +104 -0
- package/templates/next-supabase/TESTING.md +68 -0
- package/templates/next-supabase/UPGRADE.md +59 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "next-supabase-default-council",
|
|
4
|
+
"stack": "next-supabase",
|
|
5
|
+
"required": true,
|
|
6
|
+
"defaultWorkflow": "planning",
|
|
7
|
+
"principle": "Planner routes work by default; Lead Architect convenes council for core changes before implementation.",
|
|
8
|
+
"agents": [
|
|
9
|
+
{
|
|
10
|
+
"id": "planner",
|
|
11
|
+
"name": "Planner",
|
|
12
|
+
"file": ".agent-kit/agents/planner.md",
|
|
13
|
+
"defaultFor": ["planning", "roadmap", "scope", "ambiguous-request", "handoff"],
|
|
14
|
+
"skills": ["planning-council", "best-practice-maturity-review", "agent-handoff-tracing", "docs-maintainer", "upgrade-maintenance"],
|
|
15
|
+
"handsOffTo": ["lead-architect", "frontend-design-lead", "qa-engineer", "docs-maintainer"]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "lead-architect",
|
|
19
|
+
"name": "Lead Architect",
|
|
20
|
+
"file": ".agent-kit/agents/lead-architect.md",
|
|
21
|
+
"defaultFor": ["core-change", "architecture", "cross-layer-change", "technical-decision"],
|
|
22
|
+
"skills": [
|
|
23
|
+
"planning-council",
|
|
24
|
+
"best-practice-maturity-review",
|
|
25
|
+
"agent-handoff-tracing",
|
|
26
|
+
"nextjs-app-router",
|
|
27
|
+
"supabase-auth-rls",
|
|
28
|
+
"postgres-migrations",
|
|
29
|
+
"owasp-security-review",
|
|
30
|
+
"upgrade-maintenance"
|
|
31
|
+
],
|
|
32
|
+
"handsOffTo": ["supabase-postgres-engineer", "nextjs-engineer", "security-reviewer", "qa-engineer", "docs-maintainer"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "supabase-postgres-engineer",
|
|
36
|
+
"name": "Supabase/Postgres Engineer",
|
|
37
|
+
"file": ".agent-kit/agents/supabase-postgres-engineer.md",
|
|
38
|
+
"defaultFor": ["schema", "migration", "rls", "auth", "storage", "sql"],
|
|
39
|
+
"skills": ["supabase-auth-rls", "postgres-migrations", "owasp-security-review"],
|
|
40
|
+
"handsOffTo": ["security-reviewer", "qa-engineer", "docs-maintainer", "deployment-observability-engineer"]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "nextjs-engineer",
|
|
44
|
+
"name": "Next.js Engineer",
|
|
45
|
+
"file": ".agent-kit/agents/nextjs-engineer.md",
|
|
46
|
+
"defaultFor": ["app-router", "server-components", "route-handler", "server-action", "forms", "ui-state"],
|
|
47
|
+
"skills": ["nextjs-app-router", "content-first-design", "frontend-design-system", "accessibility-wcag", "testing-qa"],
|
|
48
|
+
"handsOffTo": ["frontend-design-lead", "security-reviewer", "qa-engineer", "docs-maintainer"]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "frontend-design-lead",
|
|
52
|
+
"name": "Frontend Design Lead",
|
|
53
|
+
"file": ".agent-kit/agents/frontend-design-lead.md",
|
|
54
|
+
"defaultFor": [
|
|
55
|
+
"brand-content-intake",
|
|
56
|
+
"creative-direction",
|
|
57
|
+
"reference-led-critique",
|
|
58
|
+
"distinctiveness-benchmark",
|
|
59
|
+
"product-quality-scorecard",
|
|
60
|
+
"visual-design",
|
|
61
|
+
"component-system",
|
|
62
|
+
"visual-regression",
|
|
63
|
+
"accessibility",
|
|
64
|
+
"anti-generic-ui",
|
|
65
|
+
"screenshot-review"
|
|
66
|
+
],
|
|
67
|
+
"skills": [
|
|
68
|
+
"content-first-design",
|
|
69
|
+
"reference-led-design-critique",
|
|
70
|
+
"frontend-distinctiveness-benchmark",
|
|
71
|
+
"frontend-product-quality-rubric",
|
|
72
|
+
"frontend-design-system",
|
|
73
|
+
"visual-regression-qa",
|
|
74
|
+
"accessibility-wcag"
|
|
75
|
+
],
|
|
76
|
+
"handsOffTo": ["marketing-copy-lead", "nextjs-engineer", "qa-engineer", "docs-maintainer"]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "marketing-copy-lead",
|
|
80
|
+
"name": "Marketing Copy Lead",
|
|
81
|
+
"file": ".agent-kit/agents/marketing-copy-lead.md",
|
|
82
|
+
"defaultFor": [
|
|
83
|
+
"copy",
|
|
84
|
+
"copywriting",
|
|
85
|
+
"marketing",
|
|
86
|
+
"positioning",
|
|
87
|
+
"messaging",
|
|
88
|
+
"value-proposition",
|
|
89
|
+
"landing-page-copy",
|
|
90
|
+
"headline",
|
|
91
|
+
"cta",
|
|
92
|
+
"conversion",
|
|
93
|
+
"onboarding-copy",
|
|
94
|
+
"empty-state-copy",
|
|
95
|
+
"voice-tone",
|
|
96
|
+
"pricing-copy"
|
|
97
|
+
],
|
|
98
|
+
"skills": [
|
|
99
|
+
"positioning-messaging",
|
|
100
|
+
"conversion-copywriting",
|
|
101
|
+
"landing-page-copy",
|
|
102
|
+
"product-voice-tone",
|
|
103
|
+
"onboarding-empty-state-copy"
|
|
104
|
+
],
|
|
105
|
+
"handsOffTo": ["frontend-design-lead", "nextjs-engineer", "qa-engineer", "docs-maintainer"]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "security-reviewer",
|
|
109
|
+
"name": "Security Reviewer",
|
|
110
|
+
"file": ".agent-kit/agents/security-reviewer.md",
|
|
111
|
+
"defaultFor": ["security-review", "auth-boundary", "data-mutation", "external-call", "dependency", "secret"],
|
|
112
|
+
"skills": ["owasp-security-review", "supabase-auth-rls", "postgres-migrations"],
|
|
113
|
+
"handsOffTo": ["lead-architect", "qa-engineer", "docs-maintainer", "deployment-observability-engineer"]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "qa-engineer",
|
|
117
|
+
"name": "QA Engineer",
|
|
118
|
+
"file": ".agent-kit/agents/qa-engineer.md",
|
|
119
|
+
"defaultFor": ["testing", "regression", "smoke", "acceptance-evidence"],
|
|
120
|
+
"skills": ["testing-qa", "best-practice-maturity-review", "visual-regression-qa", "accessibility-wcag"],
|
|
121
|
+
"handsOffTo": ["docs-maintainer", "deployment-observability-engineer"]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "docs-maintainer",
|
|
125
|
+
"name": "Documentation Maintainer",
|
|
126
|
+
"file": ".agent-kit/agents/docs-maintainer.md",
|
|
127
|
+
"defaultFor": ["docs", "decisions", "spec", "style-guide", "roadmap", "upgrade-evidence"],
|
|
128
|
+
"skills": ["docs-maintainer", "planning-council", "best-practice-maturity-review", "agent-handoff-tracing", "upgrade-maintenance"],
|
|
129
|
+
"handsOffTo": ["deployment-observability-engineer"]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "deployment-observability-engineer",
|
|
133
|
+
"name": "Deployment/Observability Engineer",
|
|
134
|
+
"file": ".agent-kit/agents/deployment-observability-engineer.md",
|
|
135
|
+
"defaultFor": ["release", "deployment", "environment", "logs", "rollback", "monitoring"],
|
|
136
|
+
"skills": ["deployment-observability", "testing-qa", "upgrade-maintenance"],
|
|
137
|
+
"handsOffTo": ["qa-engineer", "docs-maintainer"]
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"workflows": [
|
|
141
|
+
{
|
|
142
|
+
"id": "planning",
|
|
143
|
+
"triggers": ["plan", "roadmap", "phase", "scope", "what should we do", "break this down"],
|
|
144
|
+
"sequence": ["planner", "lead-architect", "qa-engineer", "docs-maintainer"],
|
|
145
|
+
"council": ["planner", "lead-architect"],
|
|
146
|
+
"requiredOutputs": ["phased checklist", "maturity target", "affected layers", "preserved capabilities", "verification plan", "docs impact"]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "core-change",
|
|
150
|
+
"triggers": ["schema", "auth", "rls", "api", "route handler", "server action", "dependency", "upgrade", "release workflow", "package behavior", "cross-layer"],
|
|
151
|
+
"sequence": [
|
|
152
|
+
"planner",
|
|
153
|
+
"lead-architect",
|
|
154
|
+
"supabase-postgres-engineer",
|
|
155
|
+
"nextjs-engineer",
|
|
156
|
+
"security-reviewer",
|
|
157
|
+
"qa-engineer",
|
|
158
|
+
"docs-maintainer",
|
|
159
|
+
"deployment-observability-engineer"
|
|
160
|
+
],
|
|
161
|
+
"council": ["lead-architect", "security-reviewer", "qa-engineer", "docs-maintainer"],
|
|
162
|
+
"requiredOutputs": [
|
|
163
|
+
"architecture decision",
|
|
164
|
+
"maturity evidence",
|
|
165
|
+
"security review",
|
|
166
|
+
"test evidence",
|
|
167
|
+
"doc updates",
|
|
168
|
+
"upgrade evidence when applicable",
|
|
169
|
+
"release or rollback notes"
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"id": "frontend-change",
|
|
174
|
+
"triggers": ["screen", "component", "layout", "design", "responsive", "accessibility", "screenshot"],
|
|
175
|
+
"sequence": ["planner", "frontend-design-lead", "marketing-copy-lead", "nextjs-engineer", "qa-engineer", "docs-maintainer"],
|
|
176
|
+
"council": ["frontend-design-lead", "marketing-copy-lead", "qa-engineer"],
|
|
177
|
+
"requiredOutputs": [
|
|
178
|
+
"brand/content intake",
|
|
179
|
+
"copy/value-proposition brief when public-facing or conversion-facing",
|
|
180
|
+
"creative-direction rationale",
|
|
181
|
+
"reference-set evidence",
|
|
182
|
+
"distinctiveness benchmark",
|
|
183
|
+
"design critique verdict",
|
|
184
|
+
"frontend product-quality scorecard",
|
|
185
|
+
"domain-specific UI rationale",
|
|
186
|
+
"visual QA evidence",
|
|
187
|
+
"state coverage",
|
|
188
|
+
"accessibility checks",
|
|
189
|
+
"desktop/mobile verification"
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"id": "marketing-copy",
|
|
194
|
+
"triggers": ["copy", "copywriting", "marketing", "positioning", "messaging", "value prop", "value proposition", "landing page", "headline", "cta", "conversion", "onboarding", "empty state", "pricing"],
|
|
195
|
+
"sequence": ["planner", "marketing-copy-lead", "frontend-design-lead", "qa-engineer", "docs-maintainer"],
|
|
196
|
+
"council": ["marketing-copy-lead", "frontend-design-lead"],
|
|
197
|
+
"requiredOutputs": [
|
|
198
|
+
"discovery questions answered or explicitly marked unknown",
|
|
199
|
+
"audience and segment assumptions",
|
|
200
|
+
"problem, pain, desired outcome, and value proposition",
|
|
201
|
+
"differentiators, proof points, objections, and counter-messaging",
|
|
202
|
+
"voice/tone guidance",
|
|
203
|
+
"page or flow copy inventory",
|
|
204
|
+
"CTA and conversion hypothesis",
|
|
205
|
+
"handoff notes for design and implementation"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "security-review",
|
|
210
|
+
"triggers": ["security", "owasp", "secret", "token", "permission", "ssrf", "idor", "dependency"],
|
|
211
|
+
"sequence": ["planner", "security-reviewer", "lead-architect", "qa-engineer", "docs-maintainer"],
|
|
212
|
+
"council": ["security-reviewer", "lead-architect"],
|
|
213
|
+
"requiredOutputs": ["finding severity", "attack path", "mitigation", "verification evidence"]
|
|
214
|
+
}
|
|
215
|
+
],
|
|
216
|
+
"handoffRules": [
|
|
217
|
+
"Each agent must state its decision, risk, and required next handoff before passing work on.",
|
|
218
|
+
"Planner must classify meaningful work against QUALITY_GATES.md as baseline, strong, or best-practice before completion is claimed.",
|
|
219
|
+
"Meaningful multi-agent work must record council-session evidence in COUNCIL.md or a structured record that follows .agent-kit/schemas/council-session.schema.json.",
|
|
220
|
+
"Planner starts planning and ambiguous requests by default.",
|
|
221
|
+
"Lead Architect must review core changes before implementation.",
|
|
222
|
+
"Frontend Design Lead must record reference-set evidence, anti-references, a design critique verdict, a distinctiveness benchmark, and a frontend product-quality scorecard before accepting significant frontend work.",
|
|
223
|
+
"Marketing Copy Lead must ask discovery questions and record audience, pain, outcome, value proposition, proof, objections, voice/tone, and conversion goal before accepting public-facing or conversion-facing copy.",
|
|
224
|
+
"Security Reviewer must review auth, data mutation, external-call, dependency, secret, and release-risk changes.",
|
|
225
|
+
"QA Engineer must verify behavior changes before completion.",
|
|
226
|
+
"Documentation Maintainer must update living markdown when behavior, architecture, release, or standards change."
|
|
227
|
+
]
|
|
228
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/agent-roster.schema.json",
|
|
4
|
+
"title": "Agent Kit Agent Roster",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "id", "stack", "required", "defaultWorkflow", "agents", "workflows", "handoffRules"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"id": { "type": "string", "minLength": 1 },
|
|
11
|
+
"stack": { "type": "string", "minLength": 1 },
|
|
12
|
+
"required": { "type": "boolean" },
|
|
13
|
+
"defaultWorkflow": { "type": "string", "minLength": 1 },
|
|
14
|
+
"principle": { "type": "string" },
|
|
15
|
+
"agents": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"minItems": 1,
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": ["id", "skills"],
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"properties": {
|
|
23
|
+
"id": { "type": "string", "minLength": 1 },
|
|
24
|
+
"name": { "type": "string" },
|
|
25
|
+
"file": { "type": "string" },
|
|
26
|
+
"defaultFor": { "type": "array", "items": { "type": "string" } },
|
|
27
|
+
"skills": { "type": "array", "minItems": 1, "items": { "type": "string" } },
|
|
28
|
+
"handsOffTo": { "type": "array", "items": { "type": "string" } }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"workflows": {
|
|
33
|
+
"type": "array",
|
|
34
|
+
"minItems": 1,
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["id", "sequence", "council", "requiredOutputs"],
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"properties": {
|
|
40
|
+
"id": { "type": "string", "minLength": 1 },
|
|
41
|
+
"triggers": { "type": "array", "items": { "type": "string" } },
|
|
42
|
+
"sequence": { "type": "array", "minItems": 1, "items": { "type": "string" } },
|
|
43
|
+
"council": { "type": "array", "items": { "type": "string" } },
|
|
44
|
+
"requiredOutputs": { "type": "array", "items": { "type": "string" } }
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"handoffRules": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"minItems": 1,
|
|
51
|
+
"items": { "type": "string" }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/audit-report.schema.json",
|
|
4
|
+
"title": "Agent Kit Audit Report",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["summary", "readiness", "findings"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"summary": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["pass", "warn", "fail"],
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"properties": {
|
|
14
|
+
"pass": { "type": "integer", "minimum": 0 },
|
|
15
|
+
"warn": { "type": "integer", "minimum": 0 },
|
|
16
|
+
"fail": { "type": "integer", "minimum": 0 }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"readiness": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"required": ["level", "summary", "nextActions"],
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"properties": {
|
|
24
|
+
"level": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": ["needs-setup", "baseline-setup", "needs-improvement", "best-practice-candidate"]
|
|
27
|
+
},
|
|
28
|
+
"summary": { "type": "string", "minLength": 1 },
|
|
29
|
+
"nextActions": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": { "type": "string" }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"findings": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": ["level", "area", "message"],
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"properties": {
|
|
42
|
+
"level": { "type": "string", "enum": ["pass", "warn", "fail"] },
|
|
43
|
+
"area": { "type": "string", "minLength": 1 },
|
|
44
|
+
"message": { "type": "string", "minLength": 1 },
|
|
45
|
+
"remediation": { "type": "string", "minLength": 1 }
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/correction-rules.schema.json",
|
|
4
|
+
"title": "Agent Kit Correction Rules",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "rules"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"rules": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"required": ["id", "scope", "status", "text", "createdAt"],
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"properties": {
|
|
17
|
+
"id": { "type": "string", "minLength": 1 },
|
|
18
|
+
"scope": { "type": "string", "enum": ["session", "project", "agent", "upstream-proposal"] },
|
|
19
|
+
"status": { "type": "string", "enum": ["active", "retired", "proposed"] },
|
|
20
|
+
"text": { "type": "string", "minLength": 1 },
|
|
21
|
+
"appliesToAgents": { "type": "array", "items": { "type": "string" } },
|
|
22
|
+
"agentId": { "type": "string", "minLength": 1 },
|
|
23
|
+
"sourceSessionId": { "type": "string", "minLength": 1 },
|
|
24
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
25
|
+
"reviewedAt": { "type": ["string", "null"], "format": "date-time" },
|
|
26
|
+
"retiredAt": { "type": "string", "format": "date-time" },
|
|
27
|
+
"reason": { "type": "string" }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/council-session.schema.json",
|
|
4
|
+
"title": "Agent Kit Council Session",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "sessionId", "createdAt", "workflowId", "status", "request", "handoffs", "requiredOutputs", "verification"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"sessionId": { "type": "string", "minLength": 1 },
|
|
11
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
12
|
+
"workflowId": { "type": "string", "minLength": 1 },
|
|
13
|
+
"status": { "type": "string", "enum": ["planned", "in-progress", "blocked", "complete"] },
|
|
14
|
+
"request": { "type": "string", "minLength": 1 },
|
|
15
|
+
"affectedLayers": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"items": { "type": "string" }
|
|
18
|
+
},
|
|
19
|
+
"handoffs": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"minItems": 1,
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"required": ["agentId", "decision", "risk", "nextHandoff"],
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"properties": {
|
|
27
|
+
"agentId": { "type": "string", "minLength": 1 },
|
|
28
|
+
"decision": { "type": "string", "minLength": 1 },
|
|
29
|
+
"risk": { "type": "string", "minLength": 1 },
|
|
30
|
+
"nextHandoff": { "type": "string", "minLength": 1 },
|
|
31
|
+
"evidence": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "type": "string" }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"requiredOutputs": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["name", "status"],
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"properties": {
|
|
45
|
+
"name": { "type": "string", "minLength": 1 },
|
|
46
|
+
"status": { "type": "string", "enum": ["missing", "partial", "complete", "not-applicable"] },
|
|
47
|
+
"evidence": { "type": "string" }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"verification": {
|
|
52
|
+
"type": "array",
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"required": ["command", "result"],
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"properties": {
|
|
58
|
+
"command": { "type": "string", "minLength": 1 },
|
|
59
|
+
"result": { "type": "string", "enum": ["pass", "fail", "skipped"] },
|
|
60
|
+
"notes": { "type": "string" }
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/model-routing.schema.json",
|
|
4
|
+
"title": "Agent Kit Model Routing",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "id", "stack", "reviewedAt", "reviewCadence", "principle", "profiles", "agentRoutes", "toolSurfaces", "updatePolicy"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"id": { "type": "string", "minLength": 1 },
|
|
11
|
+
"stack": { "type": "string", "minLength": 1 },
|
|
12
|
+
"reviewedAt": { "type": "string", "minLength": 1 },
|
|
13
|
+
"reviewCadence": { "type": "string", "minLength": 1 },
|
|
14
|
+
"principle": { "type": "string", "minLength": 1 },
|
|
15
|
+
"profiles": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"minItems": 1,
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": ["id", "label", "intent", "reasoningEffort", "contextWindow", "latency", "cost", "preferredFor"],
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"properties": {
|
|
23
|
+
"id": { "type": "string", "minLength": 1 },
|
|
24
|
+
"label": { "type": "string", "minLength": 1 },
|
|
25
|
+
"intent": { "type": "string", "minLength": 1 },
|
|
26
|
+
"reasoningEffort": { "type": "string", "enum": ["low", "medium", "high", "varies"] },
|
|
27
|
+
"contextWindow": { "type": "string", "enum": ["small", "medium", "large", "very-large", "varies"] },
|
|
28
|
+
"latency": { "type": "string", "enum": ["low", "medium", "high", "varies"] },
|
|
29
|
+
"cost": { "type": "string", "enum": ["low", "medium", "high", "varies"] },
|
|
30
|
+
"preferredFor": { "type": "array", "minItems": 1, "items": { "type": "string" } }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"agentRoutes": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"minItems": 1,
|
|
37
|
+
"items": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": ["agentId", "profileId", "defaultEffort"],
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"properties": {
|
|
42
|
+
"agentId": { "type": "string", "minLength": 1 },
|
|
43
|
+
"profileId": { "type": "string", "minLength": 1 },
|
|
44
|
+
"defaultEffort": { "type": "string", "enum": ["low", "medium", "high"] },
|
|
45
|
+
"escalationProfileId": { "type": "string", "minLength": 1 },
|
|
46
|
+
"notes": { "type": "string" }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"toolSurfaces": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"minItems": 1,
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"required": ["tool", "instructionSurface", "modelSelection", "enforcement", "adapter"],
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"properties": {
|
|
58
|
+
"tool": { "type": "string", "minLength": 1 },
|
|
59
|
+
"instructionSurface": { "type": "string", "minLength": 1 },
|
|
60
|
+
"modelSelection": { "type": "string", "minLength": 1 },
|
|
61
|
+
"enforcement": { "type": "string", "enum": ["enforced", "partial", "advisory", "manual"] },
|
|
62
|
+
"adapter": { "type": "string", "minLength": 1 }
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"updatePolicy": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"minItems": 1,
|
|
69
|
+
"items": { "type": "string" }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/project-context.schema.json",
|
|
4
|
+
"title": "Agent Kit Project Context",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"projectName",
|
|
9
|
+
"productSummary",
|
|
10
|
+
"productCategory",
|
|
11
|
+
"primaryAudience",
|
|
12
|
+
"primaryWorkflows",
|
|
13
|
+
"businessCriticalBehavior",
|
|
14
|
+
"architecture",
|
|
15
|
+
"dataSensitivity",
|
|
16
|
+
"authModel",
|
|
17
|
+
"tenantModel",
|
|
18
|
+
"integrations",
|
|
19
|
+
"uiDirection",
|
|
20
|
+
"messaging",
|
|
21
|
+
"qualityTarget",
|
|
22
|
+
"knownConstraints",
|
|
23
|
+
"openQuestions",
|
|
24
|
+
"evidence",
|
|
25
|
+
"lastReviewedAt",
|
|
26
|
+
"owners"
|
|
27
|
+
],
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"properties": {
|
|
30
|
+
"schemaVersion": { "const": 1 },
|
|
31
|
+
"projectName": { "type": "string" },
|
|
32
|
+
"productSummary": { "type": "string" },
|
|
33
|
+
"productCategory": { "type": "string" },
|
|
34
|
+
"primaryAudience": { "type": "string" },
|
|
35
|
+
"primaryWorkflows": { "type": "array", "items": { "type": "string" } },
|
|
36
|
+
"businessCriticalBehavior": { "type": "array", "items": { "type": "string" } },
|
|
37
|
+
"architecture": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": ["scripts", "frameworks", "uiLibraries", "hasSupabase", "supabaseSignals", "testTools", "envExampleKeys", "deployment"],
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"properties": {
|
|
42
|
+
"packageManager": { "type": "string" },
|
|
43
|
+
"scripts": { "type": "array", "items": { "type": "string" } },
|
|
44
|
+
"frameworks": { "type": "array", "items": { "type": "string" } },
|
|
45
|
+
"uiLibraries": { "type": "array", "items": { "type": "string" } },
|
|
46
|
+
"hasSupabase": { "type": "boolean" },
|
|
47
|
+
"supabaseSignals": { "type": "array", "items": { "type": "string" } },
|
|
48
|
+
"testTools": { "type": "array", "items": { "type": "string" } },
|
|
49
|
+
"envExampleKeys": { "type": "array", "items": { "type": "string" } },
|
|
50
|
+
"deployment": { "type": "array", "items": { "type": "string" } }
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"dataSensitivity": { "type": "array", "items": { "type": "string" } },
|
|
54
|
+
"authModel": { "type": "string" },
|
|
55
|
+
"tenantModel": { "type": "string" },
|
|
56
|
+
"integrations": { "type": "array", "items": { "type": "string" } },
|
|
57
|
+
"uiDirection": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"required": ["preferred", "avoid"],
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"properties": {
|
|
62
|
+
"preferred": { "type": "string" },
|
|
63
|
+
"avoid": { "type": "string" }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"messaging": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"required": ["valueProposition", "proof", "objections"],
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"properties": {
|
|
71
|
+
"valueProposition": { "type": "string" },
|
|
72
|
+
"proof": { "type": "array", "items": { "type": "string" } },
|
|
73
|
+
"objections": { "type": "array", "items": { "type": "string" } }
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"qualityTarget": { "type": "string", "enum": ["baseline-setup", "needs-improvement", "best-practice-candidate"] },
|
|
77
|
+
"knownConstraints": { "type": "array", "items": { "type": "string" } },
|
|
78
|
+
"openQuestions": { "type": "array", "items": { "type": "string" } },
|
|
79
|
+
"evidence": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"required": ["source", "note"],
|
|
84
|
+
"additionalProperties": false,
|
|
85
|
+
"properties": {
|
|
86
|
+
"source": { "type": "string", "minLength": 1 },
|
|
87
|
+
"note": { "type": "string", "minLength": 1 }
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"lastReviewedAt": { "type": "string", "format": "date-time" },
|
|
92
|
+
"owners": { "type": "array", "items": { "type": "string" } }
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-skills.dev/schemas/session-event.schema.json",
|
|
4
|
+
"title": "Agent Kit Session Event",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["type", "createdAt"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"type": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"enum": [
|
|
12
|
+
"session_started",
|
|
13
|
+
"project_context_loaded",
|
|
14
|
+
"agent_message",
|
|
15
|
+
"agent_decision",
|
|
16
|
+
"handoff",
|
|
17
|
+
"human_correction",
|
|
18
|
+
"correction_promoted",
|
|
19
|
+
"artifact_recorded",
|
|
20
|
+
"command_recorded",
|
|
21
|
+
"verification_recorded",
|
|
22
|
+
"open_question",
|
|
23
|
+
"required_output_updated",
|
|
24
|
+
"session_status_changed",
|
|
25
|
+
"session_rendered"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
29
|
+
"agentId": { "type": "string", "minLength": 1 },
|
|
30
|
+
"fromAgentId": { "type": "string", "minLength": 1 },
|
|
31
|
+
"toAgentId": { "type": "string", "minLength": 1 },
|
|
32
|
+
"text": { "type": "string" },
|
|
33
|
+
"decision": { "type": "string" },
|
|
34
|
+
"risk": { "type": "string" },
|
|
35
|
+
"evidence": { "type": "array", "items": { "type": "string" } },
|
|
36
|
+
"scope": { "type": "string", "enum": ["session", "project", "agent", "upstream-proposal"] },
|
|
37
|
+
"correctionId": { "type": "string", "minLength": 1 },
|
|
38
|
+
"artifactPath": { "type": "string", "minLength": 1 },
|
|
39
|
+
"command": { "type": "string", "minLength": 1 },
|
|
40
|
+
"result": { "type": "string", "enum": ["pass", "fail", "skipped"] },
|
|
41
|
+
"outputName": { "type": "string", "minLength": 1 },
|
|
42
|
+
"outputStatus": { "type": "string", "enum": ["missing", "partial", "complete", "not-applicable"] },
|
|
43
|
+
"status": { "type": "string", "enum": ["planned", "in-progress", "blocked", "complete"] },
|
|
44
|
+
"notes": { "type": "string" }
|
|
45
|
+
}
|
|
46
|
+
}
|