.cursor/skills/gsd-graphify/SKILL.md
Build, query, and inspect the project knowledge graph in .planning/graphs/
npx skillsauth add ZaneL1u/cloud-cli-proxy gsd-graphifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<cursor_skill_adapter>
gsd-graphify or describes a task matching this skill.{{GSD_ARGS}}.{{GSD_ARGS}} as empty.When the workflow needs user input, prompt the user conversationally:
Use these Cursor tools when executing GSD workflows:
Shell for running commands (terminal operations)StrReplace for editing existing filesRead, Write, Glob, Grep, Task, WebSearch, WebFetch, TodoWrite as neededWhen the workflow needs to spawn a subagent:
Task(subagent_type="generalPurpose", ...)model parameter maps to Cursor's model options (e.g., "fast")
</cursor_skill_adapter>STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Cursor'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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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/zaneliu/Projects/open-source/cloud-cli-proxy/.cursor/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.
tools
Manage parallel workstreams — list, create, switch, status, progress, complete, and resume
testing
Validate built features through conversational UAT
testing
Retroactively audit and fill Nyquist validation gaps for a completed phase
testing
Update GSD to latest version with changelog display