ai-spector 0.6.6 → 0.6.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"graph-impact.d.ts","sourceRoot":"","sources":["../../src/commands/graph-impact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwBD,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EAChD,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,GACjE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAoBjD;AAED,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EAChD,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Hf;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD/E"}
1
+ {"version":3,"file":"graph-impact.d.ts","sourceRoot":"","sources":["../../src/commands/graph-impact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwBD,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EAChD,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,GACjE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CA8BjD;AAED,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EAChD,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Hf;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD/E"}
@@ -25,7 +25,16 @@ export function resolveImpactOriginId(g, opts) {
25
25
  if (opts.originId?.trim()) {
26
26
  const id = opts.originId.trim();
27
27
  if (!g.nodesById.has(id)) {
28
- throw new Error(`Unknown node id: ${id}`);
28
+ // Suggest document ids from the active graph to help agents using stale builtin seeds
29
+ const docNodes = [...g.nodesById.values()]
30
+ .filter((n) => n.type === "document")
31
+ .map((n) => n.id)
32
+ .slice(0, 6);
33
+ const suggestion = docNodes.length > 0
34
+ ? `\nDocument ids in current graph:\n${docNodes.map((d) => ` ${d}`).join("\n")}\n` +
35
+ `Run \`npx ai-spector template inspect <pack> --json\` to list all active pack documents.`
36
+ : "";
37
+ throw new Error(`Unknown node id: ${id}${suggestion}`);
29
38
  }
30
39
  return { originId: id };
31
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph-impact.js","sourceRoot":"","sources":["../../src/commands/graph-impact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-impact.js","sourceRoot":"","sources":["../../src/commands/graph-impact.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B7E"}
1
+ {"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C7E"}
@@ -2,6 +2,16 @@ import { loadInMemoryGraph } from "../graph/loadGraph.js";
2
2
  import { querySubgraph } from "../graph/query.js";
3
3
  export async function runGraphQuery(opts) {
4
4
  const g = await loadInMemoryGraph(opts.graphPath);
5
+ if (!g.nodesById.has(opts.seedId)) {
6
+ const docNodes = [...g.nodesById.values()]
7
+ .filter((n) => n.type === "document")
8
+ .map((n) => n.id);
9
+ const suggestion = docNodes.length > 0
10
+ ? `\nDocument ids in the current graph:\n${docNodes.map((d) => ` ${d}`).join("\n")}\n` +
11
+ `\nTip: if you switched packs, run \`npx ai-spector template inspect <pack>\` to list valid seed ids.`
12
+ : "\nThe graph appears empty — run \`npx ai-spector registry build\` then retry.";
13
+ throw new Error(`Unknown node id: ${opts.seedId}${suggestion}`);
14
+ }
5
15
  const queryOpts = {
6
16
  direction: opts.direction,
7
17
  depth: opts.depth,
@@ -1 +1 @@
1
- {"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAYrE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC5D,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAiB;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAYrE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC5D,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAElD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,yCAAyC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACrF,sGAAsG;YACxG,CAAC,CAAC,+EAA+E,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAiB;QAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+jBpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAkFvD"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAy9BpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAkFvD"}
@@ -27,11 +27,13 @@ async function rebuildRegistryAndGraph(root, config) {
27
27
  const graph = bootstrapFromRegistry(registry);
28
28
  await writeJson(graphPath, graph.toTraceabilityGraph());
29
29
  const totalSections = registry.documents.reduce((n, d) => n + d.sections.length, 0);
30
+ const tg = graph.toTraceabilityGraph();
30
31
  return {
31
32
  documents: registry.documents.length,
32
33
  sections: totalSections,
33
34
  graphNodes: graph.nodesById.size,
34
- graphEdges: graph.toTraceabilityGraph().edges.length,
35
+ graphEdges: tg.edges.length,
36
+ documentIds: tg.nodes.filter((n) => n.type === "document").map((n) => n.id),
35
37
  };
36
38
  }
37
39
  async function listInstalledPackNames(root) {
@@ -79,33 +81,373 @@ async function runTemplateList(opts) {
79
81
  }
80
82
  }
81
83
  // ---------------------------------------------------------------------------
84
+ // DAG generation from pack manifest
85
+ // ---------------------------------------------------------------------------
86
+ /**
87
+ * Derive a `dag.srs.json` + `dag.srs.graph-seeds.json` pair from a pack manifest.
88
+ *
89
+ * - Non-perDomain documents → flat DAG nodes (no dependsOn; AI refines ordering).
90
+ * - perDomain documents → DAG nodes with `mode: "perDomainBreakout"` and the
91
+ * `perDomainKey` field so the generate skill knows to produce one file per domain item.
92
+ */
93
+ function buildDagFromManifest(manifest) {
94
+ const packSlug = manifest.packName.replace(/[^a-z0-9]/gi, "-").toLowerCase();
95
+ const dagNodes = [];
96
+ const seedsMap = {};
97
+ const primaryDagIds = [];
98
+ // Pass 1: primary (non-perDomain) documents
99
+ for (const doc of manifest.documents) {
100
+ if (doc.perDomain)
101
+ continue;
102
+ const docSlug = doc.documentId.replace(/^doc\.[^.]+\./, "").replace(/\./g, "-");
103
+ const dagId = `${packSlug}.${docSlug}`;
104
+ const output = doc.output ?? doc.outputPattern ?? `${docSlug}.md`;
105
+ dagNodes.push({ id: dagId, template: doc.template, output, dependsOn: [] });
106
+ seedsMap[dagId] = doc.documentId;
107
+ primaryDagIds.push(dagId);
108
+ }
109
+ // Pass 2: perDomain breakout documents — one DAG node each, depends on primary docs
110
+ for (const doc of manifest.documents) {
111
+ if (!doc.perDomain)
112
+ continue;
113
+ const docSlug = doc.documentId.replace(/^doc\.[^.]+\./, "").replace(/\./g, "-");
114
+ const dagId = `${packSlug}.${docSlug}-breakout`;
115
+ const outputPattern = doc.outputPattern ?? doc.output ?? `${docSlug}/{id}.md`;
116
+ dagNodes.push({
117
+ id: dagId,
118
+ template: doc.template,
119
+ outputPattern,
120
+ dependsOn: primaryDagIds,
121
+ mode: "perDomainBreakout",
122
+ perDomainKey: doc.perDomain,
123
+ });
124
+ seedsMap[dagId] = doc.documentId;
125
+ }
126
+ const dag = { version: 1, root: "docs/srs", nodes: dagNodes };
127
+ // perDomain section: maps domain keys to graph node type + template doc id
128
+ // graphNodeType is the NodeType enum value in the graph (e.g. "requirement", "useCase")
129
+ const perDomainSeeds = {};
130
+ if (manifest.perDomainTemplates) {
131
+ for (const [domain, templateDocId] of Object.entries(manifest.perDomainTemplates)) {
132
+ if (!templateDocId)
133
+ continue;
134
+ perDomainSeeds[domain] = {
135
+ graphNodeType: domain,
136
+ templateDocId,
137
+ seedFromDomainId: true,
138
+ };
139
+ }
140
+ }
141
+ const seeds = {
142
+ version: 1,
143
+ description: `Map dag.srs.json node ids to graph document ids for pack "${manifest.packName}"`,
144
+ seeds: seedsMap,
145
+ perDomain: perDomainSeeds,
146
+ };
147
+ return { dag, seeds };
148
+ }
149
+ /**
150
+ * Write a human+AI-readable generate-hints.md into the pack directory.
151
+ * Describes the generation waves and breakout templates so the generate skill
152
+ * can drive the correct output without reading the manifest directly.
153
+ */
154
+ async function writeGenerateHints(packDir, manifest) {
155
+ const primaryDocs = manifest.documents.filter((d) => !d.perDomain);
156
+ const breakoutDocs = manifest.documents.filter((d) => d.perDomain);
157
+ const lines = [
158
+ `# Generate hints for pack: ${manifest.packName}`,
159
+ "",
160
+ `> Auto-generated by \`template install\`. Update manually if generation order changes.`,
161
+ "",
162
+ "## Wave 0 — Primary documents",
163
+ "",
164
+ "Generate these first (no inter-document dependencies assumed):",
165
+ "",
166
+ ];
167
+ for (const doc of primaryDocs) {
168
+ const output = doc.output ?? doc.outputPattern ?? "(see manifest)";
169
+ lines.push(`- **${doc.documentId}** → \`${output}\``);
170
+ lines.push(` Template: \`${doc.template}\``);
171
+ }
172
+ if (breakoutDocs.length > 0) {
173
+ lines.push("", "## Wave 1 — Per-domain breakout files", "", "Generate after Wave 0. One file per graph node of the matching domain type.", "Query graph for nodes of `type: \"<perDomainKey>\"` to get the item list.", "");
174
+ for (const doc of breakoutDocs) {
175
+ const output = doc.outputPattern ?? doc.output ?? "(see manifest)";
176
+ lines.push(`- **${doc.documentId}** (perDomain: \`${doc.perDomain}\`)`);
177
+ lines.push(` Output pattern: \`${output}\``);
178
+ lines.push(` Template: \`${doc.template}\``);
179
+ lines.push(` → Query: \`npx ai-spector graph query ${manifest.documents[0]?.documentId ?? "doc." + manifest.packName} --json\``);
180
+ lines.push(` → Then generate one file per node where \`node.type === "${doc.perDomain}"\``);
181
+ }
182
+ if (manifest.defaultListedIn) {
183
+ lines.push("", "## Breakout list anchors", "");
184
+ for (const [domain, sectionId] of Object.entries(manifest.defaultListedIn)) {
185
+ lines.push(`- \`${domain}\` items list section: \`${sectionId}\``);
186
+ }
187
+ }
188
+ }
189
+ else {
190
+ lines.push("", "> This pack has no per-domain breakout templates.");
191
+ }
192
+ lines.push("", "## Reference", "", `- Pack manifest: \`.ai-spector/packs/${manifest.packName}/manifest.json\``, `- Inspect pack: \`npx ai-spector template inspect ${manifest.packName}\``, `- Active graph seeds: see \`.ai-spector/.docflow/config/dag.srs.graph-seeds.json\``);
193
+ await writeFile(join(packDir, "generate-hints.md"), lines.join("\n") + "\n", "utf8");
194
+ }
195
+ /**
196
+ * Write a dedicated Cursor + Claude generate skill for the installed pack.
197
+ *
198
+ * Priority: if the AI wrote generate-skill.md to staging during the import workflow,
199
+ * use it directly (it's tailored to the specific template). Otherwise fall back to
200
+ * auto-generating a structural skeleton from the manifest.
201
+ */
202
+ async function writePackGenerateSkill(root, manifest, stagedSkillPath) {
203
+ const name = manifest.packName;
204
+ const slug = name.replace(/[^a-z0-9]/gi, "-").toLowerCase();
205
+ // If the AI wrote a tailored skill during the import workflow, use it directly
206
+ if (stagedSkillPath && existsSync(stagedSkillPath)) {
207
+ const tailoredContent = await readFile(stagedSkillPath, "utf8");
208
+ const cursorSkillDir = join(root, ".cursor", "skills", `ai-spector-generate-${slug}`);
209
+ await mkdir(cursorSkillDir, { recursive: true });
210
+ await writeFile(join(cursorSkillDir, "SKILL.md"), tailoredContent, "utf8");
211
+ // Derive a minimal Claude skill from the tailored content (strip frontmatter + reformat)
212
+ const claudeContent = [
213
+ `---`,
214
+ `name: ai-spector-generate-${slug}`,
215
+ `description: "Generates documents for the ${name} template pack. Use the pack-specific Cursor skill for full details."`,
216
+ `---`,
217
+ ``,
218
+ `# AI Spector — Generate (${name} pack)`,
219
+ ``,
220
+ `## When to use`,
221
+ ``,
222
+ `- Any request to generate, write, or update documents for pack \`${name}\``,
223
+ ``,
224
+ `## Step 0 — Load pack context`,
225
+ ``,
226
+ `Read these files before generating:`,
227
+ `1. \`.ai-spector/packs/${name}/generate-hints.md\``,
228
+ `2. \`.ai-spector/.docflow/config/dag.srs.json\``,
229
+ `3. \`.ai-spector/.docflow/config/dag.srs.graph-seeds.json\``,
230
+ ``,
231
+ `Then follow the wave structure from \`generate-hints.md\`.`,
232
+ ``,
233
+ `## Checklist`,
234
+ ``,
235
+ `\`\`\``,
236
+ `- [ ] Loaded generate-hints.md and DAG config`,
237
+ `- [ ] graph validate passes before starting`,
238
+ `- [ ] Wave 0 primary documents generated`,
239
+ `- [ ] Wave 1 breakout files generated (if any)`,
240
+ `- [ ] npx ai-spector index run after each wave`,
241
+ `\`\`\``,
242
+ ].join("\n");
243
+ const claudeSkillDir = join(root, ".claude", "skills", `ai-spector-generate-${slug}`);
244
+ await mkdir(claudeSkillDir, { recursive: true });
245
+ await writeFile(join(claudeSkillDir, "skill.md"), claudeContent + "\n", "utf8");
246
+ return;
247
+ }
248
+ // Fallback: auto-generate a structural skeleton from the manifest
249
+ // Derive description from primary docs
250
+ const primaryDocs = manifest.documents.filter((d) => !d.perDomain);
251
+ const breakoutDocs = manifest.documents.filter((d) => d.perDomain);
252
+ const primaryOutputs = primaryDocs
253
+ .map((d) => d.output ?? d.outputPattern ?? d.template)
254
+ .slice(0, 3)
255
+ .join(", ");
256
+ const breakoutNote = breakoutDocs.length > 0
257
+ ? ` Plus ${breakoutDocs.length} breakout template(s): ${breakoutDocs.map((d) => d.perDomain).join(", ")}.`
258
+ : "";
259
+ // Infer docs/ path for `paths:` frontmatter
260
+ const outputPaths = new Set();
261
+ for (const doc of manifest.documents) {
262
+ const p = (doc.output ?? doc.outputPattern ?? "docs/").split("/").slice(0, 2).join("/") + "/**";
263
+ outputPaths.add(p);
264
+ }
265
+ const pathsYaml = [...outputPaths].map((p) => ` - "${p}"`).join("\n");
266
+ const cursorSkillContent = [
267
+ `---`,
268
+ `name: ai-spector-generate-${slug}`,
269
+ `description: >-`,
270
+ ` Generates documents for the ${name} template pack. Use when the user asks to`,
271
+ ` generate, write, or update documents produced by this pack. Outputs: ${primaryOutputs}.${breakoutNote}`,
272
+ ` Active pack: ${name}.`,
273
+ `paths:`,
274
+ pathsYaml,
275
+ `---`,
276
+ ``,
277
+ `# Generate — ${name} pack`,
278
+ ``,
279
+ `## Load at start (in order)`,
280
+ `1. \`.ai-spector/packs/${name}/generate-hints.md\``,
281
+ `2. \`.ai-spector/.docflow/config/dag.srs.json\``,
282
+ `3. \`.ai-spector/.docflow/config/dag.srs.graph-seeds.json\``,
283
+ `4. [\`generate-workflow.md\`](../ai-spector/references/generate-workflow.md)`,
284
+ ``,
285
+ `## Pack`,
286
+ ``,
287
+ `- Name: \`${name}\``,
288
+ `- Templates: \`.ai-spector/packs/${name}/templates/\``,
289
+ `- Manifest: \`.ai-spector/packs/${name}/manifest.json\``,
290
+ ``,
291
+ `## Workflow`,
292
+ ``,
293
+ `Follow the wave structure from \`generate-hints.md\`.`,
294
+ ``,
295
+ `**Wave 0 — Primary documents:**`,
296
+ `- For each node in \`dag.srs.json\` where \`mode\` is not set:`,
297
+ ` - Graph seed: look up DAG id in \`dag.srs.graph-seeds.json\` → use that document id`,
298
+ ` - Template: \`.ai-spector/packs/${name}/templates/<template-file>\``,
299
+ ` - Output: \`output\` or \`outputPattern\` from \`dag.srs.json\` node`,
300
+ ` - **Do NOT** use builtin \`doc.srs.*\` ids — they do not exist in this pack's graph`,
301
+ ``,
302
+ ...(breakoutDocs.length > 0
303
+ ? [
304
+ `**Wave 1 — Breakout files (${breakoutDocs.map((d) => d.perDomain).join(", ")}):**`,
305
+ `- After Wave 0, for each DAG node with \`mode: "perDomainBreakout"\`:`,
306
+ ` - Query graph for all nodes where \`type === node.perDomainKey\``,
307
+ ` - Generate one file per item using \`outputPattern\` from \`dag.srs.json\``,
308
+ ` - Template: \`.ai-spector/packs/${name}/templates/<breakout-template>\``,
309
+ ``,
310
+ ]
311
+ : []),
312
+ `## After each wave`,
313
+ ``,
314
+ `\`\`\`bash`,
315
+ `npx ai-spector graph validate`,
316
+ `npx ai-spector index`,
317
+ `\`\`\``,
318
+ ``,
319
+ `## On CLI failure`,
320
+ ``,
321
+ `Load [\`cli-failures.md\`](../ai-spector/references/cli-failures.md).`,
322
+ ``,
323
+ `"generate ${name}", "write docs", "generate documents" → this skill.`,
324
+ ].join("\n");
325
+ const claudeSkillContent = [
326
+ `---`,
327
+ `name: ai-spector-generate-${slug}`,
328
+ `description: "Generates documents for the ${name} template pack. Use when the user asks to generate, write, or update documents. Outputs: ${primaryOutputs}.${breakoutNote}"`,
329
+ `---`,
330
+ ``,
331
+ `# AI Spector — Generate (${name} pack)`,
332
+ ``,
333
+ `## When to use`,
334
+ ``,
335
+ `- "generate ${name}", "write docs", "generate documents" when pack \`${name}\` is active`,
336
+ ``,
337
+ `## Step 0 — Load pack context`,
338
+ ``,
339
+ `Read these files before generating anything:`,
340
+ `1. \`.ai-spector/packs/${name}/generate-hints.md\` — wave structure`,
341
+ `2. \`.ai-spector/.docflow/config/dag.srs.json\` — DAG node order`,
342
+ `3. \`.ai-spector/.docflow/config/dag.srs.graph-seeds.json\` — graph seed ids`,
343
+ ``,
344
+ `## Workflow`,
345
+ ``,
346
+ `Follow wave structure from \`generate-hints.md\`.`,
347
+ ``,
348
+ `\`\`\``,
349
+ `1. Load generate-hints.md + DAG config`,
350
+ `2. Wave 0: generate primary documents (use seed ids from dag.srs.graph-seeds.json)`,
351
+ ...(breakoutDocs.length > 0
352
+ ? [`3. Wave 1: generate breakout files (one per graph node of perDomainKey type)`]
353
+ : []),
354
+ `${breakoutDocs.length > 0 ? "4" : "3"}. After each wave: npx ai-spector index`,
355
+ `${breakoutDocs.length > 0 ? "5" : "4"}. Final: npx ai-spector graph validate`,
356
+ `\`\`\``,
357
+ ``,
358
+ `**Important:** Use graph seed ids from \`dag.srs.graph-seeds.json\`, NOT builtin \`doc.srs.*\` ids.`,
359
+ ``,
360
+ `## Checklist`,
361
+ ``,
362
+ `\`\`\``,
363
+ `- [ ] Loaded generate-hints.md and DAG config`,
364
+ `- [ ] graph validate passes before starting`,
365
+ `- [ ] Wave 0 primary documents generated`,
366
+ ...(breakoutDocs.length > 0 ? [`- [ ] Wave 1 breakout files generated`] : []),
367
+ `- [ ] npx ai-spector index run after each wave`,
368
+ `- [ ] npx ai-spector graph validate run at end`,
369
+ `\`\`\``,
370
+ ].join("\n");
371
+ // Write Cursor skill
372
+ const cursorSkillDir = join(root, ".cursor", "skills", `ai-spector-generate-${slug}`);
373
+ await mkdir(cursorSkillDir, { recursive: true });
374
+ await writeFile(join(cursorSkillDir, "SKILL.md"), cursorSkillContent + "\n", "utf8");
375
+ // Write Claude skill
376
+ const claudeSkillDir = join(root, ".claude", "skills", `ai-spector-generate-${slug}`);
377
+ await mkdir(claudeSkillDir, { recursive: true });
378
+ await writeFile(join(claudeSkillDir, "skill.md"), claudeSkillContent + "\n", "utf8");
379
+ }
380
+ async function writeDagFiles(root, dag, seeds) {
381
+ const dagDir = join(root, ".ai-spector", ".docflow", "config");
382
+ await mkdir(dagDir, { recursive: true });
383
+ await writeJson(join(dagDir, "dag.srs.json"), dag);
384
+ await writeJson(join(dagDir, "dag.srs.graph-seeds.json"), seeds);
385
+ }
386
+ async function restoreBuiltinDagFiles(root) {
387
+ const { scaffoldBundleRoot } = await import("../config/load.js");
388
+ const srcDir = join(scaffoldBundleRoot(), ".ai-spector", ".docflow", "config");
389
+ const destDir = join(root, ".ai-spector", ".docflow", "config");
390
+ await mkdir(destDir, { recursive: true });
391
+ for (const name of ["dag.srs.json", "dag.srs.graph-seeds.json"]) {
392
+ const src = join(srcDir, name);
393
+ const dest = join(destDir, name);
394
+ if (existsSync(src)) {
395
+ await copyFile(src, dest);
396
+ }
397
+ }
398
+ }
399
+ // ---------------------------------------------------------------------------
82
400
  // template use <name>
83
401
  // ---------------------------------------------------------------------------
84
402
  async function runTemplateUse(name, opts) {
85
403
  const { root, config, configFile } = await loadConfigAndRoot(opts.cwd);
86
404
  if (name === "builtin" || name === "default") {
87
- // Remove packs.active
88
405
  if (config.packs) {
89
406
  delete config.packs;
90
407
  }
91
408
  await saveConfig(configFile, config);
92
- console.log("Switched to builtin templates. Rebuilding registry and graph...");
409
+ console.log("Switched to builtin templates. Restoring builtin DAG config...");
410
+ await restoreBuiltinDagFiles(root);
93
411
  }
94
412
  else {
95
- // Verify pack exists
96
413
  const manifestPath = join(root, ".ai-spector", "packs", name, "manifest.json");
97
414
  if (!existsSync(manifestPath)) {
98
415
  console.error(`Pack "${name}" not found. Expected manifest at: ${manifestPath}`);
99
416
  process.exitCode = 1;
100
417
  return;
101
418
  }
419
+ const manifest = await readJson(manifestPath);
102
420
  config.packs = { active: name };
103
421
  await saveConfig(configFile, config);
104
- console.log(`Switched to pack "${name}". Rebuilding registry and graph...`);
422
+ console.log(`Switched to pack "${name}". Rebuilding registry, graph, and DAG config...`);
423
+ // Write pack-derived DAG files, generate-hints.md, and dedicated generate skill
424
+ const packDir = join(root, ".ai-spector", "packs", name);
425
+ const { dag, seeds } = buildDagFromManifest(manifest);
426
+ await writeDagFiles(root, dag, seeds);
427
+ await writeGenerateHints(packDir, manifest);
428
+ await writePackGenerateSkill(root, manifest);
105
429
  }
106
430
  const stats = await rebuildRegistryAndGraph(root, config);
107
431
  console.log(`Done. ${stats.documents} documents, ${stats.sections} sections, ` +
108
432
  `${stats.graphNodes} graph nodes, ${stats.graphEdges} edges.`);
433
+ const activePack = config.packs?.active ?? "builtin";
434
+ const docIdList = stats.documentIds?.map((id) => ` - ${id}`).join("\n") ??
435
+ ` (run \`npx ai-spector template inspect ${activePack}\` to list them)`;
436
+ console.log(`Active graph document ids (valid query seeds):\n${docIdList}`);
437
+ if (activePack !== "builtin") {
438
+ const activeManifestPath = join(root, ".ai-spector", "packs", activePack, "manifest.json");
439
+ if (existsSync(activeManifestPath)) {
440
+ const activeManifest = await readJson(activeManifestPath);
441
+ const breakoutDocs = activeManifest.documents.filter((d) => d.perDomain);
442
+ if (breakoutDocs.length > 0) {
443
+ console.log(`\n⚠ Pack has ${breakoutDocs.length} breakout template(s) — generate primary docs first, then ask:\n` +
444
+ breakoutDocs.map((d) => ` "generate breakout ${d.perDomain} files from the graph"`).join("\n") +
445
+ `\n See: .ai-spector/packs/${activePack}/generate-hints.md`);
446
+ }
447
+ }
448
+ console.log(`\nNote: .cursor/skills/ai-spector-generate-srs/references/runbook.md still references` +
449
+ `\nbuiltin ids — update it or ask the agent to use the ids above when querying the graph.`);
450
+ }
109
451
  }
110
452
  // ---------------------------------------------------------------------------
111
453
  // template inspect <name>
@@ -300,16 +642,15 @@ async function runTemplateInstall(opts) {
300
642
  await saveConfig(configFile, config);
301
643
  throw err;
302
644
  }
303
- // skill-hints.md — if the AI wrote one in staging, append to generate skill
645
+ // Write pack-derived DAG files, generate-hints.md, and dedicated generate skill
646
+ const { dag, seeds } = buildDagFromManifest(finalManifest);
647
+ await writeDagFiles(root, dag, seeds);
648
+ await writeGenerateHints(destDir, finalManifest);
649
+ const stagedSkillPath = join(stagingDir, "generate-skill.md");
650
+ await writePackGenerateSkill(root, finalManifest, stagedSkillPath);
651
+ // skill-hints.md — if the AI wrote one in staging, copy to pack dir
304
652
  const skillHintsPath = join(stagingDir, "skill-hints.md");
305
653
  if (await pathExists(skillHintsPath)) {
306
- const hints = await readFile(skillHintsPath, "utf8");
307
- const cursorSkillPath = join(root, ".cursor/skills/ai-spector-generate/SKILL.md");
308
- if (await pathExists(cursorSkillPath)) {
309
- const existing = await readFile(cursorSkillPath, "utf8");
310
- await writeFile(cursorSkillPath, existing + "\n\n---\n\n## Pack hints: " + packName + "\n\n" + hints);
311
- console.log(" Updated .cursor/skills/ai-spector-generate/SKILL.md with pack hints.");
312
- }
313
654
  await copyFile(skillHintsPath, join(destDir, "skill-hints.md"));
314
655
  }
315
656
  // Clear staging
@@ -320,8 +661,26 @@ async function runTemplateInstall(opts) {
320
661
  console.log(` Sections : ${stats.sections}`);
321
662
  console.log(` Graph : ${stats.graphNodes} nodes, ${stats.graphEdges} edges`);
322
663
  console.log();
664
+ const usedAiSkill = existsSync(stagedSkillPath);
323
665
  console.log(` Templates → .ai-spector/packs/${packName}/templates/`);
324
666
  console.log(` Active → docflow.config.json updated`);
667
+ console.log(` DAG → .ai-spector/.docflow/config/dag.srs.json updated`);
668
+ console.log(` Skill → .cursor/skills/ai-spector-generate-${packName}/SKILL.md ${usedAiSkill ? "(AI-written)" : "(auto-generated from manifest)"}`);
669
+ console.log(` → .claude/skills/ai-spector-generate-${packName}/skill.md`);
670
+ const breakoutDocs = finalManifest.documents.filter((d) => d.perDomain);
671
+ if (breakoutDocs.length > 0) {
672
+ console.log();
673
+ console.log(` ⚠ This pack includes ${breakoutDocs.length} per-domain breakout template(s):`);
674
+ for (const d of breakoutDocs) {
675
+ console.log(` ${d.documentId} (perDomain: ${d.perDomain})`);
676
+ console.log(` output: ${d.outputPattern ?? d.output ?? "(see manifest)"}`);
677
+ }
678
+ console.log();
679
+ console.log(` Breakout files are NOT generated automatically.`);
680
+ console.log(` After "generate SRS", ask your AI IDE:`);
681
+ console.log(` "generate breakout ${breakoutDocs[0]?.perDomain ?? "requirement"} files from the graph"`);
682
+ console.log(` Reference: .ai-spector/packs/${packName}/generate-hints.md`);
683
+ }
325
684
  console.log();
326
685
  console.log(`Next: ask your AI to "generate <document>" to use the new template.`);
327
686
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/graph/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkCnD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAMxF;AAoBD,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,CA6Eb;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,GACd,OAAO,CAeT"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/graph/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkCnD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAMxF;AAoBD,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,CA6Eb;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,GACd,OAAO,CAqBT"}
@@ -137,6 +137,12 @@ export function skipPatchEdgeIfEndpointsMissing(graph, edge) {
137
137
  edge.type === "tracesTo") {
138
138
  return !from || !to;
139
139
  }
140
+ // listedIn: skip gracefully when the list-anchor section doesn't exist in the graph
141
+ // (common with custom packs whose defaultListedIn differs from builtin sections)
142
+ if (edge.type === "listedIn") {
143
+ const to = graph.nodesById.get(edge.to);
144
+ return !from || !to;
145
+ }
140
146
  return false;
141
147
  }
142
148
  function validateSemanticPatch(patch) {
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/graph/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/graph/merge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-spector",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "workspaces": [
5
5
  "packages/*"
6
6
  ],
@@ -14,6 +14,10 @@ description: "Generates SRS documents from the knowledge graph using DAG waves.
14
14
  - `npx ai-spector graph validate` passes
15
15
  - Data source analyzed (`npx ai-spector analyze`)
16
16
 
17
+ > **Scope:** This skill is for the **builtin SRS template** only. If a custom pack is active,
18
+ > use `ai-spector-generate-<packname>` instead (installed when the pack was activated).
19
+ > Check `CLAUDE.md` skill table if unsure which skill to use.
20
+
17
21
  ## Workflow
18
22
 
19
23
  ```
@@ -53,8 +53,10 @@ When you need to find, query, or understand the project graph:
53
53
  | Analyze data source / build graph | `ai-spector-graph` |
54
54
  | Check impact of changes | `ai-spector-graph` |
55
55
  | Import / set up custom template pack | `ai-spector-template-import` |
56
- | Write SRS | `ai-spector-generate-srs` |
57
- | Write basic design | `ai-spector-generate-basic-design` |
56
+ | Generate documents (check active pack first) | read `packs.active` → use skill below |
57
+ | Custom pack active | `ai-spector-generate-<packname>` (installed by `template install`) |
58
+ | → Builtin: Write SRS | `ai-spector-generate-srs` |
59
+ | → Builtin: Write basic design | `ai-spector-generate-basic-design` |
58
60
  | HTML prototype | `ai-spector-generate-prototype` |
59
61
  | Translation status | `ai-spector-lang-status` |
60
62
  | Resolve translations | `ai-spector-resolve-translation` |
@@ -21,14 +21,14 @@ Agents use this when intent is ambiguous.
21
21
  | link graph, semantic edges | `ai-spector-graph` | `references/link-graph.md` |
22
22
  | sync graph | `ai-spector-graph` | `references/sync-graph.md` |
23
23
  | doc summaries | `ai-spector-graph` | `references/summary.md` |
24
- | SRS, use cases, features, requirements | `ai-spector-generate-srs` | `references/runbook.md` |
25
- | screens, APIs, wireframes, basic design | `ai-spector-generate-basic-design` | `references/runbook.md` |
24
+ | generate docs, write SRS, requirements, use cases, features | `ai-spector-generate` | `SKILL.md` (checks active pack, then routes) |
25
+ | screens, APIs, wireframes, basic design | `ai-spector-generate` | `SKILL.md` (builtin → `ai-spector-generate-basic-design`) |
26
26
  | HTML prototype | `ai-spector-generate-prototype` | `references/runbook.md` |
27
27
  | set up template pack, import template, custom template, install template | `ai-spector-template-import` | `references/runbook.md` |
28
28
  | review comments, C-001, inbox | `ai-spector-resolve-comments` | `references/runbook.md` |
29
29
  | translation status, stale langs | `ai-spector-lang-status` | `SKILL.md` |
30
30
  | resolve translations, sync JP/VI | `ai-spector-resolve-translation` | `references/runbook.md` |
31
- | “generate docs” (no layer named) | `ai-spector-generate` | route to one skill above |
31
+ | “generate docs” (no layer named) | `ai-spector-generate` | `SKILL.md` |
32
32
 
33
33
  Shared: [ai-spector/references/cli-failures.md](./ai-spector/references/cli-failures.md), [generate-workflow.md](./ai-spector/references/generate-workflow.md), [generate-graph.md](./ai-spector/references/generate-graph.md).
34
34
 
@@ -12,10 +12,18 @@ Used by SRS and basic design skills.
12
12
  Read `.ai-spector/docflow.config.json` at the project root. Check the `languages` array:
13
13
 
14
14
  - **Multiple languages configured** → generate primary language first, then translate to secondary languages from the primary output. Never generate secondary languages independently from the graph — always translate from the finished primary file.
15
- - **Single language configured** → generate only for that language under `docs/srs/{lang.code}/` (e.g. `docs/srs/en/`).
16
- - **`languages` missing** → fall back to reading `.ai-spector/.docflow/config/language.json`. If `documentLanguage` is empty or missing, load [language-picker.md](./language-picker.md) and run the picker. Write output to `docs/srs/en/` (primary).
15
+ - **Single language configured** → generate only for that language.
16
+ - **`languages` missing** → fall back to reading `.ai-spector/.docflow/config/language.json`. If `documentLanguage` is empty or missing, load [language-picker.md](./language-picker.md) and run the picker.
17
17
 
18
- Output path rule: always `docs/{docType}/{lang.code}/{filename}` — never directly under `docs/srs/` without a language subfolder.
18
+ **Output path rule:**
19
+
20
+ | Active pack | Output path |
21
+ |-------------|-------------|
22
+ | Builtin (SRS) | `docs/srs/{lang.code}/{filename}` |
23
+ | Builtin (basic design) | `docs/basic-design/{lang.code}/{filename}` |
24
+ | Custom pack | Path from `dag.srs.json` node (`output` or `outputPattern`). If the path includes `{lang}`, substitute `lang.code`. If it does not include `{lang}`, write to the path as-is (no language subfolder added automatically). |
25
+
26
+ For custom packs: **never rewrite the output path** to add a language subfolder that the manifest didn't define. Respect the path exactly as written in `dag.srs.json`.
19
27
 
20
28
  ### Multi-language generation order (mandatory)
21
29
 
@@ -1,14 +1,33 @@
1
1
  ---
2
2
  name: ai-spector-generate
3
3
  description: >-
4
- Routes ambiguous document-generation requests to the correct AI Spector layer skill (SRS, basic
5
- design, or HTML prototype). Use only when the user says generate docs or generate requirements
6
- without naming a layer. Do not use when the request clearly targets SRS, screens, APIs, or prototype HTML.
4
+ Routes document-generation requests to the correct skill based on the active template pack.
5
+ Use when the user says "generate docs", "generate requirements", "write SRS", or names a
6
+ document type without specifying a layer. Always checks packs.active before routing.
7
7
  ---
8
8
 
9
9
  # AI Spector — Generate (router)
10
10
 
11
- Ask one question or infer from context, then **switch skill** and read that skill's runbook:
11
+ ## Step 0 Check active pack (always first)
12
+
13
+ Read `.ai-spector/docflow.config.json`. Check `packs.active`.
14
+
15
+ | `packs.active` | Action |
16
+ |----------------|--------|
17
+ | Not set or `"builtin"` | Route by layer below |
18
+ | Any custom pack name (e.g. `"msrs"`, `"kaopiz-srs"`) | Switch to skill `ai-spector-generate-<packname>` |
19
+
20
+ For custom packs, the dedicated `ai-spector-generate-<packname>` skill was written when the pack was installed. It loads `generate-hints.md` + the pack DAG and follows `generate-workflow.md`. Use it instead of the builtin layer skills.
21
+
22
+ If the pack-specific skill does not exist yet (pack was installed before this version), run:
23
+ ```bash
24
+ npx ai-spector template use <packname>
25
+ ```
26
+ This regenerates the skill file.
27
+
28
+ ## Route by layer (builtin only)
29
+
30
+ Ask one question or infer from context, then switch skill:
12
31
 
13
32
  | Layer | Skill |
14
33
  |-------|-------|
@@ -10,6 +10,12 @@ Generate SRS markdown **from the traceability graph** in DAG order.
10
10
  | Graph query, ingest patch, parallelism | [generate-graph.md](../../ai-spector/references/generate-graph.md) |
11
11
  | **Graph → template section mapping** | **[srs-context/](./srs-context/) — load the matching section file before writing each doc type** |
12
12
 
13
+ > **Scope:** This runbook is for the **builtin SRS template** only. If a custom pack is active,
14
+ > the `ai-spector-generate` router will have already dispatched you to the pack-specific skill
15
+ > (`ai-spector-generate-<packname>`). If you are here with a custom pack active, switch to that skill.
16
+
17
+ ---
18
+
13
19
  ## Intent → DAG hints
14
20
 
15
21
  | User phrase (examples) | Typical DAG / outputs |
@@ -17,6 +17,12 @@ paths:
17
17
 
18
18
  [references/runbook.md](references/runbook.md) — follow all phases in order.
19
19
 
20
+ ## Load when needed
21
+
22
+ | Phase | Load |
23
+ |-------|------|
24
+ | Phase 5 — Write generate skill | [references/skill-outline.md](references/skill-outline.md) |
25
+
20
26
  ## Natural language
21
27
 
22
28
  "set up template pack", "import my template", "install template", "use my own template",
@@ -76,7 +76,13 @@ For **each file** in `scan-result.json files[]`:
76
76
  If the file is a **repeating file** (identified in Q2):
77
77
  - `outputPattern` = output-root + vocabulary-slug + `/{nn}-{slug}.md`
78
78
  - Example: use cases in `docs/srs/` → `docs/srs/use-cases/uc-{nn}-{slug}.md`
79
- - `perDomain` = camelCase of the vocabulary from Q3 (e.g. `"use case"` `"useCase"`, `"feature"` `"feature"`, `"epic"` → `"epic"`)
79
+ - If the project uses per-language subfolders (e.g. `docs/srs/en/`), include `{lang}` in the pattern:
80
+ `docs/srs/{lang}/requirements/req-{nn}-{slug}.md`
81
+ - `perDomain` = camelCase of the vocabulary from Q3 (e.g. `"use case"` → `"useCase"`, `"feature"` → `"feature"`, `"epic"` → `"epic"`, `"requirement"` → `"requirement"`)
82
+
83
+ > **Note on perDomain vocabulary:** The builtin generate-SRS skill has deep support for `useCase` and `feature` (it enumerates them automatically). Other values (`requirement`, `epic`, `story`, etc.) are valid and will appear in the DAG, but **breakout file generation for these types is a manual second wave** — after generating the primary document, ask the agent:
84
+ > `"generate breakout <vocabulary> files from the graph"`
85
+ > The agent will read `.ai-spector/packs/<name>/generate-hints.md` for instructions.
80
86
 
81
87
  If the file is a **single/non-repeating file**:
82
88
  - `output` = output-root + slugified-filename + `.md`
@@ -144,7 +150,45 @@ After all files are written, confirm:
144
150
 
145
151
  ---
146
152
 
147
- ## Phase 5 — Write manifest and install
153
+ ## Phase 5 — Write the generate skill
154
+
155
+ Load the skill outline reference:
156
+
157
+ ```
158
+ references/skill-outline.md
159
+ ```
160
+
161
+ Read it fully, then write `.ai-spector/packs/.staging/generate-skill.md` following the outline.
162
+
163
+ **What you know by this point:**
164
+ - Template structure and placeholders (scan result)
165
+ - Pack name, vocabulary, output location (Phase 1 answers)
166
+ - Manifest with document IDs, outputPattern, perDomain values (Phase 2–3)
167
+ - Refined template files (Phase 4)
168
+
169
+ **Key things to fill in accurately:**
170
+ - `description` field — use the user's actual vocabulary from Phase 1 Q1 and Q3
171
+ - Wave 0 table — derive graph seed IDs by taking each primary documentId from the manifest
172
+ (e.g. `doc.msrs.srs.template` → DAG node `msrs.srs-template`, seed `doc.msrs.srs.template`)
173
+ - Wave 1 table — one row per perDomain document, naming the perDomainKey and outputPattern
174
+ - Domain vocabulary — from Phase 1 Q3
175
+ - Output paths — exactly as specified in the manifest
176
+ - Guardrails — include at least: correct seed IDs, output path convention, breakout wave reminder
177
+
178
+ After writing, show the user a short summary:
179
+
180
+ > "I've written a tailored generate skill for this pack. It includes:
181
+ > - [list Wave 0 documents]
182
+ > - [list Wave 1 breakout types, if any]
183
+ > - [N guardrails]
184
+ >
185
+ > Ready to install?"
186
+
187
+ Wait for confirmation before proceeding to Phase 6.
188
+
189
+ ---
190
+
191
+ ## Phase 6 — Write manifest and install
148
192
 
149
193
  Write the final manifest (incorporating any Phase 3 refinements) to:
150
194
 
@@ -164,11 +208,21 @@ Show the CLI output and summarize:
164
208
 
165
209
  > "✓ Pack '<name>' installed and active.
166
210
  >
167
- > You can now ask me to:
168
- > - 'generate <document-type>' — uses your new template
211
+ > A tailored generate skill was written to:
212
+ > - `.cursor/skills/ai-spector-generate-<name>/SKILL.md`
213
+ > - `.claude/skills/ai-spector-generate-<name>/skill.md`
214
+ >
215
+ > **Generation workflow:**
216
+ >
217
+ > Say 'generate <name>' or 'generate <primary doc type>' — the agent will load the skill,
218
+ > read generate-hints.md, and follow the wave structure.
219
+ >
220
+ > Other commands:
169
221
  > - 'template list' — see all installed packs
170
222
  > - 'template use builtin' — switch back to builtin template"
171
223
 
224
+ If the install output shows a `⚠ This pack includes ... per-domain breakout template(s)` warning, **explicitly tell the user** which vocabulary they need to generate as a second wave.
225
+
172
226
  ### If install fails
173
227
 
174
228
  1. Show the full error output
@@ -0,0 +1,253 @@
1
+ # Generate Skill Outline
2
+
3
+ Use this outline to write `.ai-spector/packs/.staging/generate-skill.md` during Phase 5 of the template import workflow.
4
+
5
+ The file you write will become `.cursor/skills/ai-spector-generate-<packname>/SKILL.md` — the skill the agent uses every time a user asks to generate documents with this pack.
6
+
7
+ **Quality bar:** this skill should be specific enough that an agent who has never seen the template can generate correct, well-structured documents on the first attempt.
8
+
9
+ ---
10
+
11
+ ## File format
12
+
13
+ The staged file must be a complete, valid Cursor skill file:
14
+
15
+ ```markdown
16
+ ---
17
+ name: ai-spector-generate-<packname>
18
+ description: >-
19
+ <one-sentence description — include domain-specific trigger phrases>
20
+ paths:
21
+ - "<output root from manifest>/**"
22
+ ---
23
+
24
+ # Generate — <packname>
25
+
26
+ ... sections below ...
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Section 1 — Load at start
32
+
33
+ Always include these four lines exactly:
34
+
35
+ ```markdown
36
+ ## Load at start
37
+
38
+ 1. `.ai-spector/packs/<packname>/generate-hints.md`
39
+ 2. `.ai-spector/.docflow/config/dag.srs.json`
40
+ 3. `.ai-spector/.docflow/config/dag.srs.graph-seeds.json`
41
+ 4. [`generate-workflow.md`](../ai-spector/references/generate-workflow.md)
42
+ ```
43
+
44
+ ---
45
+
46
+ ## Section 2 — Pack summary
47
+
48
+ One short paragraph describing what this pack produces and the workflow it follows. Use the vocabulary from the template (e.g. "MADR-style", "IEEE 830", "feature-driven").
49
+
50
+ Example:
51
+ ```markdown
52
+ ## Pack: kaopiz-srs
53
+
54
+ Generates an IEEE 830 Software Requirements Specification. Primary output is a
55
+ monolithic `srs.md` structured by chapter. Optional breakout use-case detail files
56
+ (`uc-{nn}-{slug}.md`) are generated per use case from the graph.
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Section 3 — Trigger phrases
62
+
63
+ List the phrases that should cause Cursor to route to this skill. Be specific — use domain vocabulary the user is likely to say.
64
+
65
+ ```markdown
66
+ ## Trigger phrases
67
+
68
+ "generate SRS", "write requirements", "write use cases", "generate <packname>",
69
+ "generate <primary doc filename>", "write <vocab> detail"
70
+ ```
71
+
72
+ ---
73
+
74
+ ## Section 4 — Wave structure
75
+
76
+ Describe each wave in human-readable terms. Copy seed IDs from `dag.srs.graph-seeds.json` (which the CLI will have generated by this point — read it from staging or the installed pack dir if already installed).
77
+
78
+ ```markdown
79
+ ## Wave structure
80
+
81
+ ### Wave 0 — Primary documents (generate first)
82
+
83
+ | DAG node | Graph seed | Output | Purpose |
84
+ |----------|------------|--------|---------|
85
+ | `<packname>.srs-template` | `doc.<packname>.srs.template` | `docs/srs/srs.md` | Monolithic SRS |
86
+
87
+ ### Wave 1 — Breakout files (after Wave 0)
88
+
89
+ | Breakout type | Graph node type | Output pattern | Template |
90
+ |---------------|-----------------|----------------|----------|
91
+ | `requirement` | `requirement` | `docs/srs/requirements/req-{nn}-{slug}.md` | `req-template.md` |
92
+
93
+ For Wave 1: query graph for all nodes of the matching type, then generate one file per node.
94
+ ```
95
+
96
+ Omit Wave 1 section if there are no breakout templates.
97
+
98
+ ---
99
+
100
+ ## Section 5 — Domain vocabulary
101
+
102
+ Fill this in from what the user told you during Phase 1. This helps the agent understand the user's terminology.
103
+
104
+ ```markdown
105
+ ## Domain vocabulary
106
+
107
+ | Term | Meaning | Graph node type | ID format |
108
+ |------|---------|-----------------|-----------|
109
+ | "use case" | A distinct user goal or interaction | `useCase` | `UC-01`, `UC-02` |
110
+ | "functional requirement" | An atomic system behaviour | `requirement` | `FR-01-01` |
111
+ ```
112
+
113
+ Omit if the pack has no domain-specific vocabulary (e.g. a simple single-file template).
114
+
115
+ ---
116
+
117
+ ## Section 6 — Output paths
118
+
119
+ State the output paths clearly. If paths include `{lang}`, note that. If they do NOT include `{lang}`, note that the language subfolder must NOT be added.
120
+
121
+ ```markdown
122
+ ## Output paths
123
+
124
+ - Primary SRS: `docs/srs/srs.md` (no language subfolder — MSRS is language-neutral)
125
+ - Breakout requirements: `docs/srs/requirements/req-{nn}-{slug}.md`
126
+
127
+ ⚠ Do not rewrite these paths to add `/{lang.code}/` — this pack's output is single-language.
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Section 7 — Graph seed IDs
133
+
134
+ Copy the actual seed IDs from `dag.srs.graph-seeds.json`. This prevents agents from guessing.
135
+
136
+ ```markdown
137
+ ## Graph seed IDs
138
+
139
+ Use these IDs when querying the graph (from `dag.srs.graph-seeds.json`):
140
+
141
+ | DAG node | Graph document ID |
142
+ |----------|-------------------|
143
+ | `<packname>.srs-template` | `doc.<packname>.srs.template` |
144
+
145
+ Never use builtin `doc.srs.*` IDs — they do not exist in this pack's graph.
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Section 8 — Guardrails
151
+
152
+ List 3–5 pack-specific guardrails. These should address the most likely mistakes an agent would make with this specific template.
153
+
154
+ Common guardrails to include:
155
+ - Wrong graph seed IDs
156
+ - Missing breakout wave
157
+ - Wrong output path convention
158
+ - Template-specific invariants (e.g. "always include the requirement rationale section")
159
+
160
+ ```markdown
161
+ ## Guardrails
162
+
163
+ - Use seed IDs from `dag.srs.graph-seeds.json`, not builtin `doc.srs.*` IDs
164
+ - Wave 0 must complete before starting Wave 1 breakout files
165
+ - Output to `docs/srs/srs.md` — not `docs/srs/en/srs.md` (no lang subfolder for this pack)
166
+ - Every requirement in the output must have a corresponding `FR-xx-yy` node in the graph
167
+ - After each wave: `npx ai-spector graph validate && npx ai-spector index`
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Section 9 — On CLI failure
173
+
174
+ Always include this line:
175
+
176
+ ```markdown
177
+ ## On CLI failure
178
+
179
+ Load [`cli-failures.md`](../ai-spector/references/cli-failures.md).
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Quality checklist before writing the file
185
+
186
+ - [ ] `description` field uses vocabulary the user actually said during Phase 1
187
+ - [ ] Wave 0 table has real graph seed IDs (not guessed — from `dag.srs.graph-seeds.json`)
188
+ - [ ] If pack has breakout templates, Wave 1 section is present and correct
189
+ - [ ] Output paths match the manifest exactly
190
+ - [ ] Domain vocabulary table uses the exact terms from Phase 1 Q3
191
+ - [ ] Guardrails address the specific failure modes of this template's structure
192
+ - [ ] No references to builtin `doc.srs.*` IDs
193
+
194
+ ---
195
+
196
+ ## Example: minimal single-document pack
197
+
198
+ ```markdown
199
+ ---
200
+ name: ai-spector-generate-arc42
201
+ description: >-
202
+ Generates an arc42 architecture document from the traceability graph. Use when
203
+ the user asks to "generate architecture doc", "write arc42", or "document the system architecture".
204
+ paths:
205
+ - "docs/architecture/**"
206
+ ---
207
+
208
+ # Generate — arc42
209
+
210
+ ## Load at start
211
+
212
+ 1. `.ai-spector/packs/arc42/generate-hints.md`
213
+ 2. `.ai-spector/.docflow/config/dag.srs.json`
214
+ 3. `.ai-spector/.docflow/config/dag.srs.graph-seeds.json`
215
+ 4. [`generate-workflow.md`](../ai-spector/references/generate-workflow.md)
216
+
217
+ ## Pack: arc42
218
+
219
+ Generates a single `architecture.md` following the arc42 template (12 sections).
220
+ Query the graph for context nodes, then fill each section from the template.
221
+
222
+ ## Trigger phrases
223
+
224
+ "generate architecture", "write arc42", "document system design", "generate arc42"
225
+
226
+ ## Wave structure
227
+
228
+ ### Wave 0 — Primary document
229
+
230
+ | DAG node | Graph seed | Output |
231
+ |----------|------------|--------|
232
+ | `arc42.architecture` | `doc.arc42.architecture` | `docs/architecture/architecture.md` |
233
+
234
+ ## Output paths
235
+
236
+ - Architecture doc: `docs/architecture/architecture.md`
237
+
238
+ ## Graph seed IDs
239
+
240
+ | DAG node | Graph document ID |
241
+ |----------|-------------------|
242
+ | `arc42.architecture` | `doc.arc42.architecture` |
243
+
244
+ ## Guardrails
245
+
246
+ - Never split the output into multiple files — arc42 is a single document
247
+ - Use seed `doc.arc42.architecture`, not builtin `doc.srs.*` IDs
248
+ - After writing: `npx ai-spector graph validate && npx ai-spector index`
249
+
250
+ ## On CLI failure
251
+
252
+ Load [`cli-failures.md`](../ai-spector/references/cli-failures.md).
253
+ ```
@@ -66,7 +66,7 @@
66
66
  "outputPattern": { "type": "string" },
67
67
  "perDomain": {
68
68
  "type": "string",
69
- "enum": ["useCase", "feature", "apiDetail", "screenDetail"]
69
+ "description": "Domain category for this template document. Builtin values: useCase, feature, apiDetail, screenDetail. Custom packs may use any string."
70
70
  },
71
71
  "documentId": { "type": "string" },
72
72
  "heading": { "type": "string" },