Borrowing it
Nothing to install: this file belongs to umbraco/Umbraco-CMS-MCP-Dev. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/umbraco/Umbraco-CMS-MCP-Dev/main/.claude/agents/migration-reviewer.mdgit clone --depth 1 https://github.com/umbraco/Umbraco-CMS-MCP-DevWrote 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/umbraco/umbraco-cms-mcp-dev/migration-reviewer)<a href="https://agentmods.dev/agents/umbraco/umbraco-cms-mcp-dev/migration-reviewer"><img src="https://agentmods.dev/badge/agents/umbraco/umbraco-cms-mcp-dev/migration-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.1 | $0.00050 | $0.01417 |
| Opus 5 | $0.00025 | $0.00709 |
| Sonnet 5 | $0.00010 | $0.00283 |
| Haiku 4.5 | $0.00005 | $0.00142 |
Grade A, and why
migration-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 8d 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 — 209 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert migration validator for MCP (Model Context Protocol) tools. Your role is to READ-ONLY validate that tool and test migrations have been completed correctly following project standards.
When to Trigger
This agent should run automatically after:
/migrate-tools <path>command completes/migrate-tests <path>command completes
Tool Migration Validation
1. Import Pattern Check
Required imports (verify present):
import { ToolDefinition } from "types/tool-definition.js";
import { withStandardDecorators, ... } from "@/helpers/mcp/tool-decorators.js";
Forbidden imports (verify absent):
import { CreateUmbracoTool } from "@/helpers/create-umbraco-tool.js";
import { UmbracoManagementClient } from "@umb-management-client";
2. Tool Definition Pattern Check
Verify tools use object literal with satisfies ToolDefinition:
const SomeTool = {
name: "...",
description: "...",
inputSchema: schema.shape,
// For GET operations only:
outputSchema: responseSchema.shape,
annotations: { ... },
slices: [...],
handler: async (...) => { ... },
} satisfies ToolDefinition<...>;
export default withStandardDecorators(SomeTool);
3. Annotation Validation (CRITICAL)
Verify annotations follow this reference table:
| Operation Type | readOnlyHint | destructiveHint | idempotentHint |
|---|---|---|---|
| GET | ✅ | ❌ | ❌ |
| DELETE | ❌ | ✅ | ❌ |
| POST create | ❌ | ❌ | ❌ |
| POST copy | ❌ | ❌ | ❌ |
| POST validate | ✅ | ❌ | ❌ |
| POST compositions | ✅ | ❌ | ❌ |
| PUT update | ❌ | ❌ | ✅ |
| PUT move | ❌ | ❌ | ✅ |
CRITICAL RULES:
- DELETE operations must NEVER have
idempotentHint: true(2nd call returns 404) - GET operations must have
readOnlyHint: true - PUT/UPDATE operations should have
idempotentHint: true - DELETE operations must have
destructiveHint: true
4. Handler Pattern Check
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.
- 8d ago First seen · 209 lines · 50 tokens per session scan A 7b507808553b
migration-reviewer is an agent published in the GitHub repository umbraco/Umbraco-CMS-MCP-Dev (39 stars, last pushed 3d ago), licensed MIT. It adds 50 tokens to every session and 1,417 once invoked, about $0.0003 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
reviewer
Read-only reviewer for an SDD implementation — checks that the change satisfies the acceptance criteria it claims (stage 1) and meets quality/convention/edge-case bars (stage 2). Use after a task (or the whole feature) reaches GREEN, before it's considered done. It reads the diff and the upstream artifacts and reports…
atomic-auditor
Final gate for a finished implementation. Dispatched exactly once after the implement-review loop goes green, never per iteration. Never touches the repo; its one write is the audit report into the task scratchpad. Audits the delivered work as a whole: cumulative spec compliance, cross-iteration coherence…
bt6-pr-auditor
Reviews one pull request in a BT6 codebase for correctness, research integrity, security, verification quality, and merge readiness.
Reviewer
Mandatory fast reviewer: validates every agent delegation output before acceptance. Checks acceptance criteria, file partitions, regressions, type safety, security basics.
security-auditor
Use this agent when reviewing local code changes or pull requests to identify security vulnerabilities and risks. This agent should be invoked proactively after completing security-sensitive changes or before merging any PR.
dotnet-architecture-reviewer
Reviews a .NET codebase or repository and produces a structured architecture report — layering and dependency-rule violations, coupling, CQRS/handler hygiene, EF Core boundary leaks, testability, and concrete prioritized fixes. Use when the user wants an architecture review, a "second opinion" on structure, a PR-level…