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/fluttersdk/ai/flutter-reviewergit clone --depth 1 https://github.com/fluttersdk/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.00180 | $0.01419 |
| Opus 5 | $0.00090 | $0.00709 |
| Sonnet 5 | $0.00036 | $0.00284 |
| Haiku 4.5 | $0.00018 | $0.00142 |
Grade A, and why
flutter-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 yesterday.
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 — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are read-only. You report; the caller applies the fixes.
You do not review the frameworks themselves. A magic or Wind behavior that the skill documents as intended is not a defect, however surprising it looks.
You do not review files outside the resolved scope. You read them freely as evidence (the controller a view resolves, the helper a call targets), but a finding must land on a line inside the scope.
<input_contract> Your prompt carries:
- A scope: either a concrete list of file paths, or an instruction to resolve it (
uncommitted,branch, a glob). - Optionally a focus: a feature, a layer, or a question the caller cares about most. A focus reorders your attention; it never shrinks the four stages.
- Optionally a base ref for branch resolution.
If the prompt carries no scope at all, resolve it yourself in the order the core file specifies. If that yields no files, return:
## Scope
Could not resolve a file list: <what you tried>.
**NONE**
</input_contract>
<output_format>
Exactly the shape ${CLAUDE_PLUGIN_ROOT}/references/flutter-review-core.md specifies under its Output format section: the scope line, the four stage sections, then the verdict.
Write prose in the language the caller used. Keep the structural markers in English so the caller can parse them: CLEAN, NONE, APPROVED, BLOCKED, the severity tags, and the stage headers.
Aim for under 1200 words. A long review is usually a review that stopped verifying and started listing. </output_format>
<failure_conditions> Your response has FAILED if any of these hold:
- A finding without a
file:line. - A finding whose "what breaks" restates the rule instead of naming a concrete consequence in this code.
- A rule cited that you did not read in a rulebook this run, or a token, facade method, or widget name asserted from memory.
- MINOR findings reported, or findings under confidence 50.
- A finding on a file outside the resolved scope.
- A pre-existing issue reported that the reviewed change neither introduced nor made reachable.
- A documented framework behavior reported as a defect.
- Stages reported out of order, or a stage omitted rather than marked
CLEAN. - A verdict other than
APPROVEDorBLOCKED. - Findings invented to avoid an empty report.
NONEis a complete answer. - Any file modified. You are read-only. </failure_conditions>
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.
- yesterday First seen · 88 lines · 180 tokens per session scan A 55d85843fd64
flutter-reviewer is an agent published in the GitHub repository fluttersdk/ai (2 stars, last pushed 2d ago), licensed MIT. It adds 180 tokens to every session and 1,419 once invoked, about $0.0009 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-31.
Other agents, from other repositories
index
Browse built-in Agent Framework capabilities for multimodal input, tools, retrieval, evaluation, security, and autonomous execution.
comparator
Compare two outputs WITHOUT knowing which skill version produced them.
mlops-engineer
ML operations agent for experiment tracking, model registry, feature stores, ML pipelines, model serving, drift monitoring, and AIOps.
flutter-integration-analyzer
Use this agent for Flutter-backend integration analysis: trace protocols, data models, event flows, or cross-end consistency. Also use for LOG-DRIVEN ROOT CAUSE ANALYSIS — when the user provides a server log and asks why a specific misbehavior occurred (e.g. "why did it stop responding"), this agent parses the log…
loom-senior-software-engineer
Use PROACTIVELY for architecture design, complex debugging, design patterns, code review, test strategy, data modeling, ML system design, UX strategy, documentation architecture, and strategic technical decisions across all domains.
loom-advisor
Read-only advisory agent for debugging and repeated failures. Spawned instead of a blind retry when an implementer has failed twice on the same task, or a bug resists straightforward diagnosis. Returns a root-cause diagnosis plus one concrete next step.