use-agentz 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.
Files changed (113) hide show
  1. package/README.md +308 -0
  2. package/dist/authoring/define.js +132 -0
  3. package/dist/cli.js +26581 -0
  4. package/dist/config/define.js +36 -0
  5. package/dist/ui/web/index.html +16 -0
  6. package/dist/ui/web/logo.png +0 -0
  7. package/dist/ui/web/main.tsx +2406 -0
  8. package/dist/ui/web/styles.css +2338 -0
  9. package/package.json +54 -0
  10. package/registry/r/agent.analyst.json +44 -0
  11. package/registry/r/agent.designer.json +34 -0
  12. package/registry/r/agent.developer.json +31 -0
  13. package/registry/r/agent.expert-orchestrator.json +36 -0
  14. package/registry/r/agent.expert.json +33 -0
  15. package/registry/r/agent.orchestrator.json +39 -0
  16. package/registry/r/agent.quick.json +28 -0
  17. package/registry/r/agent.reviewer-anthropic.json +34 -0
  18. package/registry/r/agent.reviewer-gpt.json +34 -0
  19. package/registry/r/agent.scout.json +34 -0
  20. package/registry/r/command.caveman.json +20 -0
  21. package/registry/r/command.grill-me.json +20 -0
  22. package/registry/r/group.cli-bun.json +13 -0
  23. package/registry/r/group.cli-go.json +13 -0
  24. package/registry/r/group.database-design.json +12 -0
  25. package/registry/r/group.design.json +14 -0
  26. package/registry/r/group.documents.json +13 -0
  27. package/registry/r/group.engineering-process.json +18 -0
  28. package/registry/r/group.go.json +21 -0
  29. package/registry/r/group.python.json +10 -0
  30. package/registry/r/group.react.json +11 -0
  31. package/registry/r/group.typescript.json +10 -0
  32. package/registry/r/lsp.proto.json +41 -0
  33. package/registry/r/mcp.context7.json +13 -0
  34. package/registry/r/mcp.playwright.json +50 -0
  35. package/registry/r/pack.basic.json +78 -0
  36. package/registry/r/pack.gpt-5-6.json +78 -0
  37. package/registry/r/pack.optimized.json +78 -0
  38. package/registry/r/pack.opus-fable.json +78 -0
  39. package/registry/r/plugin.caveman-compress.json +20 -0
  40. package/registry/r/preset.caveman-only.json +13 -0
  41. package/registry/r/preset.cost-aware-trio.json +41 -0
  42. package/registry/r/preset.cross-model-review.json +34 -0
  43. package/registry/r/preset.design.json +39 -0
  44. package/registry/r/preset.fable-pack.json +41 -0
  45. package/registry/r/preset.full.json +67 -0
  46. package/registry/r/rule.always-cross-review.json +25 -0
  47. package/registry/r/rule.always-design.json +25 -0
  48. package/registry/r/rule.always-qa.json +25 -0
  49. package/registry/r/rule.always-test.json +25 -0
  50. package/registry/r/rule.caveman-ultra.json +23 -0
  51. package/registry/r/rule.never-cross-review.json +25 -0
  52. package/registry/r/rule.never-design.json +25 -0
  53. package/registry/r/rule.never-qa.json +25 -0
  54. package/registry/r/rule.never-test.json +25 -0
  55. package/registry/r/rule.routing.json +26 -0
  56. package/registry/r/rule.use-question-tool.json +20 -0
  57. package/registry/r/skill.bun-cli.json +20 -0
  58. package/registry/r/skill.bun-tui.json +20 -0
  59. package/registry/r/skill.caveman-compress.json +17 -0
  60. package/registry/r/skill.caveman.json +20 -0
  61. package/registry/r/skill.cli-design.json +15 -0
  62. package/registry/r/skill.code-review.json +18 -0
  63. package/registry/r/skill.cost-aware-orchestration.json +14 -0
  64. package/registry/r/skill.cross-model-review.json +14 -0
  65. package/registry/r/skill.db-schema-design.json +15 -0
  66. package/registry/r/skill.design-system.json +19 -0
  67. package/registry/r/skill.design-taste.json +116 -0
  68. package/registry/r/skill.diagnosing-bugs.json +23 -0
  69. package/registry/r/skill.diagrams.json +21 -0
  70. package/registry/r/skill.docx-create.json +20 -0
  71. package/registry/r/skill.domain-modeling.json +18 -0
  72. package/registry/r/skill.frontend-qa.json +19 -0
  73. package/registry/r/skill.go-architecture.json +21 -0
  74. package/registry/r/skill.go-ci.json +21 -0
  75. package/registry/r/skill.go-cli.json +20 -0
  76. package/registry/r/skill.go-data-structures.json +21 -0
  77. package/registry/r/skill.go-dependencies.json +21 -0
  78. package/registry/r/skill.go-dev.json +20 -0
  79. package/registry/r/skill.go-documentation.json +21 -0
  80. package/registry/r/skill.go-ecosystem.json +21 -0
  81. package/registry/r/skill.go-qa.json +21 -0
  82. package/registry/r/skill.go-quality.json +21 -0
  83. package/registry/r/skill.go-refactoring.json +21 -0
  84. package/registry/r/skill.go-tooling.json +21 -0
  85. package/registry/r/skill.go-tui.json +20 -0
  86. package/registry/r/skill.go-types.json +21 -0
  87. package/registry/r/skill.grilling.json +18 -0
  88. package/registry/r/skill.improve-architecture.json +18 -0
  89. package/registry/r/skill.pdf-create.json +23 -0
  90. package/registry/r/skill.pptx-create.json +23 -0
  91. package/registry/r/skill.product-ui.json +22 -0
  92. package/registry/r/skill.python-dev.json +20 -0
  93. package/registry/r/skill.react-dev.json +20 -0
  94. package/registry/r/skill.resolving-merge-conflicts.json +18 -0
  95. package/registry/r/skill.scratchpad.json +17 -0
  96. package/registry/r/skill.skill-authoring.json +17 -0
  97. package/registry/r/skill.software-design.json +28 -0
  98. package/registry/r/skill.sql-migrations.json +15 -0
  99. package/registry/r/skill.tdd.json +28 -0
  100. package/registry/r/skill.typescript-dev.json +20 -0
  101. package/registry/r/skill.visual-assets.json +17 -0
  102. package/registry/r/skill.wayfinder.json +18 -0
  103. package/registry/r/skill.xlsx-create.json +20 -0
  104. package/registry/r/tool.a11y-quick.json +24 -0
  105. package/registry/r/tool.contrast-check.json +24 -0
  106. package/registry/r/tool.design-lint.json +24 -0
  107. package/registry/r/tool.design-search.json +23 -0
  108. package/registry/r/tool.pdf-create.json +23 -0
  109. package/registry/r/tool.pptx-create.json +23 -0
  110. package/registry/r/tool.scratchpad.json +68 -0
  111. package/registry/r/tool.token-validate.json +24 -0
  112. package/registry/registry.json +676 -0
  113. package/schema/agentz.schema.json +330 -0
@@ -0,0 +1,676 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "agentz",
4
+ "items": [
5
+ {
6
+ "name": "analyst",
7
+ "type": "agent",
8
+ "title": "Analyst (analyze / plan)",
9
+ "description": "Read-only analyze & plan mode: traces code, assesses impact, produces step-by-step plans. Replaces built-in plan agents when defaults are disabled."
10
+ },
11
+ {
12
+ "name": "designer",
13
+ "type": "agent",
14
+ "title": "Designer (design pack)",
15
+ "description": "Senior product and brand designer who ships code: UI, UX, design, frontend styling, redesigns, design systems, tokens, theming, banners, decks, logos, social assets, icons, landing pages, product screens, and QA of visuals. Use for anything visual: building, styling, reviewing, or verifying frontend and brand artifacts."
16
+ },
17
+ {
18
+ "name": "developer",
19
+ "type": "agent",
20
+ "title": "Developer (normal)",
21
+ "description": "Workhorse engineer: understands code, implements features/fixes, drives big refactors and infra changes."
22
+ },
23
+ {
24
+ "name": "expert",
25
+ "type": "agent",
26
+ "title": "Expert (very expensive)",
27
+ "description": "Top model, prepared prompts only, one round-trip. Catches subtle errors, gives final verdicts."
28
+ },
29
+ {
30
+ "name": "expert-orchestrator",
31
+ "type": "agent",
32
+ "title": "Expert orchestrator (Frontier)",
33
+ "description": "Expert orchestrator: top model, slow+expensive, delegates aggressively, parallel subtasks."
34
+ },
35
+ {
36
+ "name": "orchestrator",
37
+ "type": "agent",
38
+ "title": "Orchestrator (main agent)",
39
+ "description": "Primary agent the user talks to. Applies cost-aware-orchestration and caveman ultra; delegates everything to scout/developer/expert."
40
+ },
41
+ {
42
+ "name": "quick",
43
+ "type": "agent",
44
+ "title": "Quick (no orchestration)",
45
+ "description": "Direct mode for quick fixes and usage questions: no delegation, no planning overhead. Escalates to the orchestrator when a task outgrows it."
46
+ },
47
+ {
48
+ "name": "reviewer-anthropic",
49
+ "type": "agent",
50
+ "title": "Reviewer (Anthropic family)",
51
+ "description": "Independent Anthropic-family code/design reviewer: two-axis (standards + spec), one round-trip, severity-flagged findings. Reviews work done by the OTHER (GPT) model family."
52
+ },
53
+ {
54
+ "name": "reviewer-gpt",
55
+ "type": "agent",
56
+ "title": "Reviewer (GPT family)",
57
+ "description": "Independent GPT-family code/design reviewer: two-axis (standards + spec), one round-trip, severity-flagged findings. Reviews work done by the OTHER (Anthropic) model family."
58
+ },
59
+ {
60
+ "name": "scout",
61
+ "type": "agent",
62
+ "title": "Scout (cheap)",
63
+ "description": "Cheap context agent: reads, summarizes, plans. Not for implementation or deep technical judgement."
64
+ },
65
+ {
66
+ "name": "caveman",
67
+ "type": "command",
68
+ "title": "Caveman mode",
69
+ "description": "Switch to caveman ultra mode (terse, compressed replies)."
70
+ },
71
+ {
72
+ "name": "grill-me",
73
+ "type": "command",
74
+ "title": "Grill me (plan interview)",
75
+ "description": "Interview me relentlessly about a plan/design, one question at a time, until shared understanding."
76
+ },
77
+ {
78
+ "name": "cli-bun",
79
+ "type": "group",
80
+ "title": "CLI (bun)",
81
+ "description": "Build command-line tools with Bun/TypeScript."
82
+ },
83
+ {
84
+ "name": "cli-go",
85
+ "type": "group",
86
+ "title": "CLI (go)",
87
+ "description": "Build command-line tools in Go."
88
+ },
89
+ {
90
+ "name": "database-design",
91
+ "type": "group",
92
+ "title": "Database Design",
93
+ "description": "Schema design, migration discipline and ER diagrams."
94
+ },
95
+ {
96
+ "name": "design",
97
+ "type": "group",
98
+ "title": "Design (UI, UX, brand)",
99
+ "description": "Design and ship visuals: taste, product UI, tokens, assets, frontend QA."
100
+ },
101
+ {
102
+ "name": "documents",
103
+ "type": "group",
104
+ "title": "Documents (PDF & PPTX)",
105
+ "description": "Create PDFs and PowerPoint decks from code (pdf-lib, pptxgenjs)."
106
+ },
107
+ {
108
+ "name": "engineering-process",
109
+ "type": "group",
110
+ "title": "Engineering Process",
111
+ "description": "Language-neutral engineering discipline: plan interviews, debugging loops, TDD, review, conflicts, module design."
112
+ },
113
+ {
114
+ "name": "go",
115
+ "type": "group",
116
+ "title": "Go",
117
+ "description": "Idiomatic Go development."
118
+ },
119
+ {
120
+ "name": "python",
121
+ "type": "group",
122
+ "title": "Python",
123
+ "description": "Modern Python development (uv, ruff, pytest, typing)."
124
+ },
125
+ {
126
+ "name": "react",
127
+ "type": "group",
128
+ "title": "React",
129
+ "description": "React component/hooks patterns on strict TypeScript."
130
+ },
131
+ {
132
+ "name": "typescript",
133
+ "type": "group",
134
+ "title": "TypeScript",
135
+ "description": "Strict TypeScript development."
136
+ },
137
+ {
138
+ "name": "proto",
139
+ "type": "lsp",
140
+ "title": "Proto (Buf) language server",
141
+ "description": "Protocol Buffers LSP served by the Buf CLI (buf lsp serve) — diagnostics, hover and navigation for .proto files."
142
+ },
143
+ {
144
+ "name": "context7",
145
+ "type": "mcp",
146
+ "title": "Context7 (library docs)",
147
+ "description": "Up-to-date library documentation lookups — cheap context for scout."
148
+ },
149
+ {
150
+ "name": "playwright",
151
+ "type": "mcp",
152
+ "title": "Playwright (browser)",
153
+ "description": "Browser automation for the developer agent (E2E debugging)."
154
+ },
155
+ {
156
+ "name": "basic",
157
+ "type": "pack",
158
+ "title": "GPT on a Budget",
159
+ "description": "Lowest cost: Terra handles medium- and high-reasoning routine tiers; Sol appears only for high-reasoning expert work."
160
+ },
161
+ {
162
+ "name": "gpt-5-6",
163
+ "type": "pack",
164
+ "title": "One GPT 5.6 Family",
165
+ "description": "GPT 5.6 consistency: Terra scales from high to xhigh reasoning; Sol takes xhigh expert work."
166
+ },
167
+ {
168
+ "name": "optimized",
169
+ "type": "pack",
170
+ "title": "Balanced by Default",
171
+ "description": "Balanced default: high-reasoning Terra covers fast work, xhigh Opus handles deeper normal tasks, and Fable takes expert calls."
172
+ },
173
+ {
174
+ "name": "opus-fable",
175
+ "type": "pack",
176
+ "title": "Build with Opus",
177
+ "description": "Coding quality first: high-reasoning Opus runs implementation, while high-reasoning Fable is reserved for expert judgment."
178
+ },
179
+ {
180
+ "name": "caveman-compress",
181
+ "type": "plugin",
182
+ "title": "caveman-compress (plugin)",
183
+ "description": "Model-driven prose-compression tool (caveman_compress): preview returns the file body + compression rules; commit runs a verified out-of-tree backup then overwrites. Transpiled from the upstream Claude-Code hook/CLI to the native opencode plugin tool API."
184
+ },
185
+ {
186
+ "name": "caveman-only",
187
+ "type": "preset",
188
+ "title": "Caveman only",
189
+ "description": "Just the caveman skill (ultra) and its AGENTS.md fragment."
190
+ },
191
+ {
192
+ "name": "cost-aware-trio",
193
+ "type": "preset",
194
+ "title": "Cost-aware trio (recommended)",
195
+ "description": "Orchestrator + scout/developer, caveman ultra everywhere, AGENTS.md rules. Add the expert pack for the expensive tier."
196
+ },
197
+ {
198
+ "name": "cross-model-review",
199
+ "type": "preset",
200
+ "title": "Cross-model review pack (opt-in)",
201
+ "description": "Cross-model reviewers (GPT + Anthropic) plus the routing skill. Add on top of any base preset or model pack; the active pack pins each reviewer to its fixed family."
202
+ },
203
+ {
204
+ "name": "design",
205
+ "type": "preset",
206
+ "title": "Design pack",
207
+ "description": "Designer agent plus the design skill group (taste, product UI, tokens, assets, frontend QA) and its validation tools. Caveman ultra and its AGENTS.md fragment."
208
+ },
209
+ {
210
+ "name": "fable-pack",
211
+ "type": "preset",
212
+ "title": "Expert pack (opt-in)",
213
+ "description": "opt-in expert tier: expert-orchestrator (primary) + expert reviewer. Model set by the active model pack. VERY expensive."
214
+ },
215
+ {
216
+ "name": "full",
217
+ "type": "preset",
218
+ "title": "Full (trio + MCPs + tools)",
219
+ "description": "Everything in the trio plus the designer agent and design skill group, Context7, Playwright and the scratchpad tool."
220
+ },
221
+ {
222
+ "name": "always-cross-review",
223
+ "type": "rule",
224
+ "title": "Always cross-model review",
225
+ "description": "Review policy: every substantial/risky change gets an opposite-family cross-model review without being asked. Mutually exclusive with never-cross-review."
226
+ },
227
+ {
228
+ "name": "always-design",
229
+ "type": "rule",
230
+ "title": "Always Designer & UIUX skills",
231
+ "description": "Design policy: UI work loads the designer/UIUX skill stack without being asked."
232
+ },
233
+ {
234
+ "name": "always-qa",
235
+ "type": "rule",
236
+ "title": "Always QA (Playwright)",
237
+ "description": "QA policy: every UI-affecting change gets a Playwright/browser QA pass without being asked."
238
+ },
239
+ {
240
+ "name": "always-test",
241
+ "type": "rule",
242
+ "title": "Always Test",
243
+ "description": "Testing policy: write and run tests for every change without being asked."
244
+ },
245
+ {
246
+ "name": "caveman-ultra",
247
+ "type": "rule",
248
+ "title": "Caveman ultra",
249
+ "description": "Every agent runs the caveman skill in ultra mode — terse fragments, full substance."
250
+ },
251
+ {
252
+ "name": "never-cross-review",
253
+ "type": "rule",
254
+ "title": "Never cross-model review unless asked",
255
+ "description": "Review policy: no cross-model review on your own initiative; only when explicitly requested. Mutually exclusive with always-cross-review."
256
+ },
257
+ {
258
+ "name": "never-design",
259
+ "type": "rule",
260
+ "title": "Never Designer & UIUX skills",
261
+ "description": "Design policy: no designer/UIUX skills unless design work is explicitly requested."
262
+ },
263
+ {
264
+ "name": "never-qa",
265
+ "type": "rule",
266
+ "title": "Never QA (Playwright) unless asked",
267
+ "description": "QA policy: no Playwright/browser QA loops unless explicitly requested."
268
+ },
269
+ {
270
+ "name": "never-test",
271
+ "type": "rule",
272
+ "title": "Never Test unless asked",
273
+ "description": "Testing policy: no new tests unless explicitly requested; running the existing suite is fine."
274
+ },
275
+ {
276
+ "name": "routing",
277
+ "type": "rule",
278
+ "title": "Agent roster & routing",
279
+ "description": "Cheapest-capable-agent routing across the scout/developer/expert trio."
280
+ },
281
+ {
282
+ "name": "use-question-tool",
283
+ "type": "rule",
284
+ "title": "Use the question tool to interrogate",
285
+ "description": "Orchestrator agents: use the opencode question tool (multiple questions, structured options) when grilling or interrogating the user instead of plain-text replies."
286
+ },
287
+ {
288
+ "name": "bun-cli",
289
+ "type": "skill",
290
+ "title": "Bun CLI development",
291
+ "description": "Bun CLI development. Use when building a command-line tool on Bun/TypeScript: wiring the bin entry, parsing Bun.argv, compiling single-file executables, or testing with `bun test`.",
292
+ "standalone": false
293
+ },
294
+ {
295
+ "name": "bun-tui",
296
+ "type": "skill",
297
+ "title": "Bun TUI development",
298
+ "description": "Interactive Bun terminal flows: use Ink for stateful full-screen interfaces or @clack/prompts for lightweight setup wizards.",
299
+ "standalone": false
300
+ },
301
+ {
302
+ "name": "caveman",
303
+ "type": "skill",
304
+ "title": "caveman (ultra)",
305
+ "description": "Ultra-compressed replies, 65% fewer output tokens, full technical accuracy. Every agent runs it on mode ultra."
306
+ },
307
+ {
308
+ "name": "caveman-compress",
309
+ "type": "skill",
310
+ "title": "caveman-compress",
311
+ "description": "Compress a prose file (CLAUDE.md/AGENTS.md/notes) into caveman format to cut input tokens, preserving all technical substance. Backs up before overwriting; never touches code/config/data."
312
+ },
313
+ {
314
+ "name": "cli-design",
315
+ "type": "skill",
316
+ "title": "CLI design conventions",
317
+ "description": "CLI design conventions, language-agnostic. Use when building or changing any command-line interface: flag grammar, exit codes, help output, stdout/stderr discipline, or machine-readable modes.",
318
+ "standalone": false
319
+ },
320
+ {
321
+ "name": "code-review",
322
+ "type": "skill",
323
+ "title": "Code review (two-axis)",
324
+ "description": "Review the changes since a fixed point along two axes — Standards (does the code follow this repo's rules and smell baseline?) and Spec (does it do what was asked?). Use when asked to review a branch, a PR, or work-in-progress, or to \"review since X\".",
325
+ "standalone": false
326
+ },
327
+ {
328
+ "name": "cost-aware-orchestration",
329
+ "type": "skill",
330
+ "title": "cost-aware-orchestration",
331
+ "description": "Main-agent routing rules: scout (cheap) reads/plans, developer (normal) implements, expert (very expensive) verifies via prepared prompts."
332
+ },
333
+ {
334
+ "name": "cross-model-review",
335
+ "type": "skill",
336
+ "title": "cross-model-review",
337
+ "description": "Cross-model review routing for cost-aware orchestrators. Use after a substantial or risky implementation to route an independent review to the OPPOSITE model family of the implementer: work done by GPT agents (terra/sol) is reviewed by reviewer-anthropic; work done by Anthropic agents (opus/fable) is reviewed by reviewer-gpt. Skip for trivial changes."
338
+ },
339
+ {
340
+ "name": "db-schema-design",
341
+ "type": "skill",
342
+ "title": "Database schema design",
343
+ "description": "Relational schema design. Use when creating or reviewing database schemas, choosing keys, deciding normalization vs denormalization, planning indexes, or adding soft-delete and audit patterns.",
344
+ "standalone": false
345
+ },
346
+ {
347
+ "name": "design-system",
348
+ "type": "skill",
349
+ "title": "design-system",
350
+ "description": "Design token architecture and component specification. Use when creating or maintaining design tokens, CSS variables, themes, dark mode, color palettes, component specs (button, input, card, badge, alert, dialog, table), interaction states, Tailwind or shadcn theming, brand-guidelines-to-token sync, WCAG contrast checks, or typography scales. Load design-taste alongside as the aesthetic foundation."
351
+ },
352
+ {
353
+ "name": "design-taste",
354
+ "type": "skill",
355
+ "title": "design-taste",
356
+ "description": "Public-facing visual direction for landing pages, heroes, marketing or agency sites, portfolios, screenshot-to-code work, and font, palette, layout, or motion choices. Pair with design skills for visual foundations; product-ui leads daily-work product screens."
357
+ },
358
+ {
359
+ "name": "diagnosing-bugs",
360
+ "type": "skill",
361
+ "title": "Diagnosing bugs",
362
+ "description": "Diagnosis loop for hard bugs and performance regressions: build a red-capable feedback loop before hypothesising, then reproduce, rank causes, instrument, fix at a seam. Use when asked to diagnose or debug a stubborn failure, or when a bug resists a quick fix.",
363
+ "standalone": false
364
+ },
365
+ {
366
+ "name": "diagrams",
367
+ "type": "skill",
368
+ "title": "Diagrams & rendered docs",
369
+ "description": "Generating architecture/ER/flow diagrams and rendered docs as code: Mermaid first, Python tooling (diagrams, matplotlib) for images that need rendering. Use when asked to create diagrams, schema visualizations, or image/doc artifacts.",
370
+ "standalone": false
371
+ },
372
+ {
373
+ "name": "docx-create",
374
+ "type": "skill",
375
+ "title": "DOCX creation",
376
+ "description": "Creating and editing Word documents with the docx npm package on Bun: reports, memos, letters, templates, headings, tables, images, TOC, headers/footers, and tracked changes/comments via the XML-edit path. Use whenever asked to produce, generate, or edit a .docx / Word document."
377
+ },
378
+ {
379
+ "name": "domain-modeling",
380
+ "type": "skill",
381
+ "title": "Domain modeling",
382
+ "description": "Actively build and sharpen a project's domain model. Use when pinning down domain terminology or a ubiquitous language, recording an architectural decision, or when another skill needs to maintain the domain model.",
383
+ "standalone": false
384
+ },
385
+ {
386
+ "name": "frontend-qa",
387
+ "type": "skill",
388
+ "title": "frontend-qa",
389
+ "description": "Tiered verification gate for frontend work. Use when asked to verify, QA, or visually test a frontend change, or when a visual change is clearly risky (new page, layout overhaul, theming): real-browser checks (Playwright), light/dark theme, contrast, accessibility, console errors, forced-state walks, and screenshot evidence. Load design-taste alongside as the aesthetic foundation."
390
+ },
391
+ {
392
+ "name": "go-architecture",
393
+ "type": "skill",
394
+ "title": "Go architecture & design",
395
+ "description": "Go architecture and design. Use when structuring packages, designing APIs, wiring dependency injection, modelling concurrency, or accessing databases in Go.",
396
+ "standalone": false
397
+ },
398
+ {
399
+ "name": "go-ci",
400
+ "type": "skill",
401
+ "title": "Go CI/CD",
402
+ "description": "Go CI/CD with GitHub Actions. Use when setting up or improving Go project CI: test/lint/vet workflows, SAST and vulnerability scanning, coverage gates, Dependabot/Renovate, GoReleaser release pipelines, or Docker image builds.",
403
+ "standalone": false
404
+ },
405
+ {
406
+ "name": "go-cli",
407
+ "type": "skill",
408
+ "title": "Go CLI development",
409
+ "description": "Go CLI development. Use when building a Go command-line tool: structuring the command tree with cobra or stdlib flag, threading context and cancellation, or cross-compiling with goreleaser.",
410
+ "standalone": false
411
+ },
412
+ {
413
+ "name": "go-data-structures",
414
+ "type": "skill",
415
+ "title": "Go data structures",
416
+ "description": "Go data structures. Use when choosing or optimizing slices, maps, arrays, or container/list/heap/ring, building strings with strings.Builder vs bytes.Buffer, writing generic collections, or reasoning about slice/map internals, pointers, and copy semantics.",
417
+ "standalone": false
418
+ },
419
+ {
420
+ "name": "go-dependencies",
421
+ "type": "skill",
422
+ "title": "Go dependency management",
423
+ "description": "Go dependency management. Use when adding, removing, or upgrading Go dependencies, editing go.mod/go.sum, auditing vulnerabilities, resolving version conflicts, pinning CLI tools, setting up go.work workspaces, or automating dependency updates.",
424
+ "standalone": false
425
+ },
426
+ {
427
+ "name": "go-dev",
428
+ "type": "skill",
429
+ "title": "Go development",
430
+ "description": "Idiomatic Go development. Use when writing or reviewing any Go code, laying out packages, wrapping errors, threading context, or writing concurrent code and table-driven tests.",
431
+ "standalone": false
432
+ },
433
+ {
434
+ "name": "go-documentation",
435
+ "type": "skill",
436
+ "title": "Go documentation",
437
+ "description": "Go documentation. Use when writing or reviewing godoc comments, package comments, README/CONTRIBUTING/CHANGELOG, Example test functions, API docs, or llms.txt for a Go library or application.",
438
+ "standalone": false
439
+ },
440
+ {
441
+ "name": "go-ecosystem",
442
+ "type": "skill",
443
+ "title": "Go libraries & frameworks",
444
+ "description": "Go libraries and frameworks. Use when choosing between the stdlib and a third-party dependency, or wiring the samber/* ecosystem, cobra/viper, or API frameworks (gRPC, GraphQL, swagger) into Go.",
445
+ "standalone": false
446
+ },
447
+ {
448
+ "name": "go-qa",
449
+ "type": "skill",
450
+ "title": "Go testing & performance",
451
+ "description": "Go testing and performance. Use when writing table-driven or fuzz tests, benchmarking, profiling, optimizing, adding observability, or debugging Go in production.",
452
+ "standalone": false
453
+ },
454
+ {
455
+ "name": "go-quality",
456
+ "type": "skill",
457
+ "title": "Go code quality",
458
+ "description": "Go code quality and defensive coding. Use when reviewing or hardening Go code, enforcing style and naming, handling errors, guarding nil/slice/map safety, or closing security holes (injection, crypto, secrets).",
459
+ "standalone": false
460
+ },
461
+ {
462
+ "name": "go-refactoring",
463
+ "type": "skill",
464
+ "title": "Go refactoring",
465
+ "description": "Safe Go refactoring at scale. Use when restructuring existing Go code: renaming at scale, extracting functions/interfaces, moving types across packages, breaking import cycles, splitting packages, or cleaning up a code smell without changing behavior.",
466
+ "standalone": false
467
+ },
468
+ {
469
+ "name": "go-tooling",
470
+ "type": "skill",
471
+ "title": "Go tooling: gopls & godig",
472
+ "description": "Semantic Go tooling. Use when navigating or refactoring Go code with gopls (go-to-definition, find references, call/implementation hierarchy, diagnostics, safe rename, extract/inline), or when exploring the published ecosystem with godig/pkg.go.dev (package docs, symbols, versions, importers, licenses, CVEs).",
473
+ "standalone": false
474
+ },
475
+ {
476
+ "name": "go-tui",
477
+ "type": "skill",
478
+ "title": "Go TUI development",
479
+ "description": "Charm-stack Go interfaces: Bubble Tea event loops, Lip Gloss styling, and Bubbles controls for full-screen terminals.",
480
+ "standalone": false
481
+ },
482
+ {
483
+ "name": "go-types",
484
+ "type": "skill",
485
+ "title": "Go structs & interfaces",
486
+ "description": "Go struct and interface design. Use when designing Go types, defining or implementing interfaces, embedding, writing type assertions or type switches, adding struct field tags, choosing pointer vs value receivers, or applying \"accept interfaces, return structs\".",
487
+ "standalone": false
488
+ },
489
+ {
490
+ "name": "grilling",
491
+ "type": "skill",
492
+ "title": "Grilling (plan interview)",
493
+ "description": "Grill the user relentlessly about a plan or design before building. Use when asked to stress-test a plan or resolve open design decisions, or on any \"grill\" trigger phrase.",
494
+ "standalone": false
495
+ },
496
+ {
497
+ "name": "improve-architecture",
498
+ "type": "skill",
499
+ "title": "Improve architecture (deepening scan)",
500
+ "description": "Scan a codebase for deepening opportunities — refactors that turn shallow modules into deep ones — present them as candidates, then grill through the one you pick. Use when hunting architectural friction to improve testability and navigability.",
501
+ "standalone": false
502
+ },
503
+ {
504
+ "name": "pdf-create",
505
+ "type": "skill",
506
+ "title": "PDF creation",
507
+ "description": "Creating and editing PDF files with pdf-lib on Bun: reports, letters, multi-page documents, text layout, merging/splitting, watermarks, custom fonts. Use whenever asked to produce, generate, merge, split, or edit a .pdf file."
508
+ },
509
+ {
510
+ "name": "pptx-create",
511
+ "type": "skill",
512
+ "title": "PPTX creation",
513
+ "description": "Creating PowerPoint decks with pptxgenjs on Bun: slide layouts, master slides, text/tables/charts/images, speaker notes, design rules (palette, typography, spacing) and a visual QA loop. Use whenever asked to create a deck, slides, presentation, pitch deck, or a .pptx file."
514
+ },
515
+ {
516
+ "name": "product-ui",
517
+ "type": "skill",
518
+ "title": "product-ui",
519
+ "description": "Operational shadcn-style app interfaces: data tables, CRUD forms, wizards, settings, dashboards, and other daily-use screens. Load design-taste for visual foundations; product-ui decides product-screen trade-offs, while design-taste leads marketing and portfolio work."
520
+ },
521
+ {
522
+ "name": "python-dev",
523
+ "type": "skill",
524
+ "title": "Python development",
525
+ "description": "Modern Python development. Use when writing or reviewing any Python code, setting up uv environments, linting with ruff, typing with mypy/pyright, writing pytest suites, or packaging and publishing to PyPI.",
526
+ "standalone": false
527
+ },
528
+ {
529
+ "name": "react-dev",
530
+ "type": "skill",
531
+ "title": "React development",
532
+ "description": "React component development. Use when writing or reviewing any React code, composing components and hooks, fetching data server or client side, adopting React 19 APIs, or testing React UI.",
533
+ "standalone": false
534
+ },
535
+ {
536
+ "name": "resolving-merge-conflicts",
537
+ "type": "skill",
538
+ "title": "Resolving merge conflicts",
539
+ "description": "Resolve an in-progress git merge or rebase conflict. Use when a merge/rebase is halted on conflicting hunks and you need to finish it to a clean commit.",
540
+ "standalone": false
541
+ },
542
+ {
543
+ "name": "scratchpad",
544
+ "type": "skill",
545
+ "title": "scratchpad (handoff convention)",
546
+ "description": "Shared scratchpad convention for agent handoff: session-namespaced notes in .opencode/scratchpad.json; tool on opencode, file convention elsewhere."
547
+ },
548
+ {
549
+ "name": "skill-authoring",
550
+ "type": "skill",
551
+ "title": "Skill authoring",
552
+ "description": "Writing and editing agent skills. Use when creating a new skill, rewriting a skill description, restructuring or pruning skill content, or reviewing skills in catalog/content/skills/."
553
+ },
554
+ {
555
+ "name": "software-design",
556
+ "type": "skill",
557
+ "title": "Software design (deep modules)",
558
+ "description": "Shared vocabulary for designing deep modules: interfaces, seams, depth, adapters, the deletion test. Use when designing or improving a module's interface, deciding where a seam goes, making code more testable, or when another skill needs the deep-module language.",
559
+ "standalone": false
560
+ },
561
+ {
562
+ "name": "sql-migrations",
563
+ "type": "skill",
564
+ "title": "SQL migration discipline",
565
+ "description": "Database migration discipline. Use when writing or reviewing schema or data migrations, planning zero-downtime expand/contract changes, avoiding lock contention, or testing migrations.",
566
+ "standalone": false
567
+ },
568
+ {
569
+ "name": "tdd",
570
+ "type": "skill",
571
+ "title": "Test-driven development",
572
+ "description": "Test-driven development discipline: the red-green loop, tests at pre-agreed seams, and the anti-patterns that make tests worthless. Use when asked to work test-first, when someone says \"red-green-refactor\", or when a feature or bug clearly warrants tests and you are deciding what and where to test.",
573
+ "standalone": false
574
+ },
575
+ {
576
+ "name": "typescript-dev",
577
+ "type": "skill",
578
+ "title": "TypeScript development",
579
+ "description": "Strict TypeScript development. Use when writing or reviewing any TypeScript code, configuring tsconfig, designing types, or validating data at runtime boundaries.",
580
+ "standalone": false
581
+ },
582
+ {
583
+ "name": "visual-assets",
584
+ "type": "skill",
585
+ "title": "visual-assets",
586
+ "description": "Visual assets as code — HTML/CSS at exact pixel size, SVG, HTML decks. Use when asked for a banner, social or OG image, ad creative, cover or hero image, slide or pitch deck, logo concept, brand board, icon set, YouTube thumbnail, or email header. Load design-taste alongside as the aesthetic foundation."
587
+ },
588
+ {
589
+ "name": "wayfinder",
590
+ "type": "skill",
591
+ "title": "Wayfinder (multi-session planning)",
592
+ "description": "Plan a chunk of work too big for one agent session as a shared map of decision tickets, resolving them one at a time until the way to the goal is clear. Use for large, foggy efforts that need multi-session planning.",
593
+ "standalone": false
594
+ },
595
+ {
596
+ "name": "xlsx-create",
597
+ "type": "skill",
598
+ "title": "XLSX creation",
599
+ "description": "Creating and editing Excel spreadsheets with exceljs on Bun: multi-sheet workbooks, live formulas, number formatting, styling/color-coding, and a formula-recalculation QA loop. Use whenever asked to produce, generate, or edit an .xlsx / .csv spreadsheet or a financial model."
600
+ },
601
+ {
602
+ "name": "a11y-quick",
603
+ "type": "tool",
604
+ "title": "a11y-quick (design)",
605
+ "description": "Static accessibility scan: missing alt text, unlabeled icon buttons, unlabeled form controls, suppressed focus styles, positive tabindex, missing lang/viewport, empty links (opencode only). Pairs with the frontend-qa and design-taste skills."
606
+ },
607
+ {
608
+ "name": "contrast-check",
609
+ "type": "tool",
610
+ "title": "contrast-check (design)",
611
+ "description": "WCAG 2.x contrast ratio checker for foreground/background hex pairs, with AA/AAA verdicts (opencode only). Pairs with the design-system and design-taste skills."
612
+ },
613
+ {
614
+ "name": "design-lint",
615
+ "type": "tool",
616
+ "title": "design-lint (design)",
617
+ "description": "Anti-slop lint on user-visible copy (em/en-dashes in headings/buttons/labels, placeholder brand names, marketing cliches, emoji) plus code smells (scroll listeners, 100vh, z-index spam, colored shadows) (opencode only). Pairs with the frontend-qa and design-taste skills."
618
+ },
619
+ {
620
+ "name": "design-search",
621
+ "type": "tool",
622
+ "title": "design-search (design)",
623
+ "description": "BM25 search over a curated UI/UX design database plus a design-system generator (opencode only). Pairs with the design-taste skill."
624
+ },
625
+ {
626
+ "name": "pdf-create",
627
+ "type": "tool",
628
+ "title": "pdf-create (documents)",
629
+ "description": "Markdown-lite text -> paginated PDF via pdf-lib (opencode only; needs `bun add -d pdf-lib`). Pairs with the pdf-create skill."
630
+ },
631
+ {
632
+ "name": "pptx-create",
633
+ "type": "tool",
634
+ "title": "pptx-create (documents)",
635
+ "description": "Title + bullet slides -> .pptx deck via pptxgenjs (opencode only; needs `bun add -d pptxgenjs`). Pairs with the pptx-create skill."
636
+ },
637
+ {
638
+ "name": "scratchpad",
639
+ "type": "tool",
640
+ "title": "scratchpad (agent handoff)",
641
+ "description": "Shared note store: scout writes summaries, developer/expert read them instead of re-reading raw files."
642
+ },
643
+ {
644
+ "name": "token-validate",
645
+ "type": "tool",
646
+ "title": "token-validate (design)",
647
+ "description": "Scan files or a directory for hardcoded hex/rgb/hsl/font-family values outside var() (opencode only). Pairs with the design-system and design-taste skills."
648
+ }
649
+ ],
650
+ "models": {
651
+ "cheap": {
652
+ "opencode": "github-copilot/gpt-5.6-luna",
653
+ "copilot": "gpt-5.6-luna",
654
+ "claude": "haiku",
655
+ "codex": "gpt-5.6-luna",
656
+ "kilocode": "github-copilot/gpt-5.6-luna",
657
+ "hermes": "github-copilot/gpt-5.6-luna"
658
+ },
659
+ "normal": {
660
+ "opencode": "github-copilot/claude-opus-4.8",
661
+ "copilot": "claude-opus-4.8",
662
+ "claude": "opus",
663
+ "codex": "claude-opus-4.8",
664
+ "kilocode": "github-copilot/claude-opus-4.8",
665
+ "hermes": "github-copilot/claude-opus-4.8"
666
+ },
667
+ "expert": {
668
+ "opencode": "github-copilot/claude-fable-5",
669
+ "copilot": "claude-fable-5",
670
+ "claude": "fable",
671
+ "codex": "claude-fable-5",
672
+ "kilocode": "github-copilot/claude-fable-5",
673
+ "hermes": "github-copilot/claude-fable-5"
674
+ }
675
+ }
676
+ }