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 uHappyLogic/cairn --skill answer-all-open-questions-with-recommendationgit clone --depth 1 https://github.com/uHappyLogic/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/uhappylogic/cairn/answer-all-open-questions-with-recommendation)<a href="https://agentmods.dev/skills/uhappylogic/cairn/answer-all-open-questions-with-recommendation"><img src="https://agentmods.dev/badge/skills/uhappylogic/cairn/answer-all-open-questions-with-recommendation/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/uhappylogic/cairn/answer-all-open-questions-with-recommendation"><img src="https://agentmods.dev/badge/skills/uhappylogic/cairn/answer-all-open-questions-with-recommendation.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.00033 | $0.02511 |
| Opus 5 | $0.00016 | $0.01256 |
| Sonnet 5 | $0.00007 | $0.00502 |
| Haiku 4.5 | $0.00003 | $0.00251 |
Grade A, and why
answer-all-open-questions-with-recommendation 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.
How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
answer-all-open-questions-with-recommendation
This is the batch path that records every open question's embedded recommendation as its
answer. The recommend sweep (/recommend-all-open-questions) annotates each question by embedding
a <recommendation> element in its <open-question> block; this skill re-checks the current
milestone's questions and, for each block that contains such an element, dispatches the
file-editing answer-open-question-with-recommendation agent to lift that recommendation and
record it — leaving recommendation-less blocks untouched (annotating them is the recommend sweep's
job, not this one's). It requires no clean-working-tree precondition.
It is an orchestrator. It does not record answers itself: for each recommendation-bearing
question it dispatches the agent, which lifts the <recommendation> element, folds the decision
into ## Decisions, cascades to mooted siblings, and leaves that edit staged but uncommitted.
The orchestrator commits that staged index itself — once per successful agent return, before
dispatching the next. Because every dispatch mutates the same requirements.md, the dispatches run
strictly sequentially, never in parallel.
Usage
/answer-all-open-questions-with-recommendation
Takes no arguments — it sweeps every <open-question> block (both status="open" and
status="deferred") in the current milestone's requirements.md that contains a
<recommendation> element.
Workflow
0. Find the current milestone
Follow .agents/plugins/cairn/shared/get-current-milestone.md to resolve <MILESTONE_DIR>. Never use a hardcoded task-list path.
1. Gather the recommendation-bearing questions once and order them by the dependency graph
Fetch the recommendation-bearing set with the line-oriented boundary-line CLI — do not read
the whole file to eyeball headers. Every <open-question> block lives under the single
## Open questions section of <MILESTONE_DIR>/requirements.md, so that section is the one
bounded region the CLI slices deterministically. Using awk/sed/grep keyed on the
<open-question …> opening and </open-question> closing boundary lines — never a real XML
processor (xmllint) — enumerate every block in document order (the order the CLI hands
them back is the order their blocks appear in the section, and the walk below relies on it) and
keep only those that contain a <recommendation> element, extracting each surviving block's
id (and status) by attribute-name-anchored regex like id="([^"]*)" (so extraction is
independent of attribute order). From each surviving block also extract the question value of
every self-closing <depends-on question="…" option="…"/> line it carries — the same
attribute-name-anchored regex, anchored on question=; the recommend sweep embeds one such line
per sibling recommendation this block's recommendation assumed. Read only the question value
here: the option value is what the recording core's cascade reconciles at answer time, and the
orchestrator never acts on it. Open and deferred blocks share one <open-question …> /
</open-question> boundary-token pair distinguished only by status, so the gather ignores type.
Recommendation-less blocks — those with no <recommendation> element — are not gathered:
annotating them is the recommend sweep's job (/recommend-all-open-questions), never this one's.
If no block carries a <recommendation> element, say so and stop.
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.
- today Changed · +38 lines 40d461297c48
- 5d ago Changed · +8 lines 79ea076ccc1d
- 6d ago Changed · -58 lines · -129 tokens per session 230fd1e4aa0e
- 11d ago First seen · 182 lines · 162 tokens per session scan A 052834e9a8e2
answer-all-open-questions-with-recommendation is a skill published in the GitHub repository uHappyLogic/cairn (2 stars, last pushed yesterday), licensed MIT. It adds 33 tokens to every session and 2,511 once invoked, about $0.0002 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
debt-ops-init
Write or refresh a "Tech debt operations" section in the project's AGENTS.md so the team shares one source of truth for debt-ops disciplines. Run ONLY when the user explicitly asks to set up, install, or initialize debt-ops disciplines — never auto-invoke. Idempotent; only the managed section changes, other sections…
debt-ops-add
Register a deferred decision in the tech-debt registry. Trigger by judgment, not a marker scan, whenever a future reader would ask "why this way?": an unmade decision, stub, loosened type, bypassed check, swallowed error, a default picked "for now", or a TODO/FIXME/HACK/XXX marker. Trigger immediately whenever you…
debt-ops-metrics
Print a debt-ops health summary from the metrics log, covering registration rate, feedback action rate, ADR creation, and AI-authored share. Use when the user asks for "debt-ops metrics", "debt health", "registry stats", or a tech-debt health summary. Read-only, never writes the log.
multi-perspective-review
Multi-perspective collaborative review of plans or documents. Ten expert viewpoints deliberate in 3 rounds to reach consensus.
review
Run a full code review on current changes or specified files. Runs ruff lint, review-code agent, and security scan in sequence.
plan-task
Structured task planning using Work files. Use for any new feature, bug fix, or project that needs a task breakdown before implementation.