
Graphify Integration
Give Cavekit architect, researcher, reviewer, and task-builder agents symbol-level dependency queries instead of blind grep when refactoring or assessing blast radius.
Overview
Graphify Integration is an agent skill most often used in Build (also Ship review and Operate iterate) that lets Cavekit agents query symbol-level dependency graphs when graphify-out/graph.json exists.
Install
npx skills add https://github.com/juliusbrussee/cavekit --skill graphify-integrationWhat is this skill?
- Optional graphify-out/graph.json—pipeline degrades to grep and ripgrep when missing
- Edge types: DEPENDS_ON, IMPORTS, CALLS, EXTENDS, IMPLEMENTS with EXTRACTED, INFERRED, AMBIGUOUS confidence
- cavekit-tools.cjs commands: graph-status, graph-query, graph-dependents, graph-summary
- Trigger phrases: knowledge graph, graphify, blast radius, dependency graph
- Install path: pip install graphifyy then graphify build .
- 5 edge types: DEPENDS_ON, IMPORTS, CALLS, EXTENDS, IMPLEMENTS
- 3 confidence levels on edges
- 4 cavekit-tools graph subcommands named in SKILL.md
Adoption & trust: 4 installs on skills.sh; 1k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need to know what breaks if you change a module but grep-only search misses indirect CALLS, EXTENDS, and cross-file IMPORTS.
Who is it for?
Cavekit users doing refactors, impact analysis, or reviewer passes on medium-to-large codebases with graphifyy already built locally.
Skip if: Tiny repos where ripgrep is enough, or teams unwilling to pip install graphifyy and maintain graphify-out artifacts in CI.
When should I use this skill?
Trigger phrases: knowledge graph, graphify, blast radius, dependency graph; when graphify-out/graph.json may be present for Cavekit agents.
What do I get? / Deliverables
Agents run structured graph queries for dependents, terms, and summaries via cavekit-tools, or fall back to search automatically when the graph file is absent.
- graphify-out/graph.json
- CLI graph query results for agents
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Dependency graphs matter most while integrating and changing code, so Build → integrations is the canonical shelf for optional Graphify wiring. graphify-out/graph.json is an optional integration layer queried via cavekit-tools CLI—fits integrations, not a standalone shipping or launch task.
Where it fits
Run graph-dependents on an auth module before wiring a new OAuth provider so task-builder tasks include downstream test updates.
Query graph-query --term payment to map CALLS edges before splitting a monolithic service.
Reviewer agent uses graph-summary to prioritize files in a PR with highest IMPORTS fan-in.
After a production incident, trace EXTENDS and IMPLEMENTS links from the failing class to candidate fixes.
How it compares
Optional skill-side graph queries—not an MCP server—and complements grep rather than replacing version control blame.
Common Questions / FAQ
Who is graphify-integration for?
Solo builders running Cavekit’s multi-agent pipeline who want symbol-level blast-radius and dependency answers during architecture, research, review, and task breakdown.
When should I use graphify-integration?
During Build integrations work before large refactors; during Ship review when assessing change impact; during Operate iterate when tracing regressions—whenever trigger phrases like blast radius or dependency graph apply and graph.json is present or you plan to build it.
Is graphify-integration safe to install?
It adds an optional Python graphifyy dependency and reads your repo to build a local graph file; review the Security Audits panel on this page and treat graph output as sensitive codebase structure in shared environments.
SKILL.md
READMESKILL.md - Graphify Integration
# 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) ```bash 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) ```bash 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: ```json { "available": false, "fallback": "grep" } ``` Callers check `available` and fall back to `Grep` + `Read`. No error is raised — this is a degradation, not a failure.