@ngocsangairvds/vsaf 6.1.0 → 6.2.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 (31) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/server/routes/runs.d.ts +1 -1
  3. package/packages/cli/dist/server/routes/runs.d.ts.map +1 -1
  4. package/packages/cli/dist/server/routes/runs.js +33 -11
  5. package/packages/cli/dist/server/routes/runs.js.map +1 -1
  6. package/packages/cli/dist/server/routes/workflows.js +1 -1
  7. package/packages/cli/dist/server/routes/workflows.js.map +1 -1
  8. package/skills/sdlc/onboard-code/cross-domain/SKILL.md +10 -0
  9. package/skills/sdlc/onboard-code/cross-domain/step.md +11 -0
  10. package/skills/sdlc/onboard-code/detect-structure/SKILL.md +10 -0
  11. package/skills/sdlc/onboard-code/detect-structure/step.md +7 -0
  12. package/skills/sdlc/onboard-code/env-docker/SKILL.md +10 -0
  13. package/skills/sdlc/onboard-code/env-docker/step.md +7 -0
  14. package/skills/sdlc/onboard-code/summary/SKILL.md +10 -0
  15. package/skills/sdlc/onboard-code/summary/step.md +4 -0
  16. package/skills/sdlc/onboard-code/verify-index/SKILL.md +10 -0
  17. package/skills/sdlc/onboard-code/verify-index/step.md +9 -0
  18. package/skills/sdlc/onboard-docs/extract-terms/SKILL.md +10 -0
  19. package/skills/sdlc/onboard-docs/extract-terms/step.md +20 -0
  20. package/skills/sdlc/onboard-docs/graphify-build/SKILL.md +10 -0
  21. package/skills/sdlc/onboard-docs/graphify-build/step.md +11 -0
  22. package/skills/sdlc/onboard-docs/scan-import/SKILL.md +10 -0
  23. package/skills/sdlc/onboard-docs/scan-import/step.md +19 -0
  24. package/skills/sdlc/onboard-docs/verify-fix/SKILL.md +10 -0
  25. package/skills/sdlc/onboard-docs/verify-fix/step.md +10 -0
  26. package/skills/sdlc/pack.yaml +9 -2
  27. package/workflows/sdlc/onboard-code.yaml +5 -43
  28. package/workflows/sdlc/onboard-docs.yaml +4 -64
  29. package/skills/sdlc/onboard-code/SKILL.md +0 -210
  30. package/skills/sdlc/onboard-docs/SKILL.md +0 -194
  31. /package/skills/sdlc/onboard-docs/{convert.py → scan-import/convert.py} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngocsangairvds/vsaf",
3
- "version": "6.1.0",
3
+ "version": "6.2.0",
4
4
  "description": "logging step",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -11,7 +11,7 @@ export interface RunGraphNode {
11
11
  }
12
12
  /** Parse a run's persisted (already-expanded) workflow YAML into a flat node
13
13
  * graph for the DAG view. Returns undefined when absent or unparseable. */
14
- export declare function buildRunGraph(workflowYaml: string | undefined): {
14
+ export declare function buildRunGraph(workflowYaml: string | undefined, projectPath?: string): {
15
15
  nodes: RunGraphNode[];
16
16
  } | undefined;
17
17
  export declare function runRoutes(app: FastifyInstance, opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAI/D,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,WAAW,CAAC;AAKvE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;4EAC4E;AAC5E,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE;IAAE,cAAc,EAAE,qBAAqB,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAyOf"}
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAI/D,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,WAAW,CAAC;AAKvE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuBD;4EAC4E;AAC5E,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,SAAS,CAqBvC;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE;IAAE,cAAc,EAAE,qBAAqB,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAyOf"}
@@ -59,23 +59,45 @@ const path_1 = require("path");
59
59
  const core_1 = require("@vsaf/core");
60
60
  const project_registry_js_1 = require("../services/project-registry.js");
61
61
  const OUTPUT_LIMIT = 200 * 1024;
62
+ /** Resolve a node's displayable content. `command` nodes store only the
63
+ * command name (e.g. "sdlc-onboard-code-detect-structure") — resolve it to
64
+ * the underlying skill body so the run-view inspector shows what the node
65
+ * actually runs. Falls back to the raw command name when it can't be
66
+ * resolved (e.g. not deployed under this project's .vsaf/commands) — must
67
+ * never throw. prompt/bash nodes are already inline and pass through as-is. */
68
+ function resolveNodeContent(node, projectPath) {
69
+ if (!node.content)
70
+ return undefined;
71
+ if (node.type === 'command' && projectPath) {
72
+ try {
73
+ return (0, core_1.loadCommand)(node.content, projectPath).body;
74
+ }
75
+ catch {
76
+ return node.content;
77
+ }
78
+ }
79
+ return node.content;
80
+ }
62
81
  /** Parse a run's persisted (already-expanded) workflow YAML into a flat node
63
82
  * graph for the DAG view. Returns undefined when absent or unparseable. */
64
- function buildRunGraph(workflowYaml) {
83
+ function buildRunGraph(workflowYaml, projectPath) {
65
84
  if (!workflowYaml)
66
85
  return undefined;
67
86
  try {
68
87
  const graph = (0, core_1.parseWorkflow)(workflowYaml);
69
88
  return {
70
- nodes: [...graph.nodes.values()].map((n) => ({
71
- id: n.id,
72
- dependsOn: n.dependsOn ?? [],
73
- type: n.type,
74
- provider: n.provider,
75
- model: n.model,
76
- description: n.description || undefined,
77
- content: n.content ? (n.content.length > 600 ? n.content.slice(0, 600) + '…' : n.content) : undefined,
78
- })),
89
+ nodes: [...graph.nodes.values()].map((n) => {
90
+ const resolved = resolveNodeContent(n, projectPath);
91
+ return {
92
+ id: n.id,
93
+ dependsOn: n.dependsOn ?? [],
94
+ type: n.type,
95
+ provider: n.provider,
96
+ model: n.model,
97
+ description: n.description || undefined,
98
+ content: resolved ? (resolved.length > 600 ? resolved.slice(0, 600) + '…' : resolved) : undefined,
99
+ };
100
+ }),
79
101
  };
80
102
  }
81
103
  catch {
@@ -123,7 +145,7 @@ async function runRoutes(app, opts) {
123
145
  conversationId = undefined;
124
146
  }
125
147
  }
126
- return { ...run, graph: buildRunGraph(run.workflowYaml), conversationId };
148
+ return { ...run, graph: buildRunGraph(run.workflowYaml, context.project.path), conversationId };
127
149
  });
128
150
  app.get('/runs/:runId/nodes/:nodeId/output', async (request, reply) => {
129
151
  const store = storeFor(contextFor(request));
@@ -1 +1 @@
1
- {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ async function workflowRoutes(app, opts) {
78
78
  const nodes = [...graph.nodes.values()].map(n => ({
79
79
  id: n.id,
80
80
  type: n.type,
81
- content: n.content.substring(0, 200),
81
+ content: n.content,
82
82
  dependsOn: n.dependsOn,
83
83
  when: n.when,
84
84
  triggerRule: n.triggerRule,
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/server/routes/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/server/routes/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-code-cross-domain
3
+ description: "Code 5/6 — cross-domain verify (GitNexus code ↔ docs graph.json) + technical terms"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Code 5/6 — cross-domain verify (GitNexus code ↔ docs graph.json) + technical terms
9
+
10
+ @include(step.md)
@@ -0,0 +1,11 @@
1
+ Print `[ONBOARD-CODE] [5/6] Cross-domain verify... ⏳/✅`.
2
+
3
+ Read `graphify-out/graph.json` (the docs graph from onboard-docs — READ ONLY) and query the code via GitNexus (`query`, `context`). Cross-reference:
4
+ - business concept (graph.json) → is there a matching code module? YES → record `{concept} ↔ {module/class}`; NO → "{concept} not yet implemented".
5
+ - code module (GitNexus) → matching business concept? YES → mapping; NO → technical module (infra/utils), record as such.
6
+ Update `CONTEXT.md` IDEMPOTENTLY — never overwrite the whole file, and never blind-append (re-runs would bloat it). Manage BY SECTION:
7
+ - PRESERVE the `## Shared Language` section written by onboard-docs — do NOT delete or rewrite it.
8
+ - You OWN `## Cross-Domain Verification` (the concept↔module mappings above) and `## Technical Terms`
9
+ (table: | Term | Definition | Maps to Business Concept |). If a section already exists, REPLACE its body in place; otherwise append it.
10
+ - Keep ONE row per mapping/term (dedupe by key) — update rather than duplicate.
11
+ Flag any cross-database access. If `graphify-out/graph.json` is absent, note that onboard-docs must run first.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-code-detect-structure
3
+ description: "Code 1/6 — detect project structure (single / multi-repo / non-git)"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Code 1/6 — detect project structure (single / multi-repo / non-git)
9
+
10
+ @include(step.md)
@@ -0,0 +1,7 @@
1
+ You are a Senior DevOps + Code Architect onboarding a codebase. Project path: $ARGUMENTS (or current dir).
2
+ Print `[ONBOARD-CODE] [1/6] Detect project structure... ⏳/✅`.
3
+
4
+ Determine structure: root `.git`? → single repo. No root `.git` → scan 1–2 levels for `.git/`:
5
+ found N → multi-repo/microservice (list {path, remote, branch}); none → non-git project.
6
+ Record the result under `## Project Structure` in `.vsaf/docs/onboarding/env-setup.md`.
7
+ Artifact boundary: write only at project root or under root `.vsaf/`. ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-code-env-docker
3
+ description: "Code 4/6 — environment check + Docker setup suggestion"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Code 4/6 — environment check + Docker setup suggestion
9
+
10
+ @include(step.md)
@@ -0,0 +1,7 @@
1
+ Print `[ONBOARD-CODE] [4/6] Environment check + Docker setup... ⏳/✅`.
2
+
3
+ Detect the tech stack (read package.json, pom.xml, build.gradle, requirements.txt, Dockerfile, docker-compose.yml).
4
+ Check the current env (`java -version`, `node -v`, `docker -v`, `python3 --version`, …); compare required vs present
5
+ and suggest installs. Docker: if no Dockerfile/docker-compose.yml, suggest creating them (app + DB/cache/broker as needed);
6
+ if present, sanity-check the config. Record everything under `.vsaf/docs/onboarding/env-setup.md`
7
+ (this is the only md file this phase creates — no project-overview/codebase-map).
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-code-summary
3
+ description: "Code 6/6 — onboarding summary report"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Code 6/6 — onboarding summary report
9
+
10
+ @include(step.md)
@@ -0,0 +1,4 @@
1
+ Print `[ONBOARD-CODE] [6/6] Create summary report... ⏳/✅` then the report table:
2
+ Project structure / GitNexus index (N repos) / Index verification / Tech stack / Environment (ready or missing) /
3
+ Docker (exists or suggested) / Cross-domain mapping (N mapped, M gaps) / CONTEXT.md updated.
4
+ End with: "Artifacts saved. If interrupted, re-run the next phase — data is safe."
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-code-verify-index
3
+ description: "Code 3/6 — map + verify the GitNexus index via MCP (do NOT trust blindly)"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Code 3/6 — map + verify the GitNexus index via MCP (do NOT trust blindly)
9
+
10
+ @include(step.md)
@@ -0,0 +1,9 @@
1
+ Print `[ONBOARD-CODE] [3/6] Verify GitNexus index... ⏳/✅`.
2
+
3
+ Claude MUST review the index — do not assume it is correct. Using the GitNexus MCP tools:
4
+ - `group_sync` if the index needs (re)syncing; `list_repos` — confirm the project root is indexed (one unified index).
5
+ - `route_map` — confirm API routes from ALL repos are mapped; `tool_map` + `context` on 3–5 key entry points per repo.
6
+ Check: main entry points indexed? inter-module dependencies correct? for multi-repo, cross-service calls
7
+ (HTTP/gRPC/event) captured? If something is missing, re-run `group_sync` or record
8
+ "{module/route} not indexed — needs manual review" in `.vsaf/docs/onboarding/env-setup.md`.
9
+ ⛔ Only GitNexus writes `.gitnexus/`; do not edit it directly.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-docs-extract-terms
3
+ description: "Docs 4/4 — extract domain terms from the graph into CONTEXT.md (Shared Language)"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Docs 4/4 — extract domain terms from the graph into CONTEXT.md (Shared Language)
9
+
10
+ @include(step.md)
@@ -0,0 +1,20 @@
1
+ Print progress `[ONBOARD-DOCS] [4/4] Extract domain terms → CONTEXT.md... ⏳/✅`.
2
+
3
+ From the completed `graph.json`, extract DOMAIN terms (business vocabulary, not technical/code terms —
4
+ those are added later by onboard-code).
5
+
6
+ Update `CONTEXT.md` at the project root IDEMPOTENTLY — never overwrite the whole file, and never blind-append
7
+ (re-running onboarding would bloat it). Manage the file BY SECTION:
8
+ - Ensure a single top `# Project Context: {project-name}` heading (create once if missing).
9
+ - You OWN the `## Shared Language` section: if it already exists, REPLACE its body in place; otherwise append it.
10
+ Leave every other section (e.g. `## Technical Terms`, `## Cross-Domain Verification`) untouched.
11
+ - Keep ONE row per Term (dedupe by term name) — update an existing term's row instead of adding a duplicate.
12
+
13
+ ## Shared Language
14
+
15
+ | Term | Definition | Example |
16
+ |------|-----------|---------|
17
+ | {term} | {1-line definition} | {concrete example} |
18
+
19
+ The graph is the single source of truth — do NOT create redundant overview/summary md files.
20
+ Then print: "Artifacts saved. If interrupted, re-run the next phase — data is safe."
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-docs-graphify-build
3
+ description: "Docs 2/4 — graphify build over a docs-only staging dir -> graph.json"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Docs 2/4 — graphify build over a docs-only staging dir -> graph.json
9
+
10
+ @include(step.md)
@@ -0,0 +1,11 @@
1
+ Print progress `[ONBOARD-DOCS] [2/4] Graphify build for docs... ⏳/✅`.
2
+
3
+ 1. Create `.vsaf/docs/onboarding/graphify-staging/` and populate it with ALL doc inputs:
4
+ original text docs (.md/.txt/README), converted .md from `.vsaf/docs/onboarding/doc-imports/`,
5
+ and the original binaries listed in `.vsaf/docs/onboarding/graphify-direct-read.txt`.
6
+ This staging dir is the SINGLE input to graphify — it guarantees graphify sees docs only, never code.
7
+ 2. Run `/graphify .vsaf/docs/onboarding/graphify-staging/`.
8
+ 3. Output: `graphify-out/graph.json`.
9
+
10
+ ⛔ CRITICAL: graphify is ONLY for docs — DO NOT run graphify on source code (code = GitNexus, in onboard-code).
11
+ Only graphify may write `graphify-out/`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-docs-scan-import
3
+ description: "Docs 1/4 — scan & import documents (markitdown conversion + tier fallbacks)"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Docs 1/4 — scan & import documents (markitdown conversion + tier fallbacks)
9
+
10
+ @include(step.md)
@@ -0,0 +1,19 @@
1
+ You are a Knowledge Engineer onboarding project documents. Project path: $ARGUMENTS (or current dir).
2
+ Print progress as `[ONBOARD-DOCS] [1/4] Scan & import documents... ⏳/✅`.
3
+
4
+ 1. Scan ALL documents: README, docs/, wiki/, specs/, *.md, *.txt (+ complex binaries). List them.
5
+ 2. Resolve markitdown python:
6
+ VENVS=$(pipx environment --value PIPX_LOCAL_VENVS 2>/dev/null)
7
+ MARKITDOWN_PYTHON="${VENVS}/markitdown/bin/python" (fallback ~/.local/pipx/venvs/markitdown/bin/python)
8
+ If markitdown is missing, skip conversion and route ALL complex files through fallbacks (step 4).
9
+ 3. Classify each complex file into a tier:
10
+ - Tier 1 (graphify-native): PDF, DOCX, XLSX, PNG, JPG, GIF, WEBP
11
+ - Tier 2 (graphify-blind): HTML, PPTX, EPUB, ZIP
12
+ - .md/.txt are NOT complex (read directly).
13
+ 4. For each complex file: attempt `"$MARKITDOWN_PYTHON" "<this-skill-dir>/convert.py" --input {file} --output .vsaf/docs/onboarding/doc-imports/{name}.md`.
14
+ Verify the output has real content (not just headers, not an LLM refusal, not hallucinated). On success use it.
15
+ On failure/verify-fail: Tier 1 -> append original path to `.vsaf/docs/onboarding/graphify-direct-read.txt`;
16
+ Tier 2 HTML -> Read the file + write clean markdown to doc-imports/{name}.md; Tier 2 PPTX/EPUB/ZIP -> skip.
17
+ 5. Print a conversion summary (markitdown OK / graphify-direct / Claude-Read / skipped counts).
18
+
19
+ Artifact boundary: write generated artifacts ONLY at project root or under root `.vsaf/`. ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-onboard-docs-verify-fix
3
+ description: "Docs 3/4 — Claude verifies graph vs docs and supplements missing nodes/edges"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Docs 3/4 — Claude verifies graph vs docs and supplements missing nodes/edges
9
+
10
+ @include(step.md)
@@ -0,0 +1,10 @@
1
+ Print progress `[ONBOARD-DOCS] [3/4] Verify & fix graph... ⏳/✅`.
2
+
3
+ Do NOT trust the graph blindly. For EACH original doc:
4
+ 1. Re-read it — extract concepts, relationships, business rules, constraints.
5
+ 2. Read `graphify-out/graph.json` — find the corresponding nodes/edges.
6
+ 3. Compare: concept/relationship/rule present in the doc but missing in the graph = MISSING.
7
+ 4. Supplement any MISSING nodes/edges DIRECTLY into `graph.json` (this Phase-3 supplementation is the
8
+ ONLY permitted direct write to graph.json). Report per doc: "{doc}: +N nodes, +M edges".
9
+
10
+ Every missing concept/relationship MUST be supplemented, not skipped.
@@ -10,8 +10,15 @@ skills:
10
10
 
11
11
  # Phase 0 — Onboarding
12
12
  - init
13
- - onboard-docs
14
- - onboard-code
13
+ - onboard-docs/scan-import
14
+ - onboard-docs/graphify-build
15
+ - onboard-docs/verify-fix
16
+ - onboard-docs/extract-terms
17
+ - onboard-code/detect-structure
18
+ - onboard-code/verify-index
19
+ - onboard-code/env-docker
20
+ - onboard-code/cross-domain
21
+ - onboard-code/summary
15
22
 
16
23
  # Phase 1-9 — Main flow
17
24
  - write-srs
@@ -12,14 +12,7 @@ nodes:
12
12
  permission_mode: bypassPermissions
13
13
  workspace: false
14
14
  timeout: 900000
15
- prompt: |
16
- You are a Senior DevOps + Code Architect onboarding a codebase. Project path: $ARGUMENTS (or current dir).
17
- Print `[ONBOARD-CODE] [1/6] Detect project structure... ⏳/✅`.
18
-
19
- Determine structure: root `.git`? → single repo. No root `.git` → scan 1–2 levels for `.git/`:
20
- found N → multi-repo/microservice (list {path, remote, branch}); none → non-git project.
21
- Record the result under `## Project Structure` in `.vsaf/docs/onboarding/env-setup.md`.
22
- Artifact boundary: write only at project root or under root `.vsaf/`. ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`.
15
+ command: sdlc-onboard-code-detect-structure
23
16
 
24
17
  - id: gitnexus-index
25
18
  description: Code 2/6 — build the GitNexus code index (single unified index at project root)
@@ -47,16 +40,7 @@ nodes:
47
40
  timeout: 1800000
48
41
  depends_on:
49
42
  - gitnexus-index
50
- prompt: |
51
- Print `[ONBOARD-CODE] [3/6] Verify GitNexus index... ⏳/✅`.
52
-
53
- Claude MUST review the index — do not assume it is correct. Using the GitNexus MCP tools:
54
- - `group_sync` if the index needs (re)syncing; `list_repos` — confirm the project root is indexed (one unified index).
55
- - `route_map` — confirm API routes from ALL repos are mapped; `tool_map` + `context` on 3–5 key entry points per repo.
56
- Check: main entry points indexed? inter-module dependencies correct? for multi-repo, cross-service calls
57
- (HTTP/gRPC/event) captured? If something is missing, re-run `group_sync` or record
58
- "{module/route} not indexed — needs manual review" in `.vsaf/docs/onboarding/env-setup.md`.
59
- ⛔ Only GitNexus writes `.gitnexus/`; do not edit it directly.
43
+ command: sdlc-onboard-code-verify-index
60
44
 
61
45
  - id: env-docker
62
46
  description: Code 4/6 — environment check + Docker setup suggestion
@@ -65,14 +49,7 @@ nodes:
65
49
  timeout: 1800000
66
50
  depends_on:
67
51
  - verify-index
68
- prompt: |
69
- Print `[ONBOARD-CODE] [4/6] Environment check + Docker setup... ⏳/✅`.
70
-
71
- Detect the tech stack (read package.json, pom.xml, build.gradle, requirements.txt, Dockerfile, docker-compose.yml).
72
- Check the current env (`java -version`, `node -v`, `docker -v`, `python3 --version`, …); compare required vs present
73
- and suggest installs. Docker: if no Dockerfile/docker-compose.yml, suggest creating them (app + DB/cache/broker as needed);
74
- if present, sanity-check the config. Record everything under `.vsaf/docs/onboarding/env-setup.md`
75
- (this is the only md file this phase creates — no project-overview/codebase-map).
52
+ command: sdlc-onboard-code-env-docker
76
53
 
77
54
  - id: cross-domain
78
55
  description: Code 5/6 — cross-domain verify (GitNexus code ↔ docs graph.json) + technical terms
@@ -81,18 +58,7 @@ nodes:
81
58
  timeout: 1800000
82
59
  depends_on:
83
60
  - env-docker
84
- prompt: |
85
- Print `[ONBOARD-CODE] [5/6] Cross-domain verify... ⏳/✅`.
86
-
87
- Read `graphify-out/graph.json` (the docs graph from onboard-docs — READ ONLY) and query the code via GitNexus (`query`, `context`). Cross-reference:
88
- - business concept (graph.json) → is there a matching code module? YES → record `{concept} ↔ {module/class}`; NO → "{concept} not yet implemented".
89
- - code module (GitNexus) → matching business concept? YES → mapping; NO → technical module (infra/utils), record as such.
90
- Update `CONTEXT.md` IDEMPOTENTLY — never overwrite the whole file, and never blind-append (re-runs would bloat it). Manage BY SECTION:
91
- - PRESERVE the `## Shared Language` section written by onboard-docs — do NOT delete or rewrite it.
92
- - You OWN `## Cross-Domain Verification` (the concept↔module mappings above) and `## Technical Terms`
93
- (table: | Term | Definition | Maps to Business Concept |). If a section already exists, REPLACE its body in place; otherwise append it.
94
- - Keep ONE row per mapping/term (dedupe by key) — update rather than duplicate.
95
- Flag any cross-database access. If `graphify-out/graph.json` is absent, note that onboard-docs must run first.
61
+ command: sdlc-onboard-code-cross-domain
96
62
 
97
63
  - id: summary
98
64
  description: Code 6/6 — onboarding summary report
@@ -101,8 +67,4 @@ nodes:
101
67
  timeout: 600000
102
68
  depends_on:
103
69
  - cross-domain
104
- prompt: |
105
- Print `[ONBOARD-CODE] [6/6] Create summary report... ⏳/✅` then the report table:
106
- Project structure / GitNexus index (N repos) / Index verification / Tech stack / Environment (ready or missing) /
107
- Docker (exists or suggested) / Cross-domain mapping (N mapped, M gaps) / CONTEXT.md updated.
108
- End with: "Artifacts saved. If interrupted, re-run the next phase — data is safe."
70
+ command: sdlc-onboard-code-summary
@@ -11,26 +11,7 @@ nodes:
11
11
  permission_mode: bypassPermissions
12
12
  workspace: false
13
13
  timeout: 1800000
14
- prompt: |
15
- You are a Knowledge Engineer onboarding project documents. Project path: $ARGUMENTS (or current dir).
16
- Print progress as `[ONBOARD-DOCS] [1/4] Scan & import documents... ⏳/✅`.
17
-
18
- 1. Scan ALL documents: README, docs/, wiki/, specs/, *.md, *.txt (+ complex binaries). List them.
19
- 2. Resolve markitdown python:
20
- VENVS=$(pipx environment --value PIPX_LOCAL_VENVS 2>/dev/null)
21
- MARKITDOWN_PYTHON="${VENVS}/markitdown/bin/python" (fallback ~/.local/pipx/venvs/markitdown/bin/python)
22
- If markitdown is missing, skip conversion and route ALL complex files through fallbacks (step 4).
23
- 3. Classify each complex file into a tier:
24
- - Tier 1 (graphify-native): PDF, DOCX, XLSX, PNG, JPG, GIF, WEBP
25
- - Tier 2 (graphify-blind): HTML, PPTX, EPUB, ZIP
26
- - .md/.txt are NOT complex (read directly).
27
- 4. For each complex file: attempt `"$MARKITDOWN_PYTHON" "<this-skill-dir>/convert.py" --input {file} --output .vsaf/docs/onboarding/doc-imports/{name}.md`.
28
- Verify the output has real content (not just headers, not an LLM refusal, not hallucinated). On success use it.
29
- On failure/verify-fail: Tier 1 -> append original path to `.vsaf/docs/onboarding/graphify-direct-read.txt`;
30
- Tier 2 HTML -> Read the file + write clean markdown to doc-imports/{name}.md; Tier 2 PPTX/EPUB/ZIP -> skip.
31
- 5. Print a conversion summary (markitdown OK / graphify-direct / Claude-Read / skipped counts).
32
-
33
- Artifact boundary: write generated artifacts ONLY at project root or under root `.vsaf/`. ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`.
14
+ command: sdlc-onboard-docs-scan-import
34
15
 
35
16
  - id: graphify-build
36
17
  description: Docs 2/4 — graphify build over a docs-only staging dir -> graph.json
@@ -39,18 +20,7 @@ nodes:
39
20
  timeout: 3600000
40
21
  depends_on:
41
22
  - scan-import
42
- prompt: |
43
- Print progress `[ONBOARD-DOCS] [2/4] Graphify build for docs... ⏳/✅`.
44
-
45
- 1. Create `.vsaf/docs/onboarding/graphify-staging/` and populate it with ALL doc inputs:
46
- original text docs (.md/.txt/README), converted .md from `.vsaf/docs/onboarding/doc-imports/`,
47
- and the original binaries listed in `.vsaf/docs/onboarding/graphify-direct-read.txt`.
48
- This staging dir is the SINGLE input to graphify — it guarantees graphify sees docs only, never code.
49
- 2. Run `/graphify .vsaf/docs/onboarding/graphify-staging/`.
50
- 3. Output: `graphify-out/graph.json`.
51
-
52
- ⛔ CRITICAL: graphify is ONLY for docs — DO NOT run graphify on source code (code = GitNexus, in onboard-code).
53
- Only graphify may write `graphify-out/`.
23
+ command: sdlc-onboard-docs-graphify-build
54
24
 
55
25
  - id: verify-fix
56
26
  description: Docs 3/4 — Claude verifies graph vs docs and supplements missing nodes/edges
@@ -59,17 +29,7 @@ nodes:
59
29
  timeout: 3600000
60
30
  depends_on:
61
31
  - graphify-build
62
- prompt: |
63
- Print progress `[ONBOARD-DOCS] [3/4] Verify & fix graph... ⏳/✅`.
64
-
65
- Do NOT trust the graph blindly. For EACH original doc:
66
- 1. Re-read it — extract concepts, relationships, business rules, constraints.
67
- 2. Read `graphify-out/graph.json` — find the corresponding nodes/edges.
68
- 3. Compare: concept/relationship/rule present in the doc but missing in the graph = MISSING.
69
- 4. Supplement any MISSING nodes/edges DIRECTLY into `graph.json` (this Phase-3 supplementation is the
70
- ONLY permitted direct write to graph.json). Report per doc: "{doc}: +N nodes, +M edges".
71
-
72
- Every missing concept/relationship MUST be supplemented, not skipped.
32
+ command: sdlc-onboard-docs-verify-fix
73
33
 
74
34
  - id: extract-terms
75
35
  description: Docs 4/4 — extract domain terms from the graph into CONTEXT.md (Shared Language)
@@ -79,24 +39,4 @@ nodes:
79
39
  timeout: 900000
80
40
  depends_on:
81
41
  - verify-fix
82
- prompt: |
83
- Print progress `[ONBOARD-DOCS] [4/4] Extract domain terms → CONTEXT.md... ⏳/✅`.
84
-
85
- From the completed `graph.json`, extract DOMAIN terms (business vocabulary, not technical/code terms —
86
- those are added later by onboard-code).
87
-
88
- Update `CONTEXT.md` at the project root IDEMPOTENTLY — never overwrite the whole file, and never blind-append
89
- (re-running onboarding would bloat it). Manage the file BY SECTION:
90
- - Ensure a single top `# Project Context: {project-name}` heading (create once if missing).
91
- - You OWN the `## Shared Language` section: if it already exists, REPLACE its body in place; otherwise append it.
92
- Leave every other section (e.g. `## Technical Terms`, `## Cross-Domain Verification`) untouched.
93
- - Keep ONE row per Term (dedupe by term name) — update an existing term's row instead of adding a duplicate.
94
-
95
- ## Shared Language
96
-
97
- | Term | Definition | Example |
98
- |------|-----------|---------|
99
- | {term} | {1-line definition} | {concrete example} |
100
-
101
- The graph is the single source of truth — do NOT create redundant overview/summary md files.
102
- Then print: "Artifacts saved. If interrupted, re-run the next phase — data is safe."
42
+ command: sdlc-onboard-docs-extract-terms
@@ -1,210 +0,0 @@
1
- ---
2
- name: sdlc-onboard-code
3
- description: Code onboarding — GitNexus index + Claude verify index + env check + Docker + cross-domain verify
4
- version: 1.0.0
5
- author: "@ngocsangairvds/vsaf"
6
- ---
7
-
8
- # Onboard Code — GitNexus Index + Verify + Environment Setup
9
-
10
- You are a Senior DevOps Engineer + Code Architect. Mission: ensure GitNexus index captures ACCURATELY the entire code structure, verify cross-domain with docs graph, AND prepare the development environment.
11
-
12
- ## Progress Protocol
13
-
14
- Each step prints progress:
15
- ```
16
- [ONBOARD-CODE] [1/6] description... (icon)
17
- ```
18
- Icon: `⏳` running, `✅` done, `❌` error.
19
-
20
- ## Index Protection
21
-
22
- > ⛔ DO NOT modify `graphify-out/` or `.gitnexus/` — only GitNexus tools are allowed to write to `.gitnexus/`.
23
-
24
- ## Artifact Write Boundary
25
-
26
- - Create generated knowledge, documentation, SDLC artifacts, reports, and agent-readable markdown only at the project root beside `.vsaf` or inside the root `.vsaf/` directory.
27
- - Do NOT create `docs/`, `.vsaf/`, `CONTEXT.md`, `AGENTS.md`, knowledge files, reports, or generated artifacts inside service/subproject folders.
28
- - For service-specific notes, write under root `.vsaf/docs/` using the service name in the path or filename.
29
- - Write inside a service/subproject folder only when the user explicitly authorizes that path, or when the task is a source-code/test change for that service.
30
-
31
- ## Clear Responsibility Assignment
32
-
33
- | Tool | Scope | Notes |
34
- |------|-------|-------|
35
- | **GitNexus** | Code indexing (modules, routes, APIs, dependencies) | SINGLE SOURCE OF TRUTH for code |
36
- | **Graphify** | Docs indexing (specs, README, wiki) | DO NOT use for code |
37
- | **graph.json** | Doc-only graph — used for cross-domain verify | Read only, DO NOT write |
38
-
39
- ## Input
40
-
41
- - Project path: `$ARGUMENTS` (or current directory)
42
-
43
- ## Steps
44
-
45
- ### Phase 1: Detect Project Structure
46
-
47
- ```
48
- [ONBOARD-CODE] [1/6] Detect project structure... ⏳
49
- ```
50
-
51
- 1. Scan project structure:
52
- ```
53
- Is there .git at root?
54
- ├── YES → Single git repo
55
- └── NO → Scan 1-2 levels deep for .git/
56
- ├── Found N folders with .git → Multi-repo / Microservice
57
- │ List: [{path, remote, branch}]
58
- └── Not found → Non-git project
59
- ```
60
- 2. Record results in `.vsaf/docs/onboarding/env-setup.md` §Project Structure
61
-
62
- ```
63
- [ONBOARD-CODE] [1/6] Detect project structure... ✅
64
- ```
65
-
66
- ### Phase 2: GitNexus Index
67
-
68
- ```
69
- [ONBOARD-CODE] [2/6] GitNexus index... ⏳
70
- ```
71
-
72
- 3. Run GitNexus analyze at **project root** (NOT per sub-repo):
73
- ```
74
- Is there .git at project root?
75
- ├── YES → npx gitnexus analyze .
76
- └── NO → npx gitnexus analyze . --skip-git
77
- ```
78
- - ⚠️ Use `npx gitnexus` (resolves local binary) — do NOT use `npx -y gitnexus@latest` (native module crash on Node 24+)
79
- - This creates a SINGLE `.gitnexus/` at project root covering ALL code (including sub-repos)
80
- - For multi-repo: one unified index enables cross-service analysis naturally
81
- - Run GitNexus `group_sync` to index
82
- 4. Map structure: `route_map` + `tool_map` + `context` (3-5 key entry points per repo)
83
-
84
- ```
85
- [ONBOARD-CODE] [2/6] GitNexus index... ✅
86
- ```
87
-
88
- ### Phase 3: Verify GitNexus Index
89
-
90
- ```
91
- [ONBOARD-CODE] [3/6] Verify GitNexus index... ⏳
92
- ```
93
-
94
- **IMPORTANT:** Claude MUST review GitNexus index — DO NOT trust blindly. Verify using MCP tools:
95
-
96
- 5. `list_repos` — confirm project root has been indexed (single unified index)
97
- 6. `route_map` — check that API routes from ALL repos have been fully mapped
98
- 7. `context` — query 3-5 key entry points per repo, verify results make sense:
99
- - Are main entry points indexed for each repo?
100
- - Are dependencies between modules correct?
101
- - If multi-repo: are cross-service calls captured? (HTTP, gRPC, event-driven)
102
- 8. If missing:
103
- - Re-run `group_sync` with different config
104
- - Or record note in env-setup.md: "{module/route} not indexed — needs manual review"
105
-
106
- ```
107
- [ONBOARD-CODE] [3/6] Verify GitNexus index... ✅
108
- ```
109
-
110
- ### Phase 4: Environment Check + Docker Setup
111
-
112
- ```
113
- [ONBOARD-CODE] [4/6] Environment check + Docker setup... ⏳
114
- ```
115
-
116
- 9. Detect tech stack: read `package.json`, `pom.xml`, `build.gradle`, `requirements.txt`, `Dockerfile`, `docker-compose.yml`
117
- 10. Check current env: `java -version`, `node -v`, `docker -v`, `python3 --version`, etc.
118
- 11. Compare required vs current → suggest installations
119
- 12. **Docker env suggestion:**
120
- - If project DOES NOT have `Dockerfile` or `docker-compose.yml`:
121
- - Suggest creating `docker-compose.yml` with appropriate services (DB, cache, message broker)
122
- - Suggest creating `Dockerfile` for the app
123
- - If project ALREADY HAS Docker files: verify config is reasonable
124
- 13. Record everything in `.vsaf/docs/onboarding/env-setup.md`
125
-
126
- ```
127
- [ONBOARD-CODE] [4/6] Environment check + Docker setup... ✅
128
- ```
129
-
130
- ### Phase 5: Cross-Domain Verify
131
-
132
- ```
133
- [ONBOARD-CODE] [5/6] Cross-domain verify (GitNexus + graph.json)... ⏳
134
- ```
135
-
136
- 14. Read `graphify-out/graph.json` (docs graph from onboard-docs)
137
- 15. Use GitNexus tools (`query`, `context`) to get code structure
138
- 16. Cross-reference:
139
- - Business concept (from graph.json) → is there a corresponding code module? (query GitNexus)
140
- - YES → record mapping: `{concept} ↔ {module/class}`
141
- - NO → record note: "{concept} not yet implemented"
142
- - Code module (from GitNexus) → is there a corresponding business concept? (check graph.json)
143
- - YES → record mapping
144
- - NO → technical module (infra, utils) — OK, record note
145
- 17. Update `CONTEXT.md` with technical terms from code — IDEMPOTENTLY (never overwrite the whole file, never
146
- blind-append; re-runs must not bloat it): PRESERVE the `## Shared Language` section written by onboard-docs;
147
- own `## Cross-Domain Verification` + `## Technical Terms` — if a section exists REPLACE its body in place,
148
- else append it; one row per mapping/term (dedupe, update rather than duplicate):
149
-
150
- ```markdown
151
- ## Technical Terms
152
-
153
- | Term | Definition | Maps to Business Concept |
154
- |------|-----------|-------------------------|
155
- | {class/module} | {functionality} | {business concept or "infrastructure"} |
156
- ```
157
-
158
- ```
159
- [ONBOARD-CODE] [5/6] Cross-domain verify (GitNexus + graph.json)... ✅
160
- ```
161
-
162
- ### Phase 6: Summary Report
163
-
164
- ```
165
- [ONBOARD-CODE] [6/6] Create summary report... ⏳
166
- ```
167
-
168
- Print ONBOARD-CODE REPORT:
169
-
170
- ```
171
- === Onboard Code Report ===
172
-
173
- | Item | Status |
174
- |------|--------|
175
- | Project structure | {Single repo / Multi-repo (N repos)} |
176
- | GitNexus index | ✅ {N} repos indexed |
177
- | Index verification | ✅ Verified / ⚠️ {issues} |
178
- | Tech stack | {Java/Angular/Node/...} |
179
- | Environment | ✅ Ready / ⚠️ Missing: {list} |
180
- | Docker | ✅ Exists / 💡 Suggested |
181
- | Cross-domain mapping | ✅ {N} concepts mapped / ⚠️ {M} gaps |
182
- | CONTEXT.md | ✅ Updated |
183
- ```
184
-
185
- ```
186
- [ONBOARD-CODE] [6/6] Create summary report... ✅
187
- ```
188
-
189
- ## Output
190
-
191
- - `.vsaf/docs/onboarding/env-setup.md` — project structure + tech stack + env check + Docker
192
- - `CONTEXT.md` — updated with technical terms
193
- - Single GitNexus index at project root (`.gitnexus/`) covering all code
194
-
195
- ## Artifact Auto-Save
196
-
197
- After completion, print message:
198
-
199
- > Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
200
-
201
- ## Rules
202
-
203
- - GitNexus is the SINGLE SOURCE OF TRUTH for code — DO NOT use graphify for code
204
- - Graphify is only for docs — graph.json is READ-ONLY (no writing) in this phase
205
- - Multi-repo/Microservice: MUST verify cross-service edges (HTTP, gRPC, event-driven, message broker) via GitNexus
206
- - Database isolation: flag if cross-db access is detected
207
- - env-setup.md is the ONLY md file to be created (needed for Docker setup)
208
- - Do not create project-overview.md or codebase-map.md
209
- - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/`
210
- - Claude MUST verify GitNexus index — do not assume index is correct without checking
@@ -1,194 +0,0 @@
1
- ---
2
- name: sdlc-onboard-docs
3
- description: Document onboarding — Graphify build graph + Claude verify + supplement gaps
4
- version: 1.0.1
5
- author: "@ngocsangairvds/vsaf"
6
- ---
7
-
8
- # Onboard Docs — Build & Verify Document Knowledge Graph
9
-
10
- You are a Knowledge Engineer. Mission: ensure graph.json captures ACCURATELY all knowledge from project documents.
11
-
12
- ## Progress Protocol
13
-
14
- Each step prints progress:
15
- ```
16
- [ONBOARD-DOCS] [1/4] description... (icon)
17
- ```
18
- Icon: `⏳` running, `✅` done, `❌` error.
19
-
20
- ## Index Protection
21
-
22
- > ⛔ DO NOT modify `graphify-out/` or `.gitnexus/` DIRECTLY — only graphify is allowed to write to `graphify-out/`.
23
- > **Exception:** Phase 3 supplements nodes/edges directly into `graph.json` after graphify has built it — this is the only permitted direct modification.
24
-
25
- ## Artifact Write Boundary
26
-
27
- - Create generated knowledge, documentation, SDLC artifacts, reports, and agent-readable markdown only at the project root beside `.vsaf` or inside the root `.vsaf/` directory.
28
- - Do NOT create `docs/`, `.vsaf/`, `CONTEXT.md`, `AGENTS.md`, knowledge files, reports, or generated artifacts inside service/subproject folders.
29
- - For service-specific notes, write under root `.vsaf/docs/` using the service name in the path or filename.
30
- - Write inside a service/subproject folder only when the user explicitly authorizes that path, or when the task is a source-code/test change for that service.
31
-
32
- ## Input
33
-
34
- - Project path: `$ARGUMENTS` (or current directory)
35
- - Read all docs in project: README, docs/, wiki/, specs/, *.md, *.txt
36
-
37
- ## Steps
38
-
39
- ### Phase 1: Scan & Import
40
-
41
- ```
42
- [ONBOARD-DOCS] [1/4] Scan & import documents... ⏳
43
- ```
44
-
45
- 1. Scan all documents in project (README, docs/, wiki, specs)
46
- 2. List all docs found
47
- 3. Resolve markitdown Python — run:
48
- ```bash
49
- VENVS=$(pipx environment --value PIPX_LOCAL_VENVS 2>/dev/null)
50
- MARKITDOWN_PYTHON="${VENVS}/markitdown/bin/python"
51
- # Windows: "${VENVS}\markitdown\Scripts\python.exe"
52
- # Fallback: ~/.local/pipx/venvs/markitdown/bin/python
53
- ```
54
- If markitdown Python not found, skip step 5 entirely and route ALL complex files through tier fallbacks:
55
- - **All Tier 1 files** → add to graphify-direct-read list (graphify reads natively)
56
- - **All Tier 2 HTML files** → Claude Read fallback (step 6)
57
- - **All Tier 2 PPTX/EPUB/ZIP files** → skipped (no fallback available)
58
- Then jump to step 6 routing.
59
-
60
- 4. Classify each complex file into a tier:
61
- - **Tier 1 (graphify-native):** PDF, DOCX, XLSX, PNG, JPG, GIF, WEBP — graphify can read these directly if markitdown fails
62
- - **Tier 2 (graphify-blind):** HTML, PPTX, EPUB, ZIP — graphify cannot read these; need markitdown or Claude fallback
63
- - Text files (`.md`, `.txt`) are NOT complex — read directly, skip conversion
64
-
65
- 5. For each complex file, attempt markitdown conversion (skip if markitdown not found — see step 3):
66
- - Resolve markitdown Python (step 3 above)
67
- - Convert using the wrapper script (bundled in this skill directory):
68
- ```bash
69
- "${MARKITDOWN_PYTHON}" "<this-skill-dir>/convert.py" \
70
- --input "{file}" \
71
- --output ".vsaf/docs/onboarding/doc-imports/{name}.md"
72
- ```
73
- - `<this-skill-dir>` = the directory containing this SKILL.md
74
- - The script auto-detects OCR availability from `~/.vsaf/markitdown.env`
75
-
76
- 6. After each conversion, verify and route:
77
-
78
- **If convert.py exit code = 0:**
79
- Read the output `.md` file and verify content quality. Check ALL of:
80
- - Contains meaningful content from the document? (not just auto-generated headers like `## Page 1`)
81
- - Not an LLM refusal? (e.g., "I'm sorry, but I can't help with that")
82
- - Not hallucinated? (e.g., fabricated tool calls, irrelevant JSON/XML, text unrelated to source file)
83
- - Has substance? (more than a few words after stripping structural markers)
84
-
85
- If ALL checks PASS → use the `.md` output. Log: `[ONBOARD-DOCS] {file} → converted ✅`
86
-
87
- If ANY check FAILS → treat as conversion failure (continue to fallback below).
88
-
89
- **If convert.py exit code ≠ 0, OR verification failed:**
90
-
91
- - **Tier 1 file** → Log: `[ONBOARD-DOCS] {file}: markitdown failed → graphify will read directly`
92
- Add the ORIGINAL file path to a "graphify-direct-read" list. Do NOT retry conversion.
93
- After all conversions, persist the list to `.vsaf/docs/onboarding/graphify-direct-read.txt` (one path per line).
94
- - **Tier 2 HTML file** → Read the HTML file with the Read tool. Extract meaningful content (headings, paragraphs, tables, lists, links). Write clean markdown to `.vsaf/docs/onboarding/doc-imports/{name}.md`. Log: `[ONBOARD-DOCS] {file} → Claude Read fallback ✅`
95
- - **Tier 2 PPTX/EPUB/ZIP file** → Log: `[ONBOARD-DOCS] ⚠️ {file}: conversion failed, no fallback — skipped`
96
-
97
- Print conversion summary:
98
- ```
99
- [ONBOARD-DOCS] Conversion summary:
100
- markitdown OK: N files
101
- graphify direct: N files (Tier 1 fallback)
102
- Claude Read: N files (Tier 2 HTML fallback)
103
- Skipped: N files (no fallback available)
104
- ```
105
-
106
- ```
107
- [ONBOARD-DOCS] [1/4] Scan & import documents... ✅
108
- ```
109
-
110
- ### Phase 2: Graphify Build
111
-
112
- ```
113
- [ONBOARD-DOCS] [2/4] Graphify build for docs... ⏳
114
- ```
115
-
116
- 7. Create a staging directory at `.vsaf/docs/onboarding/graphify-staging/` and populate it with ALL inputs for graphify:
117
- - Copy or symlink original text documents (`.md`, `.txt`, README)
118
- - Copy or symlink successfully converted `.md` files from `.vsaf/docs/onboarding/doc-imports/`
119
- - Copy or symlink files from `.vsaf/docs/onboarding/graphify-direct-read.txt` (original binary files — graphify reads these natively: PDF, DOCX, XLSX, images)
120
-
121
- This directory is the single input to graphify — it ensures graphify only processes docs, never source code.
122
-
123
- 8. Run `/graphify .vsaf/docs/onboarding/graphify-staging/`
124
- 9. Output: `graphify-out/graph.json`
125
-
126
- **IMPORTANT:** Graphify is ONLY for docs (documents, specs, README). DO NOT run graphify on source code — code indexing is handled by GitNexus in `/sdlc-onboard-code`.
127
-
128
- ```
129
- [ONBOARD-DOCS] [2/4] Graphify build for docs... ✅
130
- ```
131
-
132
- ### Phase 3: Claude Verify & Fix
133
-
134
- ```
135
- [ONBOARD-DOCS] [3/4] Verify & fix graph... ⏳
136
- ```
137
-
138
- 10. Re-read **each original doc** — extract: concepts, relationships, business rules, constraints
139
- 11. Read `graph.json` — find corresponding nodes/edges
140
- 12. Compare:
141
- - Concept in doc but no node in graph → **MISSING**
142
- - Relationship in doc but no edge in graph → **MISSING**
143
- - Business rule/constraint not captured → **MISSING**
144
- - All present → OK
145
- 13. If missing: supplement nodes/edges directly into `graph.json` (this is the permitted exception to the Index Protection rule)
146
- 14. Report: "{doc}: +N nodes, +M edges supplemented"
147
-
148
- ```
149
- [ONBOARD-DOCS] [3/4] Verify & fix graph... ✅
150
- ```
151
-
152
- ### Phase 4: Extract Domain Terms
153
-
154
- ```
155
- [ONBOARD-DOCS] [4/4] Extract domain terms → CONTEXT.md... ⏳
156
- ```
157
-
158
- 15. From the completed graph, extract domain terms → `CONTEXT.md` — update IDEMPOTENTLY (never overwrite the
159
- whole file, never blind-append; re-runs must not bloat it): ensure one top `# Project Context: {name}`
160
- heading, then own the `## Shared Language` section — if it exists REPLACE its body in place, else append it;
161
- leave other sections (`## Technical Terms`, `## Cross-Domain Verification`) untouched; one row per Term (dedupe).
162
- 16. Format Shared Language table:
163
-
164
- ```markdown
165
- ## Shared Language
166
-
167
- | Term | Definition | Example |
168
- |------|-----------|---------|
169
- | {term} | {1-line definition} | {concrete example} |
170
- ```
171
-
172
- ```
173
- [ONBOARD-DOCS] [4/4] Extract domain terms → CONTEXT.md... ✅
174
- ```
175
-
176
- ## Output
177
-
178
- - `graphify-out/graph.json` — verified + supplemented
179
- - `.vsaf/docs/onboarding/doc-imports/{name}.md` — converted/fallback imports (if any)
180
- - `CONTEXT.md` — Ubiquitous Language
181
-
182
- ## Artifact Auto-Save
183
-
184
- After completion, print message:
185
-
186
- > Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
187
-
188
- ## Rules
189
-
190
- - Graph is the SINGLE SOURCE OF TRUTH — do not create redundant overview/summary md files
191
- - Every missing concept/relationship MUST be supplemented, not skipped
192
- - CONTEXT.md contains only domain terms, not technical terms (technical terms belong in the code branch)
193
- - Graphify runs ONLY on docs — DO NOT run on source code
194
- - ⛔ DO NOT modify `graphify-out/` or `.gitnexus/` directly outside graphify workflow (Phase 3 supplementation is the only exception)