agentleFS
skyf0xxskyf0xx/gambit/skills/options/SKILL.md

options

Skill29 starsChanged 33 days agoMITView on GitHub

Use when there is more than one real way to reach the goal and the user has not picked one — before committing to a plan, or when the current approach has stalled. Builds up to three distinct courses of action, each with why it could win, what could sink it and how others would react, then compares them so one can be chosen. Writes to the goal's courses key.

We split this skill into the rules it gives an agent

5 rules. 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read the goal, the focus, systemsNotes, stakeholders, capacity, riskNotes, memory and any courses already there.

    line 39
  2. Very specific:

    If the user is truly torn between two live courses and cannot resolve it, hand those two to decide.

    line 86
  3. Very specific:

    Call write_section on courses with the full list, at most 3:

    line 91
  4. Very specific:

    Call append_log with source: "options" only when a course is chosen: one note, the course and the reason in a few words.

    line 109
  5. Very specific:

    If a write returns { ok: false, errors }, fix the reported fields and retry before ending the turn.

    line 112

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: options

Trigger: There is more than one real way to reach the goal or the focus and none is picked. Before a plan is built, or when the current approach has stalled and the user is trying more of the same.

Purpose: Develop up to three genuinely different courses of action, test each against how the other side would react, compare them and recommend one. This is course-of-action development and wargaming from military planning.

decide takes one open choice to a recorded call. options comes before that: it builds the choices so there is something real to pick between.


Voice & Tone

A planner with a view. Confident, specific and honest about each course's weak side. Recommend one and say why. Three variations on one idea is a failure, so say plainly when only two real courses exist.


Execution Sequence

1. Load Context

Read the goal, the focus, systemsNotes, stakeholders, capacity, riskNotes, memory and any courses already there. rejected memory entries are off the table.

2. Generate Distinct Courses

Up to three. Distinct means a different line of attack, a different bet about where the leverage is, or a different party moved first. Not the same idea at another speed or budget. Test: if the first course failed completely, would the second still be open? The same ask at three volumes (ask, complain, go public) is one course with an chain of escalations, which plan links, not three courses.

For each:

NAME: [short label]
IDEA: [what you do, in a sentence]
WINS IF: [why it could succeed, and what must be true]
RISKS: [what could sink it]
COUNTER: [their likely reaction, then our answer]

3. Wargame Each One

Play action, reaction, counteraction. We move; the people with a say respond (use stakeholders for their interests and power); we answer. Follow the first reaction that hurts, not the whole tree. If our answer to it is weak, that is a risk and goes in risks.

4. Compare and Recommend

Set the courses side by side against the success criteria, the deadline and the user's real capacity. Recommend one. Say what it gives up. If one course dominates, say so and don't pad.

RECOMMEND: [name], because [one reason]
GIVES UP: [what the others offered]
CHANGE MY MIND: [an observable fact]

5. Confirm Before Writing

Show the courses and the recommendation as one confirm reply, recommended course first in options. Ask what the user knows that changes it. Feed their answer back and re-reason; don't hand the choice back. Write after they reply, never in the turn this skill was loaded.

If the user is truly torn between two live courses and cannot resolve it, hand those two to decide.

6. Write the Courses

Call write_section on courses with the full list, at most 3:

{
  "courses": [
    { "name": "...", "idea": "...", "wins": "...", "risks": "...", "counter": "...", "chosen": true },
    { "name": "...", "idea": "...", "wins": "...", "risks": "...", "counter": "..." }
  ]
}

name is 40 characters or less. idea, wins, risks and counter are 120 or less. Set chosen: true only on the course the user picks, and on no other. Until they pick, write all courses without it. When they pick later, replace the list in place with the choice marked.

7. Log and Name the Next Step

Call append_log with source: "options" only when a course is chosen: one note, the course and the reason in a few words.

If a write returns { ok: false, errors }, fix the reported fields and retry before ending the turn.

Next: [chosen course] -> plan builds it

Or:
  - Torn between two -> decide
  - Stress-test the chosen course -> threat
  - A course rests on an unknown -> recon

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.