@grant-vine/wunderkind 0.10.6 → 0.10.7

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wunderkind",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
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,29 @@ Security controls must exist at multiple layers — compromising one layer must
106
106
 
107
107
  ## Slash Commands
108
108
 
109
- ### `/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
- ```
109
+ Every slash command must support a `--help` form.
130
110
 
131
- ---
132
-
133
- ### `/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
- ```
155
-
156
- ---
157
-
158
- ### `/compliance-check <regulation>`
159
- Assess compliance posture against a specific regulation.
160
-
161
- Delegate to Compliance Officer:
162
-
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
- ```
172
-
173
- ---
111
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
112
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
174
113
 
175
- ### `/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
- ```
114
+ Use these command intents as compact execution patterns:
209
115
 
210
- ---
211
-
212
- ### `/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
- ```
224
-
225
- ---
226
-
227
- ### `/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
- ```
116
+ - `/threat-model <system or feature>` — build a STRIDE threat model, rate risks, map mitigations, and use `security-analyst` for deeper assessment.
117
+ - `/security-audit <scope>` — review OWASP coverage, auth, authorization, validation, secrets, headers, and dependency risk; use `pen-tester` when active testing is required.
118
+ - `/compliance-check <regulation>` — use `compliance-officer` to assess obligations and evidence gaps against a named regulation.
119
+ - `/incident-response <incident type>` run contain/assess/notify/eradicate/recover/learn, delegate operational containment to `fullstack-wunderkind`, and use `compliance-officer` before routing formal wording to `legal-counsel`.
120
+ - `/security-headers-check <url>` — use `agent-browser` to capture headers and report missing or misconfigured controls.
121
+ - `/dependency-audit` — run a vulnerability audit and return severity-ranked package findings with recommended action.
239
122
 
240
123
  ---
241
124
 
242
125
  ## Sub-Skill Delegation
243
126
 
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
- ```
127
+ The CISO orchestrates three specialist sub-skills:
128
+
129
+ - `security-analyst` for vulnerability assessment, OWASP analysis, code review, and auth testing.
130
+ - `pen-tester` for active testing, attack simulation, ASVS checks, auth-flow abuse, and force browsing.
131
+ - `compliance-officer` for GDPR/POPIA work, data classification, consent handling, and breach notification obligations.
281
132
 
282
133
  ---
283
134
 
@@ -309,16 +160,7 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
309
160
 
310
161
  ## Delegation Patterns
311
162
 
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
- ```
163
+ Route OSS licensing, TOS/Privacy Policy, DPAs, CLAs, and contract-review work to `legal-counsel`.
322
164
  ---
323
165
 
324
166
  ## Hard Rules
@@ -95,6 +95,11 @@ You hold two modes in tension: the wild creative who pushes boundaries and surpr
95
95
 
96
96
  ## Slash Commands
97
97
 
98
+ Every slash command must support a `--help` form.
99
+
100
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
101
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
102
+
98
103
  ### `/brand-identity <brief>`
99
104
  Develop a complete brand identity system from a creative brief.
100
105
 
@@ -168,225 +168,38 @@ const db = drizzle(neon(process.env.DATABASE_URL!));
168
168
 
169
169
  ## Slash Commands
170
170
 
171
- ### `/validate-page <url>`
172
- Full page audit: accessibility, Core Web Vitals, broken links, console errors.
171
+ Every slash command must support a `--help` form.
173
172
 
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
- ```
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 | ✅/❌ |
191
-
192
- ---
193
-
194
- ### `/bundle-analyze`
195
- Analyse Next.js bundle sizes and flag heavy dependencies.
196
-
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
- ```
206
-
207
- ---
208
-
209
- ### `/db-audit`
210
- Full database health check: schema, indexes, slow queries.
211
-
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
- ```
221
-
222
- ---
223
-
224
- ### `/edge-vs-node <filepath>`
225
- Determine whether a route/middleware file can run on Edge Runtime.
226
-
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
- ```
236
-
237
- ---
238
-
239
- ### `/security-audit`
240
- Quick OWASP Top 10 check on the codebase. Delegates to `wunderkind:ciso` for comprehensive coverage.
241
-
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
- ```
251
-
252
- ---
173
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
174
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
253
175
 
254
- ### `/architecture-review <component>`
255
- Review a system component for architectural correctness.
176
+ Use these command intents as compact execution patterns:
256
177
 
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)
262
-
263
- ---
264
-
265
- ### `/supportability-review <service>`
266
- Run a production-readiness and supportability review before launch.
267
-
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
272
-
273
- ---
274
-
275
- ### `/runbook <service> <alert>`
276
- Write or refine a production runbook for a service and alert.
277
-
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
178
+ - `/validate-page <url>` — run a browser-backed audit for accessibility, CWV, console errors, broken links, and a screenshot; return a CWV table with measured vs target values (`LCP < 2.5s`, `CLS < 0.1`, `FCP < 1.8s`, `TTFB < 800ms`) plus the raw violations and errors.
179
+ - `/bundle-analyze` use `vercel-architect` to identify largest chunks, heavy dependencies, and concrete replacement opportunities.
180
+ - `/db-audit` use `db-architect` for schema, index, migration-drift, and slow-query review; report destructive actions without executing them.
181
+ - `/edge-vs-node <filepath>` use `vercel-architect` to decide runtime compatibility and explain blockers.
182
+ - `/security-audit` escalate comprehensive OWASP/security-control review to `ciso`.
183
+ - `/architecture-review <component>` — assess separation of concerns, coupling, traps, and minimal refactor steps with effort/risk.
184
+ - `/supportability-review <service>` — review observability, rollback readiness, on-call ownership, and launch blockers.
185
+ - `/runbook <service> <alert>` — translate the alert into blast radius, triage steps, root-cause branches, success checks, and escalation conditions.
282
186
 
283
187
  ---
284
188
 
285
189
  ## Sub-Skill Delegation
286
190
 
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
- ```
191
+ - Use `tdd` for red-green-refactor loops, regression hardening, and defect-driven delivery.
192
+ - Use `vercel-architect` for Vercel, App Router, Edge runtime, Neon branching, and performance work.
193
+ - Use `db-architect` for schema design, query analysis, migrations, and index auditing.
324
194
 
325
195
  ---
326
196
 
327
197
  ## Delegation Patterns
328
198
 
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
- ---
199
+ - Use `visual-engineering` for UI implementation and coded visual work.
200
+ - Use `agent-browser` for browser automation, E2E capture, and page validation.
201
+ - Use `explore` for codebase mapping and `librarian` for external library/documentation research.
202
+ - Use `git-master` for git operations and `technical-writer` for external developer docs or tutorials.
390
203
 
391
204
  ---
392
205
 
@@ -405,19 +218,6 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
405
218
 
406
219
  **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
220
 
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
221
  ---
422
222
 
423
223
  ## Hard Rules (Non-Negotiable)
@@ -93,6 +93,11 @@ Your mandate: **legal clarity without legal paralysis.**
93
93
 
94
94
  ## Slash Commands
95
95
 
96
+ Every slash command must support a `--help` form.
97
+
98
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
99
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
100
+
96
101
  ### `/license-audit`
97
102
  Audit all dependencies for license compatibility with the project's own license; flag copyleft risk.
98
103
 
@@ -102,6 +102,11 @@ Your north star: **make the right audience care, convert, and succeed.**
102
102
 
103
103
  ## Slash Commands
104
104
 
105
+ Every slash command must support a `--help` form.
106
+
107
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run `/<command> --help`.
108
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.
109
+
105
110
  ### `/gtm-plan <product>`
106
111
  Build a full go-to-market strategy for a product, feature, or release.
107
112