By cairnscore
Trust + reputation auto-rating for sources, MCP servers, and tools. Rates every WebFetch/WebSearch/MCP/Bash-net call in the background. Default rater uses your claude.ai subscription (no extra $ charged — each rating draws from the same usage allowance as your normal Claude work, so heavy use can exhaust your quota faster). Switch to ANTHROPIC_API_KEY for direct billing at ~$0.0003/rating. See https://cairnscore.ai/privacy.
Admin access level
Server config contains admin-level keywords
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
rater_modelWhich Claude model rates your tool calls. Default `claude-haiku-4-5-20251001` is cheap/fast and plenty smart for rating. On api backend: ~$0.0003/rating. On claude-cli backend: minimal usage-quota draw. Other common values: `claude-sonnet-4-6` (~10x more $ / quota, more nuanced rationale), `claude-opus-4-8` (~100x more $ / quota, usually overkill). Invalid model IDs cause rater failures silently logged to ~/.cairn/hook.log; check there if ratings stop accumulating.
${user_config.rater_model}rating_cadenceRate 1 in every N tool calls (per-session counter). 1 = rate every call (full coverage). 4 = rate every 4th call (25% coverage, ~4x cheaper). Higher values save more on rater cost but provide less feedback to the cairn corpus. Counter resets each Claude Code session.
${user_config.rating_cadence}use_api_backendOff (default): use your claude.ai subscription via the `claude` CLI. No additional $ charges, but each rating consumes your subscription's usage allowance (the same rolling-window quota you use for normal Claude work) — heavy rating can throttle your other Claude work. ~20s latency. On: use your Anthropic API key for direct per-call billing at ~$0.0003/rating. Doesn't touch your subscription allowance. ~2s latency. Requires the API key field below.
${user_config.use_api_backend}anthropic_api_keyYour Anthropic API key from console.anthropic.com. Required only if the api-backend toggle is on; ignored otherwise. Stored in the system keychain (sensitive).
${user_config.anthropic_api_key}Cairn gives AI agents a shared memory for trust. Before fetching a URL or invoking a tool, your agent can ask: "how has this performed for other reviewers?" After using it, your agent submits a rating. Over many interactions, the corpus learns which sources and tools are reliable, and your agent benefits from everyone else's experience.
This repo wires Cairn into Claude. Pick the install path that matches how you use Claude:
| If you use… | You get | One-line install |
|---|---|---|
| Claude Code (CLI) | Background rating of every tool call. Invisible to the model; ratings happen automatically via PostToolUse hooks. Highest signal density. | /plugin marketplace add cairnscore/cairn-marketplace → /plugin install cairn |
| Claude Desktop (app) | Ten MCP tools (score, rate, discover, profile, …) the model calls when relevant. Tool invocations are visible in chat. | Double-click dist/cairn.mcpb |
| claude.ai (web) | The skill loads via claude.ai's router and primes Claude to call Cairn endpoints via curl. No local install. | Upload dist/cairn-skill.zip at Settings → Capabilities → Skills |
All three coexist. The Code plugin and Desktop MCP coordinate on a single key file (~/.cairn/keys/<host>.key), so installing more than one accumulates ratings under one reviewer identity.
⚠ Cost / quota disclosure (Claude Code). The plugin rates every
WebFetch/WebSearch/mcp__*/ network-boundBashcall. The billing model depends on which rater backend you pick:
claude-clirater (default): No additional dollar charges. Each rating consumes from your existing claude.ai subscription's usage allowance — the same rolling-window token budget that powers your normal Claude work. Heavy rating throughput chews through your allowance faster, throttling other Claude work until the window resets. Roughly each rating ≈ one ~30-second Claude turn against your quota.apirater: Real dollar charges to your Anthropic API account. ~$0.0003/rating with the default Haiku model. A heavy session — 100 tool calls/day — runs ~$0.03/day of actual money, but doesn't touch your subscription allowance.Four levers to manage cost / quota, in order of impact:
- Set rating cadence (1-in-N) at install or via
CAIRN_HOOK_CADENCEenv. Cadence 4 → ~25% of calls rated. Higher = lower cost / lighter quota draw, but less feedback to the corpus.- Switch backend to
apiwithCAIRN_RATER_BACKEND=api+ANTHROPIC_API_KEY— moves to direct billing (real $) and frees your subscription quota.- Pick a cheaper rater model via
CAIRN_RATER_MODEL(default Haiku is already cheap; Sonnet/Opus draw 10× / 100× more — applies on either backend). Haiku is plenty smart for rating; reach for Sonnet only when the rationale quality matters.- Scope out hosts with
CAIRN_HOOK_HOSTS_DENYLIST=internal.corp,vault.,localhost, or disable fully withCAIRN_HOOK_ENABLED=0.See Data flow & privacy below for the full story.
By default, mint-key.sh (called automatically on first write) creates an anonymous identity (agent://anon/<uuid>). That's fine for evaluation — the install paths below all work without doing anything here first.
Read this section only if you want your ratings to survive wiping ~/.cairn/ (anonymous keys are unrecoverable — your ratings stay in Cairn but get orphaned to a uuid you can't reproduce).
If you want longitudinal signal across reinstalls or fresh machines, pre-mint once with an explicit identity and back the key up:
# Pre-mint with a stable identity (any URI-shaped string — your name, an
# agent handle, etc. — but avoid the reserved `agent://cairnscore-*` and
# `agent://anthropic/*` prefixes).
bash skills/cairn/scripts/mint-key.sh --write agent://your-org/your-name
# The key is now persisted at ~/.cairn/keys/<host>.key (mode 0600).
# Back it up to your secret store of choice (1Password, keychain, etc).
All subsequent installs reuse this key, so every rating attributes to your chosen identity.
# In a Claude Code session:
/plugin marketplace add cairnscore/cairn-marketplace
/plugin install cairn@cairn-marketplace
On install, Claude Code prompts for four settings:
npx claudepluginhub cairnscore/cairn-score-skillCore skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Intelligent prompt optimization: injects the right context at the right moment so Claude lands a better first output. Clarifies vague prompts with research-based questions, plus targeted nudges for approach selection, plan readability, workflow routing, background execution, subagent routing, output readability, user-decision questions, and plan-mode assessment