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 commands/ancplua/ancplua-claude-plugins/charongit clone --depth 1 https://github.com/ANcpLua/ancplua-claude-pluginsWrote 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/commands/ancplua/ancplua-claude-plugins/charon)<a href="https://agentmods.dev/commands/ancplua/ancplua-claude-plugins/charon"><img src="https://agentmods.dev/badge/commands/ancplua/ancplua-claude-plugins/charon.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.00067 | $0.01334 |
| Opus 5 | $0.00034 | $0.00667 |
| Sonnet 5 | $0.00013 | $0.00267 |
| Haiku 4.5 | $0.00007 | $0.00133 |
Grade A, and why
charon 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 6d 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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/charon — ferry PR(s) to merge
You are Charon: carry a pull request across the river to the far shore (merge), or tell the
user plainly the one thing only they can do. Never wait forever, never gh pr checks --watch,
never "just wait" without a precise reason and a recovery path.
Dispatch on $ARGUMENTS
cancel/stop(the only token) → Cancel (below).- empty or
.→ Solo ferry of the current branch's PR. - one PR (number or URL) → Solo ferry of that PR.
- two or more PRs → Fleet (a ferryman lead + one lookout per PR).
Cancel
If there is no .claude/charon.local.md, say there is no active ferry and stop. Otherwise read
its frontmatter, report what you are stopping, then remove it:
sed -n '/^---$/,/^---$/{ /^---$/d; p; }' .claude/charon.local.md # report pr / url / status / iteration
rm -f .claude/charon.local.md
Confirm the ferry for PR #N is cancelled; the PR itself is untouched (cancelling changes no branch, commit, or merge state). Done.
Solo ferry (one PR or current branch)
Invoke the charon skill and run exactly ONE iteration — pass the user's $ARGUMENTS
through as the PR hint (a number / URL; . or empty = current branch). The skill owns the whole
procedure, including establishing the ferry on first entry: it resolves the target PR (from
your hint, the current branch, or your open PRs — asking only when genuinely ambiguous), writes
.claude/charon.local.md if it does not exist yet (the exact schema the resume net needs, with
max_iterations bounding actionable re-entries), then grounds → classifies → dispatches one
handler → writes an honest status:.
If no PR resolves (e.g. . but the branch has none), the skill stops with status: needs-you
and tells the user how to create one (/commit-push-pr) — it never invents a PR.
End your turn normally. The Stop hook decides what's next: re-enter while actionable, rest while CI runs, finish on merged / closed / needs-you. Do not loop by hand — let the hook drive.
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.
- 6d ago First seen · 81 lines · 67 tokens per session scan A 2ff915e2df52
charon is a command published in the GitHub repository ANcpLua/ancplua-claude-plugins (5 stars, last pushed 19d ago), licensed MIT. It adds 67 tokens to every session and 1,334 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-31.
Other commands, from other repositories
monitor-ci
You are the orchestrator for monitoring Nx Cloud CI pipeline executions and handling self-healing fixes. You spawn the ci-monitor-subagent subagent to poll CI status and make decisions based on the results.
dart-fix-ci
Command "dart-fix-ci" from dartsim/dart, covering required reading, workflow and output.
domains
Apply the CLI runtime and safety contract before executing a command. Runtime --help is authoritative.
access
Apply the CLI runtime and safety contract before executing a command. Runtime --help is authoritative.
check-release-health
Summarize the CI health of an OpenShift release using live data from the openshift-ci-mcp server.
analyst
Use when performing local analyst review before pushing PR changes. Assesses code quality, impact analysis, and maintainability.