capture-milestone-principle-updates

capture-milestone-principle-updates is a skill for Claude Code from uHappyLogic/cairn. It costs 29 tokens per session (9,094 once invoked), scanned A, original, MIT.

A workflow for turning decisions from a completed project milestone into reusable answering principles. A milestone is a defined stage of work with recorded decisions.

In plain words
What is it for?
Use it after finishing a milestone to read the relevant decision commits and update the project-wide principle file. It is an optional follow-up to the milestone-finishing process.
Why use it?
It preserves lessons from confirmed decisions so future recommendations can apply them consistently. It avoids treating unconfirmed or weak conclusions as general rules.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: installed under .agents/ (shared by several agents).

Part of the cairn plugin — 22 skills, 3 agents shipped together

Good fit Use it after finishing a milestone to read the relevant decision commits and update the project-wide principle file. It is an optional follow-up to the milestone-finishing process.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/uhappylogic/cairn/capture-milestone-principle-updates
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.

Any agent
npx skills add uHappyLogic/cairn --skill capture-milestone-principle-updates
Clone the repo
git clone --depth 1 https://github.com/uHappyLogic/cairn

Made for: Claude Code.

Or install cairn, the plugin that ships this one along with the rest of its 22 skills, 3 agents.

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 capture-milestone-principle-updates

README.md
[![agentmods](https://agentmods.dev/badge/skills/uhappylogic/cairn/capture-milestone-principle-updates/github.svg)](https://agentmods.dev/skills/uhappylogic/cairn/capture-milestone-principle-updates)
Your own site
<a href="https://agentmods.dev/skills/uhappylogic/cairn/capture-milestone-principle-updates"><img src="https://agentmods.dev/badge/skills/uhappylogic/cairn/capture-milestone-principle-updates/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 capture-milestone-principle-updates

Your own site · 80×15
<a href="https://agentmods.dev/skills/uhappylogic/cairn/capture-milestone-principle-updates"><img src="https://agentmods.dev/badge/skills/uhappylogic/cairn/capture-milestone-principle-updates.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 9,094 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.00029 $0.09094
Opus 5 $0.00015 $0.04547
Sonnet 5 $0.00006 $0.01819
Haiku 4.5 $0.00003 $0.00909

Measured today against content hash a51c89ee557a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

capture-milestone-principle-updates 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 today.

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/plugins/cairn/skills/capture-milestone-principle-updates/SKILL.md · 569 lines

How it starts

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

capture-milestone-principle-updates

This is the on-demand harvester of the answer-principle-learning loop. Over a milestone, every recorded answer is one commit on the milestone's requirements.md under one of three subjects — Manual-answer:, Alternative-answer:, or Recommendation-answer: <Short Title> — whose body carries the recorded answer and whose diff preserves the analysis the user saw when recording it. This skill reads that finite, known-up-front set of commits for the milestone you name and distills from them the generalizable answering principles that the recommendation advisor can apply.

It runs against any milestone id whose milestones/<milestone_id>/requirements.md exists — the current milestone, an unfinished one, or one already finished (backfill included). Because every answer commit lands during the requirements phase, the milestone's finish status carries no information the harvest needs: a run against a milestone whose questions are still being answered simply harvests what exists so far, and a later run re-walks the same path to pick up the rest. Running it right after /finish-current-milestone is the natural moment, since the milestone's answer set is complete by then, but it is never a precondition.

It is the sole writer of milestones/answer_decision_principles.md (a single project-wide file at the milestones/ root, above any one milestone, so principles accumulate across milestones).

Usage

/capture-milestone-principle-updates <milestone_id>
  • <milestone_id> (required): the milestone directory name under milestones/, e.g. milestone_12_user-guide — exactly as /specify-milestone-starting-state takes it. No bare-number form is accepted and no number-to-directory resolution exists; the value is used verbatim.

Example:

/capture-milestone-principle-updates milestone_12_user-guide

This skill writes only the principle store at the fixed path milestones/answer_decision_principles.md. It does not touch any milestone's requirements.md. When a pass composes a store rewrite it writes it in place and — once the user has reviewed the working-tree change with git diff and confirmed it — commits that rewrite itself (step 7); a pass that distills nothing, or whose rewrite the user rejects, leaves the store as it stood and commits nothing. It imposes no clean-store precondition and does not refuse a milestone already captured — both cases pass through a notice-and-confirm guard (step 2), never a stop.

Read the full file on GitHub · 569 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. today Changed · +2 lines a51c89ee557a
  2. 3d ago Changed · +394 lines · -2 tokens per session 55d6a90abae2
  3. 4d ago Changed 9fb9f06acc0f
  4. 5d ago Changed · -47 lines · -160 tokens per session d7af51b857d2
  5. 11d ago First seen · 220 lines · 191 tokens per session scan A fcdcf5c11f56

Subscribe to this mod's changes

capture-milestone-principle-updates is a skill published in the GitHub repository uHappyLogic/cairn (2 stars, last pushed today), licensed MIT. It adds 29 tokens to every session and 9,094 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.

Related

Other skills, from other repositories

scout-consolidation

Launch a Scout consolidation session as a background process. Runs a lighter delta scan — captures what changed since the last run and updates action items and KB.

Raven-Scout/scout-plugin · 36 tokens

scout-dream

Launch a Scout dreaming session as a background process. Processes feedback, does KB deep work, and works on wishlist items.

Raven-Scout/scout-plugin · 29 tokens

context

Context lifecycle as thin seams over native primitives (/foundry:context ). WRAP of the retired context-lifecycle skills — additive over native /compact, --resume, /rewind, and the context sensor; never reinvents transcript replay. Trigger to snapshot/resume a session's distilled arc-state or check context budget.

lukasrepublic/agentic-foundry · 74 tokens

learn-distill

Cluster session-learning records into HBK/memory/skill candidates (/foundry:learn-distill), on a native-scheduled cadence. The distill consumer (token-overlap clustering, deterministic) is CUSTOM; the CADENCE is a WRAP over native ScheduleWakeup/CronCreate. Trigger on the scheduled tick or when the operator asks for a…

lukasrepublic/agentic-foundry · 77 tokens

yolo-intake

Use when a feature should draw on the project's reference material for context. yolo-intake does NOT fetch, import, or copy anything — it points YOLO at a selected folder (default docs/) and READS from it to enrich a feature's context. Getting material INTO that folder (a Figma, a spec, a URL, a schema) is the docs…

CoriChui/yolo · 118 tokens

grimoire

Use when the user says 'update context', 'update claude', 'save library', or after significant project changes.

cwinvestments/memstack · 28 tokens