By foobarto
Workflow kit for AI-assisted software projects — session journals, rolling todo punch list, autonomous-round cadence, and six-phase feature checklist. Pairs with ep-kit for structured proposals.
Scaffold cairn's workflow artefacts into the current project
Run the autonomous loop — one round, schedule next wakeup, repeat until stop criterion
Run one bounded autonomous-round cycle
Open or append to today's cairn session log
Read `docs/todo.md` + recent session journals + (optionally) project profile, and return a recommended next bounded task for an autonomous round or loop. Use at the start of each autonomous cycle to save main-agent context on task-selection reasoning. Returns a task candidate with rationale, the tasks considered and passed over, and any blockers that would prevent a bounded pickup.
Read session journals under docs/sessions/ and return a compact summary — what shipped, what's parked for review, and load-bearing decisions from recent sessions. Use at session start to ground context without reading every full journal, or when the user asks "what happened last session?" or "what's still open from the last few rounds?"
Run the review tools detected by the review-phase skill in parallel and return a structured verdict. Use to isolate reviewer-tool output (semgrep findings, codex recommendations, language-linter warnings) from the main agent's context. Returns pass/warn/fail per tool, a combined verdict, and a trimmed list of findings worth the main agent's attention.
Use when the user wants the agent to keep picking up tasks autonomously and repeat the round cycle until a stop criterion is met — "keep going while I sleep", "run autonomously until you hit a blocker or clear P1", "loop through the punch list". Runs one round, schedules the next wakeup, repeats. Enforces commit checkpoints (3-commit soft pause, 5-commit hard stop) so silent prolific output doesn't erode trust. For exactly one cycle, use cairn-autonomous-round instead.
Use when the user wants ONE bounded autonomous cycle — pick a task from docs/todo.md, implement, gate, commit, hand control back. Not a loop; one round and done. Triggers on phrases like "do one task from the punch list", "pick one thing and run it", "finish the Kanban refactor autonomously" when scoped to a single item. For repeating "keep going until I stop you" mode, use the cairn-autonomous-loop skill instead.
Use to maintain the project profile at docs/project-profile.md — declarative statement of the project's values, risk tolerance, security posture, quality bar, and contribution norms. Triggers when the project settles a stance on a cross-cutting concern (e.g., "we don't mock databases in tests", "pre-1.0, no backwards-compat shims", "security posture is paranoid about injection"). Tracked in git; shared with all contributors. Updated in-place as part of normal PR workflow, NOT synthesis of individual sessions.
Use to maintain the global user profile at ~/.config/cairn/user-profile.md (or the project-local path if install configured one). Triggers when the user reveals durable preferences about how they think, decide, or collaborate — editor choices, decision patterns, architectural instincts, pushback to AI framing, etc. Observations go in with evidence; the file is periodically re-synthesised, not blindly appended. Distinct from build-project-profile which captures the project's stances.
Use when a session is ending — the user says "that's enough for today", "let's wrap up", "stop here", "close the session"; or when the agent itself judges the session is at a natural stopping point and wants to leave a clean handoff. Produces the end-of-session ritual — final journal entry, commit-status snapshot, handoff summary with concrete SHAs and explicit yes/no questions for the next session, and optional memory updates for durable preferences revealed during the session.
Uses power tools
Uses Bash, Write, or Edit tools
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.
A cairn is a pile of stones travelers add to as they pass, marking the way for those behind them. This project is a kit for building that kind of trail through a software project — structured session journals, a rolling punch list, and an autonomous-round cadence that turns open-ended AI-agent collaboration into a legible sequence of waypoints.
Status: alpha. Used in production on one project (Glorbo); shape is being extracted and generalized. API and layout may shift.
A small bundle of templates, skills, slash commands, and sub-agent definitions that codify a specific flavor of AI-agent development workflow:
docs/sessions/<date>-<topic>.md) — a
detailed narrative log of each working session. Written as you
go, not retroactively. Per-task entries have standard sub-
sections (What shipped, Design calls I made without you,
Gates, Skipped / not done), honest about shortcuts, with
concrete SHAs and yes/no questions parked at the end for the
user's later review.docs/todo.md) — P0/P1/P2/P3 tiers +
a running "Shipped this cycle" log. Noticed-but-not-yet-shipped
items that don't warrant a full proposal.cairn's four governing principles — adapted from Karpathy's guidelines — are the backbone that every artefact is shaped around:
These override the shapes: if a template, skill, or command conflicts with a principle, the principle wins. Full text at templates/workflow/governing-principles.md.
Chat contexts rot. Commit messages are too short. GEPs/ADRs record what was decided and why, but not what was tried, what was skipped, and what the agent had to guess at during the session. cairn's session journal is the layer between commit history and proposal documents. It captures:
git log agree.It's the part that feels most like working with a colleague who keeps a notebook — not because they're overly formal, but because shared context makes future sessions more productive.
One-time: install the plugin. cairn ships as a self-contained plugin marketplace, so installation is two slash commands run inside Claude Code:
/plugin marketplace add foobarto/cairn
/plugin install cairn@cairn
(Developing against a local clone instead? Launch Claude Code with
claude --plugin-dir /path/to/cairn. Copying the repo into
~/.claude/plugins/ by hand does not work — Claude Code only
discovers plugins through a marketplace or --plugin-dir.)
Per-project: scaffold the workflow. If you installed the plugin,
run /cairn-init from inside the project. If you have a local clone,
install.sh does the same thing from the shell:
cd /your/project
/path/to/cairn/install.sh
npx claudepluginhub foobarto/cairn --plugin cairnHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Unity Development Toolkit - Expert agents for scripting/refactoring/optimization, script templates, and Agent Skills for Unity C# development
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review