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 agentmods add skills/romiluz13/auto-pi/decision-hold-lifecyclenpx skills add romiluz13/auto-pi --skill decision-hold-lifecyclegit clone --depth 1 https://github.com/romiluz13/auto-piWrote 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/romiluz13/auto-pi/decision-hold-lifecycle)<a href="https://agentmods.dev/skills/romiluz13/auto-pi/decision-hold-lifecycle"><img src="https://agentmods.dev/badge/skills/romiluz13/auto-pi/decision-hold-lifecycle.svg" alt="Measured on agentmods" 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.00064 | $0.00518 |
| Opus 5 | $0.00032 | $0.00259 |
| Sonnet 5 | $0.00013 | $0.00104 |
| Haiku 4.5 | $0.00006 | $0.00052 |
Grade A, and why
decision-hold-lifecycle 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 5d 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.
What it actually says
Decision Hold Lifecycle
Every unresolved decision that belongs to the user and is discovered while producing work must become a structured hold item before that work may be treated as complete.
Why
Decisions evaporate between sessions. Compaction wipes them. Context resets lose them. The audit (Jul 2026) found that focus-loss often starts with an unresolved decision that was never persisted — the model moved on, the user never saw it, and the work proceeded on an assumption.
This skill is the structural fix: decisions get persisted to disk, not held in context.
What it does
-
Inventory. When you discover an unresolved choice that requires the user, give it a stable key (a short slug), a title, a reason, and the repository/project path.
-
Hold. Write it to
~/.pi/agent/decisions.json:[ { "key": "pagination-cursor-vs-offset", "title": "Cursor-based or offset-based pagination?", "reason": "Cursor is more performant for large datasets but breaks skip-to-page UX", "project": "/Users/rom.iluz/Dev/SDR-AI", "createdAt": "2026-07-20T...", "resolved": false } ] -
Surface. The
/bearingscommand reads this file and shows open decisions in the "Your Call" section. The user sees them on their next status check. -
Resolve. When the user decides, mark
resolved: trueand record their answer in aresolutionfield. Dependent work can proceed.
Rules
- Only genuine unresolved choices that require the user create holds.
- Resolved findings, recommendations that need no user choice, and prose that merely sounds decision-like do NOT create holds.
- A hold remains open until the user's answer is durably recorded — not until the originating task completes.
- Do not close a hold merely because the task completed, the session ended, or compaction fired.
- Use the same key on retry so registration is idempotent.
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.
- 5d ago First seen · 47 lines · 64 tokens per session scan A b6a5d92f6877
decision-hold-lifecycle is a skill published in the GitHub repository romiluz13/auto-pi (10 stars, last pushed 20d ago), licensed MIT. It adds 64 tokens to every session and 518 once invoked, about $0.0003 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-30.
Other skills, from other repositories
write-swift
How to write modern Swift well — modeling with value types, Swift 6 data-race safety and approachable concurrency (@concurrent, main-actor-by-default, actors, task groups), protocols and generics (some vs any), API design, performance and ARC, Swift Testing, macros, and the modern language features agents don't know…
emil-design-eng
This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
apple-design
Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading)…
animate-expo
Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
wayfinder
Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.