From tentaqles
Build a knowledge graph from the current workspace and embed all nodes for semantic search. Supports two engines — graphify (external) or native (built-in). Use when the user wants to analyze codebase structure, map architecture, understand relationships between files/modules, or says "build graph", "map the codebase", "analyze this project".
How this skill is triggered — by the user, by Claude, or both
Slash command
/tentaqles:build-graphThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build a knowledge graph from the current directory, then embed all nodes for semantic search across sessions.
Build a knowledge graph from the current directory, then embed all nodes for semantic search across sessions.
python -c "
import sys, os
sys.path.insert(0, os.environ.get('CLAUDE_PLUGIN_ROOT', '.'))
from tentaqles.graph import get_engine
try:
engine = get_engine()
print(f'Engine: {engine.name}')
except RuntimeError as e:
print(f'ERROR: {e}')
"
If no engine is available, tell the user their options:
pip install graphifyy — uses the graphify package (recommended, most mature)pip install tentaqles[graph] — uses the native Tentaqles engine (built-in, includes all enhancements)If using graphify engine: Run /graphify on the current directory. The graphify skill handles the full pipeline (detection, AST extraction, semantic extraction with subagents, clustering, reporting, HTML visualization). After it completes, continue to the embedding step below.
If using native engine:
python -c "
import sys, os
sys.path.insert(0, os.environ.get('CLAUDE_PLUGIN_ROOT', '.'))
from tentaqles.graph import get_engine
from pathlib import Path
engine = get_engine()
result = engine.build(Path(os.getcwd()))
print(f'Graph built: {result.get(\"nodes\", 0)} nodes, {result.get(\"edges\", 0)} edges, {result.get(\"communities\", 0)} communities')
print(f'Output: {result.get(\"output_dir\", \"graphify-out/\")}')
"
After the graph is built (by either engine), embed all nodes:
python -c "
import sys, os
sys.path.insert(0, os.environ.get('CLAUDE_PLUGIN_ROOT', '.'))
from tentaqles.graph import get_engine
engine = get_engine()
result = engine.embed('graphify-out/graph.json')
print(f'Embedded {result[\"nodes_embedded\"]} nodes ({result[\"file_size_kb\"]} KB)')
print('Semantic search is now active for /tentaqles:query-memory')
"
Tell the user:
/tentaqles:query-memory to search the graph by meaning"npx claudepluginhub tentaqles/tentaqles-pluginGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.