{"id":"c37e2a91-4d73-4d1b-a7b0-163f3fb6b4aa","entityType":"agent","slug":"clawhub-fantox-graphify","name":"graphify","canonicalUrl":"https://www.xpersona.co/agent/clawhub-fantox-graphify","canonicalPath":"/agent/clawhub-fantox-graphify","generatedAt":"2026-10-10T03:52:32.566Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":null},"description":"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural... Skill: graphify Owner: fantox Summary: AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural... Tags: latest:2.1.0 Version history: v2.1.0 | 2026-04-19T07:52:21.195Z | user **Credential requirements for semantic extraction now clearly specified in environment metadata.** - Added ANTHROPIC_API_KEY and OPENAI_API_KEY","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 3.2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17951783tfh7a7znjpezgbe1s84naav:graphify","sourceUrl":"https://clawhub.ai/fantox/graphify","homepage":"https://clawhub.ai/fantox/skills/graphify","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/fantox/graphify","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/fantox/skills/graphify","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":70,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":null},"stars":null,"forks":null,"downloads":3175,"packageName":null,"latestVersion":"2.1.0","tractionLabel":"3.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T09:19:50.398Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T09:19:50.399Z","lastCrawledAt":"2026-10-09T09:19:50.398Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T09:19:50.398Z","lastVerifiedAt":null,"highlights":[{"version":"2.1.0","createdAt":"2026-04-19T07:52:21.195Z","changelog":"**Credential requirements for semantic extraction now clearly specified in environment metadata.** - Added `ANTHROPIC_API_KEY` and `OPENAI_API_KEY` to the environment variable list, describing their use for semantic extraction. - Clarified in documentation that code/AST and Whisper runs locally with no API key, but LLM-based content extraction requires a user-supplied API key. - No code or functional changes; documentation and skill metadata only.","fileCount":6,"zipByteSize":13403},{"version":"2.0.2","createdAt":"2026-04-19T07:49:33.887Z","changelog":"Version 2.0.2 - Changed the official package install name from graphifyy (double-y) to graphify (single-y) in all instructions and metadata. - Removed the security notice about fake package names and clarified package usage throughout. - Updated metadata for the correct package/binary mapping. - Clarified that the Git post-commit hook is local to the project and does not apply globally. - Added extra troubleshooting entries for slow video transcription and ambiguous edge filtering.","fileCount":5,"zipByteSize":11847},{"version":"2.0.1","createdAt":"2026-04-19T06:20:13.563Z","changelog":"**Major update: Expanded documentation, features, and usability improvements for Graphify skill.** - SKILL.md has been substantially rewritten for clarity: expanded install, usage, and workflow instructions, plus best practices and troubleshooting guidance. - New file templates/graphifyignore.template provides a starter .graphifyignore example. - Added scripts/query_graph.py for programmatic querying of graphs. - Removed obsolete scripts/example.py and templates/example_template.txt. - Docs now cover advanced install options, platform integrations, incremental updates, querying methods, relationship types, and team workflows. - Enhanced security and setup notes to emphasize using the official graphifyy package.","fileCount":5,"zipByteSize":11960},{"version":"2.0.0","createdAt":"2026-04-19T06:06:32.650Z","changelog":"Graphify Skill 2.0.0 – Big update with improved installation, security, and OpenClaw integration. - Added security notice clarifying official PyPI package (`graphifyy`) and local-only audio/video transcription. - Updated installation requirements and process—now uses `uv` for installing `graphifyy` and improved detection of required binaries. - Introduced `AGENTS.md` auto-generation for seamless integration with OpenClaw. - Enhanced documentation for local media transcription and clarified OpenClaw context-sharing workflow. - Added details on always-on graph referencing and improved OS/binary metadata.","fileCount":5,"zipByteSize":3880},{"version":"1.0.0","createdAt":"2026-04-19T05:57:35.555Z","changelog":"Initial release of graphify-skill. - Integrates Graphify tool to build and query knowledge graphs from codebases, docs, images, and videos. - Supports 25+ programming languages and multimodal analysis via AST parsing and media transcription. - Generates interactive visualizations and summary reports for AI assistants like OpenClaw and Claude Code. - Enables context sharing through artifacts such as GRAPH_REPORT.md and automatic assistant integration. - Includes features for community/module detection, file ignoring, and efficient architecture understanding.","fileCount":5,"zipByteSize":3773}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17951783tfh7a7znjpezgbe1s84naav:graphify","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T03:52:32.565Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fantox-graphify/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":null},"readme":"Skill: graphify\n\nOwner: fantox\n\nSummary: AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural...\n\nTags: latest:2.1.0\n\nVersion history:\n\nv2.1.0 | 2026-04-19T07:52:21.195Z | user\n\n**Credential requirements for semantic extraction now clearly specified in environment metadata.**\n\n- Added `ANTHROPIC_API_KEY` and `OPENAI_API_KEY` to the environment variable list, describing their use for semantic extraction.\n- Clarified in documentation that code/AST and Whisper runs locally with no API key, but LLM-based content extraction requires a user-supplied API key.\n- No code or functional changes; documentation and skill metadata only.\n\nv2.0.2 | 2026-04-19T07:49:33.887Z | user\n\nVersion 2.0.2\n\n- Changed the official package install name from graphifyy (double-y) to graphify (single-y) in all instructions and metadata.\n- Removed the security notice about fake package names and clarified package usage throughout.\n- Updated metadata for the correct package/binary mapping.\n- Clarified that the Git post-commit hook is local to the project and does not apply globally.\n- Added extra troubleshooting entries for slow video transcription and ambiguous edge filtering.\n\nv2.0.1 | 2026-04-19T06:20:13.563Z | user\n\n**Major update: Expanded documentation, features, and usability improvements for Graphify skill.**\n\n- SKILL.md has been substantially rewritten for clarity: expanded install, usage, and workflow instructions, plus best practices and troubleshooting guidance.\n- New file templates/graphifyignore.template provides a starter .graphifyignore example.\n- Added scripts/query_graph.py for programmatic querying of graphs.\n- Removed obsolete scripts/example.py and templates/example_template.txt.\n- Docs now cover advanced install options, platform integrations, incremental updates, querying methods, relationship types, and team workflows.\n- Enhanced security and setup notes to emphasize using the official graphifyy package.\n\nv2.0.0 | 2026-04-19T06:06:32.650Z | user\n\nGraphify Skill 2.0.0 – Big update with improved installation, security, and OpenClaw integration.\n\n- Added security notice clarifying official PyPI package (`graphifyy`) and local-only audio/video transcription.\n- Updated installation requirements and process—now uses `uv` for installing `graphifyy` and improved detection of required binaries.\n- Introduced `AGENTS.md` auto-generation for seamless integration with OpenClaw.\n- Enhanced documentation for local media transcription and clarified OpenClaw context-sharing workflow.\n- Added details on always-on graph referencing and improved OS/binary metadata.\n\nv1.0.0 | 2026-04-19T05:57:35.555Z | user\n\nInitial release of graphify-skill.\n\n- Integrates Graphify tool to build and query knowledge graphs from codebases, docs, images, and videos.\n- Supports 25+ programming languages and multimodal analysis via AST parsing and media transcription.\n- Generates interactive visualizations and summary reports for AI assistants like OpenClaw and Claude Code.\n- Enables context sharing through artifacts such as GRAPH_REPORT.md and automatic assistant integration.\n- Includes features for community/module detection, file ignoring, and efficient architecture understanding.\n\nArchive index:\n\nArchive v2.1.0: 6 files, 13403 bytes\n\nFiles: references/api_reference.md (8635b), scripts/query_graph.py (8857b), skill-card.md (2515b), SKILL.md (8610b), templates/graphifyignore.txt (2978b), _meta.json (127b)\n\nFile v2.1.0:SKILL.md\n\n---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources. Always check graphify-out/GRAPH_REPORT.md before grepping or globbing to find relevant files.\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n        - pip\n      env:\n        - name: ANTHROPIC_API_KEY\n          description: \"Required for semantic extraction (docs, PDFs, images). Not needed for AST-only code extraction.\"\n          required: false\n        - name: OPENAI_API_KEY\n          description: \"Alternative LLM backend for semantic extraction.\"\n          required: false\n    install:\n      - kind: uv\n        package: graphify\n        bins: [graphify]\n    primaryEnv: \"\"\n    emoji: \"🕸️\"\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nGraphify turns a folder of code, docs, images, and videos into a **queryable knowledge graph**. After running `graphify .`, the generated `GRAPH_REPORT.md` is referenced by the assistant when you ask it to explore the codebase. Use it to navigate unfamiliar codebases, trace architectural intent, and share context efficiently.\n\n**Credential note:** Semantic extraction (docs, PDFs, images) calls an external LLM using your own API key (`ANTHROPIC_API_KEY` or `OPENAI_API_KEY`). AST code extraction and Whisper transcription run fully locally with no API key required.\n\n> **Token efficiency:** Reading `GRAPH_REPORT.md` is ~71.5× cheaper than reading raw source files. Always check it first.\n\n---\n\n## Installation\n\n### Minimum install\n```bash\npip install graphify\n```\n\n### Recommended install with all extras\n```bash\npip install \"graphify[pdf,video,watch,svg]\"\n```\n\n| Extra | Adds support for |\n|-------|-----------------|\n| `pdf` | PDF papers and documents |\n| `video` | Video/audio transcription via faster-whisper |\n| `watch` | `--watch` file monitoring |\n| `svg` | `--svg` export |\n| `mcp` | Model Context Protocol server |\n| `neo4j` | Neo4j graph database integration |\n| `office` | Word/Excel/PowerPoint documents |\n\n### Register with OpenClaw\n```bash\ngraphify claw install\n```\n\nThis copies the skill into OpenClaw's global skill directory and writes an `AGENTS.md` to the project root so the graph is consulted on every tool call.\n\n### Register with other platforms\n```bash\ngraphify claude install     # Claude Code (CLAUDE.md + PreToolUse hook)\ngraphify cursor install     # Cursor (.cursorrules)\ngraphify codex install      # Codex (AGENTS.md)\ngraphify copilot install    # GitHub Copilot CLI\ngraphify gemini install     # Gemini CLI\ngraphify aider install      # Aider\n```\n\n### Git post-commit hook (optional, local project only)\nInstalls a hook in the current project's `.git/hooks/` — no global changes.\n```bash\ngraphify hook install\n```\n\n---\n\n## Building a Knowledge Graph\n\n### First run\n```bash\ngraphify .\n```\n\nGraphify runs a **three-pass pipeline**:\n1. **AST extraction** — deterministic tree-sitter parsing of all code files (no LLM calls)\n2. **Transcription** — local Whisper processing of any video/audio\n3. **Semantic extraction** — parallel LLM calls (using your configured API key) analyze docs, papers, and images\n\n### Incremental update (changed files only)\n```bash\ngraphify . --update\n```\nUses a SHA-256 cache in `graphify-out/cache/` — safe to run after every save.\n\n### Watch mode (auto-sync as files change)\n```bash\ngraphify . --watch\n```\n\n### Deep mode (aggressive inferred-edge extraction)\n```bash\ngraphify . --mode deep\n```\nAdds `INFERRED` edges with confidence scores (0.0–1.0) and `AMBIGUOUS` edges flagged for review.\n\n### Preserve edge directionality\n```bash\ngraphify . --directed\n```\n\n### Re-cluster without re-extracting\n```bash\ngraphify . --cluster-only\n```\n\n### Skip HTML visualization (faster CI runs)\n```bash\ngraphify . --no-viz\n```\n\n---\n\n## Output Artifacts\n\nAll artifacts land in `graphify-out/`:\n\n| File | Purpose |\n|------|---------|\n| `GRAPH_REPORT.md` | **Read this first.** God nodes, community structure, surprising connections, suggested questions. |\n| `graph.html` | Interactive browser visualization — open for human review. |\n| `graph.json` | Raw graph data for programmatic querying via CLI or script. |\n| `cache/` | SHA-256 incremental cache — commit everything *except* this directory. |\n\n### Additional export formats\n```bash\ngraphify . --svg        # SVG visualization\ngraphify . --graphml    # Gephi / yEd compatible export\ngraphify . --wiki       # Wikipedia-style article per node\n```\n\n---\n\n## Querying the Graph\n\n```bash\n# Natural-language semantic search\ngraphify query \"where is authentication handled?\"\n\n# Trace a specific path (DFS traversal)\ngraphify query \"how does the request reach the database?\" --dfs\n\n# Shortest path between two nodes\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\n\n# Plain-language explanation of a node\ngraphify explain \"UserSessionManager\"\n```\n\n---\n\n## Adding External Content\n\n```bash\ngraphify add <arxiv-url>     # Fetch and index a research paper\ngraphify add <x.com-url>     # Fetch and index a tweet\ngraphify add <video-url>     # Download and transcribe video/audio\n```\n\nAfter adding, run `graphify . --update` to integrate the new nodes into the graph.\n\n---\n\n## Ignoring Files\n\nCreate `.graphifyignore` in the project root (same syntax as `.gitignore`):\n\n```\nnode_modules/\ndist/\nbuild/\n.next/\nvendor/\n*.generated.*\n*.min.js\n*.lock\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` in this skill for a comprehensive starter.\n\n---\n\n## Relationship Types\n\n| Tag | Meaning |\n|-----|---------|\n| `EXTRACTED` | Found directly in source (AST, explicit reference) |\n| `INFERRED` | Reasonable inference; includes `confidence` score 0.0–1.0 |\n| `AMBIGUOUS` | Low-confidence; flagged for manual review |\n\nUse `--mode deep` to maximize `INFERRED` coverage. Filter `AMBIGUOUS` edges when precision matters.\n\n---\n\n## Best Practices for OpenClaw / Claude Code\n\n### 1. Always read the report before exploring\n```\nRead graphify-out/GRAPH_REPORT.md\n```\nThe report identifies \"god nodes\" (highest-degree concepts), community clusters, and suggested entry-point questions. Use these to focus subsequent searches.\n\n### 2. Map communities to features\nEach community in the report corresponds to a functional area of the codebase. When fixing a bug or adding a feature, identify the relevant community first, then limit file reads to that cluster.\n\n### 3. Use `graphify query` before `grep`\nFor open-ended questions (\"where is X handled?\"), prefer `graphify query` — it searches the semantic graph and returns ranked node paths rather than raw text matches.\n\n### 4. Use `graphify path` for impact analysis\nBefore editing a node, run `graphify path \"NodeA\" \"NodeB\"` to find coupling chains and assess blast radius.\n\n### 5. Use `--update` aggressively\nAfter any significant edit, run `graphify . --update` to keep the graph current. The cache makes this cheap.\n\n### 6. Team workflows\n- Commit `graphify-out/` (excluding `graphify-out/cache/`) so teammates get graph context immediately on checkout.\n- One team member builds the initial graph; all others benefit without LLM cost.\n- Install `graphify hook install` to auto-rebuild on every commit.\n\n### 7. Multimodal context\nPlace architecture diagrams, whiteboard photos, or design mockups in the project directory before running `graphify .`. Claude vision will link visual concepts to code nodes.\n\n---\n\n## Supported Languages\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\nPlus: Markdown, MDX, HTML, plain text, RST, PDF, PNG/JPG/WebP/GIF images, MP4/MOV/MKV/WebM/MP3/WAV/M4A/OGG media.\n\n---\n\n## Troubleshooting\n\n| Symptom | Fix |\n|---------|-----|\n| `graphify: command not found` | Run `pip install graphify` and ensure pip's bin directory is on PATH |\n| Graph is stale after edits | Run `graphify . --update` |\n| Missing nodes for a language | Confirm tree-sitter grammar is installed; run `graphify . --update` |\n| Video transcription slow | Expected — Whisper runs locally. Add GPU acceleration or use `--no-viz` to skip unrelated steps |\n| `AMBIGUOUS` edges dominating | Switch from `--mode deep` to default mode, or filter by `confidence > 0.7` in `graph.json` |\n| `AGENTS.md` not picked up | Re-run `graphify claw install` from the project root |\n\nFile v2.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"2.1.0\",\n  \"publishedAt\": 1776585141195\n}\n\nFile v2.1.0:references/api_reference.md\n\n# Graphify API Reference\n\nComplete reference for the `graphify` CLI (package `graphify`, v0.4.23+).\n\n---\n\n## Command Overview\n\n```\ngraphify <target> [options]       Build or update a knowledge graph\ngraphify query \"<question>\"       Semantic search on the graph\ngraphify path \"NodeA\" \"NodeB\"     Shortest path between two nodes\ngraphify explain \"NodeName\"       Plain-language node explanation\ngraphify add <url>                Add external content to the graph\ngraphify <platform> install       Register with an AI assistant platform\ngraphify hook install             Install git post-commit rebuild hook\n```\n\n---\n\n## Build Commands\n\n### `graphify <target>`\n\nBuild a knowledge graph from a directory.\n\n```bash\ngraphify .                    # current directory\ngraphify ./src                # specific subdirectory\ngraphify /absolute/path       # absolute path\n```\n\n**Flags:**\n\n| Flag | Description |\n|------|-------------|\n| `--mode deep` | Aggressive INFERRED edge extraction with confidence scores |\n| `--update` | Reprocess only files changed since last run (uses SHA-256 cache) |\n| `--directed` | Preserve edge directionality in the output graph |\n| `--cluster-only` | Re-run Leiden community detection without re-extracting nodes/edges |\n| `--no-viz` | Skip generating `graph.html` (faster; useful in CI) |\n| `--watch` | Auto-sync graph as files change (requires `graphify[watch]`) |\n| `--wiki` | Generate Wikipedia-style article per node |\n| `--svg` | Export SVG visualization (requires `graphify[svg]`) |\n| `--graphml` | Export GraphML file for Gephi / yEd |\n\n**Extraction pipeline (in order):**\n1. **AST extraction** — tree-sitter deterministic parsing; no LLM calls; produces `EXTRACTED` edges\n2. **Transcription** — faster-whisper local audio/video processing; domain-aware prompts\n3. **Semantic extraction** — parallel LLM subagents for docs, PDFs, images; produces `EXTRACTED` and `INFERRED` edges\n\n---\n\n## Query Commands\n\n### `graphify query \"<question>\"`\n\nSemantic natural-language search across the knowledge graph.\n\n```bash\ngraphify query \"where is rate limiting enforced?\"\ngraphify query \"what calls the payment processor?\" --dfs\n```\n\n| Flag | Description |\n|------|-------------|\n| `--dfs` | Depth-first traversal; traces a specific execution path instead of ranking |\n\n**Returns:** Ranked list of matching nodes with relationship context and source file references.\n\n---\n\n### `graphify path \"NodeA\" \"NodeB\"`\n\nFind the shortest path between two named nodes in the graph.\n\n```bash\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\ngraphify path \"UserController\" \"EmailService\"\n```\n\n**Use for:** Impact analysis before editing a module, tracing coupling chains, verifying isolation.\n\n---\n\n### `graphify explain \"NodeName\"`\n\nGenerate a plain-language explanation of a node and its relationships.\n\n```bash\ngraphify explain \"UserSessionManager\"\ngraphify explain \"RateLimiter\"\n```\n\n**Returns:** What the node does, what it connects to, and which community it belongs to.\n\n---\n\n## Content Addition\n\n### `graphify add <url>`\n\nFetch and index external content into the existing graph.\n\n```bash\ngraphify add https://arxiv.org/abs/2305.12345     # research paper\ngraphify add https://x.com/user/status/123456     # tweet\ngraphify add https://youtube.com/watch?v=abc123   # video (transcribed locally)\n```\n\nAfter adding, run `graphify . --update` to integrate new nodes into the graph.\n\n---\n\n## Platform Installation\n\n### `graphify <platform> install`\n\nRegisters graphify with an AI assistant platform by writing steering files and (where supported) hooks.\n\n| Command | Platform | Mechanism |\n|---------|----------|-----------|\n| `graphify claw install` | OpenClaw | Copies skill + writes `AGENTS.md` |\n| `graphify claude install` | Claude Code | Writes `CLAUDE.md` entry + PreToolUse hook |\n| `graphify codex install` | OpenAI Codex | Writes `AGENTS.md` |\n| `graphify cursor install` | Cursor | Writes `.cursorrules` |\n| `graphify copilot install` | GitHub Copilot CLI | Writes steering config |\n| `graphify gemini install` | Gemini CLI | Writes steering config |\n| `graphify aider install` | Aider | Writes `.aider.conf.yml` entry |\n\nRun from the **project root**. Re-run if you move the project or reinstall the assistant.\n\n---\n\n## Git Hook\n\n### `graphify hook install`\n\nInstalls a git `post-commit` hook **locally** in the current project's `.git/hooks/` directory. Runs `graphify . --update` automatically after every commit. No global or system-level changes are made.\n\n```bash\ngraphify hook install\n```\n\nThis keeps the graph current without manual intervention. No LLM calls are made for files that haven't changed.\n\n---\n\n## Output Files\n\nAll output lands in `graphify-out/` in the target directory.\n\n| File | Format | Description |\n|------|--------|-------------|\n| `GRAPH_REPORT.md` | Markdown | **Primary AI context file.** God nodes, communities, surprising connections, suggested questions. Read before grepping. |\n| `graph.html` | HTML | Interactive vis.js visualization. Open in browser. |\n| `graph.json` | JSON | Raw graph data for programmatic querying. |\n| `cache/` | Directory | SHA-256 incremental cache. **Do not commit this directory.** |\n| `graph.svg` | SVG | Static visualization (only with `--svg`) |\n| `graph.graphml` | GraphML | Gephi/yEd export (only with `--graphml`) |\n\n### `graph.json` schema\n\n```json\n{\n  \"nodes\": [\n    {\n      \"id\": \"string\",\n      \"label\": \"string\",\n      \"type\": \"module|class|function|concept|document|media\",\n      \"file\": \"relative/path/to/source.py\",\n      \"line\": 42,\n      \"community\": 3,\n      \"degree\": 17,\n      \"summary\": \"One-line description\"\n    }\n  ],\n  \"edges\": [\n    {\n      \"source\": \"NodeId\",\n      \"target\": \"NodeId\",\n      \"relation\": \"EXTRACTED|INFERRED|AMBIGUOUS\",\n      \"confidence\": 0.85,\n      \"label\": \"calls|imports|implements|references|extends\"\n    }\n  ],\n  \"communities\": [\n    {\n      \"id\": 3,\n      \"label\": \"Authentication Layer\",\n      \"members\": [\"NodeId1\", \"NodeId2\"],\n      \"god_nodes\": [\"NodeId1\"]\n    }\n  ],\n  \"metadata\": {\n    \"graphify_version\": \"0.4.23\",\n    \"generated_at\": \"2026-04-19T10:00:00Z\",\n    \"target_dir\": \".\",\n    \"total_nodes\": 248,\n    \"total_edges\": 891\n  }\n}\n```\n\n---\n\n## Relationship Tags\n\n| Tag | Source | Meaning |\n|-----|--------|---------|\n| `EXTRACTED` | AST / explicit reference | Found directly in source code |\n| `INFERRED` | LLM semantic analysis | Reasonable inference; has `confidence` (0.0–1.0) |\n| `AMBIGUOUS` | LLM with low confidence | Flagged for manual review |\n\n**Edge labels (non-exhaustive):** `calls`, `imports`, `implements`, `extends`, `references`, `uses`, `defines`, `depends_on`, `documents`, `transcribed_from`\n\n---\n\n## .graphifyignore\n\nUses `.gitignore` syntax. Place in the project root.\n\n```\n# Dependencies\nnode_modules/\nvendor/\n.venv/\n__pycache__/\n\n# Build outputs\ndist/\nbuild/\n.next/\nout/\ntarget/\n\n# Generated files\n*.min.js\n*.min.css\n*.generated.*\n*.lock\n*.sum\n\n# Test fixtures / snapshots\n__snapshots__/\ntestdata/\n\n# Graphify cache\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` for a comprehensive starter.\n\n---\n\n## Supported File Types\n\n### Code (AST extraction via tree-sitter)\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\n### Documents (LLM semantic extraction)\n\nMarkdown (`.md`, `.mdx`), HTML, plain text (`.txt`), RST, PDF (requires `graphify[pdf]`)\n\n### Images (Claude vision)\n\n`.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`\n\n### Video / Audio (local Whisper transcription; requires `graphify[video]`)\n\n`.mp4`, `.mov`, `.mkv`, `.webm`, `.mp3`, `.wav`, `.m4a`, `.ogg`\n\n---\n\n## Python Requirements\n\n- Python 3.10 or higher\n- For video/audio: significant CPU/GPU resources; Whisper model weights (~150 MB–1.5 GB) downloaded on first run\n\n---\n\n## Common Issues\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| `command not found: graphify` | pip bin not on PATH | Add `$(python -m site --user-base)/bin` to PATH |\n| Nodes missing for a language | tree-sitter grammar not installed | Run `pip install \"graphify\" --upgrade` |\n| Stale graph after edits | Graph not rebuilt | Run `graphify . --update` |\n| `AMBIGUOUS` edges dominating | `--mode deep` too aggressive | Remove `--mode deep` or filter `confidence > 0.7` |\n| Video transcription very slow | Running on CPU only | Install CUDA-enabled torch for GPU acceleration |\n| `AGENTS.md` not respected by OpenClaw | Wrong working directory | Re-run `graphify claw install` from the project root |\n| PDF nodes empty | Missing pdf extra | `pip install \"graphify[pdf]\"` |\n\nFile v2.1.0:skill-card.md\n\n## Description:\n\nAI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fantox](https://clawhub.ai/user/fantox)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use Graphify to generate and query knowledge graphs for unfamiliar codebases, architecture analysis, impact tracing, and context sharing with AI coding assistants.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Semantic extraction can send selected documents, PDFs, or images to an external LLM provider when an API key is configured.\n\nMitigation: Use only intended API keys and review inputs before semantic extraction; AST code extraction and Whisper transcription can run without those API keys.\n\nRisk: Generated knowledge graphs may include sensitive files if the project is indexed without exclusions.\n\nMitigation: Create a .graphifyignore that excludes secrets, credentials, caches, build output, dependency directories, and other high-noise or sensitive paths before indexing.\n\nRisk: URL ingestion and assistant or git hook installation can add external content or project-local automation.\n\nMitigation: Run URL ingestion and assistant or git hook setup only when those project-scoped changes are intended.\n\nRisk: The installed graphify package is external to the skill artifact.\n\nMitigation: Install in a virtual environment and review the graphify package provenance and version before use.\n\n## Reference(s):\n\n- [Graphify API Reference](artifact/references/api_reference.md)\n- [ClawHub skill page](https://clawhub.ai/fantox/skills/graphify)\n- [Graphify project homepage](https://github.com/safishamsi/graphify)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and references to generated graph artifacts]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference graphify-out/GRAPH_REPORT.md, graphify-out/graph.json, graph.html, and optional export files produced by the graphify CLI.]\n\n## Skill Version(s):\n\n2.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.1.0:templates/graphifyignore.txt\n\n# .graphifyignore — copy this to your project root and rename to .graphifyignore\n# Uses .gitignore syntax. Paths are relative to the project root.\n# Graphify will skip any file or directory matched below.\n\n# ── Package managers / dependency trees ──────────────────────────────────────\nnode_modules/\nvendor/\n.venv/\nvenv/\nenv/\n.env/\n__pycache__/\n*.pyc\n*.pyo\n.tox/\n.nox/\nbower_components/\njspm_packages/\n.yarn/\n.pnp.*\n\n# ── Build and distribution outputs ───────────────────────────────────────────\ndist/\nbuild/\nout/\n.next/\n.nuxt/\n.output/\n.svelte-kit/\ntarget/\nbin/\nobj/\n*.egg-info/\n*.dist-info/\nsite/\n\n# ── Generated / compiled files ────────────────────────────────────────────────\n*.min.js\n*.min.css\n*.bundle.js\n*.chunk.js\n*.generated.*\n*.pb.go\n*_pb2.py\n*_pb2_grpc.py\n*.g.dart\n\n# ── Lock files (high noise, low signal) ──────────────────────────────────────\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\npoetry.lock\nCargo.lock\nGemfile.lock\ncomposer.lock\ngo.sum\n\n# ── Test fixtures, snapshots, and large datasets ─────────────────────────────\n__snapshots__/\ntestdata/\nfixtures/\n*.snap\n*.golden\n\n# ── IDE and editor artifacts ──────────────────────────────────────────────────\n.idea/\n.vscode/\n*.swp\n*.swo\n.DS_Store\nThumbs.db\n\n# ── Version control internals ─────────────────────────────────────────────────\n.git/\n.svn/\n.hg/\n\n# ── CI and infrastructure ─────────────────────────────────────────────────────\n.github/\n.circleci/\n.gitlab/\n.terraform/\n*.tfstate\n*.tfstate.backup\n\n# ── Logs, coverage, and profiling ─────────────────────────────────────────────\n*.log\nlogs/\ncoverage/\n.nyc_output/\nhtmlcov/\n*.prof\n*.trace\n\n# ── Secrets and credentials (never index) ─────────────────────────────────────\n.env\n.env.*\n*.pem\n*.key\n*.p12\n*.pfx\nsecrets/\ncredentials/\n\n# ── Graphify cache (never commit) ─────────────────────────────────────────────\ngraphify-out/cache/\n\n# ── Large binary assets (index if you want vision analysis; exclude otherwise) ─\n# *.png\n# *.jpg\n# *.gif\n# *.mp4\n# *.mov\n\nArchive v2.0.2: 5 files, 11847 bytes\n\nFiles: references/api_reference.md (8635b), scripts/query_graph.py (8857b), SKILL.md (7980b), templates/graphifyignore.txt (2978b), _meta.json (127b)\n\nFile v2.0.2:SKILL.md\n\n---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources. Always check graphify-out/GRAPH_REPORT.md before grepping or globbing to find relevant files.\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n        - pip\n      env: []\n    install:\n      - kind: uv\n        package: graphify\n        bins: [graphify]\n    primaryEnv: \"\"\n    emoji: \"🕸️\"\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nGraphify turns a folder of code, docs, images, and videos into a **queryable knowledge graph**, then injects that graph into every assistant interaction via platform hooks. Use it to navigate unfamiliar codebases, trace architectural intent, and share context efficiently.\n\n> **Token efficiency:** Reading `GRAPH_REPORT.md` is ~71.5× cheaper than reading raw source files. Always check it first.\n\n---\n\n## Installation\n\n### Minimum install\n```bash\npip install graphify\n```\n\n### Recommended install with all extras\n```bash\npip install \"graphify[pdf,video,watch,svg]\"\n```\n\n| Extra | Adds support for |\n|-------|-----------------|\n| `pdf` | PDF papers and documents |\n| `video` | Video/audio transcription via faster-whisper |\n| `watch` | `--watch` file monitoring |\n| `svg` | `--svg` export |\n| `mcp` | Model Context Protocol server |\n| `neo4j` | Neo4j graph database integration |\n| `office` | Word/Excel/PowerPoint documents |\n\n### Register with OpenClaw\n```bash\ngraphify claw install\n```\n\nThis copies the skill into OpenClaw's global skill directory and writes an `AGENTS.md` to the project root so the graph is consulted on every tool call.\n\n### Register with other platforms\n```bash\ngraphify claude install     # Claude Code (CLAUDE.md + PreToolUse hook)\ngraphify cursor install     # Cursor (.cursorrules)\ngraphify codex install      # Codex (AGENTS.md)\ngraphify copilot install    # GitHub Copilot CLI\ngraphify gemini install     # Gemini CLI\ngraphify aider install      # Aider\n```\n\n### Git post-commit hook (optional, local project only)\nInstalls a hook in the current project's `.git/hooks/` — no global changes.\n```bash\ngraphify hook install\n```\n\n---\n\n## Building a Knowledge Graph\n\n### First run\n```bash\ngraphify .\n```\n\nGraphify runs a **three-pass pipeline**:\n1. **AST extraction** — deterministic tree-sitter parsing of all code files (no LLM calls)\n2. **Transcription** — local Whisper processing of any video/audio\n3. **Semantic extraction** — parallel Claude subagents analyze docs, papers, and images\n\n### Incremental update (changed files only)\n```bash\ngraphify . --update\n```\nUses a SHA-256 cache in `graphify-out/cache/` — safe to run after every save.\n\n### Watch mode (auto-sync as files change)\n```bash\ngraphify . --watch\n```\n\n### Deep mode (aggressive inferred-edge extraction)\n```bash\ngraphify . --mode deep\n```\nAdds `INFERRED` edges with confidence scores (0.0–1.0) and `AMBIGUOUS` edges flagged for review.\n\n### Preserve edge directionality\n```bash\ngraphify . --directed\n```\n\n### Re-cluster without re-extracting\n```bash\ngraphify . --cluster-only\n```\n\n### Skip HTML visualization (faster CI runs)\n```bash\ngraphify . --no-viz\n```\n\n---\n\n## Output Artifacts\n\nAll artifacts land in `graphify-out/`:\n\n| File | Purpose |\n|------|---------|\n| `GRAPH_REPORT.md` | **Read this first.** God nodes, community structure, surprising connections, suggested questions. |\n| `graph.html` | Interactive browser visualization — open for human review. |\n| `graph.json` | Raw graph data for programmatic querying via CLI or script. |\n| `cache/` | SHA-256 incremental cache — commit everything *except* this directory. |\n\n### Additional export formats\n```bash\ngraphify . --svg        # SVG visualization\ngraphify . --graphml    # Gephi / yEd compatible export\ngraphify . --wiki       # Wikipedia-style article per node\n```\n\n---\n\n## Querying the Graph\n\n```bash\n# Natural-language semantic search\ngraphify query \"where is authentication handled?\"\n\n# Trace a specific path (DFS traversal)\ngraphify query \"how does the request reach the database?\" --dfs\n\n# Shortest path between two nodes\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\n\n# Plain-language explanation of a node\ngraphify explain \"UserSessionManager\"\n```\n\n---\n\n## Adding External Content\n\n```bash\ngraphify add <arxiv-url>     # Fetch and index a research paper\ngraphify add <x.com-url>     # Fetch and index a tweet\ngraphify add <video-url>     # Download and transcribe video/audio\n```\n\nAfter adding, run `graphify . --update` to integrate the new nodes into the graph.\n\n---\n\n## Ignoring Files\n\nCreate `.graphifyignore` in the project root (same syntax as `.gitignore`):\n\n```\nnode_modules/\ndist/\nbuild/\n.next/\nvendor/\n*.generated.*\n*.min.js\n*.lock\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` in this skill for a comprehensive starter.\n\n---\n\n## Relationship Types\n\n| Tag | Meaning |\n|-----|---------|\n| `EXTRACTED` | Found directly in source (AST, explicit reference) |\n| `INFERRED` | Reasonable inference; includes `confidence` score 0.0–1.0 |\n| `AMBIGUOUS` | Low-confidence; flagged for manual review |\n\nUse `--mode deep` to maximize `INFERRED` coverage. Filter `AMBIGUOUS` edges when precision matters.\n\n---\n\n## Best Practices for OpenClaw / Claude Code\n\n### 1. Always read the report before exploring\n```\nRead graphify-out/GRAPH_REPORT.md\n```\nThe report identifies \"god nodes\" (highest-degree concepts), community clusters, and suggested entry-point questions. Use these to focus subsequent searches.\n\n### 2. Map communities to features\nEach community in the report corresponds to a functional area of the codebase. When fixing a bug or adding a feature, identify the relevant community first, then limit file reads to that cluster.\n\n### 3. Use `graphify query` before `grep`\nFor open-ended questions (\"where is X handled?\"), prefer `graphify query` — it searches the semantic graph and returns ranked node paths rather than raw text matches.\n\n### 4. Use `graphify path` for impact analysis\nBefore editing a node, run `graphify path \"NodeA\" \"NodeB\"` to find coupling chains and assess blast radius.\n\n### 5. Use `--update` aggressively\nAfter any significant edit, run `graphify . --update` to keep the graph current. The cache makes this cheap.\n\n### 6. Team workflows\n- Commit `graphify-out/` (excluding `graphify-out/cache/`) so teammates get graph context immediately on checkout.\n- One team member builds the initial graph; all others benefit without LLM cost.\n- Install `graphify hook install` to auto-rebuild on every commit.\n\n### 7. Multimodal context\nPlace architecture diagrams, whiteboard photos, or design mockups in the project directory before running `graphify .`. Claude vision will link visual concepts to code nodes.\n\n---\n\n## Supported Languages\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\nPlus: Markdown, MDX, HTML, plain text, RST, PDF, PNG/JPG/WebP/GIF images, MP4/MOV/MKV/WebM/MP3/WAV/M4A/OGG media.\n\n---\n\n## Troubleshooting\n\n| Symptom | Fix |\n|---------|-----|\n| `graphify: command not found` | Run `pip install graphify` and ensure pip's bin directory is on PATH |\n| Graph is stale after edits | Run `graphify . --update` |\n| Missing nodes for a language | Confirm tree-sitter grammar is installed; run `graphify . --update` |\n| Video transcription slow | Expected — Whisper runs locally. Add GPU acceleration or use `--no-viz` to skip unrelated steps |\n| `AMBIGUOUS` edges dominating | Switch from `--mode deep` to default mode, or filter by `confidence > 0.7` in `graph.json` |\n| `AGENTS.md` not picked up | Re-run `graphify claw install` from the project root |\n\nFile v2.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"2.0.2\",\n  \"publishedAt\": 1776584973887\n}\n\nFile v2.0.2:references/api_reference.md\n\n# Graphify API Reference\n\nComplete reference for the `graphify` CLI (package `graphify`, v0.4.23+).\n\n---\n\n## Command Overview\n\n```\ngraphify <target> [options]       Build or update a knowledge graph\ngraphify query \"<question>\"       Semantic search on the graph\ngraphify path \"NodeA\" \"NodeB\"     Shortest path between two nodes\ngraphify explain \"NodeName\"       Plain-language node explanation\ngraphify add <url>                Add external content to the graph\ngraphify <platform> install       Register with an AI assistant platform\ngraphify hook install             Install git post-commit rebuild hook\n```\n\n---\n\n## Build Commands\n\n### `graphify <target>`\n\nBuild a knowledge graph from a directory.\n\n```bash\ngraphify .                    # current directory\ngraphify ./src                # specific subdirectory\ngraphify /absolute/path       # absolute path\n```\n\n**Flags:**\n\n| Flag | Description |\n|------|-------------|\n| `--mode deep` | Aggressive INFERRED edge extraction with confidence scores |\n| `--update` | Reprocess only files changed since last run (uses SHA-256 cache) |\n| `--directed` | Preserve edge directionality in the output graph |\n| `--cluster-only` | Re-run Leiden community detection without re-extracting nodes/edges |\n| `--no-viz` | Skip generating `graph.html` (faster; useful in CI) |\n| `--watch` | Auto-sync graph as files change (requires `graphify[watch]`) |\n| `--wiki` | Generate Wikipedia-style article per node |\n| `--svg` | Export SVG visualization (requires `graphify[svg]`) |\n| `--graphml` | Export GraphML file for Gephi / yEd |\n\n**Extraction pipeline (in order):**\n1. **AST extraction** — tree-sitter deterministic parsing; no LLM calls; produces `EXTRACTED` edges\n2. **Transcription** — faster-whisper local audio/video processing; domain-aware prompts\n3. **Semantic extraction** — parallel LLM subagents for docs, PDFs, images; produces `EXTRACTED` and `INFERRED` edges\n\n---\n\n## Query Commands\n\n### `graphify query \"<question>\"`\n\nSemantic natural-language search across the knowledge graph.\n\n```bash\ngraphify query \"where is rate limiting enforced?\"\ngraphify query \"what calls the payment processor?\" --dfs\n```\n\n| Flag | Description |\n|------|-------------|\n| `--dfs` | Depth-first traversal; traces a specific execution path instead of ranking |\n\n**Returns:** Ranked list of matching nodes with relationship context and source file references.\n\n---\n\n### `graphify path \"NodeA\" \"NodeB\"`\n\nFind the shortest path between two named nodes in the graph.\n\n```bash\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\ngraphify path \"UserController\" \"EmailService\"\n```\n\n**Use for:** Impact analysis before editing a module, tracing coupling chains, verifying isolation.\n\n---\n\n### `graphify explain \"NodeName\"`\n\nGenerate a plain-language explanation of a node and its relationships.\n\n```bash\ngraphify explain \"UserSessionManager\"\ngraphify explain \"RateLimiter\"\n```\n\n**Returns:** What the node does, what it connects to, and which community it belongs to.\n\n---\n\n## Content Addition\n\n### `graphify add <url>`\n\nFetch and index external content into the existing graph.\n\n```bash\ngraphify add https://arxiv.org/abs/2305.12345     # research paper\ngraphify add https://x.com/user/status/123456     # tweet\ngraphify add https://youtube.com/watch?v=abc123   # video (transcribed locally)\n```\n\nAfter adding, run `graphify . --update` to integrate new nodes into the graph.\n\n---\n\n## Platform Installation\n\n### `graphify <platform> install`\n\nRegisters graphify with an AI assistant platform by writing steering files and (where supported) hooks.\n\n| Command | Platform | Mechanism |\n|---------|----------|-----------|\n| `graphify claw install` | OpenClaw | Copies skill + writes `AGENTS.md` |\n| `graphify claude install` | Claude Code | Writes `CLAUDE.md` entry + PreToolUse hook |\n| `graphify codex install` | OpenAI Codex | Writes `AGENTS.md` |\n| `graphify cursor install` | Cursor | Writes `.cursorrules` |\n| `graphify copilot install` | GitHub Copilot CLI | Writes steering config |\n| `graphify gemini install` | Gemini CLI | Writes steering config |\n| `graphify aider install` | Aider | Writes `.aider.conf.yml` entry |\n\nRun from the **project root**. Re-run if you move the project or reinstall the assistant.\n\n---\n\n## Git Hook\n\n### `graphify hook install`\n\nInstalls a git `post-commit` hook **locally** in the current project's `.git/hooks/` directory. Runs `graphify . --update` automatically after every commit. No global or system-level changes are made.\n\n```bash\ngraphify hook install\n```\n\nThis keeps the graph current without manual intervention. No LLM calls are made for files that haven't changed.\n\n---\n\n## Output Files\n\nAll output lands in `graphify-out/` in the target directory.\n\n| File | Format | Description |\n|------|--------|-------------|\n| `GRAPH_REPORT.md` | Markdown | **Primary AI context file.** God nodes, communities, surprising connections, suggested questions. Read before grepping. |\n| `graph.html` | HTML | Interactive vis.js visualization. Open in browser. |\n| `graph.json` | JSON | Raw graph data for programmatic querying. |\n| `cache/` | Directory | SHA-256 incremental cache. **Do not commit this directory.** |\n| `graph.svg` | SVG | Static visualization (only with `--svg`) |\n| `graph.graphml` | GraphML | Gephi/yEd export (only with `--graphml`) |\n\n### `graph.json` schema\n\n```json\n{\n  \"nodes\": [\n    {\n      \"id\": \"string\",\n      \"label\": \"string\",\n      \"type\": \"module|class|function|concept|document|media\",\n      \"file\": \"relative/path/to/source.py\",\n      \"line\": 42,\n      \"community\": 3,\n      \"degree\": 17,\n      \"summary\": \"One-line description\"\n    }\n  ],\n  \"edges\": [\n    {\n      \"source\": \"NodeId\",\n      \"target\": \"NodeId\",\n      \"relation\": \"EXTRACTED|INFERRED|AMBIGUOUS\",\n      \"confidence\": 0.85,\n      \"label\": \"calls|imports|implements|references|extends\"\n    }\n  ],\n  \"communities\": [\n    {\n      \"id\": 3,\n      \"label\": \"Authentication Layer\",\n      \"members\": [\"NodeId1\", \"NodeId2\"],\n      \"god_nodes\": [\"NodeId1\"]\n    }\n  ],\n  \"metadata\": {\n    \"graphify_version\": \"0.4.23\",\n    \"generated_at\": \"2026-04-19T10:00:00Z\",\n    \"target_dir\": \".\",\n    \"total_nodes\": 248,\n    \"total_edges\": 891\n  }\n}\n```\n\n---\n\n## Relationship Tags\n\n| Tag | Source | Meaning |\n|-----|--------|---------|\n| `EXTRACTED` | AST / explicit reference | Found directly in source code |\n| `INFERRED` | LLM semantic analysis | Reasonable inference; has `confidence` (0.0–1.0) |\n| `AMBIGUOUS` | LLM with low confidence | Flagged for manual review |\n\n**Edge labels (non-exhaustive):** `calls`, `imports`, `implements`, `extends`, `references`, `uses`, `defines`, `depends_on`, `documents`, `transcribed_from`\n\n---\n\n## .graphifyignore\n\nUses `.gitignore` syntax. Place in the project root.\n\n```\n# Dependencies\nnode_modules/\nvendor/\n.venv/\n__pycache__/\n\n# Build outputs\ndist/\nbuild/\n.next/\nout/\ntarget/\n\n# Generated files\n*.min.js\n*.min.css\n*.generated.*\n*.lock\n*.sum\n\n# Test fixtures / snapshots\n__snapshots__/\ntestdata/\n\n# Graphify cache\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` for a comprehensive starter.\n\n---\n\n## Supported File Types\n\n### Code (AST extraction via tree-sitter)\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\n### Documents (LLM semantic extraction)\n\nMarkdown (`.md`, `.mdx`), HTML, plain text (`.txt`), RST, PDF (requires `graphify[pdf]`)\n\n### Images (Claude vision)\n\n`.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`\n\n### Video / Audio (local Whisper transcription; requires `graphify[video]`)\n\n`.mp4`, `.mov`, `.mkv`, `.webm`, `.mp3`, `.wav`, `.m4a`, `.ogg`\n\n---\n\n## Python Requirements\n\n- Python 3.10 or higher\n- For video/audio: significant CPU/GPU resources; Whisper model weights (~150 MB–1.5 GB) downloaded on first run\n\n---\n\n## Common Issues\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| `command not found: graphify` | pip bin not on PATH | Add `$(python -m site --user-base)/bin` to PATH |\n| Nodes missing for a language | tree-sitter grammar not installed | Run `pip install \"graphify\" --upgrade` |\n| Stale graph after edits | Graph not rebuilt | Run `graphify . --update` |\n| `AMBIGUOUS` edges dominating | `--mode deep` too aggressive | Remove `--mode deep` or filter `confidence > 0.7` |\n| Video transcription very slow | Running on CPU only | Install CUDA-enabled torch for GPU acceleration |\n| `AGENTS.md` not respected by OpenClaw | Wrong working directory | Re-run `graphify claw install` from the project root |\n| PDF nodes empty | Missing pdf extra | `pip install \"graphify[pdf]\"` |\n\nFile v2.0.2:templates/graphifyignore.txt\n\n# .graphifyignore — copy this to your project root and rename to .graphifyignore\n# Uses .gitignore syntax. Paths are relative to the project root.\n# Graphify will skip any file or directory matched below.\n\n# ── Package managers / dependency trees ──────────────────────────────────────\nnode_modules/\nvendor/\n.venv/\nvenv/\nenv/\n.env/\n__pycache__/\n*.pyc\n*.pyo\n.tox/\n.nox/\nbower_components/\njspm_packages/\n.yarn/\n.pnp.*\n\n# ── Build and distribution outputs ───────────────────────────────────────────\ndist/\nbuild/\nout/\n.next/\n.nuxt/\n.output/\n.svelte-kit/\ntarget/\nbin/\nobj/\n*.egg-info/\n*.dist-info/\nsite/\n\n# ── Generated / compiled files ────────────────────────────────────────────────\n*.min.js\n*.min.css\n*.bundle.js\n*.chunk.js\n*.generated.*\n*.pb.go\n*_pb2.py\n*_pb2_grpc.py\n*.g.dart\n\n# ── Lock files (high noise, low signal) ──────────────────────────────────────\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\npoetry.lock\nCargo.lock\nGemfile.lock\ncomposer.lock\ngo.sum\n\n# ── Test fixtures, snapshots, and large datasets ─────────────────────────────\n__snapshots__/\ntestdata/\nfixtures/\n*.snap\n*.golden\n\n# ── IDE and editor artifacts ──────────────────────────────────────────────────\n.idea/\n.vscode/\n*.swp\n*.swo\n.DS_Store\nThumbs.db\n\n# ── Version control internals ─────────────────────────────────────────────────\n.git/\n.svn/\n.hg/\n\n# ── CI and infrastructure ─────────────────────────────────────────────────────\n.github/\n.circleci/\n.gitlab/\n.terraform/\n*.tfstate\n*.tfstate.backup\n\n# ── Logs, coverage, and profiling ─────────────────────────────────────────────\n*.log\nlogs/\ncoverage/\n.nyc_output/\nhtmlcov/\n*.prof\n*.trace\n\n# ── Secrets and credentials (never index) ─────────────────────────────────────\n.env\n.env.*\n*.pem\n*.key\n*.p12\n*.pfx\nsecrets/\ncredentials/\n\n# ── Graphify cache (never commit) ─────────────────────────────────────────────\ngraphify-out/cache/\n\n# ── Large binary assets (index if you want vision analysis; exclude otherwise) ─\n# *.png\n# *.jpg\n# *.gif\n# *.mp4\n# *.mov\n\nArchive v2.0.1: 5 files, 11960 bytes\n\nFiles: references/api_reference.md (8541b), scripts/query_graph.py (8857b), SKILL.md (8338b), templates/graphifyignore.txt (2978b), _meta.json (127b)\n\nFile v2.0.1:SKILL.md\n\n---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources. Always check graphify-out/GRAPH_REPORT.md before grepping or globbing to find relevant files.\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n        - pip\n      env: []\n    install:\n      - kind: uv\n        package: graphifyy\n        bins: [graphify]\n    primaryEnv: \"\"\n    emoji: \"🕸️\"\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nGraphify turns a folder of code, docs, images, and videos into a **queryable knowledge graph**, then injects that graph into every assistant interaction via platform hooks. Use it to navigate unfamiliar codebases, trace architectural intent, and share context efficiently.\n\n> **Token efficiency:** Reading `GRAPH_REPORT.md` is ~71.5× cheaper than reading raw source files. Always check it first.\n\n---\n\n## Security Notice\n\n- **Official package on PyPI is `graphifyy`** (double-y). Do not install a package named `graphify` — it is not affiliated with this project.\n- Code extraction runs **locally** via tree-sitter. Video/audio transcription runs **locally** via faster-whisper. Semantic extraction for docs/images sends content to the underlying model API (Claude, GPT-4, etc.) using *your* API key. No telemetry or cloud storage.\n\n---\n\n## Installation\n\n### Minimum install\n```bash\npip install graphifyy\n```\n\n### Recommended install with all extras\n```bash\npip install \"graphifyy[pdf,video,watch,svg]\"\n```\n\n| Extra | Adds support for |\n|-------|-----------------|\n| `pdf` | PDF papers and documents |\n| `video` | Video/audio transcription via faster-whisper |\n| `watch` | `--watch` file monitoring |\n| `svg` | `--svg` export |\n| `mcp` | Model Context Protocol server |\n| `neo4j` | Neo4j graph database integration |\n| `office` | Word/Excel/PowerPoint documents |\n\n### Register with OpenClaw\n```bash\ngraphify claw install\n```\n\nThis copies the skill into OpenClaw's global skill directory and writes an `AGENTS.md` to the project root so the graph is consulted on every tool call.\n\n### Register with other platforms\n```bash\ngraphify claude install     # Claude Code (CLAUDE.md + PreToolUse hook)\ngraphify cursor install     # Cursor (.cursorrules)\ngraphify codex install      # Codex (AGENTS.md)\ngraphify copilot install    # GitHub Copilot CLI\ngraphify gemini install     # Gemini CLI\ngraphify aider install      # Aider\n```\n\n### Git post-commit hook (auto-rebuild on commit)\n```bash\ngraphify hook install\n```\n\n---\n\n## Building a Knowledge Graph\n\n### First run\n```bash\ngraphify .\n```\n\nGraphify runs a **three-pass pipeline**:\n1. **AST extraction** — deterministic tree-sitter parsing of all code files (no LLM calls)\n2. **Transcription** — local Whisper processing of any video/audio\n3. **Semantic extraction** — parallel Claude subagents analyze docs, papers, and images\n\n### Incremental update (changed files only)\n```bash\ngraphify . --update\n```\nUses a SHA-256 cache in `graphify-out/cache/` — safe to run after every save.\n\n### Watch mode (auto-sync as files change)\n```bash\ngraphify . --watch\n```\n\n### Deep mode (aggressive inferred-edge extraction)\n```bash\ngraphify . --mode deep\n```\nAdds `INFERRED` edges with confidence scores (0.0–1.0) and `AMBIGUOUS` edges flagged for review.\n\n### Preserve edge directionality\n```bash\ngraphify . --directed\n```\n\n### Re-cluster without re-extracting\n```bash\ngraphify . --cluster-only\n```\n\n### Skip HTML visualization (faster CI runs)\n```bash\ngraphify . --no-viz\n```\n\n---\n\n## Output Artifacts\n\nAll artifacts land in `graphify-out/`:\n\n| File | Purpose |\n|------|---------|\n| `GRAPH_REPORT.md` | **Read this first.** God nodes, community structure, surprising connections, suggested questions. |\n| `graph.html` | Interactive browser visualization — open for human review. |\n| `graph.json` | Raw graph data for programmatic querying via CLI or script. |\n| `cache/` | SHA-256 incremental cache — commit everything *except* this directory. |\n\n### Additional export formats\n```bash\ngraphify . --svg        # SVG visualization\ngraphify . --graphml    # Gephi / yEd compatible export\ngraphify . --wiki       # Wikipedia-style article per node\n```\n\n---\n\n## Querying the Graph\n\n```bash\n# Natural-language semantic search\ngraphify query \"where is authentication handled?\"\n\n# Trace a specific path (DFS traversal)\ngraphify query \"how does the request reach the database?\" --dfs\n\n# Shortest path between two nodes\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\n\n# Plain-language explanation of a node\ngraphify explain \"UserSessionManager\"\n```\n\n---\n\n## Adding External Content\n\n```bash\ngraphify add <arxiv-url>     # Fetch and index a research paper\ngraphify add <x.com-url>     # Fetch and index a tweet\ngraphify add <video-url>     # Download and transcribe video/audio\n```\n\nAfter adding, run `graphify . --update` to integrate the new nodes into the graph.\n\n---\n\n## Ignoring Files\n\nCreate `.graphifyignore` in the project root (same syntax as `.gitignore`):\n\n```\nnode_modules/\ndist/\nbuild/\n.next/\nvendor/\n*.generated.*\n*.min.js\n*.lock\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` in this skill for a comprehensive starter.\n\n---\n\n## Relationship Types\n\n| Tag | Meaning |\n|-----|---------|\n| `EXTRACTED` | Found directly in source (AST, explicit reference) |\n| `INFERRED` | Reasonable inference; includes `confidence` score 0.0–1.0 |\n| `AMBIGUOUS` | Low-confidence; flagged for manual review |\n\nUse `--mode deep` to maximize `INFERRED` coverage. Filter `AMBIGUOUS` edges when precision matters.\n\n---\n\n## Best Practices for OpenClaw / Claude Code\n\n### 1. Always read the report before exploring\n```\nRead graphify-out/GRAPH_REPORT.md\n```\nThe report identifies \"god nodes\" (highest-degree concepts), community clusters, and suggested entry-point questions. Use these to focus subsequent searches.\n\n### 2. Map communities to features\nEach community in the report corresponds to a functional area of the codebase. When fixing a bug or adding a feature, identify the relevant community first, then limit file reads to that cluster.\n\n### 3. Use `graphify query` before `grep`\nFor open-ended questions (\"where is X handled?\"), prefer `graphify query` — it searches the semantic graph and returns ranked node paths rather than raw text matches.\n\n### 4. Use `graphify path` for impact analysis\nBefore editing a node, run `graphify path \"NodeA\" \"NodeB\"` to find coupling chains and assess blast radius.\n\n### 5. Use `--update` aggressively\nAfter any significant edit, run `graphify . --update` to keep the graph current. The cache makes this cheap.\n\n### 6. Team workflows\n- Commit `graphify-out/` (excluding `graphify-out/cache/`) so teammates get graph context immediately on checkout.\n- One team member builds the initial graph; all others benefit without LLM cost.\n- Install `graphify hook install` to auto-rebuild on every commit.\n\n### 7. Multimodal context\nPlace architecture diagrams, whiteboard photos, or design mockups in the project directory before running `graphify .`. Claude vision will link visual concepts to code nodes.\n\n---\n\n## Supported Languages\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\nPlus: Markdown, MDX, HTML, plain text, RST, PDF, PNG/JPG/WebP/GIF images, MP4/MOV/MKV/WebM/MP3/WAV/M4A/OGG media.\n\n---\n\n## Troubleshooting\n\n| Symptom | Fix |\n|---------|-----|\n| `graphify: command not found` | Run `pip install graphifyy` and ensure pip's bin directory is on PATH |\n| Graph is stale after edits | Run `graphify . --update` |\n| Missing nodes for a language | Confirm tree-sitter grammar is installed; run `graphify . --update` |\n| Video transcription slow | Expected — Whisper runs locally. Add GPU acceleration or use `--no-viz` to skip unrelated steps |\n| `AMBIGUOUS` edges dominating | Switch from `--mode deep` to default mode, or filter by `confidence > 0.7` in `graph.json` |\n| `AGENTS.md` not picked up | Re-run `graphify claw install` from the project root |\n\nFile v2.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"2.0.1\",\n  \"publishedAt\": 1776579613563\n}\n\nFile v2.0.1:references/api_reference.md\n\n# Graphify API Reference\n\nComplete reference for the `graphify` CLI (package `graphifyy`, v0.4.23+).\n\n---\n\n## Command Overview\n\n```\ngraphify <target> [options]       Build or update a knowledge graph\ngraphify query \"<question>\"       Semantic search on the graph\ngraphify path \"NodeA\" \"NodeB\"     Shortest path between two nodes\ngraphify explain \"NodeName\"       Plain-language node explanation\ngraphify add <url>                Add external content to the graph\ngraphify <platform> install       Register with an AI assistant platform\ngraphify hook install             Install git post-commit rebuild hook\n```\n\n---\n\n## Build Commands\n\n### `graphify <target>`\n\nBuild a knowledge graph from a directory.\n\n```bash\ngraphify .                    # current directory\ngraphify ./src                # specific subdirectory\ngraphify /absolute/path       # absolute path\n```\n\n**Flags:**\n\n| Flag | Description |\n|------|-------------|\n| `--mode deep` | Aggressive INFERRED edge extraction with confidence scores |\n| `--update` | Reprocess only files changed since last run (uses SHA-256 cache) |\n| `--directed` | Preserve edge directionality in the output graph |\n| `--cluster-only` | Re-run Leiden community detection without re-extracting nodes/edges |\n| `--no-viz` | Skip generating `graph.html` (faster; useful in CI) |\n| `--watch` | Auto-sync graph as files change (requires `graphifyy[watch]`) |\n| `--wiki` | Generate Wikipedia-style article per node |\n| `--svg` | Export SVG visualization (requires `graphifyy[svg]`) |\n| `--graphml` | Export GraphML file for Gephi / yEd |\n\n**Extraction pipeline (in order):**\n1. **AST extraction** — tree-sitter deterministic parsing; no LLM calls; produces `EXTRACTED` edges\n2. **Transcription** — faster-whisper local audio/video processing; domain-aware prompts\n3. **Semantic extraction** — parallel LLM subagents for docs, PDFs, images; produces `EXTRACTED` and `INFERRED` edges\n\n---\n\n## Query Commands\n\n### `graphify query \"<question>\"`\n\nSemantic natural-language search across the knowledge graph.\n\n```bash\ngraphify query \"where is rate limiting enforced?\"\ngraphify query \"what calls the payment processor?\" --dfs\n```\n\n| Flag | Description |\n|------|-------------|\n| `--dfs` | Depth-first traversal; traces a specific execution path instead of ranking |\n\n**Returns:** Ranked list of matching nodes with relationship context and source file references.\n\n---\n\n### `graphify path \"NodeA\" \"NodeB\"`\n\nFind the shortest path between two named nodes in the graph.\n\n```bash\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\ngraphify path \"UserController\" \"EmailService\"\n```\n\n**Use for:** Impact analysis before editing a module, tracing coupling chains, verifying isolation.\n\n---\n\n### `graphify explain \"NodeName\"`\n\nGenerate a plain-language explanation of a node and its relationships.\n\n```bash\ngraphify explain \"UserSessionManager\"\ngraphify explain \"RateLimiter\"\n```\n\n**Returns:** What the node does, what it connects to, and which community it belongs to.\n\n---\n\n## Content Addition\n\n### `graphify add <url>`\n\nFetch and index external content into the existing graph.\n\n```bash\ngraphify add https://arxiv.org/abs/2305.12345     # research paper\ngraphify add https://x.com/user/status/123456     # tweet\ngraphify add https://youtube.com/watch?v=abc123   # video (transcribed locally)\n```\n\nAfter adding, run `graphify . --update` to integrate new nodes into the graph.\n\n---\n\n## Platform Installation\n\n### `graphify <platform> install`\n\nRegisters graphify with an AI assistant platform by writing steering files and (where supported) hooks.\n\n| Command | Platform | Mechanism |\n|---------|----------|-----------|\n| `graphify claw install` | OpenClaw | Copies skill + writes `AGENTS.md` |\n| `graphify claude install` | Claude Code | Writes `CLAUDE.md` entry + PreToolUse hook |\n| `graphify codex install` | OpenAI Codex | Writes `AGENTS.md` |\n| `graphify cursor install` | Cursor | Writes `.cursorrules` |\n| `graphify copilot install` | GitHub Copilot CLI | Writes steering config |\n| `graphify gemini install` | Gemini CLI | Writes steering config |\n| `graphify aider install` | Aider | Writes `.aider.conf.yml` entry |\n\nRun from the **project root**. Re-run if you move the project or reinstall the assistant.\n\n---\n\n## Git Hook\n\n### `graphify hook install`\n\nInstalls a git `post-commit` hook that runs `graphify . --update` automatically after every commit.\n\n```bash\ngraphify hook install\n```\n\nThis keeps the graph current without manual intervention. No LLM calls are made for files that haven't changed.\n\n---\n\n## Output Files\n\nAll output lands in `graphify-out/` in the target directory.\n\n| File | Format | Description |\n|------|--------|-------------|\n| `GRAPH_REPORT.md` | Markdown | **Primary AI context file.** God nodes, communities, surprising connections, suggested questions. Read before grepping. |\n| `graph.html` | HTML | Interactive vis.js visualization. Open in browser. |\n| `graph.json` | JSON | Raw graph data for programmatic querying. |\n| `cache/` | Directory | SHA-256 incremental cache. **Do not commit this directory.** |\n| `graph.svg` | SVG | Static visualization (only with `--svg`) |\n| `graph.graphml` | GraphML | Gephi/yEd export (only with `--graphml`) |\n\n### `graph.json` schema\n\n```json\n{\n  \"nodes\": [\n    {\n      \"id\": \"string\",\n      \"label\": \"string\",\n      \"type\": \"module|class|function|concept|document|media\",\n      \"file\": \"relative/path/to/source.py\",\n      \"line\": 42,\n      \"community\": 3,\n      \"degree\": 17,\n      \"summary\": \"One-line description\"\n    }\n  ],\n  \"edges\": [\n    {\n      \"source\": \"NodeId\",\n      \"target\": \"NodeId\",\n      \"relation\": \"EXTRACTED|INFERRED|AMBIGUOUS\",\n      \"confidence\": 0.85,\n      \"label\": \"calls|imports|implements|references|extends\"\n    }\n  ],\n  \"communities\": [\n    {\n      \"id\": 3,\n      \"label\": \"Authentication Layer\",\n      \"members\": [\"NodeId1\", \"NodeId2\"],\n      \"god_nodes\": [\"NodeId1\"]\n    }\n  ],\n  \"metadata\": {\n    \"graphify_version\": \"0.4.23\",\n    \"generated_at\": \"2026-04-19T10:00:00Z\",\n    \"target_dir\": \".\",\n    \"total_nodes\": 248,\n    \"total_edges\": 891\n  }\n}\n```\n\n---\n\n## Relationship Tags\n\n| Tag | Source | Meaning |\n|-----|--------|---------|\n| `EXTRACTED` | AST / explicit reference | Found directly in source code |\n| `INFERRED` | LLM semantic analysis | Reasonable inference; has `confidence` (0.0–1.0) |\n| `AMBIGUOUS` | LLM with low confidence | Flagged for manual review |\n\n**Edge labels (non-exhaustive):** `calls`, `imports`, `implements`, `extends`, `references`, `uses`, `defines`, `depends_on`, `documents`, `transcribed_from`\n\n---\n\n## .graphifyignore\n\nUses `.gitignore` syntax. Place in the project root.\n\n```\n# Dependencies\nnode_modules/\nvendor/\n.venv/\n__pycache__/\n\n# Build outputs\ndist/\nbuild/\n.next/\nout/\ntarget/\n\n# Generated files\n*.min.js\n*.min.css\n*.generated.*\n*.lock\n*.sum\n\n# Test fixtures / snapshots\n__snapshots__/\ntestdata/\n\n# Graphify cache\ngraphify-out/cache/\n```\n\nSee `templates/graphifyignore.txt` for a comprehensive starter.\n\n---\n\n## Supported File Types\n\n### Code (AST extraction via tree-sitter)\n\nPython, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart\n\n### Documents (LLM semantic extraction)\n\nMarkdown (`.md`, `.mdx`), HTML, plain text (`.txt`), RST, PDF (requires `graphifyy[pdf]`)\n\n### Images (Claude vision)\n\n`.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`\n\n### Video / Audio (local Whisper transcription; requires `graphifyy[video]`)\n\n`.mp4`, `.mov`, `.mkv`, `.webm`, `.mp3`, `.wav`, `.m4a`, `.ogg`\n\n---\n\n## Python Requirements\n\n- Python 3.10 or higher\n- For video/audio: significant CPU/GPU resources; Whisper model weights (~150 MB–1.5 GB) downloaded on first run\n\n---\n\n## Common Issues\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| `command not found: graphify` | pip bin not on PATH | Add `$(python -m site --user-base)/bin` to PATH |\n| Nodes missing for a language | tree-sitter grammar not installed | Run `pip install \"graphifyy\" --upgrade` |\n| Stale graph after edits | Graph not rebuilt | Run `graphify . --update` |\n| `AMBIGUOUS` edges dominating | `--mode deep` too aggressive | Remove `--mode deep` or filter `confidence > 0.7` |\n| Video transcription very slow | Running on CPU only | Install CUDA-enabled torch for GPU acceleration |\n| `AGENTS.md` not respected by OpenClaw | Wrong working directory | Re-run `graphify claw install` from the project root |\n| PDF nodes empty | Missing pdf extra | `pip install \"graphifyy[pdf]\"` |\n\nFile v2.0.1:templates/graphifyignore.txt\n\n# .graphifyignore — copy this to your project root and rename to .graphifyignore\n# Uses .gitignore syntax. Paths are relative to the project root.\n# Graphify will skip any file or directory matched below.\n\n# ── Package managers / dependency trees ──────────────────────────────────────\nnode_modules/\nvendor/\n.venv/\nvenv/\nenv/\n.env/\n__pycache__/\n*.pyc\n*.pyo\n.tox/\n.nox/\nbower_components/\njspm_packages/\n.yarn/\n.pnp.*\n\n# ── Build and distribution outputs ───────────────────────────────────────────\ndist/\nbuild/\nout/\n.next/\n.nuxt/\n.output/\n.svelte-kit/\ntarget/\nbin/\nobj/\n*.egg-info/\n*.dist-info/\nsite/\n\n# ── Generated / compiled files ────────────────────────────────────────────────\n*.min.js\n*.min.css\n*.bundle.js\n*.chunk.js\n*.generated.*\n*.pb.go\n*_pb2.py\n*_pb2_grpc.py\n*.g.dart\n\n# ── Lock files (high noise, low signal) ──────────────────────────────────────\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\npoetry.lock\nCargo.lock\nGemfile.lock\ncomposer.lock\ngo.sum\n\n# ── Test fixtures, snapshots, and large datasets ─────────────────────────────\n__snapshots__/\ntestdata/\nfixtures/\n*.snap\n*.golden\n\n# ── IDE and editor artifacts ──────────────────────────────────────────────────\n.idea/\n.vscode/\n*.swp\n*.swo\n.DS_Store\nThumbs.db\n\n# ── Version control internals ─────────────────────────────────────────────────\n.git/\n.svn/\n.hg/\n\n# ── CI and infrastructure ─────────────────────────────────────────────────────\n.github/\n.circleci/\n.gitlab/\n.terraform/\n*.tfstate\n*.tfstate.backup\n\n# ── Logs, coverage, and profiling ─────────────────────────────────────────────\n*.log\nlogs/\ncoverage/\n.nyc_output/\nhtmlcov/\n*.prof\n*.trace\n\n# ── Secrets and credentials (never index) ─────────────────────────────────────\n.env\n.env.*\n*.pem\n*.key\n*.p12\n*.pfx\nsecrets/\ncredentials/\n\n# ── Graphify cache (never commit) ─────────────────────────────────────────────\ngraphify-out/cache/\n\n# ── Large binary assets (index if you want vision analysis; exclude otherwise) ─\n# *.png\n# *.jpg\n# *.gif\n# *.mp4\n# *.mov\n\nArchive v2.0.0: 5 files, 3880 bytes\n\nFiles: references/api_reference.md (965b), scripts/example.py (587b), SKILL.md (3528b), templates/example_template.txt (885b), _meta.json (127b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources.\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n        - pip\n      env: []\n    install:\n      - kind: uv\n        package: graphifyy\n        bins: [graphify]\n    primaryEnv: \"\"\n    emoji: \"🕸️\"\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nThis skill integrates the **Graphify** tool capabilities into Manus, specifically optimized for **OpenClaw** and other AI coding assistants. It allows for turning folders of code, documentation, images, and videos into queryable knowledge graphs.\n\n## Security Notice\n- **Official Package**: The official PyPI package is named `graphifyy`. Do not install packages named `graphify` as they are not affiliated with this project.\n- **Transcription**: Video and audio transcription is performed locally using `faster-whisper`. This requires significant CPU/GPU resources and will download model weights on first run.\n\n## Installation & Setup\n\nBefore using the skill, ensure the official `graphifyy` package is installed:\n\n```bash\npip install graphifyy\n```\n\nTo initialize graphify for OpenClaw:\n\n```bash\ngraphify install --platform claw\n```\n\nThis command performs the following:\n1. Copies the `graphify` skill to OpenClaw's global skill directory.\n2. Writes an `AGENTS.md` file to your project root to ensure OpenClaw always references the graph.\n\n## Core Workflows\n\n### 1. Building a Knowledge Graph\nRun graphify on a directory to generate the analysis artifacts.\n\n```bash\ngraphify .\n```\n\n**Output Artifacts (in `graphify-out/`):**\n- `graph.html`: Interactive visualization for human review.\n- `GRAPH_REPORT.md`: Summary of \"god nodes\", community structure, and suggested questions for the AI.\n- `graph.json`: The raw graph data for persistent querying.\n\n### 2. Context Injected Querying\nWhen working with OpenClaw, the graph guides the assistant via the `AGENTS.md` mechanism.\n\n- **Always-on**: Run `graphify claw install` to set up the `AGENTS.md` steering file. This informs OpenClaw to check the graph before performing expensive `grep` or `glob` operations.\n- **Manual**: You can also read `graphify-out/GRAPH_REPORT.md` and provide its summary to the assistant's context.\n\n### 3. Handling Specific File Types\n- **Ignore Files**: Use `.graphifyignore` (same syntax as `.gitignore`) to exclude large or irrelevant directories like `node_modules` or `dist`.\n- **Media**: If the folder contains videos or audio, graphify will automatically attempt local transcription using `faster-whisper`.\n\n## Best Practices for Manus\n\n1. **Token Efficiency**: Always prefer reading `GRAPH_REPORT.md` over reading all source files when trying to understand the overall architecture.\n2. **Community Detection**: Use the \"communities\" identified in the report to narrow down which sub-directories are relevant to a specific feature or bug.\n3. **Multimodal Context**: If a user provides a diagram or a whiteboard photo, place it in the project folder and run `graphify .` to link it to the code logic.\n\n## Supported Languages\nPython, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart.\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1776578792650\n}\n\nFile v2.0.0:references/api_reference.md\n\n# Reference Documentation for Graphify Skill\n\nThis is a placeholder for detailed reference documentation.\nReplace with actual reference content or delete if not needed.\n\nExample real reference docs from other skills:\n- product-management/references/communication.md - Comprehensive guide for status updates\n- product-management/references/context_building.md - Deep-dive on gathering context\n- bigquery/references/ - API references and query examples\n\n## When Reference Docs Are Useful\n\nReference docs are ideal for:\n- Comprehensive API documentation\n- Detailed workflow guides\n- Complex multi-step processes\n- Information too lengthy for main SKILL.md\n- Content that's only needed for specific use cases\n\n## Structure Suggestions\n\n### API Reference Example\n- Overview\n- Authentication\n- Endpoints with examples\n- Error codes\n- Rate limits\n\n### Workflow Guide Example\n- Prerequisites\n- Step-by-step instructions\n- Common patterns\n- Troubleshooting\n- Best practices\n\nFile v2.0.0:templates/example_template.txt\n\n# Example Template File\n\nThis placeholder represents where template files would be stored.\nReplace with actual template files (templates, images, fonts, etc.) or delete if not needed.\n\nTemplate files are NOT intended to be loaded into context, but rather used within\nthe output Manus produces.\n\nExample template files from other skills:\n- Brand guidelines: logo.png, slides_template.pptx\n- Frontend builder: hello-world/ directory with HTML/React boilerplate\n- Typography: custom-font.ttf, font-family.woff2\n- Data: sample_data.csv, test_dataset.json\n\n## Common Template Types\n\n- Templates: .pptx, .docx, boilerplate directories\n- Images: .png, .jpg, .svg, .gif\n- Fonts: .ttf, .otf, .woff, .woff2\n- Boilerplate code: Project directories, starter files\n- Icons: .ico, .svg\n- Data files: .csv, .json, .xml, .yaml\n\nNote: This is a text placeholder. Actual templates can be any file type.\n\nArchive v1.0.0: 5 files, 3773 bytes\n\nFiles: references/api_reference.md (965b), scripts/example.py (587b), SKILL.md (3307b), templates/example_template.txt (885b), _meta.json (127b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources.\"\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - pip\n        - graphify\n      env: []\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nThis skill integrates the **Graphify** tool capabilities into Manus, specifically optimized for **OpenClaw** and other AI coding assistants. It allows for turning folders of code, documentation, images, and videos into queryable knowledge graphs.\n\n## Capabilities\n\n- **Deterministic AST Parsing**: Extracts classes, functions, and call graphs for 25+ languages.\n- **Multimodal Extraction**: Processes PDFs, images, and videos (via Whisper) to extract concepts and relationships.\n- **Context Sharing**: Generates `GRAPH_REPORT.md` and interactive `graph.html` to provide high-level context to LLMs.\n- **Clustering**: Uses Leiden community detection to identify functional modules without embeddings.\n\n## Installation & Setup\n\nBefore using the skill, ensure `graphifyy` is installed in the environment:\n\n```bash\npip install graphifyy\n```\n\nTo initialize graphify for a specific platform (e.g., OpenClaw):\n\n```bash\ngraphify install --platform claw\n```\n\n## Core Workflows\n\n### 1. Building a Knowledge Graph\nRun graphify on a directory to generate the analysis artifacts.\n\n```bash\ngraphify .\n```\n\n**Output Artifacts (in `graphify-out/`):**\n- `graph.html`: Interactive visualization for human review.\n- `GRAPH_REPORT.md`: Summary of \"god nodes\", community structure, and suggested questions for the AI.\n- `graph.json`: The raw graph data for persistent querying.\n\n### 2. Context Injected Querying\nWhen working with OpenClaw or Claude Code, use the graph to guide the assistant.\n\n- **Manual**: Read `graphify-out/GRAPH_REPORT.md` and provide its summary to the assistant's context.\n- **Automatic**: Run `graphify claw install` to set up the always-on mechanism. This informs the assistant to check the graph before performing expensive `grep` or `glob` operations.\n\n### 3. Handling Specific File Types\n- **Ignore Files**: Use `.graphifyignore` (same syntax as `.gitignore`) to exclude large or irrelevant directories like `node_modules` or `dist`.\n- **Media**: If the folder contains videos or audio, graphify will automatically attempt transcription if the environment supports it.\n\n## Best Practices for Manus\n\n1. **Token Efficiency**: Always prefer reading `GRAPH_REPORT.md` over reading all source files when trying to understand the overall architecture.\n2. **Community Detection**: Use the \"communities\" identified in the report to narrow down which sub-directories are relevant to a specific feature or bug.\n3. **Multimodal Context**: If a user provides a diagram or a whiteboard photo, place it in the project folder and run `/graphify` to link it to the code logic.\n\n## Supported Languages\nPython, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776578255555\n}\n\nFile v1.0.0:references/api_reference.md\n\n# Reference Documentation for Graphify Skill\n\nThis is a placeholder for detailed reference documentation.\nReplace with actual reference content or delete if not needed.\n\nExample real reference docs from other skills:\n- product-management/references/communication.md - Comprehensive guide for status updates\n- product-management/references/context_building.md - Deep-dive on gathering context\n- bigquery/references/ - API references and query examples\n\n## When Reference Docs Are Useful\n\nReference docs are ideal for:\n- Comprehensive API documentation\n- Detailed workflow guides\n- Complex multi-step processes\n- Information too lengthy for main SKILL.md\n- Content that's only needed for specific use cases\n\n## Structure Suggestions\n\n### API Reference Example\n- Overview\n- Authentication\n- Endpoints with examples\n- Error codes\n- Rate limits\n\n### Workflow Guide Example\n- Prerequisites\n- Step-by-step instructions\n- Common patterns\n- Troubleshooting\n- Best practices\n\nFile v1.0.0:templates/example_template.txt\n\n# Example Template File\n\nThis placeholder represents where template files would be stored.\nReplace with actual template files (templates, images, fonts, etc.) or delete if not needed.\n\nTemplate files are NOT intended to be loaded into context, but rather used within\nthe output Manus produces.\n\nExample template files from other skills:\n- Brand guidelines: logo.png, slides_template.pptx\n- Frontend builder: hello-world/ directory with HTML/React boilerplate\n- Typography: custom-font.ttf, font-family.woff2\n- Data: sample_data.csv, test_dataset.json\n\n## Common Template Types\n\n- Templates: .pptx, .docx, boilerplate directories\n- Images: .png, .jpg, .svg, .gif\n- Fonts: .ttf, .otf, .woff, .woff2\n- Boilerplate code: Project directories, starter files\n- Icons: .ico, .svg\n- Data files: .csv, .json, .xml, .yaml\n\nNote: This is a text placeholder. Actual templates can be any file type.","readmeExcerpt":"Skill: graphify Owner: fantox Summary: AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural... Tags: latest:2.1.0 Version history: v2.1.0 | 2026-04-19T07:52:21.195Z | user **Credential requirements for semantic extraction now clearly specified in environment metadata.** - Added ANTHROPIC_API_KEY and OPENAI_API_KEY","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"pip install graphify"},{"language":"bash","snippet":"pip install \"graphify[pdf,video,watch,svg]\""},{"language":"bash","snippet":"graphify claw install"},{"language":"bash","snippet":"graphify claude install     # Claude Code (CLAUDE.md + PreToolUse hook)\ngraphify cursor install     # Cursor (.cursorrules)\ngraphify codex install      # Codex (AGENTS.md)\ngraphify copilot install    # GitHub Copilot CLI\ngraphify gemini install     # Gemini CLI\ngraphify aider install      # Aider"},{"language":"bash","snippet":"graphify hook install"},{"language":"bash","snippet":"graphify ."}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: graphify-skill\ndescription: \"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural analysis, context sharing with OpenClaw/Claude Code, and extracting design rationale from multimodal sources. Always check graphify-out/GRAPH_REPORT.md before grepping or globbing to find relevant files.\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n        - pip\n      env:\n        - name: ANTHROPIC_API_KEY\n          description: \"Required for semantic extraction (docs, PDFs, images). Not needed for AST-only code extraction.\"\n          required: false\n        - name: OPENAI_API_KEY\n          description: \"Alternative LLM backend for semantic extraction.\"\n          required: false\n    install:\n      - kind: uv\n        package: graphify\n        bins: [graphify]\n    primaryEnv: \"\"\n    emoji: \"🕸️\"\n    homepage: https://github.com/safishamsi/graphify\n    os:\n      - linux\n      - macos\n      - windows\n---\n\n# Graphify Skill\n\nGraphify turns a folder of code, docs, images, and videos into a **queryable knowledge graph**. After running `graphify .`, the generated `GRAPH_REPORT.md` is referenced by the assistant when you ask it to explore the codebase. Use it to navigate unfamiliar codebases, trace architectural intent, and share context efficiently.\n\n**Credential note:** Semantic extraction (docs, PDFs, images) calls an external LLM using your own API key (`ANTHROPIC_API_KEY` or `OPENAI_API_KEY`). AST code extraction and Whisper transcription run fully locally with no API key required.\n\n> **Token efficiency:** Reading `GRAPH_REPORT.md` is ~71.5× cheaper than reading raw source files. Always check it first.\n\n---\n\n## Installation\n\n### Minimum install\n```bash\npip install graphify\n```\n\n### Recommended install with all extras\n```bash\npip install \"graphify[pdf,video,watch,svg]\"\n```\n\n| Extra | Adds support for |\n|-------|-----------------|\n| `pdf` | PDF papers and documents |\n| `video` | Video/audio transcription via faster-whisper |\n| `watch` | `--watch` file monitoring |\n| `svg` | `--svg` export |\n| `mcp` | Model Context Protocol server |\n| `neo4j` | Neo4j graph database integration |\n| `office` | Word/Excel/PowerPoint documents |\n\n### Register with OpenClaw\n```bash\ngraphify claw install\n```\n\nThis copies the skill into OpenClaw's global skill directory and writes an `AGENTS.md` to the project root so the graph is consulted on every tool call.\n\n### Register with other platforms\n```bash\ngraphify claude install     # Claude Code (CLAUDE.md + PreToolUse hook)\ngraphify cursor install     # Cursor (.cursorrules)\ngraphify codex install      # Codex (AGENTS.md)\ngraphify copilot install    # GitHub Copilot CLI\ngraphify gemini install     # Gemini CLI\ngraphify aider install      # Aider\n```\n\n### Git post-commit hook (optional, local project only)\nInstalls a hook in the current project's `.git/hooks/` — no global changes.\n```bash\ngraphify hook install\n```\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71dktm0ht90f72ja215th2bx84mxs8\",\n  \"slug\": \"graphify\",\n  \"version\": \"2.1.0\",\n  \"publishedAt\": 1776585141195\n}"},{"path":"references/api_reference.md","content":"# Graphify API Reference\n\nComplete reference for the `graphify` CLI (package `graphify`, v0.4.23+).\n\n---\n\n## Command Overview\n\n```\ngraphify <target> [options]       Build or update a knowledge graph\ngraphify query \"<question>\"       Semantic search on the graph\ngraphify path \"NodeA\" \"NodeB\"     Shortest path between two nodes\ngraphify explain \"NodeName\"       Plain-language node explanation\ngraphify add <url>                Add external content to the graph\ngraphify <platform> install       Register with an AI assistant platform\ngraphify hook install             Install git post-commit rebuild hook\n```\n\n---\n\n## Build Commands\n\n### `graphify <target>`\n\nBuild a knowledge graph from a directory.\n\n```bash\ngraphify .                    # current directory\ngraphify ./src                # specific subdirectory\ngraphify /absolute/path       # absolute path\n```\n\n**Flags:**\n\n| Flag | Description |\n|------|-------------|\n| `--mode deep` | Aggressive INFERRED edge extraction with confidence scores |\n| `--update` | Reprocess only files changed since last run (uses SHA-256 cache) |\n| `--directed` | Preserve edge directionality in the output graph |\n| `--cluster-only` | Re-run Leiden community detection without re-extracting nodes/edges |\n| `--no-viz` | Skip generating `graph.html` (faster; useful in CI) |\n| `--watch` | Auto-sync graph as files change (requires `graphify[watch]`) |\n| `--wiki` | Generate Wikipedia-style article per node |\n| `--svg` | Export SVG visualization (requires `graphify[svg]`) |\n| `--graphml` | Export GraphML file for Gephi / yEd |\n\n**Extraction pipeline (in order):**\n1. **AST extraction** — tree-sitter deterministic parsing; no LLM calls; produces `EXTRACTED` edges\n2. **Transcription** — faster-whisper local audio/video processing; domain-aware prompts\n3. **Semantic extraction** — parallel LLM subagents for docs, PDFs, images; produces `EXTRACTED` and `INFERRED` edges\n\n---\n\n## Query Commands\n\n### `graphify query \"<question>\"`\n\nSemantic natural-language search across the knowledge graph.\n\n```bash\ngraphify query \"where is rate limiting enforced?\"\ngraphify query \"what calls the payment processor?\" --dfs\n```\n\n| Flag | Description |\n|------|-------------|\n| `--dfs` | Depth-first traversal; traces a specific execution path instead of ranking |\n\n**Returns:** Ranked list of matching nodes with relationship context and source file references.\n\n---\n\n### `graphify path \"NodeA\" \"NodeB\"`\n\nFind the shortest path between two named nodes in the graph.\n\n```bash\ngraphify path \"AuthMiddleware\" \"PostgresAdapter\"\ngraphify path \"UserController\" \"EmailService\"\n```\n\n**Use for:** Impact analysis before editing a module, tracing coupling chains, verifying isolation.\n\n---\n\n### `graphify explain \"NodeName\"`\n\nGenerate a plain-language explanation of a node and its relationships.\n\n```bash\ngraphify explain \"UserSessionManager\"\ngraphify explain \"RateLimiter\"\n```\n\n**Returns:** What the node does, what it connects to, and which community it belongs to.\n\n---\n\n## Content "},{"path":"skill-card.md","content":"## Description:\n\nAI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fantox](https://clawhub.ai/user/fantox)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use Graphify to generate and query knowledge graphs for unfamiliar codebases, architecture analysis, impact tracing, and context sharing with AI coding assistants.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Semantic extraction can send selected documents, PDFs, or images to an external LLM provider when an API key is configured.\n\nMitigation: Use only intended API keys and review inputs before semantic extraction; AST code extraction and Whisper transcription can run without those API keys.\n\nRisk: Generated knowledge graphs may include sensitive files if the project is indexed without exclusions.\n\nMitigation: Create a .graphifyignore that excludes secrets, credentials, caches, build output, dependency directories, and other high-noise or sensitive paths before indexing.\n\nRisk: URL ingestion and assistant or git hook installation can add external content or project-local automation.\n\nMitigation: Run URL ingestion and assistant or git hook setup only when those project-scoped changes are intended.\n\nRisk: The installed graphify package is external to the skill artifact.\n\nMitigation: Install in a virtual environment and review the graphify package provenance and version before use.\n\n## Reference(s):\n\n- [Graphify API Reference](artifact/references/api_reference.md)\n- [ClawHub skill page](https://clawhub.ai/fantox/skills/graphify)\n- [Graphify project homepage](https://github.com/safishamsi/graphify)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and references to generated graph artifacts]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference graphify-out/GRAPH_REPORT.md, graphify-out/graph.json, graph.html, and optional export files produced by the graphify CLI.]\n\n## Skill Version(s):\n\n2.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"templates/graphifyignore.txt","content":"# .graphifyignore — copy this to your project root and rename to .graphifyignore\n# Uses .gitignore syntax. Paths are relative to the project root.\n# Graphify will skip any file or directory matched below.\n\n# ── Package managers / dependency trees ──────────────────────────────────────\nnode_modules/\nvendor/\n.venv/\nvenv/\nenv/\n.env/\n__pycache__/\n*.pyc\n*.pyo\n.tox/\n.nox/\nbower_components/\njspm_packages/\n.yarn/\n.pnp.*\n\n# ── Build and distribution outputs ───────────────────────────────────────────\ndist/\nbuild/\nout/\n.next/\n.nuxt/\n.output/\n.svelte-kit/\ntarget/\nbin/\nobj/\n*.egg-info/\n*.dist-info/\nsite/\n\n# ── Generated / compiled files ────────────────────────────────────────────────\n*.min.js\n*.min.css\n*.bundle.js\n*.chunk.js\n*.generated.*\n*.pb.go\n*_pb2.py\n*_pb2_grpc.py\n*.g.dart\n\n# ── Lock files (high noise, low signal) ──────────────────────────────────────\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\npoetry.lock\nCargo.lock\nGemfile.lock\ncomposer.lock\ngo.sum\n\n# ── Test fixtures, snapshots, and large datasets ─────────────────────────────\n__snapshots__/\ntestdata/\nfixtures/\n*.snap\n*.golden\n\n# ── IDE and editor artifacts ──────────────────────────────────────────────────\n.idea/\n.vscode/\n*.swp\n*.swo\n.DS_Store\nThumbs.db\n\n# ── Version control internals ─────────────────────────────────────────────────\n.git/\n.svn/\n.hg/\n\n# ── CI and infrastructure ─────────────────────────────────────────────────────\n.github/\n.circleci/\n.gitlab/\n.terraform/\n*.tfstate\n*.tfstate.backup\n\n# ── Logs, coverage, and profiling ─────────────────────────────────────────────\n*.log\nlogs/\ncoverage/\n.nyc_output/\nhtmlcov/\n*.prof\n*.trace\n\n# ── Secrets and credentials (never index) ─────────────────────────────────────\n.env\n.env.*\n*.pem\n*.key\n*.p12\n*.pfx\nsecrets/\ncredentials/\n\n# ── Graphify cache (never commit) ─────────────────────────────────────────────\ngraphify-out/cache/\n\n# ── Large binary assets (index if you want vision analysis; exclude otherwise) ─\n# *.png\n# *.jpg\n# *.gif\n# *.mp4\n# *.mov"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural... Skill: graphify Owner: fantox Summary: AI coding assistant skill for building and querying knowledge graphs from codebases, docs, and media. Use for: understanding complex codebases, architectural... Tags: latest:2.1.0 Version history: v2.1.0 | 2026-04-19T07:52:21.195Z | user **Credential requirements for semantic extraction now clearly specified in environment metadata.** - Added ANTHROPIC_API_KEY and OPENAI_API_KEY","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1826,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T09:19:50.399Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:52:32.566Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}