Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add odere-pro/claude-calibration/plugin install claude-calibrationWrote 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/skills/odere-pro/claude-calibration/calibrate)<a href="https://agentmods.dev/skills/odere-pro/claude-calibration/calibrate"><img src="https://agentmods.dev/badge/skills/odere-pro/claude-calibration/calibrate/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.
<a href="https://agentmods.dev/skills/odere-pro/claude-calibration/calibrate"><img src="https://agentmods.dev/badge/skills/odere-pro/claude-calibration/calibrate.svg" alt="Reviewed on agentmods" width="80" 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.00246 | $0.06799 |
| Opus 5 | $0.00123 | $0.03400 |
| Sonnet 5 | $0.00049 | $0.01360 |
| Haiku 4.5 | $0.00025 | $0.00680 |
Grade B, and why
calibrate scanned grade B with 1 finding 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 9d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
if [ -f .claude/calibration/current ]; then echo "CURRENT_RUN=$(cat .claude/calibration/current)"; else echo "CURRENT_RUN=(none)"; fi How it starts
The opening of the file, as written. The whole thing — 422 lines — stays where its author put it; the contents beside it link to each section on GitHub.
echo "=== calibration preprocessing ==="
DOCS_DIR="$(cd "${CLAUDE_SKILL_DIR}/../../docs" 2>/dev/null && pwd || echo UNKNOWN)"
BUNDLES_DIR="$(cd "${CLAUDE_SKILL_DIR}/.." 2>/dev/null && pwd || echo UNKNOWN)"
echo "DOCS_DIR=$DOCS_DIR"
echo "BUNDLES_DIR=$BUNDLES_DIR"
echo "PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT:-unknown}"
echo "PROJECT_DIR=${CLAUDE_PROJECT_DIR:-$(pwd)}"
echo "CWD=$(pwd)"
echo "TIMESTAMP=$(date +%Y%m%d-%H%M%S)"
echo "NOW_ISO=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo "GIT_HEAD=$(git rev-parse HEAD 2>/dev/null || echo not-a-git-repo)"
echo "GIT_DIRTY_FILES=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')"
echo "GITIGNORE_HAS_CALIBRATION=$(grep -qs 'calibration' .gitignore && echo yes || echo no)"
echo "--- shipped per-feature bundles ---"
if [ "$BUNDLES_DIR" != "UNKNOWN" ]; then
for b in "$BUNDLES_DIR"/calibrate-*/; do
[ -d "$b" ] && echo "BUNDLE=${b%/}"
done | sort
else
echo "(no bundles dir resolvable — subagents will fall back to docs-only rubric)"
fi
echo "--- recent calibration runs (newest first) ---"
ls -1dt .claude/calibration/*/ 2>/dev/null | head -5 || echo "(none)"
if [ -f .claude/calibration/current ]; then echo "CURRENT_RUN=$(cat .claude/calibration/current)"; else echo "CURRENT_RUN=(none)"; fi
# Cost mode: when $ARGUMENTS contains the standalone token `cost`, precompute the
# calibrate-general lint so the orchestrator's cost-mode branch (§ 0b) can format and print it
# without needing Bash itself.
if echo "$ARGUMENTS" | grep -qiE '(^|[[:space:]])cost([[:space:]]|$)'; then
COST_LINT="$BUNDLES_DIR/calibrate-general/scripts/lint.sh"
if [ "$BUNDLES_DIR" != "UNKNOWN" ] && { [ -x "$COST_LINT" ] || [ -f "$COST_LINT" ]; }; then
echo "--- cost-mode lint (calibrate-general/scripts/lint.sh) ---"
bash "$COST_LINT" "${CLAUDE_PROJECT_DIR:-$(pwd)}" 2>&1 || echo "COST_LINT_FAILED=$?"
echo "--- end cost-mode lint ---"
else
echo "COST_LINT_NOT_FOUND=$COST_LINT"
fi
fi
# Plugin filter: a CLI `--plugins <val>` flag wins; else `.claude/calibration/config.json`.
# Normalised by the shared resolver into the canonical CALIBRATION_PLUGIN_FILTER spec the bundles'
# enumerate.sh read (include:a,b | exclude:a,b | scope:global|local). Empty => audit everything.
PLUGIN_FILTER=""
if [ "$BUNDLES_DIR" != "UNKNOWN" ] && [ -f "$BUNDLES_DIR/lib/resolve-plugin-filter.sh" ]; then
PLUGIN_FILTER="$(bash "$BUNDLES_DIR/lib/resolve-plugin-filter.sh" "$ARGUMENTS" "${CLAUDE_PROJECT_DIR:-$(pwd)}" 2>/dev/null || true)"
fi
echo "PLUGIN_FILTER=$PLUGIN_FILTER"
echo "=== end preprocessing ==="
Calibrate — orchestrator
You are the calibration orchestrator. You run on Opus and you are read-only with respect to all
Claude Code configuration and repository source — you NEVER use Edit, you do NOT modify any config
file, and you only use Write to create the final report inside the run folder under
.claude/calibration/. Every change to the user's setup is made by the calibration-calibrator
subagent, after the user approves the plan. Your job: chain three subagents, keep the user oriented
with short messages, produce the final report.
The invocation arguments are: $ARGUMENTS
Use the values from the preprocessing block above: DOCS_DIR (the human-readable doc-set, used as a
fallback rubric), BUNDLES_DIR (the parent dir of all calibrate-<feature>/ bundles; the primary
toolkit the subagents read — each bundle has SKILL.md, reference.md, templates/, examples/,
scripts/), PROJECT_DIR, TIMESTAMP (for a new run folder), NOW_ISO, GIT_HEAD,
GIT_DIRTY_FILES, CURRENT_RUN. Pass both DOCS_DIR and BUNDLES_DIR to every subagent in the
spawn prompt — they need them to dispatch per-feature work to the right bundle. If BUNDLES_DIR is
UNKNOWN or empty, tell subagents to fall back to general Claude Code best practice and the
docs/features/*.md rubric directly.
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.
- 9d ago First seen · 422 lines · 246 tokens per session scan B 3ce59636b1da
calibrate is a skill published in the GitHub repository odere-pro/claude-calibration (1 stars, last pushed 1mo ago), licensed MIT. It adds 246 tokens to every session and 6,799 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
researcher
Delegate a deep research or survey task to Google's Antigravity CLI (agy staffer, fast Gemini). Use when the user says /agy:researcher, "ask agy to research", "have the agy staffer survey X", or wants a second, independent deep-dive on a topic or codebase without spending the host model's quota.
writing-javascript
How browser JavaScript is written in this repo — both surfaces now speak one modern dialect and this says what that means for the code you type, where ES modules are impossible and where they are merely unused, and how to pick a feature (Baseline plus a file:// gate). Covers functional idiom over imperative DOM work…
writing-python
How Python is written in this repo — free functions over classes, structured returns instead of mutated arguments, comprehensions, no module state, and the stdlib-only, annotation-free, Python 3.8 dialect the AST lints enforce. Covers modular structure and the import-layer rule, DRY without copying a helper into a…
cleanup
Clean up after a merged pull request — return to the base branch, remove the worktree, delete the branch, sweep other stale branches and worktrees, and report tracker state. Use after a merge or whenever asked what is left over.
prep
Spec a ticket before it is dispatched. Brainstorms it, decides everything it can recommend an answer for, asks a present human about the little that survives, and leaves the spec, the decisions and anything still open as one ticket comment. No worktree, no branch, no pull request, and the ticket stays where it was.
dora-expert
DORA expert for EU financial entities. Deep knowledge of Digital Operational Resilience Act including 5 pillars, ICT risk management, incident reporting, resilience testing, third-party oversight, and information sharing for financial sector digital resilience.