wize-dev-kit 0.14.0 → 0.16.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 (226) hide show
  1. package/ARCH.md +24 -77
  2. package/CHANGELOG.md +24 -0
  3. package/DECISIONS.md +1 -27
  4. package/README.md +7 -2
  5. package/ROSTER.md +3 -11
  6. package/adapters/README.md +7 -7
  7. package/adapters/antigravity/README.md +5 -5
  8. package/adapters/claude-code/README.md +1 -1
  9. package/adapters/codex/README.md +5 -5
  10. package/adapters/codex/adapter.yaml +1 -1
  11. package/adapters/codex/render.js +1 -1
  12. package/adapters/continue/README.md +5 -5
  13. package/adapters/cursor/README.md +2 -2
  14. package/adapters/generic/README.md +1 -1
  15. package/adapters/kimi-code/README.md +5 -5
  16. package/adapters/kimi-code/render.js +2 -2
  17. package/adapters/opencode/README.md +3 -3
  18. package/adapters/opencode/render.js +1 -27
  19. package/adapters/windsurf/README.md +3 -3
  20. package/package.json +1 -1
  21. package/schemas/agent.schema.json +2 -2
  22. package/schemas/workflow.schema.json +1 -1
  23. package/src/app-overlay/wize-app-release-channels/workflow.md +0 -2
  24. package/src/app-overlay/wize-app-scaffold/workflow.md +0 -2
  25. package/src/app-overlay/wize-app-store-listing/workflow.md +0 -2
  26. package/src/builder-skills/wize-create-agent/workflow.md +0 -2
  27. package/src/builder-skills/wize-create-skill/workflow.md +0 -2
  28. package/src/builder-skills/wize-create-workflow/workflow.md +0 -2
  29. package/src/core-skills/module.yaml +3 -0
  30. package/src/core-skills/wize-advanced-elicitation/skill.md +0 -2
  31. package/src/core-skills/wize-brainstorming/skill.md +0 -2
  32. package/src/core-skills/wize-eli5/skill.md +72 -0
  33. package/src/core-skills/wize-review-adversarial/skill.md +0 -3
  34. package/src/core-skills/wize-shard-doc/skill.md +0 -2
  35. package/src/method-skills/1-analysis/wize-agent-analyst/agent.yaml +0 -3
  36. package/src/method-skills/1-analysis/wize-document-project/workflow.md +20 -213
  37. package/src/method-skills/1-analysis/wize-prfaq/workflow.md +11 -152
  38. package/src/method-skills/1-analysis/wize-product-brief/workflow.md +19 -92
  39. package/src/method-skills/1-analysis/wize-research/workflow.md +12 -39
  40. package/src/method-skills/1-analysis/wize-trigger-map/workflow.md +16 -82
  41. package/src/method-skills/2-plan-workflows/wize-create-prd/workflow.md +23 -135
  42. package/src/method-skills/2-plan-workflows/wize-ux-design/workflow.md +28 -134
  43. package/src/method-skills/2-plan-workflows/wize-ux-scenarios/workflow.md +15 -93
  44. package/src/method-skills/2-plan-workflows/wize-validate-prd/workflow.md +12 -108
  45. package/src/method-skills/3-solutioning/wize-check-implementation-readiness/workflow.md +11 -103
  46. package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +48 -55
  47. package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +15 -154
  48. package/src/method-skills/3-solutioning/wize-design-system/workflow.md +22 -184
  49. package/src/method-skills/3-solutioning/wize-nfr-principles/workflow.md +17 -145
  50. package/src/method-skills/3-solutioning/wize-tech-vision/workflow.md +22 -130
  51. package/src/method-skills/4-implementation/wize-agent-dev/persona.md +0 -12
  52. package/src/method-skills/4-implementation/wize-code-review/workflow.md +12 -54
  53. package/src/method-skills/4-implementation/wize-create-story/workflow.md +10 -154
  54. package/src/method-skills/4-implementation/wize-dev-story/workflow.md +17 -185
  55. package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +18 -136
  56. package/src/method-skills/4-implementation/wize-retrospective/workflow.md +10 -114
  57. package/src/method-skills/4-implementation/wize-sprint-planning/workflow.md +11 -78
  58. package/src/method-skills/4-implementation/wize-sprint-status/workflow.md +11 -45
  59. package/src/method-skills/module.yaml +0 -28
  60. package/src/orchestrator-skills/module.yaml +1 -7
  61. package/src/orchestrator-skills/wize-help/skill.md +67 -227
  62. package/src/orchestrator-skills/wize-onboarding/workflow.md +14 -78
  63. package/src/orchestrator-skills/wize-orchestrator/agent.yaml +0 -2
  64. package/src/orchestrator-skills/wize-orchestrator/persona.md +3 -44
  65. package/src/orchestrator-skills/wize-party-mode/workflow.md +0 -2
  66. package/src/tea-skills/wize-tea-design/workflow.md +13 -107
  67. package/src/tea-skills/wize-tea-gate/workflow.md +25 -118
  68. package/src/tea-skills/wize-tea-nfr/workflow.md +14 -107
  69. package/src/tea-skills/wize-tea-review/workflow.md +13 -123
  70. package/src/tea-skills/wize-tea-risk/workflow.md +10 -113
  71. package/src/tea-skills/wize-tea-trace/workflow.md +12 -86
  72. package/src/web-overlay/wize-web-deploy/workflow.md +0 -2
  73. package/src/web-overlay/wize-web-scaffold/workflow.md +0 -2
  74. package/src/web-overlay/wize-web-seo-audit/workflow.md +0 -2
  75. package/tools/check-eli5-all-adapters.js +50 -0
  76. package/tools/installer/onboarding.js +20 -14
  77. package/tools/installer/render-shared.js +14 -158
  78. package/tools/installer/validators/run-all.js +2 -3
  79. package/tools/installer/wize-cli.js +70 -499
  80. package/AGENTS.md +0 -37
  81. package/README.es.md +0 -294
  82. package/README.pt-BR.md +0 -292
  83. package/docs/harnesses/antigravity.md +0 -20
  84. package/docs/harnesses/antigravity.pt-BR.md +0 -20
  85. package/docs/harnesses/claude-code.md +0 -23
  86. package/docs/harnesses/claude-code.pt-BR.md +0 -23
  87. package/docs/harnesses/codex.md +0 -21
  88. package/docs/harnesses/codex.pt-BR.md +0 -21
  89. package/docs/harnesses/continue.md +0 -21
  90. package/docs/harnesses/continue.pt-BR.md +0 -21
  91. package/docs/harnesses/cursor.md +0 -22
  92. package/docs/harnesses/cursor.pt-BR.md +0 -22
  93. package/docs/harnesses/generic.md +0 -20
  94. package/docs/harnesses/generic.pt-BR.md +0 -20
  95. package/docs/harnesses/kimi-code.md +0 -19
  96. package/docs/harnesses/kimi-code.pt-BR.md +0 -19
  97. package/docs/harnesses/opencode.md +0 -31
  98. package/docs/harnesses/opencode.pt-BR.md +0 -31
  99. package/docs/harnesses/windsurf.md +0 -22
  100. package/docs/harnesses/windsurf.pt-BR.md +0 -22
  101. package/src/core-skills/wize-customize/skill.md +0 -116
  102. package/src/core-skills/wize-editorial-review-prose/skill.md +0 -94
  103. package/src/core-skills/wize-editorial-review-structure/skill.md +0 -99
  104. package/src/core-skills/wize-grill/skill.md +0 -77
  105. package/src/core-skills/wize-index-docs/skill.md +0 -119
  106. package/src/core-skills/wize-pre-pr-check/skill.md +0 -134
  107. package/src/core-skills/wize-review-edge-case-hunter/skill.md +0 -115
  108. package/src/core-skills/wize-spec/assets/headless-schemas.md +0 -39
  109. package/src/core-skills/wize-spec/assets/spec-template.md +0 -40
  110. package/src/core-skills/wize-spec/customize.toml +0 -20
  111. package/src/core-skills/wize-spec/skill.md +0 -112
  112. package/src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv +0 -12
  113. package/src/method-skills/1-analysis/wize-document-project/templates/api-contracts-template.md +0 -38
  114. package/src/method-skills/1-analysis/wize-document-project/templates/architecture-template.md +0 -54
  115. package/src/method-skills/1-analysis/wize-document-project/templates/component-inventory-template.md +0 -40
  116. package/src/method-skills/1-analysis/wize-document-project/templates/contribution-guide-template.md +0 -34
  117. package/src/method-skills/1-analysis/wize-document-project/templates/data-models-template.md +0 -36
  118. package/src/method-skills/1-analysis/wize-document-project/templates/deep-dive-template.md +0 -312
  119. package/src/method-skills/1-analysis/wize-document-project/templates/deployment-guide-template.md +0 -42
  120. package/src/method-skills/1-analysis/wize-document-project/templates/development-guide-template.md +0 -61
  121. package/src/method-skills/1-analysis/wize-document-project/templates/index-template.md +0 -185
  122. package/src/method-skills/1-analysis/wize-document-project/templates/project-overview-template.md +0 -110
  123. package/src/method-skills/1-analysis/wize-document-project/templates/project-scan-report-schema.json +0 -159
  124. package/src/method-skills/1-analysis/wize-document-project/templates/source-tree-template.md +0 -142
  125. package/src/method-skills/1-analysis/wize-domain-research/customize.toml +0 -14
  126. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-01-init.md +0 -49
  127. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-02-domain-analysis.md +0 -39
  128. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-03-competitive-landscape.md +0 -39
  129. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-04-regulatory-focus.md +0 -39
  130. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-05-technical-trends.md +0 -39
  131. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-06-research-synthesis.md +0 -43
  132. package/src/method-skills/1-analysis/wize-domain-research/research.template.md +0 -31
  133. package/src/method-skills/1-analysis/wize-domain-research/workflow.md +0 -58
  134. package/src/method-skills/1-analysis/wize-market-research/customize.toml +0 -14
  135. package/src/method-skills/1-analysis/wize-market-research/research.template.md +0 -31
  136. package/src/method-skills/1-analysis/wize-market-research/steps/step-01-init.md +0 -57
  137. package/src/method-skills/1-analysis/wize-market-research/steps/step-02-customer-behavior.md +0 -39
  138. package/src/method-skills/1-analysis/wize-market-research/steps/step-03-customer-pain-points.md +0 -37
  139. package/src/method-skills/1-analysis/wize-market-research/steps/step-04-customer-decisions.md +0 -39
  140. package/src/method-skills/1-analysis/wize-market-research/steps/step-05-competitive-analysis.md +0 -37
  141. package/src/method-skills/1-analysis/wize-market-research/steps/step-06-research-completion.md +0 -47
  142. package/src/method-skills/1-analysis/wize-market-research/workflow.md +0 -66
  143. package/src/method-skills/1-analysis/wize-refresh-knowledge/workflow.md +0 -129
  144. package/src/method-skills/1-analysis/wize-technical-research/customize.toml +0 -14
  145. package/src/method-skills/1-analysis/wize-technical-research/research.template.md +0 -31
  146. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-01-init.md +0 -49
  147. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-02-technical-overview.md +0 -45
  148. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-03-integration-patterns.md +0 -39
  149. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-04-architectural-patterns.md +0 -39
  150. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-05-implementation-research.md +0 -42
  151. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-06-research-synthesis.md +0 -46
  152. package/src/method-skills/1-analysis/wize-technical-research/workflow.md +0 -60
  153. package/src/method-skills/2-plan-workflows/wize-edit-prd/workflow.md +0 -110
  154. package/src/method-skills/3-solutioning/wize-create-architecture/architecture-decision-template.md +0 -41
  155. package/src/method-skills/3-solutioning/wize-create-architecture/customize.toml +0 -20
  156. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01-init.md +0 -95
  157. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01b-continue.md +0 -32
  158. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-02-context.md +0 -126
  159. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-03-starter.md +0 -110
  160. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-04-decisions.md +0 -129
  161. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-05-patterns.md +0 -109
  162. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-06-structure.md +0 -97
  163. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-07-validation.md +0 -124
  164. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-08-complete.md +0 -59
  165. package/src/method-skills/3-solutioning/wize-project-context/workflow.md +0 -120
  166. package/src/method-skills/4-implementation/wize-changelog/workflow.md +0 -184
  167. package/src/method-skills/4-implementation/wize-checkpoint-preview/workflow.md +0 -117
  168. package/src/method-skills/4-implementation/wize-code-review/customize.toml +0 -21
  169. package/src/method-skills/4-implementation/wize-code-review/steps/step-01-gather-context.md +0 -64
  170. package/src/method-skills/4-implementation/wize-code-review/steps/step-02-review.md +0 -40
  171. package/src/method-skills/4-implementation/wize-code-review/steps/step-03-triage.md +0 -43
  172. package/src/method-skills/4-implementation/wize-code-review/steps/step-04-present.md +0 -100
  173. package/src/method-skills/4-implementation/wize-correct-course/workflow.md +0 -93
  174. package/src/method-skills/4-implementation/wize-investigate/workflow.md +0 -123
  175. package/src/method-skills/4-implementation/wize-release/workflow.md +0 -162
  176. package/src/orchestrator-skills/wize/skill.md +0 -164
  177. package/src/orchestrator-skills/wize-check/skill.md +0 -98
  178. package/src/security-overlay/_shared/allowlist.js +0 -154
  179. package/src/security-overlay/_shared/backlog.js +0 -169
  180. package/src/security-overlay/_shared/cli-runner.js +0 -87
  181. package/src/security-overlay/_shared/cvss.js +0 -108
  182. package/src/security-overlay/_shared/detect.js +0 -125
  183. package/src/security-overlay/_shared/install-script.js +0 -205
  184. package/src/security-overlay/_shared/invoke-phase.js +0 -86
  185. package/src/security-overlay/_shared/owasp.js +0 -56
  186. package/src/security-overlay/_shared/partial.js +0 -225
  187. package/src/security-overlay/_shared/preflight.js +0 -175
  188. package/src/security-overlay/_shared/scope-gate.js +0 -172
  189. package/src/security-overlay/_shared/scope-parser.js +0 -147
  190. package/src/security-overlay/agents/red-teamer/agent.yaml +0 -54
  191. package/src/security-overlay/agents/red-teamer/persona.md +0 -49
  192. package/src/security-overlay/data/common.txt +0 -115
  193. package/src/security-overlay/data/owasp-top10.json +0 -15
  194. package/src/security-overlay/data/tool-allowlist.json +0 -31
  195. package/src/security-overlay/skills/wize-sec-enumerate/scripts/run-enumerate.js +0 -180
  196. package/src/security-overlay/skills/wize-sec-enumerate/skill.md +0 -34
  197. package/src/security-overlay/skills/wize-sec-exploit/data/common.txt +0 -117
  198. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-ffuf.js +0 -147
  199. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nikto.js +0 -145
  200. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-nuclei.js +0 -176
  201. package/src/security-overlay/skills/wize-sec-exploit/scripts/run-sqlmap.js +0 -139
  202. package/src/security-overlay/skills/wize-sec-pentest/scripts/run-pipeline.js +0 -184
  203. package/src/security-overlay/skills/wize-sec-pentest/skill.md +0 -54
  204. package/src/security-overlay/skills/wize-sec-recon/scripts/run-gitleaks.js +0 -139
  205. package/src/security-overlay/skills/wize-sec-recon/scripts/run-osv.js +0 -227
  206. package/src/security-overlay/skills/wize-sec-recon/scripts/run-recon.js +0 -162
  207. package/src/security-overlay/skills/wize-sec-recon/skill.md +0 -37
  208. package/src/security-overlay/skills/wize-sec-report/scripts/render-report.js +0 -1033
  209. package/src/security-overlay/skills/wize-sec-scope/scripts/generate-scope.js +0 -106
  210. package/src/security-overlay/skills/wize-sec-scope/skill.md +0 -52
  211. package/src/tea-skills/wize-qa-generate-e2e-tests/workflow.md +0 -121
  212. package/tools/installer/baseline.js +0 -128
  213. package/tools/installer/commands/agent.js +0 -197
  214. package/tools/installer/commands/doctor.js +0 -319
  215. package/tools/installer/commands/document-project.js +0 -93
  216. package/tools/installer/commands/sync.js +0 -45
  217. package/tools/installer/commands/update.js +0 -172
  218. package/tools/installer/document-project/batch-scanner.js +0 -93
  219. package/tools/installer/document-project/classify.js +0 -170
  220. package/tools/installer/document-project/modes/deep-dive.js +0 -196
  221. package/tools/installer/document-project/modes/full-rescan.js +0 -15
  222. package/tools/installer/document-project/modes/initial-scan.js +0 -100
  223. package/tools/installer/document-project/modes/quick.js +0 -211
  224. package/tools/installer/document-project/render-index.js +0 -101
  225. package/tools/installer/document-project/state.js +0 -110
  226. package/tools/installer/version-check.js +0 -117
@@ -12,51 +12,11 @@ const fs = require('node:fs');
12
12
  const path = require('node:path');
13
13
  const { walkAgents, walkWorkflows, walkSkills } = require('./validators/walk.js');
14
14
 
15
- // Shared block-scalar reader used by both readYamlField (agent.yaml) and
16
- // readFrontmatter (skill.md / workflow.md). Returns { value, nextIndex }.
17
- function readBlockScalar(lines, startIndex, folded) {
18
- const collected = [];
19
- let baseIndent = null;
20
- let i = startIndex;
21
- for (; i < lines.length; i++) {
22
- const line = lines[i];
23
- if (line.trim() === '') { collected.push(''); continue; }
24
- const indent = line.match(/^(\s*)/)[1].length;
25
- if (indent === 0) break; // dedent to a sibling top-level key ends the block
26
- if (baseIndent === null) baseIndent = indent;
27
- collected.push(line.slice(baseIndent));
28
- }
29
- while (collected.length && collected[collected.length - 1] === '') collected.pop();
30
- if (folded) {
31
- const value = collected.reduce((acc, ln, idx) => {
32
- if (idx === 0) return ln;
33
- if (ln === '' || collected[idx - 1] === '') return acc + '\n' + ln;
34
- return acc + ' ' + ln;
35
- }, '').trim();
36
- return { value, nextIndex: i };
37
- }
38
- return { value: collected.join('\n').trim(), nextIndex: i };
39
- }
40
-
41
15
  function readYamlField(content, field) {
42
- const lines = content.split('\n');
43
- const keyRe = new RegExp('^' + field + ':\\s*(.*)$');
44
- for (let i = 0; i < lines.length; i++) {
45
- const m = lines[i].match(keyRe);
46
- if (!m) continue;
47
- const inline = m[1].trim();
48
-
49
- // Block scalar (| literal, > folded) with optional chomp/indent indicator.
50
- const block = inline.match(/^([|>])[+-]?\d*\s*$/);
51
- if (block) {
52
- return readBlockScalar(lines, i + 1, block[1] === '>').value;
53
- }
54
-
55
- // Inline scalar: quoted or plain.
56
- const q = inline.match(/^"([^"]*)"$/) || inline.match(/^'([^']*)'$/);
57
- return (q ? q[1] : inline).trim();
58
- }
59
- return null;
16
+ const re = new RegExp('^' + field + ':\\s*(?:"([^"]*)"|\'([^\']*)\'|(.*?))\\s*$', 'm');
17
+ const m = content.match(re);
18
+ if (!m) return null;
19
+ return (m[1] || m[2] || m[3] || '').trim();
60
20
  }
61
21
 
62
22
  function readFrontmatter(content) {
@@ -65,25 +25,9 @@ function readFrontmatter(content) {
65
25
  if (end === -1) return {};
66
26
  const lines = content.slice(3, end).split('\n');
67
27
  const out = {};
68
- for (let i = 0; i < lines.length; i++) {
69
- const line = lines[i];
28
+ for (const line of lines) {
70
29
  const m = line.match(/^([a-zA-Z_][a-zA-Z0-9_-]*):\s*(.*?)\s*$/);
71
- if (!m) continue;
72
- const key = m[1];
73
- const inline = m[2].trim();
74
-
75
- // Block scalar (| literal, > folded) with optional chomp/indent indicator.
76
- const block = inline.match(/^([|>])[+-]?\d*\s*$/);
77
- if (block) {
78
- const result = readBlockScalar(lines, i + 1, block[1] === '>');
79
- out[key] = result.value;
80
- i = result.nextIndex - 1; // -1 because the for loop will increment
81
- continue;
82
- }
83
-
84
- // Inline scalar: quoted or plain.
85
- const q = inline.match(/^"([^"]*)"$/) || inline.match(/^'([^']*)'$/);
86
- out[key] = (q ? q[1] : inline).trim();
30
+ if (m) out[m[1]] = m[2].replace(/^"|"$/g, '').replace(/^'|'$/g, '');
87
31
  }
88
32
  return out;
89
33
  }
@@ -109,42 +53,6 @@ function ensureDir(dir) {
109
53
  fs.mkdirSync(dir, { recursive: true });
110
54
  }
111
55
 
112
- // Companion files (steps/, templates/, data/, *.csv, *-template.md,
113
- // customize.toml, research.template.md, etc.) that micro-file workflows
114
- // reference from their body. We must copy these alongside the SKILL.md so
115
- // the IDE can resolve paths like "./steps/step-01-init.md" at runtime.
116
- const SKIP_NAMES = new Set(['.DS_Store', 'Thumbs.db', 'node_modules', '.git']);
117
- const SKIP_FILES = new Set([
118
- 'skill.md', 'workflow.md', 'agent.yaml', 'persona.md',
119
- 'package.json', 'package-lock.json'
120
- ]);
121
-
122
- function isCompanion(entry) {
123
- if (entry.name.startsWith('.')) return false;
124
- if (SKIP_NAMES.has(entry.name)) return false;
125
- if (SKIP_FILES.has(entry.name)) return false;
126
- if (entry.name.endsWith('.test.js')) return false;
127
- return true;
128
- }
129
-
130
- function copyCompanionFiles(srcDir, destDir, written, relPrefix = '') {
131
- if (!srcDir || !fs.existsSync(srcDir)) return;
132
- for (const entry of fs.readdirSync(srcDir, { withFileTypes: true })) {
133
- if (!isCompanion(entry)) continue;
134
- const s = path.join(srcDir, entry.name);
135
- const d = path.join(destDir, entry.name);
136
- const rel = relPrefix ? `${relPrefix}/${entry.name}` : entry.name;
137
- if (entry.isDirectory()) {
138
- ensureDir(d);
139
- copyCompanionFiles(s, d, written, rel);
140
- } else if (entry.isFile()) {
141
- ensureDir(path.dirname(d));
142
- fs.copyFileSync(s, d);
143
- written.push(rel);
144
- }
145
- }
146
- }
147
-
148
56
  // Walks the kit and returns a flat array of "assets" the adapters can render.
149
57
  // Each asset has: { kind: 'agent'|'workflow'|'skill', code, name, title, description, body, overlay }
150
58
  function collectAssets(kitRoot, { profiles = ['core'] } = {}) {
@@ -161,7 +69,7 @@ function collectAssets(kitRoot, { profiles = ['core'] } = {}) {
161
69
  if (!code || !name) continue;
162
70
  const personaPath = path.join(dir, 'persona.md');
163
71
  const persona = fs.existsSync(personaPath) ? fs.readFileSync(personaPath, 'utf-8') : '';
164
- out.push({ kind: 'agent', code, name, title, description, body: persona || description, overlay: null, srcDir: dir });
72
+ out.push({ kind: 'agent', code, name, title, description, body: persona || description, overlay: null });
165
73
  }
166
74
 
167
75
  for (const wfPath of walkWorkflows(kitRoot)) {
@@ -170,18 +78,14 @@ function collectAssets(kitRoot, { profiles = ['core'] } = {}) {
170
78
  if (!fm.code) continue;
171
79
  if (fm.overlay === 'web' && !profSet.has('web-overlay')) continue;
172
80
  if (fm.overlay === 'app' && !profSet.has('app-overlay')) continue;
173
- if (fm.overlay === 'security' && !profSet.has('security-overlay')) continue;
174
81
  out.push({
175
82
  kind: 'workflow',
176
83
  code: fm.code,
177
84
  name: fm.name || fm.code,
178
85
  title: fm.phase || fm.gate || '',
179
- description: fm.description || `${fm.phase || fm.gate || 'workflow'}: ${fm.name || fm.code}`,
86
+ description: `${fm.phase || fm.gate || 'workflow'}: ${fm.name || fm.code}`,
180
87
  body: bodyAfterFrontmatter(content),
181
- overlay: fm.overlay || null,
182
- owner: fm.owner || null,
183
- subtask: fm.subtask === 'true',
184
- srcDir: path.dirname(wfPath)
88
+ overlay: fm.overlay || null
185
89
  });
186
90
  }
187
91
 
@@ -189,20 +93,14 @@ function collectAssets(kitRoot, { profiles = ['core'] } = {}) {
189
93
  const content = fs.readFileSync(skPath, 'utf-8');
190
94
  const fm = readFrontmatter(content);
191
95
  if (!fm.code) continue;
192
- if (fm.overlay === 'web' && !profSet.has('web-overlay')) continue;
193
- if (fm.overlay === 'app' && !profSet.has('app-overlay')) continue;
194
- if (fm.overlay === 'security' && !profSet.has('security-overlay')) continue;
195
96
  out.push({
196
97
  kind: 'skill',
197
98
  code: fm.code,
198
99
  name: fm.name || fm.code,
199
100
  title: fm.module || '',
200
- description: fm.description || (fm.module ? `${fm.module} skill: ${fm.name || fm.code}` : (fm.name || fm.code)),
101
+ description: fm.module ? `${fm.module} skill: ${fm.name || fm.code}` : (fm.name || fm.code),
201
102
  body: bodyAfterFrontmatter(content),
202
- overlay: fm.overlay || null,
203
- owner: fm.owner || null,
204
- subtask: fm.subtask === 'true',
205
- srcDir: path.dirname(skPath)
103
+ overlay: null
206
104
  });
207
105
  }
208
106
 
@@ -242,10 +140,6 @@ function renderAnthropicSkills(kitRoot, targetDir, opts = {}) {
242
140
  ensureDir(skillDir);
243
141
  fs.writeFileSync(path.join(skillDir, 'SKILL.md'), content, 'utf-8');
244
142
  written.push(`${a.code}/SKILL.md`);
245
- // Copy companion files (steps/, templates/, data/, *.csv, customize.toml,
246
- // *-template.md, research.template.md, etc.) so micro-file workflows can
247
- // resolve relative paths from inside the SKILL body.
248
- copyCompanionFiles(a.srcDir, skillDir, written, a.code);
249
143
  }
250
144
  }
251
145
  return { written, skipped: [] };
@@ -253,30 +147,9 @@ function renderAnthropicSkills(kitRoot, targetDir, opts = {}) {
253
147
 
254
148
  // Convenience emitter for a root-level AGENTS.md — read by Codex, Cursor,
255
149
  // Windsurf and Antigravity as a baseline pointer to the kit's deeper docs.
256
- // Canonical roster order so AGENTS.md is deterministic regardless of the
257
- // filesystem walk order. Codes not listed sort last, alphabetically.
258
- const AGENT_ORDER = [
259
- 'wize-orchestrator',
260
- 'wize-agent-analyst',
261
- 'wize-agent-tech-writer',
262
- 'wize-agent-pm',
263
- 'wize-agent-ux-designer',
264
- 'wize-agent-solution-strategist',
265
- 'wize-agent-architect',
266
- 'wize-agent-test-architect',
267
- 'wize-agent-dev',
268
- 'wize-sec-red-teamer'
269
- ];
270
-
271
150
  function renderAgentsMd(kitRoot, projectRoot, opts = {}) {
272
151
  const assets = collectAssets(kitRoot, opts);
273
- const rank = (code) => {
274
- const i = AGENT_ORDER.indexOf(code);
275
- return i === -1 ? AGENT_ORDER.length : i;
276
- };
277
- const agents = assets
278
- .filter(a => a.kind === 'agent')
279
- .sort((a, b) => rank(a.code) - rank(b.code) || a.code.localeCompare(b.code));
152
+ const agents = assets.filter(a => a.kind === 'agent');
280
153
  const file = path.join(projectRoot, 'AGENTS.md');
281
154
  if (fs.existsSync(file) && !opts.overwrite) {
282
155
  return { written: [], skipped: ['AGENTS.md (already present; not overwritten)'] };
@@ -288,29 +161,13 @@ function renderAgentsMd(kitRoot, projectRoot, opts = {}) {
288
161
  'Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE',
289
162
  'using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).',
290
163
  '',
291
- '## Operating context',
292
- '',
293
- 'Treat `.wize/`, this `AGENTS.md`, and the installed `wize-*` skills as your operating',
294
- 'instructions and persistent memory — not background reading. Read project state before',
295
- 'acting; write what you change back into `.wize/` so the next session inherits it.',
296
- '',
297
- 'Before editing, classify the demand via `/wize` (or `/wize-help`): **Quick Dev** (small, predictable,',
298
- 'trivially scoped, no new feature / architecture / UX / security) or **Full Lifecycle**. Never pick',
299
- 'Quick Dev just to skip artifacts.',
300
- '',
301
- 'When a skill fans out to subagents, match the model tier to the task: a lightweight tier',
302
- 'for mechanical work (reads, greps, formatting, short summaries), the standard tier for',
303
- 'implementation and review, a high-capability tier only for architecture, critical',
304
- 'decisions, or final adversarial review.',
305
- '',
306
164
  '## Roster',
307
165
  ''
308
166
  ];
309
167
  for (const a of agents) {
310
- const optIn = a.code.startsWith('wize-sec-') ? ' _(security-overlay, opt-in)_' : '';
311
- lines.push(`- **${a.name}** (\`${a.code}\`)${optIn} — ${a.title}. ${clipOneLine(a.description, 180)}`);
168
+ lines.push(`- **${a.name}** (\`${a.code}\`) — ${a.title}. ${clipOneLine(a.description, 180)}`);
312
169
  }
313
- lines.push('', '## Where to start', '', 'Activate the orchestrator: `/wize` (or `/wize-help`). Wizer will guide you.', '');
170
+ lines.push('', '## Where to start', '', 'Activate the orchestrator: `wize-orchestrator` (Wizer). Then ask `/wize-help`.', '');
314
171
 
315
172
  if (opts.dryRun) return { written: ['[dry-run] AGENTS.md'], skipped: [] };
316
173
  fs.writeFileSync(file, lines.join('\n'), 'utf-8');
@@ -321,7 +178,6 @@ module.exports = {
321
178
  collectAssets,
322
179
  renderAnthropicSkills,
323
180
  renderAgentsMd,
324
- copyCompanionFiles,
325
181
  // Re-exports for adapter authors who need to roll their own format:
326
182
  readFrontmatter,
327
183
  bodyAfterFrontmatter,
@@ -13,7 +13,7 @@ const { walkAgents, walkWorkflows, walkSkills } = require('./walk.js');
13
13
  function checkAgent(file) {
14
14
  const content = fs.readFileSync(file, 'utf-8');
15
15
  const errs = [];
16
- if (!/^code:\s+wize(-|$)/m.test(content)) errs.push('missing or invalid "code:" prefix');
16
+ if (!/^code:\s+wize-/m.test(content)) errs.push('missing or invalid "code:" prefix');
17
17
  if (!/^name:/m.test(content)) errs.push('missing "name:"');
18
18
  if (!/^title:/m.test(content)) errs.push('missing "title:"');
19
19
  if (!/^description:/m.test(content)) errs.push('missing "description:"');
@@ -24,10 +24,9 @@ function checkWorkflow(file) {
24
24
  const content = fs.readFileSync(file, 'utf-8');
25
25
  const errs = [];
26
26
  if (!/^---\s*$/m.test(content)) errs.push('missing YAML frontmatter');
27
- if (!/^code:\s+wize(-|$)/m.test(content)) errs.push('missing or invalid "code:" prefix');
27
+ if (!/^code:\s+wize-/m.test(content)) errs.push('missing or invalid "code:" prefix');
28
28
  if (!/^name:/m.test(content)) errs.push('missing "name:"');
29
29
  if (!/^owner:/m.test(content) && !/^module:/m.test(content)) errs.push('missing "owner:" or "module:"');
30
- if (!/^description:/m.test(content)) errs.push('missing "description:"');
31
30
  return errs;
32
31
  }
33
32