@grant-vine/wunderkind 0.9.12 → 0.10.1
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/README.md +143 -121
- package/agents/ciso.md +15 -17
- package/agents/creative-director.md +3 -7
- package/agents/fullstack-wunderkind.md +86 -13
- package/agents/legal-counsel.md +4 -10
- package/agents/marketing-wunderkind.md +128 -143
- package/agents/product-wunderkind.md +80 -22
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +20 -21
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/creative-director.d.ts.map +1 -1
- package/dist/agents/creative-director.js +3 -7
- package/dist/agents/creative-director.js.map +1 -1
- package/dist/agents/docs-config.d.ts.map +1 -1
- package/dist/agents/docs-config.js +9 -26
- package/dist/agents/docs-config.js.map +1 -1
- package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
- package/dist/agents/fullstack-wunderkind.js +93 -17
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/index.d.ts +0 -6
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -6
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/legal-counsel.d.ts.map +1 -1
- package/dist/agents/legal-counsel.js +5 -11
- package/dist/agents/legal-counsel.js.map +1 -1
- package/dist/agents/manifest.d.ts.map +1 -1
- package/dist/agents/manifest.js +2 -44
- package/dist/agents/manifest.js.map +1 -1
- package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
- package/dist/agents/marketing-wunderkind.js +140 -155
- 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 +85 -24
- package/dist/agents/product-wunderkind.js.map +1 -1
- package/dist/cli/cli-installer.d.ts +1 -1
- package/dist/cli/cli-installer.d.ts.map +1 -1
- package/dist/cli/cli-installer.js +10 -24
- package/dist/cli/cli-installer.js.map +1 -1
- package/dist/cli/config-manager/index.d.ts +14 -1
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +109 -41
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +43 -19
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +16 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +185 -106
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/personality-meta.d.ts +1 -1
- package/dist/cli/personality-meta.d.ts.map +1 -1
- package/dist/cli/personality-meta.js +11 -95
- package/dist/cli/personality-meta.js.map +1 -1
- package/dist/cli/tui-installer.d.ts.map +1 -1
- package/dist/cli/tui-installer.js +5 -11
- package/dist/cli/tui-installer.js.map +1 -1
- package/dist/cli/types.d.ts +15 -24
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -26
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/schemas/wunderkind.config.schema.json +7 -18
- package/skills/SKILL-STANDARD.md +174 -0
- package/skills/agile-pm/SKILL.md +8 -6
- package/skills/code-health/SKILL.md +137 -0
- package/skills/compliance-officer/SKILL.md +13 -11
- package/skills/db-architect/SKILL.md +2 -0
- package/skills/design-an-interface/SKILL.md +91 -0
- package/skills/experimentation-analyst/SKILL.md +6 -4
- package/skills/grill-me/SKILL.md +46 -0
- package/skills/improve-codebase-architecture/SKILL.md +57 -0
- package/skills/oss-licensing-advisor/SKILL.md +4 -2
- package/skills/pen-tester/SKILL.md +3 -1
- package/skills/prd-pipeline/SKILL.md +63 -0
- package/skills/security-analyst/SKILL.md +2 -0
- package/skills/social-media-maven/SKILL.md +11 -9
- package/skills/tdd/SKILL.md +99 -0
- package/skills/technical-writer/SKILL.md +7 -5
- package/skills/triage-issue/SKILL.md +47 -0
- package/skills/ubiquitous-language/SKILL.md +57 -0
- package/skills/vercel-architect/SKILL.md +2 -0
- package/skills/visual-artist/SKILL.md +2 -1
- package/skills/write-a-skill/SKILL.md +76 -0
- package/agents/brand-builder.md +0 -262
- package/agents/data-analyst.md +0 -212
- package/agents/devrel-wunderkind.md +0 -211
- package/agents/operations-lead.md +0 -302
- package/agents/qa-specialist.md +0 -282
- package/agents/support-engineer.md +0 -204
- package/dist/agents/brand-builder.d.ts +0 -8
- package/dist/agents/brand-builder.d.ts.map +0 -1
- package/dist/agents/brand-builder.js +0 -287
- package/dist/agents/brand-builder.js.map +0 -1
- package/dist/agents/data-analyst.d.ts +0 -8
- package/dist/agents/data-analyst.d.ts.map +0 -1
- package/dist/agents/data-analyst.js +0 -238
- package/dist/agents/data-analyst.js.map +0 -1
- package/dist/agents/devrel-wunderkind.d.ts +0 -8
- package/dist/agents/devrel-wunderkind.d.ts.map +0 -1
- package/dist/agents/devrel-wunderkind.js +0 -236
- package/dist/agents/devrel-wunderkind.js.map +0 -1
- package/dist/agents/operations-lead.d.ts +0 -8
- package/dist/agents/operations-lead.d.ts.map +0 -1
- package/dist/agents/operations-lead.js +0 -328
- package/dist/agents/operations-lead.js.map +0 -1
- package/dist/agents/qa-specialist.d.ts +0 -8
- package/dist/agents/qa-specialist.d.ts.map +0 -1
- package/dist/agents/qa-specialist.js +0 -308
- package/dist/agents/qa-specialist.js.map +0 -1
- package/dist/agents/support-engineer.d.ts +0 -8
- package/dist/agents/support-engineer.d.ts.map +0 -1
- package/dist/agents/support-engineer.js +0 -230
- package/dist/agents/support-engineer.js.map +0 -1
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Skill Standard
|
|
2
|
+
|
|
3
|
+
`skills/SKILL-STANDARD.md` is the authoritative repo-level contract for authoring and auditing Wunderkind-native skills.
|
|
4
|
+
|
|
5
|
+
It is derived from `skills/write-a-skill/SKILL.md` and turns that workflow into a reusable standard for every `skills/<skill-name>/SKILL.md` file in this repository.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
- Make skill selection reliable from the description alone.
|
|
10
|
+
- Keep the main skill file fast to scan during runtime.
|
|
11
|
+
- Push rarely needed detail into optional deep-reference files instead of bloating `SKILL.md`.
|
|
12
|
+
- Tie every skill to a surviving Wunderkind owner and a clear artifact surface.
|
|
13
|
+
|
|
14
|
+
## Required contract
|
|
15
|
+
|
|
16
|
+
Every skill must define all of the following:
|
|
17
|
+
|
|
18
|
+
1. Trigger section: the exact conditions that should activate the skill.
|
|
19
|
+
2. Anti-trigger section: when the skill must not be used.
|
|
20
|
+
3. Ownership metadata: the surviving Wunderkind agent responsible for stewarding the skill.
|
|
21
|
+
4. Filesystem or artifact scope: the files, folders, commands, or durable outputs the skill is expected to touch.
|
|
22
|
+
5. Progressive disclosure: a short overview first, then operational steps, then optional deep dives.
|
|
23
|
+
6. Review gate: what must be true before the skill can be considered complete and publishable.
|
|
24
|
+
|
|
25
|
+
## Description standard
|
|
26
|
+
|
|
27
|
+
The frontmatter `description` is the trigger surface for the runtime. Write it trigger-first.
|
|
28
|
+
|
|
29
|
+
- Start with `USE FOR:`.
|
|
30
|
+
- Put the highest-signal trigger phrases in the first sentence.
|
|
31
|
+
- Mention concrete repo artifacts when relevant, such as `skills/*/SKILL.md`, `.sisyphus/`, `README.md`, `tests/unit/`, or `src/`.
|
|
32
|
+
- Prefer explicit task phrases over vague coaching language.
|
|
33
|
+
- Keep it concise enough to scan quickly, but specific enough to disambiguate from adjacent skills.
|
|
34
|
+
|
|
35
|
+
Good pattern:
|
|
36
|
+
|
|
37
|
+
```md
|
|
38
|
+
description: >
|
|
39
|
+
USE FOR: capability-first trigger phrases, concrete repo artifacts, and the exact
|
|
40
|
+
situations where this skill should be selected instead of a neighboring one.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Standard structure
|
|
44
|
+
|
|
45
|
+
Each `SKILL.md` should use this shape unless a tighter variant is clearly better:
|
|
46
|
+
|
|
47
|
+
1. Frontmatter: `name`, trigger-first `description`
|
|
48
|
+
2. H1 title
|
|
49
|
+
3. One-paragraph overview: what the skill does and why it exists
|
|
50
|
+
4. `## Primary owner`
|
|
51
|
+
5. `## Filesystem scope` or `## Output target`
|
|
52
|
+
6. `## When to trigger`
|
|
53
|
+
7. `## Anti-triggers`
|
|
54
|
+
8. `## Process` or equivalent ordered workflow
|
|
55
|
+
9. Optional decision lenses, slash commands, or delegation patterns
|
|
56
|
+
10. `## Hard rules`
|
|
57
|
+
11. `## Review gate`
|
|
58
|
+
|
|
59
|
+
## Ownership metadata
|
|
60
|
+
|
|
61
|
+
Every skill must name one surviving owner from the retained topology:
|
|
62
|
+
|
|
63
|
+
- `product-wunderkind`
|
|
64
|
+
- `fullstack-wunderkind`
|
|
65
|
+
- `marketing-wunderkind`
|
|
66
|
+
- `creative-director`
|
|
67
|
+
- `ciso`
|
|
68
|
+
- `legal-counsel`
|
|
69
|
+
|
|
70
|
+
If a removed legacy agent is still mentioned for context, the surviving steward must be explicit and the note must explain the handoff boundary.
|
|
71
|
+
|
|
72
|
+
## Filesystem and artifact scope
|
|
73
|
+
|
|
74
|
+
Every skill must declare what it can read, write, or produce.
|
|
75
|
+
|
|
76
|
+
Typical scope patterns:
|
|
77
|
+
|
|
78
|
+
- Main asset: `skills/<skill-name>/SKILL.md`
|
|
79
|
+
- Optional deep references: `skills/<skill-name>/REFERENCE.md`, `skills/<skill-name>/EXAMPLES.md`
|
|
80
|
+
- Optional helper scripts: `skills/<skill-name>/scripts/`
|
|
81
|
+
- Durable project artifacts: `.sisyphus/notepads/`, `.sisyphus/evidence/`, `.sisyphus/triage/`, `.sisyphus/rfcs/`
|
|
82
|
+
- Published docs surfaces: `README.md`, `AGENTS.md`, or repo docs folders when the skill is documentation-facing
|
|
83
|
+
|
|
84
|
+
If a skill is analysis-only, say so explicitly. If it writes durable output, name the path pattern.
|
|
85
|
+
|
|
86
|
+
## Progressive disclosure
|
|
87
|
+
|
|
88
|
+
Keep the primary `SKILL.md` short enough for fast runtime scanning.
|
|
89
|
+
|
|
90
|
+
- Put the minimum viable overview and decision rules in `SKILL.md`.
|
|
91
|
+
- Move deep background, long examples, edge-case matrices, or command catalogs into optional sibling files.
|
|
92
|
+
- Reference deeper files only when they add real value for rare or complex paths.
|
|
93
|
+
- Prefer one clear workflow over encyclopedic prose.
|
|
94
|
+
|
|
95
|
+
Use this depth ladder:
|
|
96
|
+
|
|
97
|
+
1. Overview: capability, owner, and trigger surface
|
|
98
|
+
2. Core workflow: ordered steps and hard rules
|
|
99
|
+
3. Optional deep dive: references, examples, scripts, or research appendices
|
|
100
|
+
|
|
101
|
+
## Anti-triggers
|
|
102
|
+
|
|
103
|
+
Every skill must say what it is not for.
|
|
104
|
+
|
|
105
|
+
Minimum expectations:
|
|
106
|
+
|
|
107
|
+
- call out neighboring skills when boundary confusion is likely
|
|
108
|
+
- exclude trivial tasks that do not justify skill activation
|
|
109
|
+
- exclude generated output or unrelated repo areas when applicable
|
|
110
|
+
- exclude removed-agent ownership assumptions
|
|
111
|
+
|
|
112
|
+
## Optional deep assets
|
|
113
|
+
|
|
114
|
+
Create optional sibling assets only when the main skill becomes hard to scan without them.
|
|
115
|
+
|
|
116
|
+
- `REFERENCE.md`: long-form theory, policies, matrices, or terminology
|
|
117
|
+
- `EXAMPLES.md`: worked examples, sample prompts, or before/after outputs
|
|
118
|
+
- `scripts/`: repeatable helper automation that the skill relies on
|
|
119
|
+
|
|
120
|
+
If you add a deep asset, `SKILL.md` must still stand on its own for common cases.
|
|
121
|
+
|
|
122
|
+
## Review gate
|
|
123
|
+
|
|
124
|
+
A skill is complete only when all of the following are true:
|
|
125
|
+
|
|
126
|
+
1. The frontmatter description is trigger-first and distinguishable from neighboring skills.
|
|
127
|
+
2. The surviving owner is explicit and matches the retained topology.
|
|
128
|
+
3. Filesystem or artifact scope is named precisely.
|
|
129
|
+
4. Anti-triggers prevent accidental overuse.
|
|
130
|
+
5. The workflow follows progressive disclosure instead of dumping every detail into one file.
|
|
131
|
+
6. Optional deep assets, if present, are referenced deliberately and not required for basic use.
|
|
132
|
+
7. Hard rules define scope boundaries and failure conditions.
|
|
133
|
+
8. The skill inventory in this file remains accurate after the change.
|
|
134
|
+
9. `README.md` and `AGENTS.md` reflect ownership or inventory changes when the public surface changes.
|
|
135
|
+
|
|
136
|
+
## Authoring checklist
|
|
137
|
+
|
|
138
|
+
- Name the skill after the capability, not the persona.
|
|
139
|
+
- Write the description as a runtime trigger surface, not marketing copy.
|
|
140
|
+
- Declare the owner before describing the workflow.
|
|
141
|
+
- Name the durable outputs or confirm that the skill is read-only.
|
|
142
|
+
- Split rare detail into sibling files before `SKILL.md` becomes bloated.
|
|
143
|
+
- Keep repo-specific language stronger than generic methodology language.
|
|
144
|
+
|
|
145
|
+
## Skill inventory
|
|
146
|
+
|
|
147
|
+
| Skill Name | Current Owner | Disposition | Notes |
|
|
148
|
+
|---|---|---|---|
|
|
149
|
+
| `agile-pm` | `product-wunderkind` | revise | Keep as a product planning skill, but update removed-agent references and align the file to the full trigger/anti-trigger standard. |
|
|
150
|
+
| `compliance-officer` | `ciso` | keep | Still maps directly to security, privacy controls, and regulatory guidance under the retained topology. |
|
|
151
|
+
| `code-health` | `fullstack-wunderkind` | keep | Produces severity-ranked audit reports (coupling, testability, dependency risk) as structured markdown; read-only, no automated cleanup. |
|
|
152
|
+
| `db-architect` | `fullstack-wunderkind` | keep | Remains a distinct engineering specialty with clear database and migration scope. |
|
|
153
|
+
| `design-an-interface` | `fullstack-wunderkind` | keep | Newly imported and already follows the intended trigger and anti-trigger shape. |
|
|
154
|
+
| `experimentation-analyst` | `product-wunderkind` | revise | Reassign from removed `data-analyst`; center this skill on product experiments and feature readouts, with marketing consulted for campaign analytics. |
|
|
155
|
+
| `grill-me` | `product-wunderkind` | keep | Continues to serve as the ambiguity-collapsing intake skill for product framing. |
|
|
156
|
+
| `improve-codebase-architecture` | `fullstack-wunderkind` | keep | Still the right long-form RFC and architecture-boundary skill. |
|
|
157
|
+
| `oss-licensing-advisor` | `legal-counsel` | keep | Clear legal specialization with no ownership ambiguity. |
|
|
158
|
+
| `pen-tester` | `ciso` | keep | Remains the offensive-security counterpart to broader security analysis. |
|
|
159
|
+
| `prd-pipeline` | `product-wunderkind` | keep | Core orchestrator skill for PRD, plan, and delivery flow. |
|
|
160
|
+
| `security-analyst` | `ciso` | keep | Still the general defensive-security analysis skill under `ciso`. |
|
|
161
|
+
| `social-media-maven` | `marketing-wunderkind` | keep | Fits the consolidated marketing remit after brand and devrel absorption. |
|
|
162
|
+
| `tdd` | `fullstack-wunderkind` | revise | Reassign from removed `qa-specialist`; keep as the engineering execution skill for red-green-refactor work. |
|
|
163
|
+
| `technical-writer` | `marketing-wunderkind` | revise | Reassign from removed `devrel-wunderkind`; documentation and developer-facing content now live under marketing stewardship. |
|
|
164
|
+
| `triage-issue` | `product-wunderkind` | revise | Reassign from removed `support-engineer` and `qa-specialist`; product now owns front-door triage while engineering supports implementation. |
|
|
165
|
+
| `ubiquitous-language` | `product-wunderkind` | keep | Continues to support product-led terminology and shared domain language. |
|
|
166
|
+
| `vercel-architect` | `fullstack-wunderkind` | keep | Remains a focused platform-engineering skill with clear deployment scope. |
|
|
167
|
+
| `visual-artist` | `creative-director` | keep | Still belongs under the retained design and visual-language owner. |
|
|
168
|
+
| `write-a-skill` | `product-wunderkind` | revise | Keep as the practical authoring workflow, but make `skills/SKILL-STANDARD.md` the source of truth it references. |
|
|
169
|
+
|
|
170
|
+
## Change policy
|
|
171
|
+
|
|
172
|
+
- Do not hand-edit generated `agents/*.md` output to express skill standards.
|
|
173
|
+
- Update this file whenever a skill is added, reassigned, merged, retired, or materially repurposed.
|
|
174
|
+
- If a future audit decides a skill should merge or retire, record that disposition here before changing the public docs.
|
package/skills/agile-pm/SKILL.md
CHANGED
|
@@ -13,6 +13,8 @@ description: >
|
|
|
13
13
|
|
|
14
14
|
You are an Agile Project Manager specialising in task decomposition for AI agents. Your primary objective is to structure work so that agents can operate in parallel without file conflicts.
|
|
15
15
|
|
|
16
|
+
**Owned by:** wunderkind:product-wunderkind
|
|
17
|
+
|
|
16
18
|
### Core Principle: Parallel Safety via Concern Grouping
|
|
17
19
|
|
|
18
20
|
"One task = one file concern = one agent. Never let two tasks share a file."
|
|
@@ -83,14 +85,14 @@ Organise a backlog into a structured sprint.
|
|
|
83
85
|
3. **Group**: Organise tasks by concern to maximise parallel work.
|
|
84
86
|
4. **Output**: A sprint table including tasks, points, file targets, dependency ordering, and stretch goals.
|
|
85
87
|
|
|
86
|
-
**After the sprint plan is complete**, route user stories to `wunderkind:
|
|
88
|
+
**After the sprint plan is complete**, route user stories to `wunderkind:product-wunderkind` for acceptance and testability review:
|
|
87
89
|
|
|
88
90
|
```typescript
|
|
89
91
|
task(
|
|
90
92
|
category="unspecified-low",
|
|
91
|
-
load_skills=["wunderkind:
|
|
92
|
-
description="Story
|
|
93
|
-
prompt="Review the user stories in the sprint plan for
|
|
93
|
+
load_skills=["wunderkind:product-wunderkind"],
|
|
94
|
+
description="Story acceptance review for sprint",
|
|
95
|
+
prompt="Review the user stories in the sprint plan for acceptance quality and testability. For each story: check INVEST criteria, flag missing rejection paths, missing security boundaries, and untestable acceptance criteria. Return a story-by-story checklist with specific improvements suggested, and call out any technical follow-up that should escalate to fullstack-wunderkind.",
|
|
94
96
|
run_in_background=false
|
|
95
97
|
)
|
|
96
98
|
```
|
|
@@ -107,9 +109,9 @@ Facilitate a sprint retrospective and capture actionable outcomes.
|
|
|
107
109
|
1. Gather inputs: review the sprint plan, completed tasks, velocity, and any blockers or incidents from the sprint
|
|
108
110
|
2. Identify patterns: are the same impediments recurring? Is velocity declining or erratic?
|
|
109
111
|
3. Categorise findings:
|
|
110
|
-
- **Technical debt**: recurring code issues, slow tests, brittle E2E — route fixes to `wunderkind:
|
|
112
|
+
- **Technical debt**: recurring code issues, slow tests, brittle E2E — route fixes to `wunderkind:fullstack-wunderkind`
|
|
111
113
|
- **Process gaps**: unclear acceptance criteria, late QA, missing definition of done
|
|
112
|
-
- **Tooling**: slow builds, broken CI, environment instability — route to `wunderkind:
|
|
114
|
+
- **Tooling**: slow builds, broken CI, environment instability — route to `wunderkind:fullstack-wunderkind`
|
|
113
115
|
4. Write action items: each must have an owner, a due date, and a measurable success criteria
|
|
114
116
|
5. Prioritise: maximum 3 action items per retrospective — too many = none get done
|
|
115
117
|
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-health
|
|
3
|
+
description: >
|
|
4
|
+
USE FOR: code health audits, engineering hygiene assessments, coupling analysis,
|
|
5
|
+
testability reviews, dependency classification, severity-ranked findings reports,
|
|
6
|
+
and identifying systemic code quality patterns across a codebase.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Code Health
|
|
11
|
+
|
|
12
|
+
Produce a structured, evidence-based code health audit report with severity-ranked findings. This skill is an analysis and reporting tool — it does not mutate code, create GitHub issues or RFCs, or run automated cleanup tools.
|
|
13
|
+
|
|
14
|
+
## Primary owner
|
|
15
|
+
|
|
16
|
+
**Owned by:** wunderkind:fullstack-wunderkind
|
|
17
|
+
|
|
18
|
+
This skill is owned by `fullstack-wunderkind` as the surviving steward for code quality, TDD, architecture, and engineering methods.
|
|
19
|
+
|
|
20
|
+
## Output target
|
|
21
|
+
|
|
22
|
+
Produce a structured markdown audit report as the response output. Do not write the report automatically to a fixed file path. If the user wants the report persisted, they can ask you to write it to a file of their choosing.
|
|
23
|
+
|
|
24
|
+
## Filesystem scope
|
|
25
|
+
|
|
26
|
+
- Read access: all source files, test files, config files, and dependency manifests in the project
|
|
27
|
+
- Write access: none (read-only analysis; output is in-response markdown)
|
|
28
|
+
- Supporting repo surfaces may include: `src/`, `tests/`, `package.json`, lock files, `tsconfig.json`, build configs
|
|
29
|
+
|
|
30
|
+
## When to trigger
|
|
31
|
+
|
|
32
|
+
Use this skill when:
|
|
33
|
+
|
|
34
|
+
- the user explicitly requests a code health audit, engineering hygiene review, or quality assessment
|
|
35
|
+
- the goal is to understand coupling, testability, or architectural debt before making changes
|
|
36
|
+
- the user wants a prioritised finding list with severity levels before deciding what to fix
|
|
37
|
+
- a project needs a baseline quality snapshot before a refactor or new feature sprint
|
|
38
|
+
|
|
39
|
+
## Anti-triggers
|
|
40
|
+
|
|
41
|
+
Do not trigger this skill for:
|
|
42
|
+
|
|
43
|
+
- every normal coding task by default
|
|
44
|
+
- product feature delivery (use `fullstack-wunderkind` directly)
|
|
45
|
+
- architecture RFC creation or interface design (use `improve-codebase-architecture`)
|
|
46
|
+
- TDD workflow support (use `tdd`)
|
|
47
|
+
- docs-only or generated-file changes
|
|
48
|
+
|
|
49
|
+
## Severity taxonomy
|
|
50
|
+
|
|
51
|
+
Every finding must be assigned one of five severity levels:
|
|
52
|
+
|
|
53
|
+
| Level | Meaning |
|
|
54
|
+
|---|---|
|
|
55
|
+
| `critical` | Causes data loss, security exposure, or blocking build failures; must be fixed before shipping |
|
|
56
|
+
| `high` | Causes reliability failures, significant coupling, or test blindness; should be fixed promptly |
|
|
57
|
+
| `medium` | Causes friction, testability problems, or hidden coupling; fix when adjacent work touches the area |
|
|
58
|
+
| `low` | Minor hygiene, naming inconsistency, or low-impact debt; fix opportunistically |
|
|
59
|
+
| `informational` | Observations worth noting but requiring no immediate action |
|
|
60
|
+
|
|
61
|
+
**Target state:** zero `critical` and `high` findings in a healthy codebase. Medium-or-lower findings are acceptable when the agent explains the tradeoff or records a deferral rationale.
|
|
62
|
+
|
|
63
|
+
## Process
|
|
64
|
+
|
|
65
|
+
1. **Discover entry points.** Identify the module structure: entry files, public APIs, CLI surfaces, exported types, and build output shape. Map what callers depend on.
|
|
66
|
+
|
|
67
|
+
2. **Map coupling and seam boundaries.** Trace which modules import which. Identify tight coupling (direct instantiation, shared mutable state, circular dependencies). Note where seams exist for testing and where they are absent.
|
|
68
|
+
|
|
69
|
+
3. **Assess testability.** For each significant module, ask: Can this be tested in isolation? Are side effects injectable or faked? Are there untested branches with production risk? Identify coverage gaps tied to real failure modes rather than line metrics alone.
|
|
70
|
+
|
|
71
|
+
4. **Classify dependencies.** Separate:
|
|
72
|
+
- Core domain logic (should be dependency-free or near-free)
|
|
73
|
+
- Infrastructure adapters (file I/O, network, database, CLI frameworks)
|
|
74
|
+
- Dev tooling (test runners, type checkers, bundlers)
|
|
75
|
+
- Transitive risk (pinned vs unpinned, maintained vs abandoned)
|
|
76
|
+
|
|
77
|
+
5. **Rank findings by severity.** Assign each finding a severity level from the taxonomy above. Group by severity tier. Do not inflate severity — be honest about what is `medium` vs `high`.
|
|
78
|
+
|
|
79
|
+
6. **Produce the audit report.** Write the report in the response using the report shape below.
|
|
80
|
+
|
|
81
|
+
## Report shape
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
# Code Health Audit — <Project or Scope>
|
|
85
|
+
|
|
86
|
+
## Executive Summary
|
|
87
|
+
One paragraph: overall health signal, dominant pattern, highest-priority concern.
|
|
88
|
+
|
|
89
|
+
## Findings by Severity
|
|
90
|
+
|
|
91
|
+
### Critical
|
|
92
|
+
- **[File:Line or Module]** — Description of the finding and why it is critical.
|
|
93
|
+
|
|
94
|
+
### High
|
|
95
|
+
- **[File:Line or Module]** — Description.
|
|
96
|
+
|
|
97
|
+
### Medium
|
|
98
|
+
- **[File:Line or Module]** — Description.
|
|
99
|
+
|
|
100
|
+
### Low
|
|
101
|
+
- **[File:Line or Module]** — Description.
|
|
102
|
+
|
|
103
|
+
### Informational
|
|
104
|
+
- **[File:Line or Module]** — Observations worth noting.
|
|
105
|
+
|
|
106
|
+
## Priority Action List
|
|
107
|
+
Ordered list of the 3–7 highest-leverage actions to improve health.
|
|
108
|
+
Each action should name the file/module and describe the change at a concrete level.
|
|
109
|
+
|
|
110
|
+
## Systemic Patterns
|
|
111
|
+
Recurring patterns (good or bad) that appear across multiple files/modules.
|
|
112
|
+
Name the pattern, cite 2–3 examples, and note whether it is an asset or a liability.
|
|
113
|
+
|
|
114
|
+
## Appendix
|
|
115
|
+
Optional: dependency graph fragments, coupling diagrams, notes on external references.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Hard rules
|
|
119
|
+
|
|
120
|
+
1. This skill is read-only and analysis-only. Do not modify code, run cleanup tools, or generate automated fixes.
|
|
121
|
+
2. Do not create GitHub issues, PRs, or RFCs as part of this workflow.
|
|
122
|
+
3. Do not present the audit as a set of "pick one" options — produce findings and a priority list, then let the engineer decide what to act on.
|
|
123
|
+
4. Do not inflate severity. Reserve `critical` for genuine blocking risks.
|
|
124
|
+
5. Medium-or-lower findings may be explained or deferred; document the rationale when deferring.
|
|
125
|
+
6. The report is produced in the response. Do not write it automatically to a fixed file path.
|
|
126
|
+
7. Do not require network access to run the audit. All analysis is based on local filesystem inspection.
|
|
127
|
+
|
|
128
|
+
## Review gate
|
|
129
|
+
|
|
130
|
+
This skill is complete only when:
|
|
131
|
+
|
|
132
|
+
1. `fullstack-wunderkind` is named as the primary owner.
|
|
133
|
+
2. The severity taxonomy (`critical`, `high`, `medium`, `low`, `informational`) is defined.
|
|
134
|
+
3. The six audit workflow steps are explicit.
|
|
135
|
+
4. The report shape includes: Executive Summary, Findings by Severity, Priority Action List, Systemic Patterns, Appendix.
|
|
136
|
+
5. The skill explicitly states it is read-only and does not mutate code or create external artifacts.
|
|
137
|
+
6. No references to automated code-cleanup tools, package-manager install workflows, or any language suggesting the skill mutates code appear anywhere in the file.
|
|
@@ -22,22 +22,24 @@ You are the **Compliance Officer** — a privacy and regulatory specialist who e
|
|
|
22
22
|
|
|
23
23
|
You are a sub-skill of the CISO agent and are invoked for compliance assessments, data protection reviews, and regulatory guidance.
|
|
24
24
|
|
|
25
|
+
**Owned by:** wunderkind:ciso
|
|
26
|
+
|
|
25
27
|
---
|
|
26
28
|
|
|
27
29
|
## Regional Configuration
|
|
28
30
|
|
|
29
|
-
**Read
|
|
31
|
+
**Read `.wunderkind/wunderkind.config.jsonc` at the start of any compliance or regulatory task.**
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
Find this file at `.wunderkind/wunderkind.config.jsonc` in the project directory. Key fields:
|
|
32
34
|
|
|
33
35
|
| Field | Effect on this skill |
|
|
34
36
|
|---|---|
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
37
|
+
| `primaryRegulation` | The primary regulation to assess against (defaults to GDPR if blank) |
|
|
38
|
+
| `secondaryRegulation` | Any additional regulation to layer on top |
|
|
39
|
+
| `region` | Used to select applicable local regulatory nuance |
|
|
40
|
+
| `industry` | Flags sector-specific obligations (e.g. healthcare → HIPAA awareness, finance → PCI DSS) |
|
|
39
41
|
|
|
40
|
-
If
|
|
42
|
+
If `.wunderkind/wunderkind.config.jsonc` is absent or fields are blank, default to **GDPR as the global baseline** — it is the most comprehensive and widely adopted framework, and compliance with it satisfies most other frameworks' core requirements.
|
|
41
43
|
|
|
42
44
|
Regional guidance is **additive, never subtractive**: global best practices are never reduced for a specific region.
|
|
43
45
|
|
|
@@ -228,7 +230,7 @@ Compare current state against requirements. For each gap:
|
|
|
228
230
|
### `/compliance-assessment <regulation>`
|
|
229
231
|
Perform a compliance assessment against the applicable regulation.
|
|
230
232
|
|
|
231
|
-
**First**: read
|
|
233
|
+
**First**: read `.wunderkind/wunderkind.config.jsonc`. If `primaryRegulation` is set, assess against that regulation. If blank, default to GDPR. If a regulation is explicitly passed as an argument, use that regardless of config.
|
|
232
234
|
|
|
233
235
|
Supported regulations: GDPR, POPIA, CCPA/CPRA, PIPEDA, LGPD, PDPA (Singapore/Thailand), APP (Australia).
|
|
234
236
|
|
|
@@ -291,12 +293,12 @@ Plan must cover:
|
|
|
291
293
|
7. **Remediate**: fix the root cause
|
|
292
294
|
8. **Review**: postmortem, update ROPA, improve controls
|
|
293
295
|
|
|
294
|
-
**When the breach has a technical containment component**, delegate immediately to `wunderkind:
|
|
296
|
+
**When the breach has a technical containment component**, delegate immediately to `wunderkind:fullstack-wunderkind`:
|
|
295
297
|
|
|
296
298
|
```typescript
|
|
297
299
|
task(
|
|
298
300
|
category="unspecified-high",
|
|
299
|
-
load_skills=["wunderkind:
|
|
301
|
+
load_skills=["wunderkind:fullstack-wunderkind"],
|
|
300
302
|
description="Containment steps for data breach incident",
|
|
301
303
|
prompt="A data breach has been detected. Implement containment: isolate affected systems, revoke exposed credentials/tokens, disable compromised accounts, capture logs for forensic preservation, and confirm blast radius. Return: actions taken, systems affected, credentials rotated, and estimated scope of exposed data.",
|
|
302
304
|
run_in_background=false
|
|
@@ -352,4 +354,4 @@ When a data subject request arrives:
|
|
|
352
354
|
4. **Data minimisation is a design constraint**: the question at design time is "what data do we actually need?" not "what data might be useful?"
|
|
353
355
|
5. **Rights are operational, not theoretical**: having a privacy policy that mentions rights is not the same as having the ability to fulfil a SAR within the required timeline
|
|
354
356
|
6. **No cross-border transfer without a mechanism**: data cannot leave a jurisdiction without an appropriate transfer mechanism (adequacy decision, SCCs, BCRs)
|
|
355
|
-
7. **Config-first**: always read
|
|
357
|
+
7. **Config-first**: always read `.wunderkind/wunderkind.config.jsonc` before starting any compliance assessment — assess against the right regulation for the project's jurisdiction
|
|
@@ -12,6 +12,8 @@ description: >
|
|
|
12
12
|
You are a PostgreSQL database architect specialising in schema design, Drizzle ORM,
|
|
13
13
|
Neon DB, query optimisation, and safe schema migrations.
|
|
14
14
|
|
|
15
|
+
**Owned by:** wunderkind:fullstack-wunderkind
|
|
16
|
+
|
|
15
17
|
---
|
|
16
18
|
|
|
17
19
|
## Destructive Action Protocol
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-an-interface
|
|
3
|
+
description: >
|
|
4
|
+
USE FOR: high-complexity API design, module boundary design, interface comparison,
|
|
5
|
+
design-it-twice exploration, and choosing between competing abstractions before
|
|
6
|
+
implementation. Use when the shape of an interface is the main engineering risk.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Design an Interface
|
|
11
|
+
|
|
12
|
+
Adapted from Matt Pocock's benchmark skill for Wunderkind's engineering workflow.
|
|
13
|
+
|
|
14
|
+
## Primary owner
|
|
15
|
+
|
|
16
|
+
**Owned by:** wunderkind:fullstack-wunderkind
|
|
17
|
+
|
|
18
|
+
This skill is explicitly owned by `fullstack-wunderkind`.
|
|
19
|
+
|
|
20
|
+
If the design question expands into broader structural friction or RFC-worthy boundary
|
|
21
|
+
changes, hand off to `improve-codebase-architecture` for the longer-form architecture work.
|
|
22
|
+
|
|
23
|
+
## Filesystem scope
|
|
24
|
+
|
|
25
|
+
This skill is analysis-first. It reads the current implementation and writes only the smallest
|
|
26
|
+
durable artifact needed for the decision:
|
|
27
|
+
|
|
28
|
+
- `skills/design-an-interface/SKILL.md` for the doctrine itself
|
|
29
|
+
- `.sisyphus/notepads/` for short-lived exploration notes and tradeoff capture
|
|
30
|
+
- `.sisyphus/rfcs/<slug>.md` for repo-shaping interface decisions
|
|
31
|
+
- implementation task or PR notes when the decision is narrow and immediate
|
|
32
|
+
|
|
33
|
+
## When to trigger
|
|
34
|
+
|
|
35
|
+
Use this skill only when a high-complexity engineering decision about API shape, module
|
|
36
|
+
boundaries, or abstraction depth will materially affect future implementation.
|
|
37
|
+
|
|
38
|
+
Typical signals:
|
|
39
|
+
|
|
40
|
+
- an API boundary between modules, services, or adapters needs an intentional contract
|
|
41
|
+
- multiple plausible public interfaces exist and the wrong shape will be costly to unwind
|
|
42
|
+
- callers and implementers have competing needs that force a contract tradeoff
|
|
43
|
+
- a significant refactor needs a new module or abstraction shape before code moves
|
|
44
|
+
- the team must compare materially different designs instead of defaulting to one obvious path
|
|
45
|
+
|
|
46
|
+
## Anti-triggers
|
|
47
|
+
|
|
48
|
+
Do NOT invoke for trivial helpers, minor parameter additions, or any task where there is only
|
|
49
|
+
one obvious solution.
|
|
50
|
+
|
|
51
|
+
Do not trigger this skill for:
|
|
52
|
+
|
|
53
|
+
- a simple helper with one obvious signature
|
|
54
|
+
- a minor parameter addition that does not change the interface contract
|
|
55
|
+
- local parameter naming cleanup
|
|
56
|
+
- routine CRUD handlers where the repo already has a clear pattern
|
|
57
|
+
- UI polish decisions that belong to `creative-director`
|
|
58
|
+
- broad architecture audits better handled by `improve-codebase-architecture`
|
|
59
|
+
|
|
60
|
+
## Process
|
|
61
|
+
|
|
62
|
+
1. Define the callers, constraints, and public behaviors the interface must support.
|
|
63
|
+
2. Generate at least two genuinely different designs; three is better when the tradeoffs are subtle.
|
|
64
|
+
3. Show a usage example for each design, not just a type signature.
|
|
65
|
+
4. Compare the designs for simplicity, misuse resistance, depth, and future change cost.
|
|
66
|
+
5. Recommend one direction and explain why the rejected options lost.
|
|
67
|
+
|
|
68
|
+
## Evaluation lens
|
|
69
|
+
|
|
70
|
+
- Interface simplicity: fewer concepts, fewer ways to misuse
|
|
71
|
+
- Depth: small public surface hiding meaningful internal complexity
|
|
72
|
+
- Generality: flexible enough for expected change, not speculative abstraction
|
|
73
|
+
- Testability: easy to exercise through public behavior
|
|
74
|
+
- Migration cost: realistic adoption path in this repo
|
|
75
|
+
|
|
76
|
+
## Hard rules
|
|
77
|
+
|
|
78
|
+
1. Produce multiple distinct designs before choosing one.
|
|
79
|
+
2. Evaluate interface quality, not coding speed.
|
|
80
|
+
3. Prefer hard-to-misuse boundaries over clever signatures.
|
|
81
|
+
4. Ground the recommendation in current repo constraints and file layout.
|
|
82
|
+
5. If the problem is bigger than one interface, escalate into architecture work instead of forcing it here.
|
|
83
|
+
|
|
84
|
+
## Review gate
|
|
85
|
+
|
|
86
|
+
This skill is complete only when:
|
|
87
|
+
|
|
88
|
+
1. `fullstack-wunderkind` ownership is explicit and the activation surface is limited to high-complexity engineering decisions.
|
|
89
|
+
2. At least two genuinely different interface designs were compared through usage examples, not just type signatures.
|
|
90
|
+
3. The chosen boundary is grounded in repo-specific callers, constraints, and migration cost.
|
|
91
|
+
4. The durable output path is named clearly when the decision needs to persist beyond the current task.
|
|
@@ -14,13 +14,15 @@ description: >
|
|
|
14
14
|
|
|
15
15
|
# Experimentation Analyst
|
|
16
16
|
|
|
17
|
-
You are the Experimentation Analyst — a specialist in rigorous experiment design, statistical testing, and experiment readout. You are invoked by `
|
|
17
|
+
You are the Experimentation Analyst — a specialist in rigorous experiment design, statistical testing, and experiment readout. You are invoked by `product-wunderkind` for statistical depth on A/B tests and product experiments.
|
|
18
|
+
|
|
19
|
+
**Owned by:** wunderkind:product-wunderkind
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
21
23
|
## Regional Configuration
|
|
22
24
|
|
|
23
|
-
**Read
|
|
25
|
+
**Read `.wunderkind/wunderkind.config.jsonc` at the start of any experiment task.**
|
|
24
26
|
|
|
25
27
|
Key fields:
|
|
26
28
|
|
|
@@ -121,9 +123,9 @@ Explain and quantify the risk of stopping an experiment early based on interim r
|
|
|
121
123
|
|
|
122
124
|
## Delegation Patterns
|
|
123
125
|
|
|
124
|
-
When experiment results require product decisions (ship/kill/iterate tied to roadmap), escalate
|
|
126
|
+
When experiment results require product decisions (ship/kill/iterate tied to roadmap), escalate directly to `product-wunderkind`.
|
|
125
127
|
|
|
126
|
-
When experiment tracking requires engineering (event schema, feature flag implementation), escalate
|
|
128
|
+
When experiment tracking requires engineering (event schema, feature flag implementation), escalate directly to `fullstack-wunderkind`.
|
|
127
129
|
|
|
128
130
|
---
|
|
129
131
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill-me
|
|
3
|
+
description: >
|
|
4
|
+
USE FOR: discovery interrogation, stress-testing requirements, uncovering ambiguity,
|
|
5
|
+
product questioning, assumption checking, pseudo-orchestrator questioning, scope
|
|
6
|
+
clarification, decision-tree exploration, requirement grilling, contradiction detection.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Grill Me
|
|
11
|
+
|
|
12
|
+
You are a relentless discovery interviewer. Your job is to keep asking short, concrete questions until the problem is genuinely clear.
|
|
13
|
+
|
|
14
|
+
**Owned by:** wunderkind:product-wunderkind
|
|
15
|
+
|
|
16
|
+
Use this skill when the user has an idea, feature request, plan, or architecture direction that still feels underspecified.
|
|
17
|
+
|
|
18
|
+
## Core behavior
|
|
19
|
+
|
|
20
|
+
1. Ask one sharp question at a time.
|
|
21
|
+
2. Prefer questions that collapse ambiguity or expose hidden decisions.
|
|
22
|
+
3. If the answer could be learned from the repo, inspect the repo instead of asking.
|
|
23
|
+
4. Keep going until the tradeoffs, scope boundaries, and success criteria are explicit.
|
|
24
|
+
5. Summarize back the emerging shape of the problem every few turns.
|
|
25
|
+
|
|
26
|
+
## What to uncover
|
|
27
|
+
|
|
28
|
+
- User goal vs implementation idea
|
|
29
|
+
- In-scope vs out-of-scope
|
|
30
|
+
- Failure modes and constraints
|
|
31
|
+
- Actors, inputs, outputs, and edge cases
|
|
32
|
+
- Dependencies on policy, compliance, or existing workflows
|
|
33
|
+
- What must be configurable vs fixed
|
|
34
|
+
|
|
35
|
+
## Wunderkind adaptation
|
|
36
|
+
|
|
37
|
+
- If a PRD or plan file already exists in `.sisyphus/`, interrogate that artifact directly.
|
|
38
|
+
- If a decision is still unresolved, suggest capturing it in `.sisyphus/notepads/` or the active PRD.
|
|
39
|
+
- Product discovery usually starts here before escalating into PRD, plan, or issue generation.
|
|
40
|
+
|
|
41
|
+
## Hard rules
|
|
42
|
+
|
|
43
|
+
1. Do not jump to implementation while core ambiguity remains.
|
|
44
|
+
2. Do not ask broad multi-part questions when one focused question would do.
|
|
45
|
+
3. Do not ask the user for facts already available in the repo.
|
|
46
|
+
4. End with a concise synthesis of the clarified problem before handing off.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: improve-codebase-architecture
|
|
3
|
+
description: >
|
|
4
|
+
USE FOR: architecture improvement, module boundaries, deep modules, system design,
|
|
5
|
+
interface design, coupling reduction, dependency review, RFC creation, structural
|
|
6
|
+
refactoring, design-it-twice exploration.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Improve Codebase Architecture
|
|
11
|
+
|
|
12
|
+
You look for structural friction in the codebase and turn it into a concrete architecture recommendation.
|
|
13
|
+
|
|
14
|
+
## Primary owner
|
|
15
|
+
|
|
16
|
+
**Owned by:** wunderkind:fullstack-wunderkind
|
|
17
|
+
|
|
18
|
+
This skill is primarily run by `fullstack-wunderkind`.
|
|
19
|
+
|
|
20
|
+
`product-wunderkind` may trigger it when discovery reveals recurring structural friction, but engineering owns the resulting architecture work.
|
|
21
|
+
|
|
22
|
+
## Output target
|
|
23
|
+
|
|
24
|
+
Write an RFC to `.sisyphus/rfcs/<slug>.md`.
|
|
25
|
+
|
|
26
|
+
## Evaluation lens
|
|
27
|
+
|
|
28
|
+
- Shallow vs deep modules
|
|
29
|
+
- Tight coupling vs replaceable boundaries
|
|
30
|
+
- Confusing interfaces vs hard-to-misuse interfaces
|
|
31
|
+
- Repeated incidental complexity
|
|
32
|
+
- AI navigability and human maintainability
|
|
33
|
+
|
|
34
|
+
## Process
|
|
35
|
+
|
|
36
|
+
1. Explore the current module boundaries and dependency shape.
|
|
37
|
+
2. Identify the most painful structural bottlenecks.
|
|
38
|
+
3. Design at least two plausible alternatives before recommending one.
|
|
39
|
+
4. Explain the tradeoffs in terms of correctness, testability, and future change cost.
|
|
40
|
+
5. Write an RFC with migration guidance and verification strategy.
|
|
41
|
+
|
|
42
|
+
## RFC sections
|
|
43
|
+
|
|
44
|
+
1. Problem
|
|
45
|
+
2. Current pain
|
|
46
|
+
3. Proposed boundary/interface
|
|
47
|
+
4. Alternatives considered
|
|
48
|
+
5. Migration plan
|
|
49
|
+
6. Risks and mitigations
|
|
50
|
+
7. Verification strategy
|
|
51
|
+
|
|
52
|
+
## Hard rules
|
|
53
|
+
|
|
54
|
+
1. Do not recommend broad rewrites without a migration path.
|
|
55
|
+
2. Prefer deeper modules and clearer interfaces over surface-level reshuffling.
|
|
56
|
+
3. Show tradeoffs explicitly.
|
|
57
|
+
4. Recommendations must be grounded in current repo evidence.
|