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 skills add isaacriehm/cairn --skill cairn-attentiongit clone --depth 1 https://github.com/isaacriehm/cairnWrote 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/isaacriehm/cairn/cairn-attention)<a href="https://agentmods.dev/skills/isaacriehm/cairn/cairn-attention"><img src="https://agentmods.dev/badge/skills/isaacriehm/cairn/cairn-attention/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/isaacriehm/cairn/cairn-attention"><img src="https://agentmods.dev/badge/skills/isaacriehm/cairn/cairn-attention.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.00025 | $0.05778 |
| Opus 5 | $0.00013 | $0.02889 |
| Sonnet 5 | $0.00005 | $0.01156 |
| Haiku 4.5 | $0.00003 | $0.00578 |
Grade A, and why
cairn-attention 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 10d 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 — 541 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: cairn-attention
Host portability
This skill is shared by Claude Code, Cursor, and Codex. Resolve Cairn MCP
tools with the host's native discovery mechanism. AskUserQuestion means the
host's structured question UI; when that UI is unavailable, ask the identical
concise A/B/C question in chat and pause. References to restarting a client
mean restarting the active host.
You are surfacing Cairn's pending-attention queue inline so the
operator can resolve drafts and findings without leaving the chat.
Spec: docs/PLUGIN_ARCHITECTURE.md §11.
Step 0 — bootstrap preflight
Before surfacing any DEC choices, verify the clone is bootstrapped.
SessionStart auto-runs cairn join when core.hooksPath is unset,
so by the time this skill engages bootstrap should be wired. If
cairn_resolve_attention still refuses with BOOTSTRAP_REQUIRED,
SessionStart's auto-bootstrap failed — call cairn_bootstrap_retry
once to retry inline. On ok: true, fall through to Step 0.7. On
ok: false, surface the failed_steps list to the operator and
end the turn (the remediation field of the error envelope cites
this same tool plus an agent-client restart as the recovery paths).
Never reference cli.mjs or cairn join directly in the chat
surface — Plugin spec §11 forbids exposing CLI subcommands to the
operator.
Step 0.2 — mission attention (phase_ready_to_exit + drift)
Before the regular attention queue, handle mission-specific surfaces.
These don't go through cairn_resolve_attention — missions have
their own resolver tool (cairn_mission_advance).
Preload the mission tools alongside the existing attention tools:
ToolSearch(select:mcp__plugin_cairn_cairn__cairn_mission_get,mcp__plugin_cairn_cairn__cairn_mission_advance,AskUserQuestion)
Then call:
cairn_mission_get({})
If active: false, skip this step.
0.2a — phase ready to exit
When the active phase's tasks all graduate under exit_gate=prompt,
Cairn surfaces a phase-exit decision via one of two channels — both
arrive as plain context, no red "Stop hook error" frame:
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.
- 10d ago First seen · 541 lines · 25 tokens per session scan A bb1ebaad8edc
cairn-attention is a skill published in the GitHub repository isaacriehm/cairn (6 stars, last pushed 1mo ago), licensed MIT. It adds 25 tokens to every session and 5,778 once invoked, about $0.0001 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 skills, from other repositories
hivemind-goals
Create, track and update team goals + KPIs via the Deeplake virtual filesystem at memory/goal/ and memory/kpi/. Use whenever the user mentions a goal, objective, KPI, target, milestone, or asks to track progress on something measurable. ALSO use when the user says "task", "todo", "work item", "remind me to", "fix X"…
project-context-loader
Load relevant memory, decisions and contacts for the current project at the start of a session.
requirement-lock
Lock confirmed requirements. Don't change them without user approval.
milestone
Track project milestones. Auto-detect when a significant checkpoint is reached.
project-roadmap
Create a visual roadmap for large projects. Phases, milestones, timeline.
decision-log
Extract decisions, action items, owners, and due dates from meeting notes, Slack threads, design-review transcripts, or any unstructured discussion. Produces a clean structured log the user can paste into a doc, tracker, or ADR queue. Use when the user has notes/threads/transcripts and asks for a "decision log"…