Skip to content
Back to skills

Decide

ASecurity

Loaded by repl: answers every question a skill would put to the user during an unattended run. Settled answers are followed, one-way doors pause, experiments settle what they can, and two-way doors are decided and logged.

  • 20 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 10, 2026
ai-agentsrustgo

Works with

  • cli

Security analysis

A100/100

Scanned November 10, 2026

npx -y skills add rizukirr/vibekit --skill decide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Decide
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rizukirr-decide/badge)](https://www.skillsdirectory.com/skills/rizukirr-decide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: decide
description: "Loaded by repl: answers every question a skill would put to the user during an unattended run. Settled answers are followed, one-way doors pause, experiments settle what they can, and two-way doors are decided and logged."
trigger: Loaded by repl at the start of its run, never fires on its own
gate: none
command: false
---

# decide

In a `repl` run, nobody is there to ask. Every question a skill would put to the user comes here instead, and gets one of three answers: follow what is settled, pause for the user, or decide and continue.

This skill applies only inside a `repl` run. Outside one, the user decides, as every other skill says.

## 1. Settled

The first of these that answers the question wins:

1. The user's explicit instructions in this session.
2. The approved spec: goals, non-goals, constraints including run limits, and Approach.
3. The plan.
4. The rules file and any ADRs.
5. `verify`'s settled references: the behaviour at BASE, a goal or constraint in the spec, or a crash on input the code plainly accepts.

Follow it, log it as settled, and reopen nothing. A settled answer you dislike is still settled.

## 2. One-way doors

Pause on any of these. They belong to the user, whatever the run limits say:

- An action visible outside the machine: a push, a pull request, a merge, a deploy, or sending data anywhere.
- Deleting a file that is not on the run's branch, rewriting history, or deleting a branch.
- Auth, secrets, permissions, or a trust boundary.
- Spending beyond the run's budget.
- A new runtime dependency, or a change to a public interface or stored data that the spec does not name.
- Skipping, merging or reordering a pipeline step. `plan`, `exec`, `verify` and `debug` run as written in every `repl` run, however small the change looks.
- Weakening a check: editing a test's assertions, special-casing an input, disabling or loosening a check, or weakening a spec goal or its criterion. A check that cannot pass honestly is a finding, never a thing to edit.
- Choosing correct behaviour where no settled reference exists and extending the spec would pick a product direction.
- A dead end, where every path forward is a guess.

Pausing is an honest outcome, not a failure to try harder.

## 3. Experiment

Before calling a question a matter of preference, ask whether a small throwaway run or measurement would settle it. If it would, run it outside the working tree and decide from the result. Log the command and what it returned.

## 4. Two-way doors

Everything else is in the repo, under version control, and inside the task's scope. Decide it:

1. Climb `lazy`'s ladder.
2. Pick what serves the spec's goals most directly.
3. Between options of the same size, take the one correct on edge cases.

Pick one and continue. Do not stall and do not ask: a wrong two-way call costs less than a blocked run, and the log shows the user every one.

## 5. Limits

- Never retry anything unchanged. If it failed, something changes first.
- Three failures on the same thing is a dead end, so pause.
- At the round cap, an open warn or nit may be set aside with a ruling. An open blocker never can.

## The ruling

Every answer, settled or decided, is one row in `repl`'s decision log: what was decided, why, the evidence as a pointer, and the result. A paused question gets a row too, naming the door.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.