@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.
Files changed (53) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +28 -8
  3. package/agents/ciso.md +8 -0
  4. package/agents/creative-director.md +1 -0
  5. package/agents/fullstack-wunderkind.md +11 -0
  6. package/agents/legal-counsel.md +1 -0
  7. package/agents/marketing-wunderkind.md +1 -0
  8. package/agents/product-wunderkind.md +26 -2
  9. package/dist/agents/product-wunderkind.js +1 -1
  10. package/dist/agents/render-markdown.d.ts.map +1 -1
  11. package/dist/agents/render-markdown.js +3 -0
  12. package/dist/agents/render-markdown.js.map +1 -1
  13. package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
  14. package/dist/agents/shared-prompt-sections.js +7 -0
  15. package/dist/agents/shared-prompt-sections.js.map +1 -1
  16. package/dist/agents/slash-commands.d.ts +11 -2
  17. package/dist/agents/slash-commands.d.ts.map +1 -1
  18. package/dist/agents/slash-commands.js +13 -1
  19. package/dist/agents/slash-commands.js.map +1 -1
  20. package/dist/agents/versioning.d.ts +4 -0
  21. package/dist/agents/versioning.d.ts.map +1 -0
  22. package/dist/agents/versioning.js +41 -0
  23. package/dist/agents/versioning.js.map +1 -0
  24. package/dist/cli/cli-installer.d.ts +1 -0
  25. package/dist/cli/cli-installer.d.ts.map +1 -1
  26. package/dist/cli/cli-installer.js +23 -4
  27. package/dist/cli/cli-installer.js.map +1 -1
  28. package/dist/cli/config-manager/index.d.ts +24 -0
  29. package/dist/cli/config-manager/index.d.ts.map +1 -1
  30. package/dist/cli/config-manager/index.js +113 -12
  31. package/dist/cli/config-manager/index.js.map +1 -1
  32. package/dist/cli/doctor.d.ts.map +1 -1
  33. package/dist/cli/doctor.js +44 -1
  34. package/dist/cli/doctor.js.map +1 -1
  35. package/dist/cli/index.js +24 -2
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/init.d.ts +1 -0
  38. package/dist/cli/init.d.ts.map +1 -1
  39. package/dist/cli/init.js +35 -0
  40. package/dist/cli/init.js.map +1 -1
  41. package/dist/cli/types.d.ts +3 -0
  42. package/dist/cli/types.d.ts.map +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +54 -0
  45. package/dist/index.js.map +1 -1
  46. package/package.json +9 -6
  47. package/schemas/wunderkind.config.schema.json +2 -1
  48. package/skills/SKILL-STANDARD.md +5 -2
  49. package/skills/caveman/SKILL.md +50 -0
  50. package/skills/docs-with-grill/SKILL.md +66 -0
  51. package/skills/improve-codebase-architecture/SKILL.md +68 -25
  52. package/skills/setup-wunderkind-workflow/SKILL.md +94 -0
  53. 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, module boundaries, deep modules, system design,
5
- interface design, coupling reduction, dependency review, RFC creation, structural
6
- refactoring, design-it-twice exploration.
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
- You look for structural friction in the codebase and turn it into a concrete architecture recommendation.
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
- This skill is primarily run by `fullstack-wunderkind`.
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
- `product-wunderkind` may trigger it when discovery reveals recurring structural friction, but engineering owns the resulting architecture work.
20
+ ## Filesystem scope
21
21
 
22
- ## Output target
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 an RFC to `.sisyphus/rfcs/<slug>.md`.
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
- ## Evaluation lens
33
+ ## Architecture language
27
34
 
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
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. 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.
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/interface
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. 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.
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: shared terminology, domain glossary, DDD language, naming alignment,
5
- canonical terms, ambiguous terms, synonym resolution, product vocabulary,
6
- concept mapping, domain language, glossary generation.
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
- You create and maintain a shared domain glossary so humans and agents use the same words for the same concepts.
12
+ Maintain a shared domain glossary so humans and agents keep using the same words for the same concepts.
13
13
 
14
- **Owned by:** wunderkind:product-wunderkind
15
-
16
- ## When to use
14
+ ## Primary owner
17
15
 
18
- - Product discovery introduced new domain concepts
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
- - One-sentence definition
31
- - Common aliases / deprecated synonyms
32
- - Related terms and distinctions
33
- - Open ambiguities still needing resolution
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/synonyms.
39
- 3. Choose canonical terms where possible.
40
- 4. Flag unresolved ambiguity explicitly instead of hiding it.
41
- 5. Update `.sisyphus/glossary.md` incrementally if it already exists.
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
- Then add an `## Open Questions` section if needed.
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. If a term is unresolved, mark it unresolved instead of guessing.
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.