decision-hold-lifecycle

decision-hold-lifecycle is a skill for Claude Code from romiluz13/auto-pi. It costs 64 tokens per session (518 once invoked), scanned A, original, MIT.

A system for recording unresolved choices that need the user's answer and keeping them available across sessions.

In plain words
What is it for?
Use it to save each pending decision with its reason and project, then review unresolved items through the `/bearings` command.
Why use it?
It prevents open decisions from being forgotten when work moves on, the conversation is shortened, or the agent restarts.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

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.

agentmods
npx agentmods add skills/romiluz13/auto-pi/decision-hold-lifecycle
Any agent
npx skills add romiluz13/auto-pi --skill decision-hold-lifecycle
Clone the repo
git clone --depth 1 https://github.com/romiluz13/auto-pi

Made for: Claude Code.

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 decision-hold-lifecycle

README.md
[![agentmods](https://agentmods.dev/badge/skills/romiluz13/auto-pi/decision-hold-lifecycle.svg)](https://agentmods.dev/skills/romiluz13/auto-pi/decision-hold-lifecycle)
Your own site
<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>
Per session 64 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 518 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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.00064 $0.00518
Opus 5 $0.00032 $0.00259
Sonnet 5 $0.00013 $0.00104
Haiku 4.5 $0.00006 $0.00052

Measured 5d ago against content hash b6a5d92f6877, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

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.

skills/decision-hold-lifecycle/SKILL.md · 47 lines

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

  1. 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.

  2. 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
      }
    ]
    
  3. Surface. The /bearings command reads this file and shows open decisions in the "Your Call" section. The user sees them on their next status check.

  4. Resolve. When the user decides, mark resolved: true and record their answer in a resolution field. 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.
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. 5d ago First seen · 47 lines · 64 tokens per session scan A b6a5d92f6877

Subscribe to this mod's changes

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.

Related

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…

wangmiaozero/pi-harness · 107 tokens

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.

wangmiaozero/pi-harness · 35 tokens

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)…

wangmiaozero/pi-harness · 80 tokens

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…

wangmiaozero/pi-harness · 112 tokens

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

wangmiaozero/pi-harness · 22 tokens

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.

wangmiaozero/pi-harness · 46 tokens