From gsd
Builds, queries, and inspects project knowledge graphs in .planning/graphs/ via build, query, status, and diff modes.
npx claudepluginhub jnuyens/gsd-plugin --plugin gsdThis skill is limited to using the following tools:
**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.**
Generates and queries codebase knowledge graphs for architecture-aware task decomposition, dependency discovery, and context reduction in multi-module projects with 20+ files.
Builds or incrementally updates the repository code knowledge graph for review. Use for initial setup, after refactors or branch switches; supports Python, TypeScript/JS, Go; SQLite storage.
Queries and manages project knowledge graph across tasks, SOPs, memories, and concepts. Activates on 'what do we know about X?', 'show related to X', and 'remember this pattern/pitfall' requests.
Share bugs, ideas, or general feedback.
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.
CJS-only (graphify): graphify subcommands are not registered on gsd-sdk query. Use node $HOME/.claude/get-shit-done/bin/gsd-tools.cjs graphify … as documented in this command and in docs/CLI-TOOLS.md. Other tooling may still use gsd-sdk query where a handler exists.
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 $HOME/.claude/get-shit-done/bin/gsd-tools.cjs config-set graphify.enabled true
Then run /gsd:graphify build to create the initial graph.
Parse $ARGUMENTS 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 $HOME/.claude/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 $HOME/.claude/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 $HOME/.claude/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 "$HOME/.claude/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: $HOME/.claude/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 "$HOME/.claude/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 "$HOME/.claude/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.