Adversarially review a grooming spec before implementation starts. Finds hidden risks, unvalidated assumptions, and missing dependencies. Standalone entry point for the challenger agent.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Read and refresh wp-rocket's pre-built dependency graph at .claude/graph/dependency-graph.json. Use to locate a class file, trace dependencies, find the ServiceProvider that wires a service, or enumerate Subscribers in a module — without re-scanning the codebase from scratch. This skill is primarily a reader: the graph is built (and incrementally refreshed) by `node bin/build-knowledge-graph.js`. Invoke this skill at session start (to refresh if stale) and before grep/glob searches for class relationships.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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": {
"inc/Engine/Cache/Subscriber.php": {
"language": "php",
"namespace": "WP_Rocket\\Engine\\Cache",
"symbols": [
{ "kind": "class", "name": "Subscriber", "extends": [], "implements": ["Subscriber_Interface"] }
],
"imports": [
"WP_Rocket\\Event_Management\\Subscriber_Interface",
"WP_Rocket\\Engine\\Cache\\Purge"
]
}
},
"symbol_index": {
"WP_Rocket\\Engine\\Cache\\Subscriber": "inc/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["WP_Rocket\\Engine\\Cache\\Purge"]
→ "inc/Engine/Cache/Purge.php"
The ServiceProvider that registers a class imports it. Search for files whose imports contain the target FQN:
filter nodes where "WP_Rocket\\Engine\\Cache\\Purge" ∈ node.imports
→ "inc/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. WP_Rocket\Engine\Cache)symbols[*].implements contains Subscriber_InterfaceFilter nodes where symbols[*].extends contains AbstractServiceProvider.
symbol_index["WP_Rocket\\...\\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.
apply_filters directly (not wpm_apply_filters_typed)This requires reading the actual files, but the graph narrows the field: only check PHP nodes in inc/Engine/ and inc/Addon/ (the paths covered by PHPStan).
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.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Adversarially review a grooming spec before implementation starts. Finds hidden risks, unvalidated assumptions, and missing dependencies. Standalone entry point for the challenger agent.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Check a change against WordPress.org plugin rules and PHPCS standards.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Update developer-facing documentation to reflect code changes on the current branch. Runs as an inline skill inside backend-agent and frontend-agent (step 2.5 of the internal sequence) after implementation and before DOD. Receives the explicit list of changed files from the implementation agent. No-op if no public API changes occurred.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Run the Definition of Done checklist for the current wp-rocket branch and report PASS/WARN/FAIL with evidence. Two modes: layer 1 (self-correction inside backend-agent / frontend-agent — resolves FAILs before handoff) and layer 2 (independent orchestrator gate — fresh perspective after handoff). Pass layer: "1" or layer: "2" when invoking.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Run a basic E2E behavioral probe — one primary scenario smoke test for the grooming step.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.