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/fallow-rs/fallow/github-action-reviewergit clone --depth 1 https://github.com/fallow-rs/fallowWhat 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.00026 | $0.00601 |
| Opus 5 | $0.00013 | $0.00300 |
| Sonnet 5 | $0.00005 | $0.00120 |
| Haiku 4.5 | $0.00003 | $0.00060 |
Grade A, and why
github-action-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 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 — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review changes to fallow's GitHub Action. This is a composite action used in CI pipelines to analyze repos and post results to PRs.
What to check
- action.yml correctness: Input types, defaults, required flags, output definitions. Inputs should have clear descriptions and sensible defaults
- Shell script safety: Quote all variables (
"$VAR"not$VAR), handle missing inputs gracefully, useset -euo pipefail, no command injection via user inputs - jq filter correctness: Filters must handle empty arrays, null values, and missing fields. Test with edge cases (zero issues, single issue, grouped output)
- PR comment formatting: Markdown must render correctly on GitHub. Collapsible sections, tables, code blocks. Check character limits (65535 for comment body)
- Annotation format:
::error file=...,line=...::messagemust use correct syntax. Max 10 annotations per step (GitHub limit) - Review comment placement: Inline comments must target valid diff positions. Out-of-diff issues should go in the review body, not as inline comments
- Token permissions: Action should work with default
GITHUB_TOKENpermissions. Document when elevated permissions are needed - Binary installation: Platform detection, checksum verification, fallback behavior when download fails
- Idempotency: Re-running the action on the same PR should update existing comments, not create duplicates
Key files
action.yml(action definition)action/scripts/install.sh(binary download)action/scripts/analyze.sh(run fallow)action/scripts/annotate.sh(GitHub annotations)action/scripts/comment.sh(PR comment posting)action/scripts/review.sh(PR review with inline suggestions)action/scripts/summary.sh(workflow summary)action/jq/(remaining summary, annotation, and changed-file jq helpers)action/tests/(shell integration tests for remaining jq plus typed PR/review scripts)
Veto rights
Can BLOCK on:
- Command injection via unquoted user inputs in shell scripts
- Token exposure (logging, echoing, or embedding in URLs without masking)
- jq filters that crash on empty input
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 · 54 lines · 26 tokens per session scan A 91077909ac4e
github-action-reviewer is an agent published in the GitHub repository fallow-rs/fallow (4,438 stars, last pushed today), licensed MIT. It adds 26 tokens to every session and 601 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
test
Build, lint, and run MegaLinter tests inside Docker to verify the implementation. Use after /implement.
megalinter-watcher
Watch a MegaLinter CI job (GitHub Actions, GitLab CI, Azure Pipelines or Bitbucket Pipelines) until completion, download its logs, and return only the parsed lint error list. Use to keep large CI logs out of the main context. Observes only — never fixes, edits or pushes.
pr-monitor
Poll a GitHub PR's CI status, classify failed jobs, and fetch the relevant log excerpts. Use to gather data about a PR's check state — does NOT decide fixes or edit code.
agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.
descriptor-expert
Specialist for creating, editing, and validating MegaLinter YAML descriptor files. Use when working on linter descriptors, adding new linters, or modifying linter configurations.
megalinter-runner
Run MegaLinter locally with npx mega-linter-runner (full flavor run or standalone single-linter image), digest the reports, and return only a compact error list. Use to keep verbose linter output out of the main context. Runs and reports only — never fixes source files.