@grant-vine/wunderkind 0.11.1 → 0.11.3
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 +1 -1
- package/agents/ciso.md +42 -9
- package/agents/creative-director.md +4 -4
- package/agents/fullstack-wunderkind.md +45 -11
- package/agents/legal-counsel.md +1 -1
- package/agents/marketing-wunderkind.md +4 -4
- package/agents/product-wunderkind.md +44 -11
- package/commands/design-md.md +1 -1
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +6 -1
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/docs-config.d.ts.map +1 -1
- package/dist/agents/docs-config.js +2 -0
- 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 +6 -1
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/product-wunderkind.d.ts.map +1 -1
- package/dist/agents/product-wunderkind.js +6 -1
- package/dist/agents/product-wunderkind.js.map +1 -1
- package/dist/agents/shared-prompt-sections.d.ts +1 -0
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +33 -1
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/agents/slash-commands.d.ts +22 -22
- package/dist/agents/slash-commands.d.ts.map +1 -1
- package/dist/agents/slash-commands.js +35 -34
- package/dist/agents/slash-commands.js.map +1 -1
- package/dist/artifact-writer.d.ts +17 -0
- package/dist/artifact-writer.d.ts.map +1 -0
- package/dist/artifact-writer.js +92 -0
- package/dist/artifact-writer.js.map +1 -0
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +99 -3
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +47 -7
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types.d.ts +9 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/skills/SKILL-STANDARD.md +11 -0
- package/skills/prd-pipeline/SKILL.md +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin/tool";
|
|
1
2
|
import { readFileSync } from "node:fs";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import { AGENT_DOCS_CONFIG } from "./agents/docs-config.js";
|
|
5
|
+
import { DURABLE_ARTIFACT_TOOL_NAME, writeDurableArtifact } from "./artifact-writer.js";
|
|
4
6
|
import { readWunderkindConfig } from "./cli/config-manager/index.js";
|
|
5
7
|
const DOCS_OUTPUT_SENTINEL = "<!-- wunderkind:docs-output-start -->";
|
|
6
8
|
const SOUL_HEADING_MARKERS = [
|
|
@@ -11,6 +13,46 @@ const SOUL_HEADING_MARKERS = [
|
|
|
11
13
|
{ heading: "# CISO", agentKey: "ciso" },
|
|
12
14
|
{ heading: "# Legal Counsel", agentKey: "legal-counsel" },
|
|
13
15
|
];
|
|
16
|
+
const NON_FULLSTACK_RETAINED_AGENTS = new Set([
|
|
17
|
+
"marketing-wunderkind",
|
|
18
|
+
"creative-director",
|
|
19
|
+
"product-wunderkind",
|
|
20
|
+
"ciso",
|
|
21
|
+
"legal-counsel",
|
|
22
|
+
]);
|
|
23
|
+
const SHELL_FILE_MUTATION_PATTERNS = [
|
|
24
|
+
/>/,
|
|
25
|
+
/>>/,
|
|
26
|
+
/\btee\b/,
|
|
27
|
+
/\bmv\b/,
|
|
28
|
+
/\bcp\b/,
|
|
29
|
+
/\brm\b/,
|
|
30
|
+
/\btouch\b/,
|
|
31
|
+
/\bmkdir\b/,
|
|
32
|
+
/\btruncate\b/,
|
|
33
|
+
/\bsed\b/,
|
|
34
|
+
/\bawk\b/,
|
|
35
|
+
/\bperl\b/,
|
|
36
|
+
/\bpython\b.*\bwrite\b/,
|
|
37
|
+
/\bnode\b.*\bwrite\b/,
|
|
38
|
+
];
|
|
39
|
+
function inferPermissionAgent(metadata) {
|
|
40
|
+
const directAgent = metadata["agent"];
|
|
41
|
+
if (typeof directAgent === "string" && directAgent.trim() !== "")
|
|
42
|
+
return directAgent;
|
|
43
|
+
const nestedAgent = metadata["agentID"];
|
|
44
|
+
if (typeof nestedAgent === "string" && nestedAgent.trim() !== "")
|
|
45
|
+
return nestedAgent;
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
function shouldDenyShellMutation(pattern, metadata) {
|
|
49
|
+
const agent = inferPermissionAgent(metadata);
|
|
50
|
+
if (!agent || !NON_FULLSTACK_RETAINED_AGENTS.has(agent))
|
|
51
|
+
return false;
|
|
52
|
+
const rawPattern = Array.isArray(pattern) ? pattern.join(" ") : (pattern ?? "");
|
|
53
|
+
const normalized = rawPattern.toLowerCase();
|
|
54
|
+
return SHELL_FILE_MUTATION_PATTERNS.some((regex) => regex.test(normalized));
|
|
55
|
+
}
|
|
14
56
|
function detectActiveSoulAgent(systemSections) {
|
|
15
57
|
const systemText = systemSections.join("\n");
|
|
16
58
|
for (const marker of SOUL_HEADING_MARKERS) {
|
|
@@ -26,18 +68,67 @@ function readSoulOverlay(agentKey) {
|
|
|
26
68
|
const content = readFileSync(soulPath, "utf-8").trim();
|
|
27
69
|
return content === "" ? null : content;
|
|
28
70
|
}
|
|
29
|
-
catch {
|
|
30
|
-
|
|
71
|
+
catch (err) {
|
|
72
|
+
if (err instanceof Error && "code" in err && err.code === "ENOENT") {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
throw err;
|
|
31
76
|
}
|
|
32
77
|
}
|
|
33
78
|
const WunderkindPlugin = async (_input) => {
|
|
34
79
|
return {
|
|
80
|
+
tool: {
|
|
81
|
+
[DURABLE_ARTIFACT_TOOL_NAME]: tool({
|
|
82
|
+
description: "Write a durable Wunderkind artifact within an agent-specific bounded lane such as .sisyphus PRDs/plans/issues, docs-output files, DESIGN.md, or notepads.",
|
|
83
|
+
args: {
|
|
84
|
+
agentKey: tool.schema.enum([
|
|
85
|
+
"marketing-wunderkind",
|
|
86
|
+
"creative-director",
|
|
87
|
+
"product-wunderkind",
|
|
88
|
+
"fullstack-wunderkind",
|
|
89
|
+
"ciso",
|
|
90
|
+
"legal-counsel",
|
|
91
|
+
]),
|
|
92
|
+
kind: tool.schema.enum(["prd", "plan", "issue", "docs-output", "design-md", "notepad"]),
|
|
93
|
+
relativePath: tool.schema.string().min(1),
|
|
94
|
+
content: tool.schema.string(),
|
|
95
|
+
},
|
|
96
|
+
async execute(args, context) {
|
|
97
|
+
await context.ask({
|
|
98
|
+
permission: "edit",
|
|
99
|
+
patterns: [args.relativePath],
|
|
100
|
+
always: [args.relativePath],
|
|
101
|
+
metadata: {
|
|
102
|
+
title: `Write durable artifact: ${args.relativePath}`,
|
|
103
|
+
agentKey: args.agentKey,
|
|
104
|
+
kind: args.kind,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const result = writeDurableArtifact(args, context.directory);
|
|
108
|
+
context.metadata({
|
|
109
|
+
title: `Durable artifact written: ${result.relativePath}`,
|
|
110
|
+
metadata: {
|
|
111
|
+
path: result.relativePath,
|
|
112
|
+
created: result.created,
|
|
113
|
+
agentKey: args.agentKey,
|
|
114
|
+
kind: args.kind,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
return `Durable artifact written to ${result.relativePath}`;
|
|
118
|
+
},
|
|
119
|
+
}),
|
|
120
|
+
},
|
|
121
|
+
"permission.ask": async (input, output) => {
|
|
122
|
+
if (input.type === "bash" && shouldDenyShellMutation(input.pattern, input.metadata)) {
|
|
123
|
+
output.status = "deny";
|
|
124
|
+
}
|
|
125
|
+
},
|
|
35
126
|
"experimental.chat.system.transform": async (_input, output) => {
|
|
36
127
|
const wunderkindConfig = readWunderkindConfig();
|
|
37
128
|
const hasDocsOutputSentinel = output.system.join("").includes(DOCS_OUTPUT_SENTINEL);
|
|
38
129
|
if (wunderkindConfig?.docsEnabled === true && !hasDocsOutputSentinel) {
|
|
39
130
|
const docsPath = wunderkindConfig.docsPath ?? "./docs";
|
|
40
|
-
const docHistoryMode = wunderkindConfig.docHistoryMode ?? "
|
|
131
|
+
const docHistoryMode = wunderkindConfig.docHistoryMode ?? "append-dated";
|
|
41
132
|
const docsTargets = Object.entries(AGENT_DOCS_CONFIG)
|
|
42
133
|
.filter(([, config]) => config.eligible)
|
|
43
134
|
.map(([agentKey, config]) => `- ${agentKey}: ${docsPath}/${config.canonicalFilename}`)
|
|
@@ -127,6 +218,12 @@ The following specialist agents are available as native OpenCode agents. Delegat
|
|
|
127
218
|
|
|
128
219
|
Legacy delegation shorthand remains valid: Use marketing-wunderkind for GTM, brand, community, developer advocacy, docs-led launches, tutorials, migration support, funnel interpretation, and adoption work. Use fullstack-wunderkind for engineering implementation, architecture, TDD, technical diagnosis, reliability engineering, runbooks, incidents, and supportability. Use legal-counsel for OSS licensing and legal/compliance review.
|
|
129
220
|
|
|
221
|
+
### Tool Usage
|
|
222
|
+
|
|
223
|
+
- Use \`task(...)\` for retained-agent or subagent delegation; always include explicit \`load_skills\` and \`run_in_background\`.
|
|
224
|
+
- Use \`skill(name="...")\` for shipped skills and sub-skills.
|
|
225
|
+
- Use \`${DURABLE_ARTIFACT_TOOL_NAME}(...)\` for bounded durable artifact writes such as PRDs, plans, issues, docs-output lanes, DESIGN.md, and allowed notepads.
|
|
226
|
+
|
|
130
227
|
### Project Configuration
|
|
131
228
|
|
|
132
229
|
Global and project-local Wunderkind config are merged at runtime.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,MAAM,oBAAoB,GAAG,uCAAuC,CAAA;AAEpE,MAAM,oBAAoB,GAAG;IAC3B,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;IACnE,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACvE,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACvE,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IACjE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IACvC,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE;CACjD,CAAA;AAEV,SAAS,qBAAqB,CAAC,cAAiC;IAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,QAAQ,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,eAAe,CAAC,QAA2D;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAA;IAE9E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACtD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grant-vine/wunderkind",
|
|
3
|
-
"version": "0.11.
|
|
4
|
-
"description": "Wunderkind \u2014 specialist AI agent addon for OpenCode with
|
|
3
|
+
"version": "0.11.3",
|
|
4
|
+
"description": "Wunderkind \u2014 specialist AI agent addon for OpenCode with 6 retained specialist agents for any software product team",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
package/skills/SKILL-STANDARD.md
CHANGED
|
@@ -142,6 +142,17 @@ A skill is complete only when all of the following are true:
|
|
|
142
142
|
- Split rare detail into sibling files before `SKILL.md` becomes bloated.
|
|
143
143
|
- Keep repo-specific language stronger than generic methodology language.
|
|
144
144
|
|
|
145
|
+
### Task Delegation Contract
|
|
146
|
+
|
|
147
|
+
If a skill includes `task(...)` examples, they MUST include both required fields:
|
|
148
|
+
|
|
149
|
+
- `load_skills: []` (or the relevant skill list) — never omit
|
|
150
|
+
- `run_in_background: true | false` — never omit, must be explicit
|
|
151
|
+
|
|
152
|
+
Use `skill(name="<skill>")` syntax for skill invocations; never wrap skill calls in `task()`.
|
|
153
|
+
|
|
154
|
+
Historical `.sisyphus/**` archives are intentionally excluded from this compliance change.
|
|
155
|
+
|
|
145
156
|
## Skill inventory
|
|
146
157
|
|
|
147
158
|
| Skill Name | Current Owner | Disposition | Notes |
|
|
@@ -15,7 +15,7 @@ This skill converts product intent into a durable delivery workflow.
|
|
|
15
15
|
|
|
16
16
|
Read `prdPipelineMode` from `.wunderkind/wunderkind.config.jsonc`.
|
|
17
17
|
|
|
18
|
-
- `filesystem` —
|
|
18
|
+
- `filesystem` — create artifacts in `.sisyphus/` via Wunderkind's bounded durable-artifact writer
|
|
19
19
|
- `github` — use `gh`-backed GitHub issues/PRD flow only when the repo is GitHub-ready
|
|
20
20
|
|
|
21
21
|
If the mode is missing, treat it as `filesystem`.
|