@grant-vine/wunderkind 0.15.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +28 -8
- package/agents/ciso.md +8 -0
- package/agents/creative-director.md +1 -0
- package/agents/fullstack-wunderkind.md +11 -0
- package/agents/legal-counsel.md +1 -0
- package/agents/marketing-wunderkind.md +1 -0
- package/agents/product-wunderkind.md +26 -2
- package/dist/agents/product-wunderkind.js +1 -1
- package/dist/agents/render-markdown.d.ts.map +1 -1
- package/dist/agents/render-markdown.js +3 -0
- package/dist/agents/render-markdown.js.map +1 -1
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +7 -0
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/agents/slash-commands.d.ts +11 -2
- package/dist/agents/slash-commands.d.ts.map +1 -1
- package/dist/agents/slash-commands.js +13 -1
- package/dist/agents/slash-commands.js.map +1 -1
- package/dist/agents/versioning.d.ts +4 -0
- package/dist/agents/versioning.d.ts.map +1 -0
- package/dist/agents/versioning.js +41 -0
- package/dist/agents/versioning.js.map +1 -0
- package/dist/cli/cli-installer.d.ts +1 -0
- package/dist/cli/cli-installer.d.ts.map +1 -1
- package/dist/cli/cli-installer.js +23 -4
- package/dist/cli/cli-installer.js.map +1 -1
- package/dist/cli/config-manager/index.d.ts +24 -0
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +113 -12
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +44 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +24 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +1 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +35 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
- package/schemas/wunderkind.config.schema.json +2 -1
- package/skills/SKILL-STANDARD.md +5 -2
- package/skills/caveman/SKILL.md +50 -0
- package/skills/docs-with-grill/SKILL.md +66 -0
- package/skills/improve-codebase-architecture/SKILL.md +68 -25
- package/skills/setup-wunderkind-workflow/SKILL.md +94 -0
- package/skills/ubiquitous-language/SKILL.md +34 -22
|
@@ -1,49 +1,83 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: improve-codebase-architecture
|
|
3
3
|
description: >
|
|
4
|
-
USE FOR: architecture improvement,
|
|
5
|
-
|
|
6
|
-
refactoring,
|
|
4
|
+
USE FOR: architecture improvement, codebase deepening, module boundaries, seam
|
|
5
|
+
design, coupling reduction, dependency review, deletion-test analysis, RFC
|
|
6
|
+
creation, structural refactoring, and AI-navigable interfaces.
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Improve Codebase Architecture
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deeper ones with clearer seams, better locality, and higher leverage.
|
|
13
13
|
|
|
14
14
|
## Primary owner
|
|
15
15
|
|
|
16
16
|
**Owned by:** wunderkind:fullstack-wunderkind
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
`product-wunderkind` may trigger this skill when recurring delivery pain points point to structural causes, but engineering owns the resulting architecture work.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
## Filesystem scope
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Read:
|
|
23
|
+
- `AGENTS.md`
|
|
24
|
+
- `.sisyphus/glossary.md` if present
|
|
25
|
+
- `.sisyphus/rfcs/`
|
|
26
|
+
- existing ADR or docs folders relevant to the area
|
|
27
|
+
- the code paths involved in the candidate refactor
|
|
23
28
|
|
|
24
|
-
Write
|
|
29
|
+
Write:
|
|
30
|
+
- `.sisyphus/rfcs/<slug>.md`
|
|
31
|
+
- optionally `.sisyphus/glossary.md` when the architecture discussion depends on a missing canonical term
|
|
25
32
|
|
|
26
|
-
##
|
|
33
|
+
## Architecture language
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
35
|
+
Use these terms consistently in your analysis:
|
|
36
|
+
|
|
37
|
+
- **Module** — anything with an interface and implementation: function, class, package, slice, route group, workflow, or subsystem.
|
|
38
|
+
- **Interface** — everything callers must know: types, invariants, ordering, config, error modes, and side effects.
|
|
39
|
+
- **Implementation** — the code hidden behind that interface.
|
|
40
|
+
- **Depth** — how much leverage the interface gives relative to the implementation it hides.
|
|
41
|
+
- **Seam** — where an interface lives and where behavior can change without editing in place.
|
|
42
|
+
- **Adapter** — a concrete implementation that satisfies a seam.
|
|
43
|
+
- **Leverage** — what callers gain from a deep module.
|
|
44
|
+
- **Locality** — what maintainers gain when change and knowledge stay concentrated.
|
|
45
|
+
|
|
46
|
+
## When to trigger
|
|
47
|
+
|
|
48
|
+
- A code path feels like a pass-through maze instead of a coherent module.
|
|
49
|
+
- Feature work repeatedly touches too many files for one concept.
|
|
50
|
+
- Tests are hard to write because the real behavior leaks across seams.
|
|
51
|
+
- The user asks for architecture improvement, structural refactoring, or deep-module opportunities.
|
|
52
|
+
- The codebase is becoming harder for humans or agents to navigate safely.
|
|
53
|
+
|
|
54
|
+
## Anti-triggers
|
|
55
|
+
|
|
56
|
+
- Do not use for a one-file cleanup or tiny bugfix.
|
|
57
|
+
- Do not use when the main risk is API shape exploration only; prefer `design-an-interface` first.
|
|
58
|
+
- Do not recommend broad rewrites without a migration path.
|
|
59
|
+
- Do not treat "more layers" as architecture quality. Deeper seams matter more than extra wrappers.
|
|
33
60
|
|
|
34
61
|
## Process
|
|
35
62
|
|
|
36
|
-
1.
|
|
37
|
-
2.
|
|
38
|
-
3.
|
|
39
|
-
4.
|
|
40
|
-
|
|
63
|
+
1. Read the project language first: `AGENTS.md`, `.sisyphus/glossary.md`, and any relevant ADR/RFC history.
|
|
64
|
+
2. Explore the codebase organically and note where understanding one concept requires bouncing across too many shallow modules.
|
|
65
|
+
3. Apply the **deletion test** to suspected shallow modules: if deleting the module simply moves the same complexity into every caller, it was earning its keep; if complexity vanishes, it was probably a pass-through.
|
|
66
|
+
4. Present a numbered list of deepening opportunities. For each candidate include:
|
|
67
|
+
- files or modules involved
|
|
68
|
+
- current friction
|
|
69
|
+
- proposed seam or deeper module
|
|
70
|
+
- benefits in terms of locality, leverage, and testability
|
|
71
|
+
- migration risk
|
|
72
|
+
5. Ask the user which candidate to explore before locking an interface or migration plan.
|
|
73
|
+
6. For the selected candidate, design at least two plausible approaches before recommending one.
|
|
74
|
+
7. Write an RFC with migration guidance, risks, and verification strategy.
|
|
41
75
|
|
|
42
76
|
## RFC sections
|
|
43
77
|
|
|
44
78
|
1. Problem
|
|
45
|
-
2. Current pain
|
|
46
|
-
3. Proposed boundary
|
|
79
|
+
2. Current pain and evidence
|
|
80
|
+
3. Proposed seam / module boundary
|
|
47
81
|
4. Alternatives considered
|
|
48
82
|
5. Migration plan
|
|
49
83
|
6. Risks and mitigations
|
|
@@ -51,7 +85,16 @@ Write an RFC to `.sisyphus/rfcs/<slug>.md`.
|
|
|
51
85
|
|
|
52
86
|
## Hard rules
|
|
53
87
|
|
|
54
|
-
1.
|
|
55
|
-
2. Prefer deeper modules and clearer
|
|
56
|
-
3. Show tradeoffs explicitly.
|
|
57
|
-
4.
|
|
88
|
+
1. Ground every recommendation in repo evidence, not generic architecture taste.
|
|
89
|
+
2. Prefer deeper modules and clearer seams over surface-level reshuffling.
|
|
90
|
+
3. Show tradeoffs explicitly using locality, leverage, and testability.
|
|
91
|
+
4. If the conversation depends on a missing domain term, add or update it in `.sisyphus/glossary.md` instead of letting terminology drift.
|
|
92
|
+
5. Never recommend a rewrite without a staged migration path.
|
|
93
|
+
|
|
94
|
+
## Review gate
|
|
95
|
+
|
|
96
|
+
This skill is complete only when:
|
|
97
|
+
- at least one real deepening opportunity is evidenced from the repo
|
|
98
|
+
- the recommendation uses consistent seam/depth/locality language
|
|
99
|
+
- an RFC exists at `.sisyphus/rfcs/<slug>.md`
|
|
100
|
+
- the migration path is incremental and verifiable
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-wunderkind-workflow
|
|
3
|
+
description: >
|
|
4
|
+
USE FOR: repo-local workflow setup, issue flow selection, triage vocabulary,
|
|
5
|
+
glossary/docs location setup, `.sisyphus` conventions, and adapting
|
|
6
|
+
Matt-style setup patterns to Wunderkind-native files like `AGENTS.md` and
|
|
7
|
+
`.sisyphus/*`.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Setup Wunderkind Workflow
|
|
12
|
+
|
|
13
|
+
Establish the repo-local workflow contract that other Wunderkind skills depend on, without duplicating `wunderkind init` or introducing Matt Pocock's filesystem layout verbatim.
|
|
14
|
+
|
|
15
|
+
## Primary owner
|
|
16
|
+
|
|
17
|
+
**Owned by:** wunderkind:product-wunderkind
|
|
18
|
+
|
|
19
|
+
## Filesystem scope
|
|
20
|
+
|
|
21
|
+
Read:
|
|
22
|
+
- `AGENTS.md`
|
|
23
|
+
- `CONTEXT.md`
|
|
24
|
+
- `.wunderkind/wunderkind.config.jsonc`
|
|
25
|
+
- `.sisyphus/`
|
|
26
|
+
- docs-output settings if present
|
|
27
|
+
- GitHub readiness signals when issue flow might use GitHub
|
|
28
|
+
|
|
29
|
+
Write:
|
|
30
|
+
- `AGENTS.md` (update or add a compact workflow-contract section)
|
|
31
|
+
- `CONTEXT.md` (compact current product/domain context for future docs and grilling work)
|
|
32
|
+
- `.sisyphus/glossary.md`
|
|
33
|
+
- `.sisyphus/triage/README.md`
|
|
34
|
+
|
|
35
|
+
## When to trigger
|
|
36
|
+
|
|
37
|
+
- The repo needs a clear issue-tracker / PRD / triage contract before skills can operate consistently.
|
|
38
|
+
- A maintainer wants Matt-style setup behavior, but adapted to Wunderkind-native locations.
|
|
39
|
+
- The team has not agreed where glossary, triage, and workflow artifacts should live.
|
|
40
|
+
- `prdPipelineMode`, triage vocabulary, or glossary conventions are confusing or implicit.
|
|
41
|
+
|
|
42
|
+
## Anti-triggers
|
|
43
|
+
|
|
44
|
+
- Do not use this to replace `wunderkind init`; `init` still owns baseline config and project bootstrap.
|
|
45
|
+
- Do not invent a second docs tree like `docs/agents/` unless the user explicitly asks for it.
|
|
46
|
+
- Do not mutate `.wunderkind/wunderkind.config.jsonc` unless the user explicitly asks to change config values.
|
|
47
|
+
|
|
48
|
+
## Decisions to confirm
|
|
49
|
+
|
|
50
|
+
Walk these one at a time, not all at once:
|
|
51
|
+
|
|
52
|
+
1. **Workflow backend** — filesystem-first or GitHub-backed PRD / issue flow.
|
|
53
|
+
2. **Triage vocabulary** — the statuses, severity labels, or role terms the team actually uses.
|
|
54
|
+
3. **Domain-language locations** — where glossary and architecture language should live.
|
|
55
|
+
|
|
56
|
+
## Process
|
|
57
|
+
|
|
58
|
+
1. Explore the current repo state before proposing anything.
|
|
59
|
+
2. Summarize what already exists in `AGENTS.md`, `CONTEXT.md`, `.wunderkind/`, `.sisyphus/`, and GitHub readiness.
|
|
60
|
+
3. Present one setup decision at a time, with a short explainer and a recommended default.
|
|
61
|
+
4. Show the user the draft workflow contract before writing.
|
|
62
|
+
5. Write the agreed contract into Wunderkind-native locations.
|
|
63
|
+
|
|
64
|
+
## Required outputs
|
|
65
|
+
|
|
66
|
+
### `AGENTS.md`
|
|
67
|
+
|
|
68
|
+
Add or update a compact section summarizing:
|
|
69
|
+
- issue / PRD flow backend
|
|
70
|
+
- triage vocabulary
|
|
71
|
+
- glossary / architecture-doc locations
|
|
72
|
+
|
|
73
|
+
### `CONTEXT.md`
|
|
74
|
+
|
|
75
|
+
Create or refresh the compact shared context file that future docs-grilling, planning, and handoff workflows should read first. Keep it short, current, and domain-focused.
|
|
76
|
+
|
|
77
|
+
### `.sisyphus/triage/README.md`
|
|
78
|
+
|
|
79
|
+
Record the canonical triage vocabulary and where issue/triage artifacts should live.
|
|
80
|
+
|
|
81
|
+
### `.sisyphus/glossary.md`
|
|
82
|
+
|
|
83
|
+
Create or refresh the shared domain glossary if terminology setup is part of the session.
|
|
84
|
+
|
|
85
|
+
## Hard rules
|
|
86
|
+
|
|
87
|
+
1. Preserve existing repo conventions where possible; do not flatten them into generic defaults.
|
|
88
|
+
2. Prefer Wunderkind-native locations (`AGENTS.md`, `CONTEXT.md`, `.sisyphus/*`) over Matt's `docs/agents/*` layout.
|
|
89
|
+
3. Confirm each decision with the user before writing.
|
|
90
|
+
4. Keep the written contract concise enough that other skills can read it quickly.
|
|
91
|
+
|
|
92
|
+
## Review gate
|
|
93
|
+
|
|
94
|
+
This skill is complete only when the repo has an explicit, readable workflow contract in `AGENTS.md`, the compact shared context in `CONTEXT.md`, triage conventions are written under `.sisyphus/triage/`, and glossary ownership/location is no longer ambiguous.
|
|
@@ -1,44 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ubiquitous-language
|
|
3
3
|
description: >
|
|
4
|
-
USE FOR:
|
|
5
|
-
canonical terms,
|
|
6
|
-
|
|
4
|
+
USE FOR: glossary maintenance, shared terminology cleanup, naming alignment,
|
|
5
|
+
canonical terms, alias resolution, domain-language drift, and explicit updates
|
|
6
|
+
to `.sisyphus/glossary.md`.
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Ubiquitous Language
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Maintain a shared domain glossary so humans and agents keep using the same words for the same concepts.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## When to use
|
|
14
|
+
## Primary owner
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
- Multiple terms are being used for the same thing
|
|
20
|
-
- One term is overloaded across different meanings
|
|
21
|
-
- A PRD, plan, or architecture discussion needs cleaner language
|
|
16
|
+
**Owned by:** wunderkind:product-wunderkind
|
|
22
17
|
|
|
23
18
|
## Output target
|
|
24
19
|
|
|
25
20
|
Write or update `.sisyphus/glossary.md`.
|
|
26
21
|
|
|
22
|
+
## When to trigger
|
|
23
|
+
|
|
24
|
+
- A term is overloaded or ambiguous and the team needs a canonical definition.
|
|
25
|
+
- Multiple aliases are drifting through PRDs, plans, code comments, or issues.
|
|
26
|
+
- A rename or terminology cleanup needs the glossary updated.
|
|
27
|
+
- Another skill or workflow already established the repo contract, and now the glossary itself needs maintenance.
|
|
28
|
+
|
|
29
|
+
## Anti-triggers
|
|
30
|
+
|
|
31
|
+
- Do not use this as the default repo setup workflow; prefer `setup-wunderkind-workflow` for initial workflow/domain setup.
|
|
32
|
+
- Do not use it when the real need is a broader discovery interview; prefer `grill-me` or `prd-pipeline`.
|
|
33
|
+
- Do not hide unresolved ambiguity. Mark it explicitly instead of guessing.
|
|
34
|
+
|
|
27
35
|
## What to capture
|
|
28
36
|
|
|
29
37
|
- Canonical term
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- Related
|
|
33
|
-
- Open
|
|
38
|
+
- Short concrete definition
|
|
39
|
+
- Aliases or deprecated synonyms
|
|
40
|
+
- Related distinctions that prevent future confusion
|
|
41
|
+
- Open questions that still need human resolution
|
|
34
42
|
|
|
35
43
|
## Process
|
|
36
44
|
|
|
37
|
-
1. Scan the conversation, PRD, plan, and relevant repo context.
|
|
38
|
-
2. Extract candidate terms and detect collisions
|
|
39
|
-
3. Choose canonical terms where
|
|
40
|
-
4.
|
|
41
|
-
5. Update `.sisyphus/glossary.md` incrementally
|
|
45
|
+
1. Scan the conversation, PRD, plan, issue, and relevant repo context.
|
|
46
|
+
2. Extract candidate terms and detect collisions or synonym drift.
|
|
47
|
+
3. Choose canonical terms where the evidence is strong.
|
|
48
|
+
4. Mark unresolved ambiguity explicitly instead of forcing false consensus.
|
|
49
|
+
5. Update `.sisyphus/glossary.md` incrementally.
|
|
42
50
|
|
|
43
51
|
## Formatting guidance
|
|
44
52
|
|
|
@@ -47,11 +55,15 @@ Prefer a compact markdown table:
|
|
|
47
55
|
| Term | Definition | Aliases | Notes |
|
|
48
56
|
|---|---|---|---|
|
|
49
57
|
|
|
50
|
-
|
|
58
|
+
Add an `## Open Questions` section when needed.
|
|
51
59
|
|
|
52
60
|
## Hard rules
|
|
53
61
|
|
|
54
62
|
1. One term should map to one concept whenever possible.
|
|
55
63
|
2. Do not silently merge distinct concepts just because the names sound similar.
|
|
56
64
|
3. Definitions should be short, concrete, and domain-specific.
|
|
57
|
-
4.
|
|
65
|
+
4. Keep this skill narrow: glossary quality and naming alignment, not full workflow setup.
|
|
66
|
+
|
|
67
|
+
## Review gate
|
|
68
|
+
|
|
69
|
+
This skill is complete only when `.sisyphus/glossary.md` reflects the canonical term decisions and unresolved ambiguities are clearly flagged.
|