원클릭으로
knowledge-graph
Read and refresh the project's dependency graph to trace classes, services, and modules.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Read and refresh the project's dependency graph to trace classes, services, and modules.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Generate a bespoke issue-workflow for any target project. Phase 1 — a Claude Opus analyst reads the project deeply and produces a disposition report. Phase 2 — on approval, parallel writer agents transplant every Maestro workflow component, adapted to the target project's actual stack, test runner, dev environment, and conventions. Use when a project needs its own self-contained issue-workflow without taking a direct dependency on Maestro.
Show the Maestro command map — a quick reference to all available skills.
Adversarially review a grooming spec before implementation starts. Finds hidden risks, unvalidated assumptions, and missing dependencies. Standalone entry point for the challenger agent.
Run QA validation on a pull request — boots the local environment, tests acceptance criteria, and optionally posts the report as a PR comment. Standalone entry point for the qa-engineer agent.
Run a lead code review on the current branch or a given PR. Standalone entry point for the lead-reviewer agent.
Groom a single GitHub issue — produce an implementation spec and optionally post the grooming summary as a GitHub comment. Standalone entry point for the grooming-agent.
| name | knowledge-graph |
| description | Read and refresh the project's dependency graph to trace classes, services, and modules. |
A pre-built dependency graph lives at .claude/graph/dependency-graph.json. The
builder is node bin/build-knowledge-graph.js (incremental by default, --full to force
rebuild).
This skill has two responsibilities:
base_commit ≠ git rev-parse HEAD).Read it before running grep/glob searches for class relationships, namespace exploration, or dependency tracing. It eliminates redundant file scans and speeds up the first useful response in any session.
{
"generated_at": "<ISO timestamp>",
"base_commit": "<git SHA>",
"node_count": 913,
"nodes": {
"src/Engine/Cache/Subscriber.php": {
"language": "php",
"namespace": "Plugin\\Engine\\Cache",
"symbols": [
{ "kind": "class", "name": "Subscriber", "extends": [], "implements": ["Subscriber_Interface"] }
],
"imports": [
"Plugin\\Event_Management\\Subscriber_Interface",
"Plugin\\Engine\\Cache\\Purge"
]
}
},
"symbol_index": {
"Plugin\\Engine\\Cache\\Subscriber": "src/Engine/Cache/Subscriber.php"
}
}
nodes — keyed by relative file path. Each node has the language (php or js), declared symbols (PHP only), and all import/use statements.symbol_index — maps every fully-qualified PHP class / interface / trait / enum to its file path. Use this for instant "where is this class?" lookups.symbol_index["Plugin\\Engine\\Cache\\Purge"]
→ "src/Engine/Cache/Purge.php"
The ServiceProvider that registers a class imports it. Search for files whose imports contain the target FQN:
filter nodes where "Plugin\\Engine\\Cache\\Purge" ∈ node.imports
→ "src/Engine/Cache/ServiceProvider.php"
Then read that ServiceProvider to see how the class is registered in register().
Filter nodes where:
namespace starts with the module prefix (e.g. Plugin\Engine\Cache)symbols[*].implements contains Subscriber_InterfaceFilter nodes where symbols[*].extends contains AbstractServiceProvider.
symbol_index["Plugin\\...\\ClassName"] → get file pathnodes[file].imports → these are its direct dependenciesCheck nodes[file].imports for any FQN that shouldn't be there.
For example, a Frontend Subscriber importing an Admin class is a red flag.
The graph records the git commit it was built from (base_commit). If that SHA differs from HEAD, run:
node bin/build-knowledge-graph.js
The script is incremental — it only re-parses files changed since base_commit. Use --full to force a complete rebuild.
When to refresh:
| Language | What is extracted |
|---|---|
| PHP | namespace, class/interface/trait/enum declarations (with extends/implements), use imports (including grouped \{A, B} forms) |
| TypeScript / JavaScript | import (static + dynamic) and require() sources |
Before writing a single line of code for an issue:
base_commit vs HEAD — refresh if stale.symbol_index to locate all classes involved in the fix.nodes[file].imports — know the dependency chain before touching the constructor.