con un clic
gsd-graphify
Build, query, and inspect the project knowledge graph in .planning/graphs/
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Build, query, and inspect the project knowledge graph in .planning/graphs/
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Audit milestone completion against original intent before archiving
Add an idea to the backlog parking lot (999.x numbering)
Add phase to end of current milestone in roadmap
Generate tests for a completed phase based on UAT criteria and implementation
Capture idea or task as todo from current conversation context
Generate AI design contract (AI-SPEC.md) for phases that involve building AI systems — framework selection, implementation guidance from official docs, and evaluation strategy
| name | gsd-graphify |
| description | Build, query, and inspect the project knowledge graph in .planning/graphs/ |
| metadata | {"short-description":"Build, query, and inspect the project knowledge graph in .planning/graphs/"} |
<codex_skill_adapter>
$gsd-graphify.$gsd-graphify as {{GSD_ARGS}}.{{GSD_ARGS}} as empty.GSD workflows use AskUserQuestion (Claude Code syntax). Translate to Codex request_user_input:
Parameter mapping:
header → headerquestion → question"Label" — description → {label: "Label", description: "description"}id from header: lowercase, replace spaces with underscoresBatched calls:
AskUserQuestion([q1, q2]) → single request_user_input with multiple entries in questions[]Multi-select workaround:
multiSelect. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.Execute mode fallback:
request_user_input is rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.GSD workflows use Task(...) (Claude Code syntax). Translate to Codex collaboration tools:
Direct mapping:
Task(subagent_type="X", prompt="Y") → spawn_agent(agent_type="X", message="Y")Task(model="...") → omit (Codex uses per-role config, not inline model selection)fork_context: false by default — GSD agents load their own context via <files_to_read> blocksParallel fan-out:
wait(ids) for all to completeResult parsing:
CHECKPOINT, PLAN COMPLETE, SUMMARY, etc.close_agent(id) after collecting results from each agent
</codex_skill_adapter>STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.
Before ANY tool calls, display this banner:
GSD > GRAPHIFY
Then proceed to Step 1.
Check if graphify is enabled by reading .planning/config.json directly using the Read tool.
DO NOT use the gsd-tools config get-value command -- it hard-exits on missing keys.
.planning/config.json using the Read toolconfig.graphify && config.graphify.enabled === truegraphify.enabled is NOT explicitly true: display the disabled message below and STOPgraphify.enabled is true: proceed to Step 2Disabled message:
GSD > GRAPHIFY
Knowledge graph is disabled. To activate:
node /Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs config-set graphify.enabled true
Then run $gsd-graphify build to create the initial graph.
Parse {{GSD_ARGS}} to determine the operation mode:
| Argument | Action |
|---|---|
build | Spawn graphify-builder agent (Step 3) |
query <term> | Run inline query (Step 2a) |
status | Run inline status check (Step 2b) |
diff | Run inline diff check (Step 2c) |
| No argument or unknown | Show usage message |
Usage message (shown when no argument or unrecognized argument):
GSD > GRAPHIFY
Usage: $gsd-graphify <mode>
Modes:
build Build or rebuild the knowledge graph
query <term> Search the graph for a term
status Show graph freshness and statistics
diff Show changes since last build
Run:
node /Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs graphify query <term>
Parse the JSON output and display results:
"disabled": true, display the disabled message from Step 1 and STOP"error" field, display the error message and STOPNo graph matches for '<term>'. Try $gsd-graphify build to create or rebuild the graph.STOP after displaying results. Do not spawn an agent.
Run:
node /Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs graphify status
Parse the JSON output and display:
exists: false, display the message fieldSTOP after displaying status. Do not spawn an agent.
Run:
node /Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs graphify diff
Parse the JSON output and display:
no_baseline: true, display the message fieldIf no snapshot exists, suggest running build twice (first to create, second to generate a diff baseline).
STOP after displaying diff. Do not spawn an agent.
Run pre-flight check first:
PREFLIGHT=$(node "/Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs" graphify build)
If pre-flight returns disabled: true or error, display the message and STOP.
If pre-flight returns action: "spawn_agent", display:
GSD > Spawning graphify-builder agent...
Spawn a Task:
Task(
description="Build or rebuild the project knowledge graph",
prompt="You are the graphify-builder agent. Your job is to build or rebuild the project knowledge graph using the graphify CLI.
Project root: ${CWD}
gsd-tools path: /Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs
## Instructions
1. **Invoke graphify:**
Run from the project root:
graphify . --update
This builds the knowledge graph with SHA256 incremental caching.
Timeout: up to 5 minutes (or as configured via graphify.build_timeout).
2. **Validate output:**
Check that graphify-out/graph.json exists and is valid JSON with nodes[] and edges[] arrays.
If graphify exited non-zero or graph.json is not parseable, output:
## GRAPHIFY BUILD FAILED
Include the stderr output for debugging. Do NOT delete .planning/graphs/ -- prior valid graph remains available.
3. **Copy artifacts to .planning/graphs/:**
cp graphify-out/graph.json .planning/graphs/graph.json cp graphify-out/graph.html .planning/graphs/graph.html cp graphify-out/GRAPH_REPORT.md .planning/graphs/GRAPH_REPORT.md
These three files are the build output consumed by query, status, and diff commands.
4. **Write diff snapshot:**
node "/Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs" graphify build snapshot
This creates .planning/graphs/.last-build-snapshot.json for future diff comparisons.
5. **Report build summary:**
node "/Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/bin/gsd-tools.cjs" graphify status
Display the node count, edge count, and hyperedge count from the status output.
When complete, output: ## GRAPHIFY BUILD COMPLETE with the summary counts.
If something fails at any step, output: ## GRAPHIFY BUILD FAILED with details."
)
Wait for the agent to complete.