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 ctxpipe-ai/ctxpipe --skill decisionsgit clone --depth 1 https://github.com/ctxpipe-ai/ctxpipeWrote 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/ctxpipe-ai/ctxpipe/decisions)<a href="https://agentmods.dev/skills/ctxpipe-ai/ctxpipe/decisions"><img src="https://agentmods.dev/badge/skills/ctxpipe-ai/ctxpipe/decisions/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/ctxpipe-ai/ctxpipe/decisions"><img src="https://agentmods.dev/badge/skills/ctxpipe-ai/ctxpipe/decisions.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.00043 | $0.01425 |
| Opus 5.5 | $0.00017 | $0.00570 |
| Sonnet 5.5 | $0.00009 | $0.00285 |
| Haiku 4.5 | $0.00004 | $0.00143 |
Grade A, and why
decisions 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 8d 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 — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
decisions
The host runs this skill once for each repository, on the assembled ref after the root steps. A script finds the decision files and reads what a script can read. You read each decision file and write one context file for it.
-
The step prompt gives the arguments:
--source,--source-url,--source-path, and--roots(the root-to-file map, ADR-052 section 6). Runnode /ctxpipe/skills/decisions/scripts/decisions.mjs <arguments>. -
The script writes JSON that matches
schema.jsonto stdout. Each entry indecisionsis one decision file of the source (path). It gives the context file to write (target) and how (write):create: a new file.update: a file that this source already wrote, or that describes the same decision. Change it withctxpipe-stage <target>, and keep what is still true.additive: a file that a human or another source owns. Add only new claims and new lines at the end of its## Relatedsection.
Never write a second file for a decision that has
existing. The check in step 6 rejects it. -
For each entry, read the decision file
pathin/ctxpipe/source/<handle>. Runctxpipe-stage <target>, then write the file at the path that it prints. -
For a
createor anupdate, write this shape. Usenamefrom the entry as it is. WriteStatusas the entrystatuswith a capital letter. The entrydateis empty when the file declares none: then write noDateline.--- kind: Decision name: "<name>" summary: "<one sentence in your words: what was decided>" claims: <the claims of step 5> --- # <name> **Status:** <Status> **Date:** <date> **Source:** `<path>` ## Context <why the decision was necessary, in your words> ## Decision <what was decided, in your words> ## Consequences <what follows from it, in your words> ## Related - [<name of a file in related>](<relative path>)Keep the
**Source:**line: the script uses it to find a file whose decision file has left the source. Do not writegenerated_by,sources,source_sha,skill,bundle, orconfidence. The host sets them. -
Claims. Copy these from the entry, with
evidence.kind: script:- each path in
influencesbecomes a claimpredicate: INFLUENCESwithevidence.pathset to the entrypath; - each item of
supersedesbecomes a claimpredicate: SUPERSEDES,tofrom the item, andevidence.pathfrom the item.
Do not add an
INFLUENCESor aSUPERSEDESclaim of your own. Scope and replacement follow fixed rules (below), and a claim from reading prose is not one of them. You may add other claims withevidence.kind: modelwhen the text states them and the target is a file in the context. - each path in
-
When the entry has
related, add each file as a line in## Related. Foradditive, add only the claims and the Related lines, and one Related line that names the decision file:- Decision `<path>` of the source. The script finds the files of earlier pages by the decision file path. -
For each path in
stale, runctxpipe-delete <path> --reason "The decision file left the source". -
Run
node /ctxpipe/skills/decisions/scripts/decisions.mjs <arguments> --check. Fix each problem that it lists, and run it again until it prints no problem. -
Run
ctxpipe-finish. When the result hasmore: true, runctxpipe-finish --more: the host commits the step and runs the skill again on the new tip. The script then gives the next decision files (at most 20 for each page); it finds the ones that this run already wrote.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 66 lines · 43 tokens per session scan A eee2d7ab20f9
decisions is a skill published in the GitHub repository ctxpipe-ai/ctxpipe (27 stars, last pushed today), licensed MIT. It adds 43 tokens to every session and 1,425 once invoked, about $0.0002 per session on Opus 5.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-10-21.
Other skills, from other repositories
setup-open-index
Install and configure Open Index as the read/write context layer for a domain-specialized agent. Use when setting up a legal, marketing, customer support, sales, infrastructure, or other domain agent with Open Index over MCP.
edit-brain
How to add or edit knowledge in this brain — define doctypes, add or update entities, and correlate them with relationships. Use whenever the user asks to add/update knowledge, define a concept, record a learning, or link two things in the brain.
bcc-plan-spar
BCC align+lock+review PLAN.md for one slice (no product code). Slash: /bcc-plan-spar · chat: bcc:plan-spar · "lock PLAN" · spar the plan. Args: rounds=N (auto-review cap), review=self|subagent|cli|auto|off. Grill until clear enough (no default Q&A quota). Hand off to bcc-clean-cut after human APPROVE.
bcc-throughline
BCC global progress cockpit (plans.md/progress.md/findings.md). Slash: /bcc-throughline · chat: bcc:throughline · "where are we" · reprioritize · resume after /clear. Not for coding or full PLAN grill.
bcc-breaking-coding-chaos
BCC main skill: dual-loop coding workflow (throughline → plan-spar → clean-cut) or quick status+next. Slash: /bcc-breaking-coding-chaos · chat: bcc:breaking-coding-chaos · "run BCC" · "BCC status" · "what next BCC". Needs a real idea (1:1 implement). Args: goal text, or status. May pass plan-spar review budget as…
ambiguity-detector
Takes surface scan results, optional LLM synthesis open-question entries, and optional tree-sitter AST signals to score project ambiguities (1-10). Outputs structured ambiguityfeed for smart-question-generator. Pure heuristic — no LLM calls. Designed for Stage 3.5 of the /gaai:bootstrap pipeline (between LLM synthesis…