name: graphify-integration
description: |
Optional knowledge-graph integration. When graphify-out/graph.json is
present, architect/researcher/reviewer/task-builder agents can query
symbol-level dependencies (IMPORTS, CALLS, EXTENDS, IMPLEMENTS, DEPENDS_ON)
instead of grepping. Degrades gracefully when the graph is missing. Trigger
phrases: "knowledge graph", "graphify", "blast radius", "dependency graph".
Graphify Integration
A knowledge graph turns "what will break if I change this file" from a guess
into a query. Cavekit uses it only when it is available — nothing in the
pipeline depends on it.
Installation (optional)
pip install graphifyy
graphify build . # writes graphify-out/graph.json
If the file is missing, this skill returns no-ops and every caller falls back
to grep + ripgrep search.
Graph shape
NetworkX node-link JSON. Nodes are symbols (functions, classes, modules).
Edges carry:
type: DEPENDS_ON | IMPORTS | CALLS | EXTENDS | IMPLEMENTS
confidence: EXTRACTED (high) | INFERRED (medium) | AMBIGUOUS (low)
community: cluster ID (for partitioning big graphs into readable slices)
CLI surface (via cavekit-tools)
cavekit-tools.cjs graph-status # is the graph present?
cavekit-tools.cjs graph-query --term auth # search by name substring
cavekit-tools.cjs graph-dependents --file X # who imports/calls this?
cavekit-tools.cjs graph-summary # top-level community list
(These subcommands are optional extensions; the base cavekit-tools.cjs
ships without them, and they activate only if graphify-out/graph.json is
present.)
Per-phase use
- Draft (
/ck:sketch) — query existing symbols for a proposed kit name
to avoid collision with existing code.
- Map (
/ck:map) — use community IDs to partition tasks into coherent
tiers. Two tasks whose affected symbols share no edges can run in parallel.
- Research (
ck:researcher) — query existing before fetching external.
If the graph already answers the question, skip the web.
- Build (
/ck:make) — load the subgraph of the current task's files only.
Smaller context → faster, cheaper agent.
- Review / Inspect — compute blast radius of the diff. Files touched ∪
transitive dependents = review scope.
Confidence tiers
Do not treat low-confidence edges (AMBIGUOUS) as true without verification.
When blast radius includes an AMBIGUOUS edge, fall back to grep and confirm.
Stub mode
When the graph is missing, every graph-* query returns:
{ "available": false, "fallback": "grep" }
Callers check available and fall back to Grep + Read. No error is
raised — this is a degradation, not a failure.