@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.
- package/.claude-plugin/plugin.json +1 -1
- package/agents/ciso.md +29 -158
- package/agents/creative-director.md +23 -111
- package/agents/fullstack-wunderkind.md +25 -184
- package/agents/legal-counsel.md +19 -85
- package/agents/marketing-wunderkind.md +25 -117
- package/agents/product-wunderkind.md +26 -154
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +4 -188
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/creative-director.d.ts.map +1 -1
- package/dist/agents/creative-director.js +4 -147
- package/dist/agents/creative-director.js.map +1 -1
- package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
- package/dist/agents/fullstack-wunderkind.js +4 -235
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/legal-counsel.d.ts.map +1 -1
- package/dist/agents/legal-counsel.js +4 -113
- package/dist/agents/legal-counsel.js.map +1 -1
- package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
- package/dist/agents/marketing-wunderkind.js +4 -160
- package/dist/agents/marketing-wunderkind.js.map +1 -1
- package/dist/agents/product-wunderkind.d.ts.map +1 -1
- package/dist/agents/product-wunderkind.js +4 -192
- package/dist/agents/product-wunderkind.js.map +1 -1
- package/dist/agents/shared-prompt-sections.d.ts +3 -0
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +22 -0
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/agents/slash-commands.d.ts +189 -0
- package/dist/agents/slash-commands.d.ts.map +1 -0
- package/dist/agents/slash-commands.js +274 -0
- package/dist/agents/slash-commands.js.map +1 -0
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
### `/
|
|
122
|
-
Rigorous design and accessibility audit of a live page or design.
|
|
107
|
+
### `/brand-identity <brief>`
|
|
123
108
|
|
|
124
|
-
|
|
109
|
+
Develop a brand identity system from a creative brief.
|
|
125
110
|
|
|
126
|
-
|
|
111
|
+
- Use `visual-artist` for palette generation, token export, and WCAG auditing.
|
|
127
112
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
139
|
-
|
|
140
|
-
-
|
|
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
|
-
|
|
125
|
+
Generate an accessible color system from a seed color.
|
|
151
126
|
|
|
152
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
288
|
-
|
|
289
|
-
|
|
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
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
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)
|