vanellus

vanellus is a skill for Claude Code, Codex from markmhendrickson/ateles. It costs 0 tokens per session (4,802 once invoked), scanned A, original, MIT.

A pull-request review and merge agent for a coordinated group of software agents.

In plain words
What is it for?
It helps review pull requests, post a review decision, enforce inherited checks, and merge approved changes using squash merging.
Why use it?
It applies the required review checks before merging changes and moves the related issue to the next review stage.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/markmhendrickson/ateles/vanellus
Any agent
npx skills add markmhendrickson/ateles --skill vanellus
Clone the repo
git clone --depth 1 https://github.com/markmhendrickson/ateles

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for vanellus

README.md
[![agentmods](https://agentmods.dev/badge/skills/markmhendrickson/ateles/vanellus.svg)](https://agentmods.dev/skills/markmhendrickson/ateles/vanellus)
Your own site
<a href="https://agentmods.dev/skills/markmhendrickson/ateles/vanellus"><img src="https://agentmods.dev/badge/skills/markmhendrickson/ateles/vanellus.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,802 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.04802
Opus 5 $0.00000 $0.02401
Sonnet 5 $0.00000 $0.00960
Haiku 4.5 $0.00000 $0.00480

Measured yesterday against content hash c8053e46e8c9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

vanellus 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.

.claude/skills/vanellus/SKILL.md · 230 lines

How it starts

The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.


entity_id: ent_fedc0fbabef6ef203f8029c9 entity_type: agent_definition name: vanellus description: Invoke Vanellus, the PR steward agent — enforces PR gate inheritance, reviews PRs opened by Cicada, merges via squash when APIS_AUTONOMY_AUTO_MERGE=1 (otherwise recommends and stops), and advances the issue to QA+legal review. triggers:

  • vanellus
  • /vanellus user_invocable: true

Vanellus — PR Steward

Identity

You are Vanellus, the PR steward in the Ateles swarm. Your genus is the lapwing (Vanellus) — watchful, territorial, guards the threshold. You review PRs opened by Cicada, enforce PR gate inheritance from parent issues, and merge when all conditions pass. After merge, you advance the issue to Phase 4b (QA + legal parallel review). You are also the swarm's first-line detector of GitHub merge-process defects — when the merge gate itself behaves wrongly, you report it (you do not silently work around it forever). You own BOTH ends of the PR review threshold: the automated PR review the swarm panel dispatches on each PR (you run the Neotoma review skill and post a formal verdict under your identity), AND the merge decision that consumes that verdict. Reviewer and merger are the same named agent.

Principals

  • Operator: the Ateles operator (resolve identity from operator_profile, profile_key: default).
  • Swarm context: You are spawned by Apis when Lanius detects a PR is ready for review (parent issue has pr_review gate pending, impl signed_off, and pre-impl gates all clear). You are ALSO dispatched as the pr_review lens of the Apis review panel (execution/daemons/apis/review_panel.py), which posts your verdict on the PR alongside the other lenses. There is no longer a GitHub-triggered push-model entry point: claude_pr_review.yml was disabled on 2026-06-24 (see Automated PR review below).

Read the full file on GitHub · 230 lines

Changes

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.

  1. yesterday First seen · 230 lines · 0 tokens per session scan A c8053e46e8c9

Subscribe to this mod's changes

vanellus is a skill published in the GitHub repository markmhendrickson/ateles (6 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 4,802 tokens. 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-09-03.

Related

Other skills, from other repositories

agentic-jujutsu

Quantum-resistant, self-learning version control for AI agents with ReasoningBank intelligence and multi-agent coordination.

ruvnet/ruflo · 26 tokens

strands-review

Local preview of the strands-agents/devtools /strands review agent. Body is the upstream Task Reviewer SOP verbatim — do not paraphrase. Use when the user types /strands-review, asks for a "strands review" of a PR, or wants to anticipate what the remote /strands review GitHub Action will flag. Findings are close but…

strands-agents/harness-sdk · 125 tokens

docs-writer

Draft or rewrite Strands Agents documentation pages. Use when writing new doc pages, rewriting pages that failed audit, drafting sections for existing pages, or writing blog posts and release notes about Strands. Also triggers on "write a doc", "draft a page", "rewrite the quickstart", "add a tutorial for X"…

strands-agents/harness-sdk · 74 tokens

pr-create

Creates a GitHub pull request using the gh CLI. Use when the user asks to create, open, or submit a PR on GitHub.

strands-agents/harness-sdk · 32 tokens

commit-conventions

AReaL commit message conventions. MUST load on every git commit -- provides Conventional Commits format with scope inference from file paths.

areal-project/AReaL · 31 tokens

git-commit

Stage, write, and structure git commits and pull requests cleanly. Read this before committing — for conventional-commit message format, when to split commits, and how to open a PR with the gh CLI.

spinabot/brigade · 46 tokens