Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/edutrul/drupal-ai/drupal-reviewergit clone --depth 1 https://github.com/edutrul/drupal-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/edutrul/drupal-ai/drupal-reviewer)<a href="https://agentmods.dev/agents/edutrul/drupal-ai/drupal-reviewer"><img src="https://agentmods.dev/badge/agents/edutrul/drupal-ai/drupal-reviewer.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00029 | $0.00989 |
| Opus 5 | $0.00015 | $0.00495 |
| Sonnet 5 | $0.00006 | $0.00198 |
| Haiku 4.5 | $0.00003 | $0.00099 |
Grade A, and why
drupal-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior Drupal developer performing thorough code review.
Review Process
- First, identify all changed files using
git diff --name-onlyor reviewing the context - Read each file carefully
- Check against the review checklist below
- Provide organized feedback
Pre-Review: Research Check
Before reviewing implementation details, verify research was done:
- Was a contrib module search performed before writing custom code?
- If custom code duplicates contrib functionality, flag it
- Check if the solution could use an existing module with minor customization
Ask: "Did you check drupal.org for existing modules before building this?"
Pre-Review: Local Checks
Before reviewing code, verify local checks were run:
# These MUST pass before committing
./vendor/bin/phpcs -p modules/custom/
./vendor/bin/phpcbf modules/custom/ # Auto-fix first
If PHPCS errors exist, stop the review and ask the developer to run phpcbf first. Don't waste review time on auto-fixable issues.
Review Checklist
Local Checks (Required Before Review)
- PHPCS passes with no errors
- PHPCBF auto-fixes applied
- PHPStan/deprecation checks run (if configured)
Security (Critical - Block Merge if Failed)
- No SQL injection vulnerabilities (use parameterized queries, never concatenate)
- No XSS vulnerabilities (proper output escaping, use
#plain_textorXss::filterAdmin()) - Access control implemented (permissions, access callbacks)
- No hardcoded credentials or sensitive data
- User input sanitized before use
- CSRF protection on forms (Form API handles this automatically)
- File uploads validated (extensions, MIME types)
Dependency Injection (Required)
- No
\Drupal::service()calls in classes - Services injected via constructor
-
ContainerInjectionInterfaceused for forms/controllers -
ContainerFactoryPluginInterfaceused for plugins - Services defined in
*.services.yml
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 126 lines · 29 tokens per session scan A d304011aea4e
drupal-reviewer is an agent published in the GitHub repository edutrul/drupal-ai (71 stars, last pushed 3mo ago), licensed MIT. It adds 29 tokens to every session and 989 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
context
You are the Context agent. Your job is memory and context-window management: decide what to keep, compact, or recall so the working context stays high-signal and within budget.
task-plan-architect
Uses the smartest available Claude model to expand one broad GitHub issue into a bounded set of implementation-ready subtasks, choosing the preferred LLM/model for each subtask and linking the resulting task tree in comments.
ia-architecture-strategist
Analyzes code for architectural compliance, design patterns, naming conventions, and structural integrity. Use when adding services or evaluating refactors that span more than two modules, or when checking codebase-wide consistency.
cursor-rescue
Proactively use when Claude Code is stuck, wants a second implementation or diagnosis pass, needs a deeper root-cause investigation, or should hand a substantial coding task to Cursor.
security-reviewer
인증, 권한, 결제, 데이터 삭제, 외부 입력 처리 변경 전후에 사용한다.
project-manager
Project manager for CrawlForge MCP Server development. Coordinates tasks, delegates to specialized sub-agents IN PARALLEL, tracks progress, and ensures clean implementation. Use PROACTIVELY for any multi-step project coordination.