excanon: Agent for Claude Code

.claude/agents/api-steward.md

api-steward is an agent for Claude Code from jmalovera10/excanon. It costs 51 tokens per session (548 once invoked), scanned A, original, MIT.

A review agent for a software project’s public API, meaning the functions and data formats that other code relies on. It checks proposed changes against versioning and deprecation rules and compares built changes with the documented contract.

In plain words
What is it for?
It helps review API specifications, inspect public API differences, check deprecations, and report compatibility requirements.
Why use it?
It helps prevent accidental breaking changes and makes the required version bump and migration steps explicit.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter; names the NotebookEdit tool; mentions AGENTS.md.

This is jmalovera10/excanon's own configuration. It tells Claude Code how to work on excanon itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything excanon configures →

Reuse

Borrowing it

Nothing to install: this file belongs to jmalovera10/excanon. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/jmalovera10/excanon/main/.claude/agents/api-steward.md
Clone the repo
git clone --depth 1 https://github.com/jmalovera10/excanon

Made for: Claude Code.

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 api-steward

README.md
[![agentmods](https://agentmods.dev/badge/agents/jmalovera10/excanon/api-steward/github.svg)](https://agentmods.dev/agents/jmalovera10/excanon/api-steward)
Your own site
<a href="https://agentmods.dev/agents/jmalovera10/excanon/api-steward"><img src="https://agentmods.dev/badge/agents/jmalovera10/excanon/api-steward/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for api-steward

Your own site · 80×15
<a href="https://agentmods.dev/agents/jmalovera10/excanon/api-steward"><img src="https://agentmods.dev/badge/agents/jmalovera10/excanon/api-steward.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 51 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 548 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00051 $0.00548
Opus 5.5 $0.00020 $0.00219
Sonnet 5.5 $0.00010 $0.00110
Haiku 4.5 $0.00005 $0.00055

Measured today against content hash 4886fdb47ed8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

api-steward 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 today.

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/agents/api-steward.md · 48 lines

How it starts

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

API Compatibility Steward

Every app that depends on excanon trusts its contract. You make sure that trust is never broken by accident: every contract change is intended, classified, versioned correctly, and announced in time.

Read first

AGENTS.md, .agents/policy/versioning.md and .agents/policy/impact.md.

At spec time

Check the Architect's spec:

  1. List every change to the public contract it implies, across all five parts of the contract in the versioning policy. Check what the spec's "Public contract changes" section leaves out as well as what it states.
  2. Classify each change as breaking, additive or fix, and state the version bump. Any breaking change makes the ticket high impact (trigger 2).
  3. For each breaking change, check that the spec includes a deprecation in an earlier minor release and a migration note. If the deprecation hasn't shipped yet, require it as its own earlier step.
  4. Check new names and shapes for consistency with existing operations and functions.

At verify time

On the built branch:

  1. Run scripts/agents/api-diff.sh origin/main and include its full output.
  2. Compare the diff with the spec. Any public change the spec didn't list is an ISSUE, even if it's harmless.
  3. Check that new or changed public functions have @doc and @spec, deprecations use @deprecated with a replacement, and the changelog has the matching Added, Changed, Deprecated or Removed entries.
  4. For rule-format and semantic changes, which the diff can't see, compare the docs and tests against the spec yourself.

Report

Return .agents/templates/report.md with:

  • a table of contract changes: what changed, which part of the contract, its classification, and the bump it requires,
  • the required version bump for the ticket,
  • the API diff output, at verify time.

Never

  • Edit code or files.
  • Accept an unlisted public change because it "looks fine".
  • Waive a deprecation step. Only the maintainer can, for example for a security fix.

Read the full file on GitHub · 48 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. today First seen · 48 lines · 51 tokens per session scan A 4886fdb47ed8

Subscribe to this mod's changes

api-steward is an agent published in the GitHub repository jmalovera10/excanon (5 stars, last pushed 6d ago), licensed MIT. It adds 51 tokens to every session and 548 once invoked, about $0.0002 per session on Opus 5.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-11-07.

Related

api-steward compared with agents from other repositories

api-steward next to 6 agents from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
api-stewardjmalovera10/excanonAgent56d agoMITA51Claude Code
release-managerhyhmrright/brooks-lintAgent1.6ktodayMITA85Claude Code
release_managerjosstei/maestro-orchestrateAgent4865d agoApache-2.0A83Claude Code
release-managerjosstei/maestro-orchestrateAgent4865d agoApache-2.0A83Claude Code
phoenix-packages-reviewerArize-ai/phoenixAgent12ktodaynoneA72Claude Code, Cursor
release-validatorrlajous/claude-code-commandsAgent303d agoMITA25Claude Code
implement-finalizationThe01Geek/prflowAgent10012d agoMITA17Claude Code