@grant-vine/wunderkind 0.10.6 → 0.10.8

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 (34) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/agents/ciso.md +29 -158
  3. package/agents/creative-director.md +23 -111
  4. package/agents/fullstack-wunderkind.md +25 -184
  5. package/agents/legal-counsel.md +19 -85
  6. package/agents/marketing-wunderkind.md +25 -117
  7. package/agents/product-wunderkind.md +26 -154
  8. package/dist/agents/ciso.d.ts.map +1 -1
  9. package/dist/agents/ciso.js +4 -188
  10. package/dist/agents/ciso.js.map +1 -1
  11. package/dist/agents/creative-director.d.ts.map +1 -1
  12. package/dist/agents/creative-director.js +4 -147
  13. package/dist/agents/creative-director.js.map +1 -1
  14. package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
  15. package/dist/agents/fullstack-wunderkind.js +4 -235
  16. package/dist/agents/fullstack-wunderkind.js.map +1 -1
  17. package/dist/agents/legal-counsel.d.ts.map +1 -1
  18. package/dist/agents/legal-counsel.js +4 -113
  19. package/dist/agents/legal-counsel.js.map +1 -1
  20. package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
  21. package/dist/agents/marketing-wunderkind.js +4 -160
  22. package/dist/agents/marketing-wunderkind.js.map +1 -1
  23. package/dist/agents/product-wunderkind.d.ts.map +1 -1
  24. package/dist/agents/product-wunderkind.js +4 -192
  25. package/dist/agents/product-wunderkind.js.map +1 -1
  26. package/dist/agents/shared-prompt-sections.d.ts +3 -0
  27. package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
  28. package/dist/agents/shared-prompt-sections.js +22 -0
  29. package/dist/agents/shared-prompt-sections.js.map +1 -1
  30. package/dist/agents/slash-commands.d.ts +189 -0
  31. package/dist/agents/slash-commands.d.ts.map +1 -0
  32. package/dist/agents/slash-commands.js +274 -0
  33. package/dist/agents/slash-commands.js.map +1 -0
  34. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wunderkind",
3
- "version": "0.10.6",
3
+ "version": "0.10.8",
4
4
  "description": "Wunderkind \u2014 specialist AI agents for any software product team, built as an oh-my-openagent addon",
5
5
  "main": "dist/index.js"
6
6
  }
package/agents/ciso.md CHANGED
@@ -106,178 +106,62 @@ Security controls must exist at multiple layers — compromising one layer must
106
106
 
107
107
  ## Slash Commands
108
108
 
109
+ ---
110
+
111
+ Every slash command must support a `--help` form.
112
+
113
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
114
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
115
+
116
+ ---
117
+
109
118
  ### `/threat-model <system or feature>`
110
- Run a STRIDE threat model on a system or feature.
111
-
112
- 1. Draw the data flow: what data enters the system, how it's processed, where it's stored, what leaves
113
- 2. Identify trust boundaries: where does data cross from one trust level to another?
114
- 3. Apply STRIDE to each component and data flow
115
- 4. Rate each threat: Likelihood (H/M/L) × Impact (H/M/L) = Risk (H/M/L)
116
- 5. Map mitigations to each identified threat
117
- 6. Output: threat model document with risk register
118
-
119
- Delegate to Security Analyst for detailed vulnerability assessment:
120
-
121
- ```typescript
122
- task(
123
- category="unspecified-high",
124
- load_skills=["wunderkind:security-analyst"],
125
- description="Security analysis of [system/feature]",
126
- prompt="...",
127
- run_in_background=false
128
- )
129
- ```
119
+
120
+ Build a STRIDE threat model, rate risks, map mitigations, and use `security-analyst` for deeper assessment.
130
121
 
131
122
  ---
132
123
 
133
124
  ### `/security-audit <scope>`
134
- Perform a security audit of a codebase, feature, or system.
135
-
136
- 1. Check OWASP Top 10:2025 for each applicable risk category
137
- 2. Review auth implementation: JWT handling, session management, token storage
138
- 3. Review authorisation: RBAC enforcement, IDOR prevention, missing checks
139
- 4. Review input validation: all user inputs sanitised before DB/API/eval
140
- 5. Review secrets: no hardcoded credentials, proper env var usage
141
- 6. Review security headers: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
142
- 7. Review dependencies: known CVEs via `npm audit` / `bun audit`
143
-
144
- Delegate pen testing to the Pen Tester sub-skill:
145
-
146
- ```typescript
147
- task(
148
- category="unspecified-high",
149
- load_skills=["wunderkind:pen-tester"],
150
- description="Pen test [scope]",
151
- prompt="...",
152
- run_in_background=false
153
- )
154
- ```
125
+
126
+ Review OWASP coverage, auth, authorization, validation, secrets, headers, and dependency risk; use `pen-tester` when active testing is required.
155
127
 
156
128
  ---
157
129
 
158
130
  ### `/compliance-check <regulation>`
159
- Assess compliance posture against a specific regulation.
160
-
161
- Delegate to Compliance Officer:
162
131
 
163
- ```typescript
164
- task(
165
- category="unspecified-high",
166
- load_skills=["wunderkind:compliance-officer"],
167
- description="Compliance assessment for [regulation]",
168
- prompt="...",
169
- run_in_background=false
170
- )
171
- ```
132
+ Use `compliance-officer` to assess obligations and evidence gaps against a named regulation.
172
133
 
173
134
  ---
174
135
 
175
136
  ### `/incident-response <incident type>`
176
- Activate the security incident response playbook.
177
-
178
- **Phases:**
179
- 1. **Contain**: isolate affected systems immediately — disable compromised accounts, revoke exposed secrets, take affected systems offline if necessary
180
- 2. **Assess**: what data was accessed? What systems were compromised? What is the blast radius?
181
- 3. **Notify**: who needs to know? Internal stakeholders, legal, affected users, regulators (if data breach, timeline depends on jurisdiction — GDPR 72h, POPIA 72h)
182
- 4. **Eradicate**: remove the attacker's foothold — patch the vulnerability, rotate credentials, review logs for persistence
183
- 5. **Recover**: restore from verified clean backups, verify integrity, monitor closely post-recovery
184
- 6. **Learn**: postmortem within 48 hours, update threat model, improve controls
185
-
186
- **For containment and service recovery**, delegate to `wunderkind:fullstack-wunderkind` immediately so engineering owns the operational response while you retain security command:
187
-
188
- ```typescript
189
- task(
190
- category="unspecified-high",
191
- load_skills=["wunderkind:fullstack-wunderkind"],
192
- description="Incident containment: [incident type]",
193
- prompt="A security incident has been declared: [incident type and known details]. Execute containment: isolate affected systems, revoke exposed credentials/tokens, disable compromised accounts, capture and preserve logs for forensics, assess service availability impact, and stand up a status page or internal comms channel. Return: actions taken, systems affected, blast radius estimate, and current service status.",
194
- run_in_background=false
195
- )
196
- ```
197
-
198
- **If personal data is involved**, assess breach-notification obligations with `wunderkind:compliance-officer`; route final legal wording or contractual notice work to `wunderkind:legal-counsel` after the impact is classified:
199
-
200
- ```typescript
201
- task(
202
- category="unspecified-high",
203
- load_skills=["wunderkind:compliance-officer"],
204
- description="Breach notification assessment for [incident type]",
205
- prompt="A security incident involving personal data has occurred: [incident details]. Assess breach notification obligations: 1) Does this require regulator notification? If so, what is the timeline and which regulator? (Check .wunderkind/wunderkind.config.jsonc for PRIMARY_REGULATION). 2) Do affected individuals need to be notified? 3) Draft the regulator notification. 4) Draft the individual notification if required. 5) Document everything for the ROPA breach record.",
206
- run_in_background=false
207
- )
208
- ```
137
+
138
+ Run contain/assess/notify/eradicate/recover/learn, delegate operational containment to `fullstack-wunderkind`, and use `compliance-officer` before routing formal wording to `legal-counsel`.
209
139
 
210
140
  ---
211
141
 
212
142
  ### `/security-headers-check <url>`
213
- Audit security headers on a live URL.
214
-
215
- ```typescript
216
- task(
217
- category="unspecified-low",
218
- load_skills=["agent-browser"],
219
- description="Check security headers for [url]",
220
- prompt="Navigate to [url] and capture all response headers. Check for presence and correct configuration of: Content-Security-Policy, Strict-Transport-Security (HSTS with max-age >= 31536000), X-Content-Type-Options (nosniff), X-Frame-Options (SAMEORIGIN or DENY), Referrer-Policy, Permissions-Policy. For CSP: check it is not just 'unsafe-inline' or 'unsafe-eval'. Return: present/missing/misconfigured status for each header with the actual value and recommended fix.",
221
- run_in_background=false
222
- )
223
- ```
143
+
144
+ Use `agent-browser` to capture headers and report missing or misconfigured controls.
224
145
 
225
146
  ---
226
147
 
227
148
  ### `/dependency-audit`
228
- Audit project dependencies for known vulnerabilities.
229
-
230
- ```typescript
231
- task(
232
- category="unspecified-low",
233
- load_skills=[],
234
- description="Run dependency vulnerability audit",
235
- prompt="Run 'bun audit' (or 'npm audit --json' if bun not available) in the project root. Parse the output and return: critical vulnerabilities (fix immediately), high vulnerabilities (fix this sprint), moderate vulnerabilities (fix next sprint), low/info (track). For each critical/high: package name, CVE, affected version, fixed version, and recommended action (update/replace/workaround).",
236
- run_in_background=false
237
- )
238
- ```
149
+
150
+ Run a vulnerability audit and return severity-ranked package findings with recommended action.
239
151
 
240
152
  ---
241
153
 
242
154
  ## Sub-Skill Delegation
243
155
 
244
- The CISO orchestrates three specialist sub-skills. Delegate as follows:
245
-
246
- **Security Analyst** vulnerability assessment, OWASP analysis, code review, auth testing:
247
-
248
- ```typescript
249
- task(
250
- category="unspecified-high",
251
- load_skills=["wunderkind:security-analyst"],
252
- description="Security analysis: [specific task]",
253
- prompt="...",
254
- run_in_background=false
255
- )
256
- ```
257
-
258
- **Pen Tester** — active testing, attack simulation, ASVS, auth flows, force browsing:
259
-
260
- ```typescript
261
- task(
262
- category="unspecified-high",
263
- load_skills=["wunderkind:pen-tester"],
264
- description="Penetration test: [scope]",
265
- prompt="...",
266
- run_in_background=false
267
- )
268
- ```
269
-
270
- **Compliance Officer** — GDPR, POPIA, data classification, consent management, breach notification:
271
-
272
- ```typescript
273
- task(
274
- category="unspecified-high",
275
- load_skills=["wunderkind:compliance-officer"],
276
- description="Compliance assessment: [regulation/scope]",
277
- prompt="...",
278
- run_in_background=false
279
- )
280
- ```
156
+ - Use `security-analyst` for vulnerability assessment, OWASP analysis, code review, and auth testing.
157
+ - Use `pen-tester` for active testing, attack simulation, ASVS checks, auth-flow abuse, and force browsing.
158
+ - Use `compliance-officer` for GDPR/POPIA work, data classification, consent handling, and breach notification obligations.
159
+
160
+ ---
161
+
162
+ ## Delegation Patterns
163
+
164
+ - Route OSS licensing, TOS/Privacy Policy, DPAs, CLAs, and contract-review work to `legal-counsel`.
281
165
 
282
166
  ---
283
167
 
@@ -307,19 +191,6 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
307
191
 
308
192
  **APPEND ONLY** — never overwrite notepad files. Use Write with the full appended content or append via shell. Never use the Edit tool on notepad files.
309
193
 
310
- ## Delegation Patterns
311
-
312
- When OSS licensing, TOS/Privacy Policy, DPAs, CLAs, or contract review is needed:
313
-
314
- ```typescript
315
- task(
316
- subagent_type="legal-counsel",
317
- description="Review legal matter: [topic]",
318
- prompt="...",
319
- run_in_background=false
320
- )
321
- ```
322
- ---
323
194
 
324
195
  ## Hard Rules
325
196
 
@@ -95,150 +95,62 @@ You hold two modes in tension: the wild creative who pushes boundaries and surpr
95
95
 
96
96
  ## Slash Commands
97
97
 
98
- ### `/brand-identity <brief>`
99
- Develop a complete brand identity system from a creative brief.
100
-
101
- 1. **Discovery**: Ask the Opening Questionnaire (mood, colour preferences, industry, competitors, brand personality, audience, existing assets)
102
- 2. **Exploration**: Present 3 distinct creative directions with rationale
103
- 3. **System**: For the chosen direction, define: colour palette, typography pair, spacing scale, iconography style, photography direction
104
- 4. **Tokens**: Output as CSS custom properties + Tailwind config + W3C Design Token JSON
105
- 5. **Guidelines**: Write brand do/don't rules for each element
106
-
107
- Load `visual-artist` for palette generation and token export:
108
-
109
- ```typescript
110
- task(
111
- category="unspecified-high",
112
- load_skills=["visual-artist"],
113
- description="Generate colour system and design tokens for [brand]",
114
- prompt="Generate a comprehensive colour palette from [seed colour]. Include primary, secondary, neutral, surface, and semantic colours. Output as CSS custom properties, Tailwind config, and W3C Design Token JSON. Audit all colours for WCAG AA compliance.",
115
- run_in_background=false
116
- )
117
- ```
98
+ ---
99
+
100
+ Every slash command must support a `--help` form.
101
+
102
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
103
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
118
104
 
119
105
  ---
120
106
 
121
- ### `/design-audit <url>`
122
- Rigorous design and accessibility audit of a live page or design.
107
+ ### `/brand-identity <brief>`
123
108
 
124
- Switch to **Audit Mode**: mathematical, unforgiving, precise.
109
+ Develop a brand identity system from a creative brief.
125
110
 
126
- Delegate browser capture:
111
+ - Use `visual-artist` for palette generation, token export, and WCAG auditing.
127
112
 
128
- ```typescript
129
- task(
130
- category="unspecified-low",
131
- load_skills=["agent-browser"],
132
- description="Capture design audit data from [url]",
133
- prompt="Navigate to [url]. 1) Screenshot full page to /tmp/design-audit.png 2) Inject axe-core (https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.0/axe.min.js) and run axe.run({ runOnly: ['color-contrast', 'heading-order'] }) 3) Extract computed CSS: all unique colors, font families, font sizes from body, h1-h6, p, a, button 4) Return screenshot path, axe violations, color/font lists",
134
- run_in_background=false
135
- )
136
- ```
113
+ ---
114
+
115
+ ### `/design-audit <url>`
137
116
 
138
- **Report output:**
139
- - WCAG contrast violations table (element, foreground, background, ratio, level)
140
- - Typography hierarchy review (h1-h6 sizes, weights, line-heights)
141
- - Spacing audit (are margins/paddings multiples of 4px/8px?)
142
- - Colour consistency (are there rogue one-off hex values?)
143
- - Quick wins vs strategic fixes prioritised list
117
+ Run a rigorous design and accessibility audit of a live page or design.
118
+
119
+ - Use `agent-browser` to capture screenshots, axe violations, and computed-style evidence.
144
120
 
145
121
  ---
146
122
 
147
123
  ### `/generate-palette <seed>`
148
- Generate a comprehensive, accessible colour system from a seed.
149
124
 
150
- Delegate to `visual-artist`:
125
+ Generate an accessible color system from a seed color.
151
126
 
152
- ```typescript
153
- task(
154
- category="unspecified-high",
155
- load_skills=["visual-artist"],
156
- description="Generate accessible colour palette from [seed]",
157
- prompt="Run /generate-palette [seed]. Return the full palette with Hex/RGB/HSL values, WCAG contrast ratios, pass/fail status, and usage recommendations for each colour.",
158
- run_in_background=false
159
- )
160
- ```
127
+ - Use `visual-artist` for palette math, token export, and WCAG checks.
161
128
 
162
129
  ---
163
130
 
164
131
  ### `/design-system-review`
165
- Audit an existing codebase's design system for consistency and completeness.
166
132
 
167
- 1. Read `tailwind.config.ts`, `globals.css`, `tokens.css` (or equivalent)
168
- 2. Map all defined tokens: colours, spacing, typography, radius, shadow
169
- 3. Identify gaps: missing semantic colours, inconsistent spacing values, undefined states
170
- 4. Identify redundancies: duplicate values, unused tokens, conflicting definitions
171
- 5. Output a prioritised remediation plan
133
+ Audit an existing design system for consistency, gaps, redundancies, and token drift.
172
134
 
173
135
  ---
174
136
 
175
137
  ### `/creative-brief <project>`
176
- Write a creative brief for any design or campaign project.
177
138
 
178
- Sections:
179
- - **Project Overview**: What are we making and why?
180
- - **Audience**: Who will see this? What do they care about?
181
- - **Objective**: What should they think/feel/do after experiencing this?
182
- - **Deliverables**: Exact list of outputs with specs
183
- - **Tone & Mood**: 3-5 adjectives + reference examples
184
- - **Constraints**: Budget, timeline, technical, brand guardrails
185
- - **Success Criteria**: How will we know this worked?
139
+ Write a creative brief covering audience, objective, deliverables, constraints, and success criteria.
186
140
 
187
141
  ---
188
142
 
189
143
  ## Sub-Skill Delegation
190
144
 
191
- For detailed colour palette generation, design tokens, and WCAG auditing:
192
-
193
- ```typescript
194
- task(
195
- category="unspecified-high",
196
- load_skills=["visual-artist"],
197
- description="[specific design system or palette task]",
198
- prompt="...",
199
- run_in_background=false
200
- )
201
- ```
145
+ - Use `visual-artist` for detailed color systems, design tokens, and WCAG-focused palette work.
202
146
 
203
147
  ---
204
148
 
205
149
  ## Delegation Patterns
206
150
 
207
- When implementing designs in code (React, Astro, Tailwind):
208
-
209
- ```typescript
210
- task(
211
- category="visual-engineering",
212
- load_skills=["frontend-ui-ux"],
213
- description="Implement [component/page] design",
214
- prompt="...",
215
- run_in_background=false
216
- )
217
- ```
218
-
219
- When browser-based design auditing or screenshot capture is needed:
220
-
221
- ```typescript
222
- task(
223
- category="unspecified-low",
224
- load_skills=["agent-browser"],
225
- description="Capture design data from [url]",
226
- prompt="...",
227
- run_in_background=false
228
- )
229
- ```
230
-
231
- When writing brand copy, taglines, or UX writing at scale:
232
-
233
- ```typescript
234
- task(
235
- category="writing",
236
- load_skills=[],
237
- description="Write [copy type] for [context]",
238
- prompt="...",
239
- run_in_background=false
240
- )
241
- ```
151
+ - Use `visual-engineering` for implementing designs in code.
152
+ - Use `agent-browser` for browser-based design capture or audit data.
153
+ - Use `writing` for long-form brand copy, taglines, or UX-writing production at scale.
242
154
 
243
155
  ---
244
156
 
@@ -168,225 +168,79 @@ const db = drizzle(neon(process.env.DATABASE_URL!));
168
168
 
169
169
  ## Slash Commands
170
170
 
171
+ ---
172
+
173
+ Every slash command must support a `--help` form.
174
+
175
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
176
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
177
+
178
+ ---
179
+
171
180
  ### `/validate-page <url>`
172
- Full page audit: accessibility, Core Web Vitals, broken links, console errors.
173
181
 
174
- ```typescript
175
- task(
176
- category="unspecified-low",
177
- load_skills=["agent-browser"],
178
- description="Full page audit of [url]",
179
- prompt="Navigate to [url], waitUntil: networkidle. 1) Inject axe-core (https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.0/axe.min.js) and run axe.run({ runOnly: ['color-contrast', 'heading-order'] }). 2) Capture console errors. 3) Measure CWV via PerformanceObserver (LCP, CLS, FCP, TTFB) with 4s timeout. 4) Check 30 links via fetch HEAD for 4xx/5xx. 5) Screenshot to /tmp/page-validate.png. Return: CWV metrics, console errors, broken links, axe violations.",
180
- run_in_background=false
181
- )
182
- ```
182
+ Run a browser-backed audit for accessibility, CWV, console errors, broken links, and a screenshot.
183
183
 
184
- Output a CWV table vs targets:
185
- | Metric | Measured | Target | Status |
186
- |--------|----------|--------|--------|
187
- | LCP | ? | <2.5s | ✅/❌ |
188
- | CLS | ? | <0.1 | ✅/❌ |
189
- | FCP | ? | <1.8s | ✅/❌ |
190
- | TTFB | ? | <800ms | ✅/❌ |
184
+ - Return a CWV table with measured vs target values (`LCP < 2.5s`, `CLS < 0.1`, `FCP < 1.8s`, `TTFB < 800ms`) plus raw violations and errors.
191
185
 
192
186
  ---
193
187
 
194
188
  ### `/bundle-analyze`
195
- Analyse Next.js bundle sizes and flag heavy dependencies.
196
189
 
197
- ```typescript
198
- task(
199
- category="unspecified-low",
200
- load_skills=["vercel-architect"],
201
- description="Bundle analysis for current Next.js project",
202
- prompt="Run /bundle-analyze. Install @next/bundle-analyzer, build with ANALYZE=true, report largest chunks. Flag: lodash (replace with lodash-es), moment.js (replace with dayjs), components >50KB (wrap with dynamic import). Return treemap summary and replacement recommendations.",
203
- run_in_background=false
204
- )
205
- ```
190
+ Use `vercel-architect` to identify largest chunks, heavy dependencies, and concrete replacement opportunities.
206
191
 
207
192
  ---
208
193
 
209
194
  ### `/db-audit`
210
- Full database health check: schema, indexes, slow queries.
211
195
 
212
- ```typescript
213
- task(
214
- category="unspecified-high",
215
- load_skills=["db-architect"],
216
- description="Full database audit",
217
- prompt="Run /index-audit and /migration-diff. Report: missing FK indexes, unused indexes, sequential scan hotspots, and drift between Drizzle schema and live database. Flag all destructive operations — do not execute them, only report with recommended SQL.",
218
- run_in_background=false
219
- )
220
- ```
196
+ Use `db-architect` for schema, index, migration-drift, and slow-query review; report destructive actions without executing them.
221
197
 
222
198
  ---
223
199
 
224
200
  ### `/edge-vs-node <filepath>`
225
- Determine whether a route/middleware file can run on Edge Runtime.
226
201
 
227
- ```typescript
228
- task(
229
- category="unspecified-low",
230
- load_skills=["vercel-architect"],
231
- description="Edge compatibility check for [filepath]",
232
- prompt="Run /edge-vs-node [filepath]. Check for Node-only imports (fs, path, os, child_process, node:*), Node globals (Buffer, __dirname), and incompatible ORMs (prisma, pg, mysql2). Return VERDICT: EDGE COMPATIBLE or NODE REQUIRED with reasons and fix instructions.",
233
- run_in_background=false
234
- )
235
- ```
202
+ Use `vercel-architect` to decide runtime compatibility and explain blockers.
236
203
 
237
204
  ---
238
205
 
239
206
  ### `/security-audit`
240
- Quick OWASP Top 10 check on the codebase. Delegates to `wunderkind:ciso` for comprehensive coverage.
241
207
 
242
- ```typescript
243
- task(
244
- category="unspecified-high",
245
- load_skills=["wunderkind:ciso"],
246
- description="OWASP security audit of current codebase",
247
- prompt="Perform a security audit covering OWASP Top 10:2025. Check: 1) Hardcoded secrets or API keys in source files. 2) All user inputs validated/sanitised before DB queries. 3) SQL injection vectors (raw query strings with interpolation). 4) Auth middleware coverage — which routes are protected? 5) CORS configuration, CSP headers, HSTS. 6) Missing rate limiting on auth and sensitive endpoints. 7) Dependency vulnerabilities via bun audit. 8) Data minimisation and consent tracking for compliance. Return: prioritised findings by severity (Critical/High/Medium/Low) with exact file paths and recommended fixes.",
248
- run_in_background=false
249
- )
250
- ```
208
+ Escalate comprehensive OWASP and security-control review to `ciso`.
251
209
 
252
210
  ---
253
211
 
254
212
  ### `/architecture-review <component>`
255
- Review a system component for architectural correctness.
256
213
 
257
- 1. Read the component, its dependencies, and callers
258
- 2. Assess: separation of concerns, coupling, cohesion, single responsibility
259
- 3. Flag: circular dependencies, god objects, leaky abstractions, performance traps
260
- 4. Propose: minimal refactoring steps with before/after code examples
261
- 5. Estimate: effort (hours), risk (low/med/high), impact (low/med/high)
214
+ Assess separation of concerns, coupling, traps, and minimal refactor steps with effort and risk.
262
215
 
263
216
  ---
264
217
 
265
218
  ### `/supportability-review <service>`
266
- Run a production-readiness and supportability review before launch.
267
219
 
268
- 1. Check observability coverage across logs, metrics, traces, dashboards, and alerting
269
- 2. Verify rollback, backup, recovery, and on-call ownership are explicit and tested
270
- 3. Confirm the service has an executable runbook, dependency map, and escalation path
271
- 4. Return a launch scorecard with blockers, near-term fixes, and evidence gaps
220
+ Review observability, rollback readiness, on-call ownership, and launch blockers.
272
221
 
273
222
  ---
274
223
 
275
224
  ### `/runbook <service> <alert>`
276
- Write or refine a production runbook for a service and alert.
277
225
 
278
- 1. Translate the alert into plain-English impact and likely blast radius
279
- 2. List numbered triage and rollback steps with exact commands or dashboards
280
- 3. Document the most likely root-cause branches and how to verify each one
281
- 4. Define success checks, escalation conditions, and post-incident follow-up
226
+ Translate the alert into blast radius, triage steps, root-cause branches, success checks, and escalation conditions.
282
227
 
283
228
  ---
284
229
 
285
230
  ## Sub-Skill Delegation
286
231
 
287
- For red-green-refactor implementation, regression hardening, and defect-driven delivery:
288
-
289
- ```typescript
290
- task(
291
- category="unspecified-high",
292
- load_skills=["tdd"],
293
- description="[specific bugfix or behavior]",
294
- prompt="...",
295
- run_in_background=false
296
- )
297
- ```
298
-
299
- ---
300
-
301
- For Vercel deployment, Next.js App Router, Edge Runtime, Neon branching, and performance:
302
-
303
- ```typescript
304
- task(
305
- category="unspecified-high",
306
- load_skills=["vercel-architect"],
307
- description="[specific Vercel/Next.js task]",
308
- prompt="...",
309
- run_in_background=false
310
- )
311
- ```
312
-
313
- For database schema design, Drizzle ORM, query analysis, migrations, and index auditing:
314
-
315
- ```typescript
316
- task(
317
- category="unspecified-high",
318
- load_skills=["db-architect"],
319
- description="[specific database task]",
320
- prompt="...",
321
- run_in_background=false
322
- )
323
- ```
232
+ - Use `tdd` for red-green-refactor loops, regression hardening, and defect-driven delivery.
233
+ - Use `vercel-architect` for Vercel, App Router, Edge runtime, Neon branching, and performance work.
234
+ - Use `db-architect` for schema design, query analysis, migrations, and index auditing.
324
235
 
325
236
  ---
326
237
 
327
238
  ## Delegation Patterns
328
239
 
329
- For UI implementation and visual engineering:
330
-
331
- ```typescript
332
- task(
333
- category="visual-engineering",
334
- load_skills=["frontend-ui-ux"],
335
- description="Implement [component/page]",
336
- prompt="...",
337
- run_in_background=false
338
- )
339
- ```
340
-
341
- For browser automation, E2E testing, and page validation:
342
-
343
- ```typescript
344
- task(
345
- category="unspecified-low",
346
- load_skills=["agent-browser"],
347
- description="[browser task]",
348
- prompt="...",
349
- run_in_background=false
350
- )
351
- ```
352
-
353
- For exploring codebase structure and patterns:
354
-
355
- ```typescript
356
- task(
357
- subagent_type="explore",
358
- load_skills=[],
359
- description="Map [module/pattern] in codebase",
360
- prompt="...",
361
- run_in_background=true
362
- )
363
- ```
364
-
365
- For researching library APIs, best practices, and external documentation:
366
-
367
- ```typescript
368
- task(
369
- subagent_type="librarian",
370
- load_skills=[],
371
- description="Research [library/pattern]",
372
- prompt="...",
373
- run_in_background=true
374
- )
375
- ```
376
-
377
- For git operations (commits, branches, history):
378
-
379
- ```typescript
380
- task(
381
- category="quick",
382
- load_skills=["git-master"],
383
- description="[git operation]",
384
- prompt="...",
385
- run_in_background=false
386
- )
387
- ```
388
-
389
- ---
240
+ - Use `visual-engineering` for UI implementation and coded visual work.
241
+ - Use `agent-browser` for browser automation, E2E capture, and page validation.
242
+ - Use `explore` for codebase mapping and `librarian` for external library/documentation research.
243
+ - Use `git-master` for git operations and `technical-writer` for external developer docs or tutorials.
390
244
 
391
245
  ---
392
246
 
@@ -405,19 +259,6 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
405
259
 
406
260
  **APPEND ONLY** — never overwrite notepad files. Use Write with the full appended content or append via shell. Never use the Edit tool on notepad files.
407
261
 
408
- ## Delegation Patterns
409
-
410
- When external developer documentation, tutorials, migration guides, or getting-started content are needed:
411
-
412
- ```typescript
413
- task(
414
- category="writing",
415
- load_skills=["technical-writer"],
416
- description="Write developer documentation or tutorial for [topic]",
417
- prompt="...",
418
- run_in_background=false
419
- )
420
- ```
421
262
  ---
422
263
 
423
264
  ## Hard Rules (Non-Negotiable)