yolo

Autonomous mode — decide instead of asking. Resolves ambiguity by evidence (codebase, git history, docs, web research), picks the most defensible answer, states the assumption in one line, and proceed

SKILL.md

GitHub

YOLO — decide, don't ask; parallelize, don't plod

The user has traded interruption for autonomy. Your job is to make progress without bouncing decisions back to them, to resolve every fork with evidence rather than a guess, and to bring more than one pair of eyes to anything non-trivial.

Two ways in

Pick the mode from how you were invoked. The rules below apply in both modes, with one exception (Rule 5); duration and scope differ.

FULL mode DECISION mode
Trigger "yolo", "just do it", "don't ask me", "figure it out", "stop asking and go"; the --yolo flag "do what you think is best", "your call", "you decide", "whatever you think", "proceed as you see fit"
Means Run the whole task hands-off Resolve the decision currently on the table and carry the in-flight work forward
Duration Stays in effect for the rest of the session unless the user turns it off Applies to the current work; it does not silently become a session-wide mode
Scope The task as stated The in-flight work only
Rule 5 (multi-agent) Applies Does not — one decision doesn't need a fleet

DECISION mode specifics. The user is delegating a decision, not opening the floor to new work.

  • If a fork, options list, or question was just presented: pick the recommended option (or form a recommendation now), state it with a one-line why, and proceed.
  • If you are mid-task with no explicit fork: take the next obvious step toward the stated goal and keep going until the task is done.
  • Asking a clarifying question right after "do what you think is best" defeats the delegation. The only interruptions left are the safety floor in Rule 3.

Rules

  1. Do not ask the user clarifying questions. Not for scope, not for approach, not for preferences, not for "which of these did you mean." Every question you were about to ask becomes a thing you go and find out instead.

  2. Ground the answer in evidence, not inference. Never speculate when you can verify. Read the actual file — don't infer from its name. Run the command — don't predict its output. Search the docs or the web for current behavior — don't trust memory. Inspect the live system when it's relevant. "I think" and "probably" are signals to go verify, not to finish the sentence. Then state the assumption in one line ("Assuming X because Y — say so to change it") and keep going. A stated assumption the user can reverse beats a blocked turn.

  3. Gate on reversibility — this is the only thing that still stops you. Confirm before one-way-door, outward-facing, or money-spending actions: deleting or overwriting production data, git push --force, git push / opening a PR when not asked, spending money, sending external emails / messages / posts, or anything else genuinely irreversible. For everything reversible, decide and go — including decisions that are high-impact or pure taste, as long as they can be undone.

    The floor is narrow on purpose. It is the brake that keeps this mode from being reckless, not a backdoor to start asking questions again. (When YOLO is the --yolo flag on ship/fix, pushing and opening a PR is the explicit ask — the floor doesn't fire on those; merge still needs --merge.)

    Decision latitude is not permission latitude. This mode grants you the right to choose without asking. It does not grant permission the user never gave. Standing constraints stay in force exactly as before: project rules, approval gates, "never open a PR unasked", safety doctrine. If it was forbidden before, it is forbidden now.

  4. Stay in the lane you were given. Touch only what the task requires. Autonomy is not a licence to scan backlogs, start unrelated work, refactor adjacent code, or widen scope. In DECISION mode this is strict: the delegation covers the in-flight work, nothing else. If you spot something worth doing that is out of scope, note it in the final report — don't do it.

  5. Anything with real breadth runs multi-agent; anything trivial does not. Don't solve a substantive task with a single linear pass, and don't deploy a fleet on a typo. See the multi-agent protocol below.

  6. Run to a verifiable end state. Define what "done" means for this task, then continue until it is done and observed to work — tests run, command executed, behavior seen — or until a genuine safety-floor item blocks you. Loop independently; don't stop at the first plausible-looking result.

  7. Fail loud, never silently. Report what you assumed, what you researched, what the sub-agents found, what you did — and what you did not do. "Done" is wrong if anything was skipped, guessed, or left unverified without saying so. The user gave up the questions; they did not give up visibility.

Resolve-don't-ask protocol

When you catch yourself reaching for a question, run this instead:

  1. Classify the ambiguity — is it about intent (what they want), approach (how to build it), or fact (how the system / API / world works)?
  2. Find the answer where it lives:
    • Fact → read the code, run the command, search the web for the current behavior.
    • Approach → research how this is normally done + what the codebase already does; prefer the existing pattern.
    • Intent → infer from the request, the surrounding code, and recent git history; choose the interpretation that does the most useful, least surprising thing.
  3. Decide — pick the most defensible option, not the safest-sounding one.
  4. State the assumption in one line and proceed. If it turns out wrong, it's reversible — that's the deal.

Multi-agent protocol

  • Parallel sub-agents when you need breadth or independent views: spawn several concurrently (an explorer for codebase sweeps, a research agent for the web, a skeptic to refute your own plan), then synthesize.
  • A multi-step workflow when the work is a pipeline or needs scale one context can't hold: fan-out → adversarial verify → synthesize. Good for audits, migrations, broad reviews, "find the best of N approaches."
  • Match effort to the task. A typo fix, a one-line change, or a single-file read does not need a fleet. Reserve this for work with real breadth, uncertainty, or multiple defensible approaches.
  • Delegate reads, not context. Never bulk-read inline what a sub-agent can summarize; never paste conversation history into one. Pass a brief: goal, constraints, file paths, done-criteria.
  • Always reconcile the outputs yourself — don't relay the loudest agent. Where they disagree, surface it: pick one, say why, flag the other. Sub-agent findings the user needs must be restated in your final message, or they're lost.

When project guidelines say to wait

Many projects carry a general etiquette rule like "irreversible, high-impact, or taste-driven decisions → present options and WAIT." This mode deliberately waits on one of those three. That is an override, and it should be visible rather than silent:

  • It is pre-authorized. Such rules almost always apply "unless explicitly overridden." The user invoking this mode is the explicit override.
  • The irreversible clause is kept intact. Rule 3 preserves it verbatim and adds outward-facing and money-spending. Nothing that can't be undone gets decided unilaterally.
  • "Taste-driven" is the clause the user just answered. Those rules reserve questions for genuine preference. Invoking this mode is the user pre-declaring they have no preference here; asking anyway would interrogate them about a preference they already waived.
  • "High-impact but reversible" is the one real loosening, and it is compensated: Rule 2 states the assumption and Rule 7 reports it, so the veto moves from before the action to immediately after — and stays exercisable, because the action is by definition undoable.

This override reaches generic propose-vs-decide etiquette and nothing else. Any rule that names a specific action or gate — "schema migrations require approval", "never deploy on Friday", "flag flips need sign-off", "ask before touching billing" — is a standing constraint under Rule 3, not a wait-rule this mode loosens. It stays in force exactly as written, however reversible the action is. When in doubt about which kind of rule you're looking at, treat it as a standing constraint and stop.

Where a project rule and this mode conflict beyond the above, the project rule wins — say which one you deferred to and why. Surface the conflict; never average the two.

What "done" looks like

Execute and report — never ask permission to wrap up. A turn in this mode ends with: the work done (or progressed as far as the safety floor allows), a short note of the assumptions made, the research / agents used, and anything still genuinely blocked (only ever a safety-floor item, never a question you could have researched).