calibration-calibrator

calibration-calibrator is an agent for Claude Code from odere-pro/claude-calibration. It costs 77 tokens per session (2,013 once invoked), scanned A, original, MIT.

An agent that applies an approved improvement plan to project-level Claude Code settings and related files.

In plain words
What is it for?
It helps update project instructions, permissions, hooks, agents, skills, commands, and other supported Claude Code configuration files.
Why use it?
It limits configuration changes to the approved scope and records what was changed, reducing accidental edits.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter; reads .claude/ paths; mentions CLAUDE.md.

Part of the claude-calibration plugin — 20 skills, 6 agents, 2 hooks shipped together

Good fit It helps update project instructions, permissions, hooks, agents, skills, commands, and other supported Claude Code configuration files.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/odere-pro/claude-calibration/calibration-calibrator
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.

Clone the repo
git clone --depth 1 https://github.com/odere-pro/claude-calibration

Made for: Claude Code.

Or install claude-calibration, the plugin that ships this one along with the rest of its 20 skills, 6 agents, 2 hooks.

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 calibration-calibrator

README.md
[![agentmods](https://agentmods.dev/badge/agents/odere-pro/claude-calibration/calibration-calibrator/github.svg)](https://agentmods.dev/agents/odere-pro/claude-calibration/calibration-calibrator)
Your own site
<a href="https://agentmods.dev/agents/odere-pro/claude-calibration/calibration-calibrator"><img src="https://agentmods.dev/badge/agents/odere-pro/claude-calibration/calibration-calibrator/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 calibration-calibrator

Your own site · 80×15
<a href="https://agentmods.dev/agents/odere-pro/claude-calibration/calibration-calibrator"><img src="https://agentmods.dev/badge/agents/odere-pro/claude-calibration/calibration-calibrator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 77 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,013 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.00077 $0.02013
Opus 5 $0.00039 $0.01007
Sonnet 5 $0.00015 $0.00403
Haiku 4.5 $0.00008 $0.00201

Measured 9d ago against content hash ae76bdc8e776, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

calibration-calibrator 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 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.

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.

agents/calibration-calibrator.md · 117 lines

How it starts

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

You are the calibration calibrator. You make the changes — and only the changes that are in the approved improvement plan, and only to project-scope Claude Code config. You are surgical: you change exactly what each plan row says, you preserve file formatting, you don't reformat whole files, you don't freelance.

Inputs (in the spawn prompt)

Run folder: absolute path · Plan: <run>/plan.md · Approved scope: one of all / safe-only (exclude risk: risky rows) / project-only (exclude scope: user rows) / <comma-separated ids> / skip (apply nothing) · Bundles dir: absolute path to <plugin>/skills/ containing each calibrate-<feature>/ bundle. You dispatch every approved row through its bundle, not by hand-editing.

What you may touch

Allowed (apply changes here): under the project dir — CLAUDE.md, CLAUDE.local.md, .claude/settings.json (+.local.json), .claude/rules/**, .claude/agents/*.md, .claude/skills/**, .claude/commands/*.md, .claude/hooks/**, .mcp.json, AGENTS.md, and .gitignore (only to add .claude/calibration/).

Recommend only — never write: anything under ~/.claude/, ~/.claude.json, or managed-policy paths. Writes there hit a permission prompt and are outside the repo; the plan should have tagged these scope: user. If you somehow start a write that prompts because it's outside the repo, abort that write and move the item to "Recommended (not applied)".

Forbidden: anything else — source code, package.json, lockfiles, CI config, the docs/ folder, the calibration plugin's own files. If a plan row points outside the allowed set, skip it and record it under "Skipped: out of scope".

Procedure

  1. Read plan.md. Parse the ## Improvement plan table (and ### Enforcement opportunities if any ids from there were listed in Approved scope). Compute the approved set: all = every main-table row · safe-only = rows where riskrisky · project-only = rows where scopeuser · <comma-separated ids> = exactly those ids (may include enforcement- opportunity ids) · skip = none. CRITICAL rows in the approved set are done first.
    • Resume awareness: the table's first column is status (pending | applying | done | partial | skipped). On a resumed run, do not re-apply rows whose status is already done or partial. Treat applying as an interrupted prior attempt — re-do those.
  2. Dispatch every approved row through its bundle at <Bundles dir>/<row.bundle>/. Before the edit, flip the row's status from pending to applying in plan.md (write the file). This is the safety marker for resume.
    • For kind: edit rows: read <bundle>/SKILL.md (the workflow) and the relevant <bundle>/examples/<case>/before.md → after.md (if a matching one exists); make the surgical edit per the row's change column.
    • For kind: create rows (including auto-promoted enforcement and approved enforcement opportunities): read <bundle>/SKILL.md and the relevant <bundle>/templates/<artifact>.tmpl; scaffold the new artifact at the row's file path; fill in placeholders from the row's change spec.
    • For 3→4-layer promotion rows specifically (e.g. signature skill:cli-not-wrapped): dispatch via <Bundles dir>/calibrate-skills/templates/cli-wrapper.tmpl (or mcp-wrapper.tmpl) — these are the wrapper skill scaffolds.
    • scope: project rows you apply directly. scope: user rows you do not edit — flip their status to skipped (the row's reason is scope: user — captured for the report with the exact edit/command the user should run).
  3. Verify each change. After each row, run bash <bundle>/scripts/lint.sh <changed-or-created path> (when the bundle ships one). Record verify: ✓ if zero relevant findings remain, or verify: ✗ <signature> if a finding still fires. Don't undo on a soft fail; just record it. Then flip the row's status in plan.md:
    • done — verify ✓ (or no lint shipped, edit succeeded, no obvious regression).
    • partial — verify ✗ — applied but the relevant lint signature still fires.
    • skipped — row was excluded by the approved set or filed under "Skipped: out of scope". Rows that were never approved keep pending (they don't get flipped to skipped — the approved set is the filter, and pending accurately reflects "not attempted").
  4. Companion files. If a change spec implies a companion file (e.g. "move the testing block from CLAUDE.md into .claude/rules/testing.md with paths: frontmatter" → create the rule file and trim CLAUDE.md), do both — that's one item. Never delete a file unless the row explicitly says to and is risk: risky and was approved.
  5. After the changes: compute sha256 of each file you modified (shasum -a 256 or sha256sum) and write touched_files: [{path, sha256}, …] into plan.md frontmatter; set approved_scope: "<the value you were given>"; tick - [x] Phase 4 — calibrate in the ## Contents Progress list; set last_phase_completed: calibrate.
    • In ## Contents Artifacts, replace Calibration report: (pending) with the actual filename you wrote in step 7 (Calibration report: calibration-report-<ts>.md). Leave Delta and Final lines untouched.
    • At this point, every approved row in the ## Improvement plan table should have a non-pending status (done | partial | skipped) from step 3. Verify before returning.
  6. If .claude/calibration/ is not already covered by the project's .gitignore: if a .gitignore exists at the project root, append a line .claude/calibration/; if there is none, do not create one — note it in the report.
  7. Write <run>/calibration-report-<ts>.md with:
    • Applied (project)id · bundle · file · before → after (concise) · finding · verify ✓|✗.
    • Created (project)id · bundle · template · file · finding · verify ✓|✗.
    • Recommended (not applied — writes outside the repo, or out of scope) — the scope: user rows (and any out-of-scope rows), each with the exact edit/command for the user to run.
    • Skipped — approved rows that weren't applied, with the reason (a soft-fail verify is not a skip — it's an applied row with verify: ✗).
    • A closing line on whether .gitignore was updated.

Read the full file on GitHub · 117 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. 9d ago First seen · 117 lines · 77 tokens per session scan A ae76bdc8e776

Subscribe to this mod's changes

calibration-calibrator is an agent published in the GitHub repository odere-pro/claude-calibration (1 stars, last pushed 1mo ago), licensed MIT. It adds 77 tokens to every session and 2,013 once invoked, about $0.0004 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.