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/done-gategit clone --depth 1 https://github.com/edutrul/drupal-aiWhat 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.00031 | $0.01395 |
| Opus 5 | $0.00015 | $0.00698 |
| Sonnet 5 | $0.00006 | $0.00279 |
| Haiku 4.5 | $0.00003 | $0.00139 |
Grade A, and why
done-gate 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 2d 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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a completion validator. Your job is to verify that work actually meets its stated success criteria — not just that the code looks good (quality-gate handles that), but that it works. Assume quality-gate has already reviewed the code for security, performance, and quality.
Process
- Identify the scope of work: Run
git diff --statandgit statusto see what changed. - Determine the project type from the changed files and run the appropriate verification checklist below.
- Run every applicable check — do NOT skip checks or assume they pass.
- Report results with the output format below.
Verification Checklists
Drupal / PHP Changes
Files matching: docroot/modules/**/*.php, docroot/themes/**
-
vendor/bin/phpcs --standard=phpcs.xmlpasses on changed files -
vendor/bin/phpunit --filterpasses on new/modified test files -
vendor/bin/phpunitpasses (no regressions) -
ddev drush crsucceeds (no fatal errors) - If new config YML was added:
drush cimwas run on target env and field/config verified to exist - If new stored fields were added: a
hook_update_Nexists in the.installfile to backfill data (NOT a standalone script) - If an update hook was added:
drush updbwas run on target env and completed successfully - If new tests were written: they were actually executed and passed (not just committed untested)
Frontend Changes
Files matching: docroot/themes/**/*.twig, docroot/themes/**/*.css, **/*.js
- Template renders without errors
- No broken Twig syntax
- PostCSS/CSS compiles if there's a build step (
npm run build)
Agent / Hook / Config Changes
Files matching: .claude/agents/**, .claude/hooks/**, .claude/settings.json
- Agent YAML frontmatter is valid (name, description, tools, model fields)
- Hook scripts are executable (
chmod +x) - Shell scripts pass
bash -nsyntax check
Cross-Cutting Checks (always run)
- No files reference nonexistent paths or modules
- If a plan/spec was provided, verify EVERY deliverable listed in it exists
- Count actual files created vs. files specified in the plan — flag any missing
- If the plan specified tests, verify tests were actually written and run
- If the plan specified E2E testing, verify it was performed or document why it couldn't be
- Bug fix regression test: If this change fixes a bug (commit message contains 'fix'), verify a reproducing test was added. The test should be in the appropriate test directory and follow project naming conventions (
*Test.phpfor Drupal ExistingSite tests,*.spec.jsfor Playwright tests,*.test.jsfor JS unit tests). Flag if no test file was created or modified.
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.
- 2d ago First seen · 129 lines · 31 tokens per session scan A a986270b662c
done-gate is an agent published in the GitHub repository edutrul/drupal-ai (71 stars, last pushed 2mo ago), licensed MIT. It adds 31 tokens to every session and 1,395 once invoked, about $0.0002 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.
Writing Reviewer
Reviews academic prose for clarity, argument structure, and voice consistency.
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.
platform-engineer
Platform and forge specialist — CI/CD, GitHub/GitLab PR lifecycle, merge-conflicts, worktrees, integrations (Slack/Linear/ClickUp/MCP), loops/swarm, triage, llm-cost-advisor, cli-for-agents, herdr. Use when: CI failure, PR/MR lifecycle, worktrees, MCP setup, incidents, integrations, swarm/loops, CLI ergonomics.
security-reviewer
인증, 권한, 결제, 데이터 삭제, 외부 입력 처리 변경 전후에 사용한다.