{
  "markdown": "# Better Bets\n\n[![skills.sh](https://skills.sh/b/NikosTsompanides/better-bets)](https://skills.sh/NikosTsompanides/better-bets)\n\n\nFive [Agent Skills](https://agentskills.io) for making decisions under\nuncertainty, based on [Annie Duke's](https://www.amazon.co.uk/stores/Annie-Duke/author/B001K88E4U?ref=ap_rdr&shoppingPortalEnabled=true) [*Thinking in Bets: Making Smarter Decisions When You Don't Have All the Facts*](https://www.amazon.co.uk/Thinking-Bets-Making-Smarter-Decisions/dp/0735216355).\n\nThey work in Claude Code, Codex, Cursor, OpenCode, Gemini CLI, and any other\ntool that reads the Agent Skills standard. Nothing to build, nothing to\ninstall but a directory copy.\n\nThe framework is domain-neutral. It applies to an architecture decision, a\nhire, a pricing change, or whether to take the job — the shape of a decision\nunder uncertainty is the same in all of them.\n\n## The idea\n\nA good decision and a good outcome are different things. You can reason well\nand lose; you can be careless and win. If you judge your decisions by how they\nturned out, you learn the wrong lesson both times — Duke calls that\n**resulting**, and it is why experience so often fails to sharpen judgement.\n\nSo these skills do not try to tell you what will happen. They make the\nreasoning explicit and durable enough that you can tell, later, whether it was\nsound.\n\n> Don't try to eliminate uncertainty. Make better decisions in spite of it.\n\nMore in [docs/philosophy.md](docs/philosophy.md).\n\n## The five skills\n\nThey follow a decision's life, not the sections of one analysis. Each works on\nits own; together they hand off through a single file per bet.\n\n\n| Skill            | What it does                                                                                                                                                    | When                          |\n| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |\n| `bet-frame`      | Sharpens a vague or solution-shaped question into an answerable one; separates facts from assumptions, inferences, and opinions; names the unknowns that matter | Start here                    |\n| `bet-evaluate`   | Confidence with its basis, stakes, blast radius, reversibility, alternatives, and how big a bet this is                                                         | Once framed                   |\n| `bet-experiment` | The cheapest test that would actually move you, with criteria set before it runs — or a plain \"not worth testing\"                                               | When one unknown decides it   |\n| `bet-update`     | Commit on the evidence you have, with criteria for what would change your mind; later, revise when it does                                                      | Deciding, or evidence arrived |\n| `bet-review`     | Judge the reasoning on what was known at the time, not on how it turned out                                                                                     | Outcome is in                 |\n\n\n```\nframe ──► evaluate ──► experiment ──► update ──► review\n   ▲                                               │\n   └──────────── beliefs updated ──────────────────┘\n```\n\n\n\n## Install\n\n```sh\nnpx skills add NikosTsompanides/better-bets --skill '*'\n```\n\nThat installs all five into whichever agent you pick. `--list` shows them\nfirst; `--skill bet-frame` takes just one.\n\nOr copy the directories yourself — two copies cover every tool whose path is\nconfirmed:\n\n```sh\ngit clone https://github.com/NikosTsompanides/better-bets.git\ncd better-bets\n\n# Codex, Cursor, OpenCode, Gemini CLI\nmkdir -p ~/.agents/skills && cp -R skills/bet-* ~/.agents/skills/\n\n# Claude Code — it does not read ~/.agents/skills\nmkdir -p ~/.claude/skills && cp -R skills/bet-* ~/.claude/skills/\n```\n\nPer-tool paths, plugin and extension install, and which paths are confirmed\nagainst official documentation: [docs/install.md](docs/install.md).\n\n## Using them\n\nMost of the time you say what you are deciding and the right skill activates:\n\n- *\"We're thinking about moving off Postgres to DynamoDB.\"*\n- *\"I've got two offers and a week to decide.\"*\n- *\"Should we hire another designer or use a contractor?\"*\n- *\"That migration we did in March went badly — what should we take from it?\"*\n\nOr invoke one directly:\n\n```\n/bet-frame       should we split the monolith\n/bet-evaluate    how risky is the pricing change\n/bet-experiment  cheapest way to find out if customers want this\n/bet-update      the pilot came back, here are the numbers\n/bet-review      the reorg is six months old, how did we do\n```\n\nUnder a Claude Code plugin install they are namespaced: `/better-bets:bet-frame`.\n\n**Depth scales with stakes.** A reversible ten-minute call gets a sentence.\nA one-way door gets the full treatment. See the three transcripts in\n[docs/transcripts/](docs/transcripts/) — same entry skill, same framework,\nvery different responses.\n\n## Bet files\n\nA bet is one markdown file. Each skill appends a dated section; none rewrites\nwhat an earlier one wrote. That append-only rule is the point: the file records\nwhat you believed *before* you knew the outcome, which is the only thing that\nmakes an honest review possible later.\n\nFiles go to `~/bets/`, or to a `bets/` directory that already exists in your\nproject. **No skill will create a** `bets/` **directory in a project that does not\nhave one** — installing this will not scatter files through your repositories.\n\nThere is no index. Open bets are a search:\n\n```sh\ngrep -rl 'status: open' ~/bets/\n```\n\nAn index would be a second copy of facts that already live in the files, and it\nwould start lying the first time a bet closed without it being updated.\n\n### Keeping them private\n\nBet files hold real decisions. `bets/` is gitignored here for that reason.\n\nGit history on them is genuinely useful, though — a commit timestamp proves you\nwrote the prediction before you knew the answer. To get privacy and history at\nonce, give the directory its own repository:\n\n```sh\ncd ~/bets && git init\n```\n\n\n\n## Examples\n\nFull lifecycles across six domains, in [docs/examples/](docs/examples/):\n[architecture](docs/examples/software-architecture.md) ·\n[prioritisation](docs/examples/product-prioritisation.md) ·\n[strategy](docs/examples/business-strategy.md) ·\n[hiring](docs/examples/hiring.md) ·\n[AI adoption](docs/examples/ai-agent-adoption.md) ·\n[personal](docs/examples/personal-decision.md)\n\n## Contributing\n\n```sh\nsh scripts/check.sh\n```\n\nConformance and drift, no dependencies. Run it before opening a PR.\n\nEach skill embeds a copy of the shared bet-record protocol, marked by\n`<!-- shared:bet-protocol start -->` sentinels. The source of truth is\n[shared/bet-protocol.md](shared/bet-protocol.md) — edit there, propagate to all\nfive, and the drift check will tell you if you missed one. The duplication is\ndeliberate: the Agent Skills spec keeps each skill self-contained, and a check\nthat fails loudly beats a build step that installers would have to run.\n\nIf you can confirm Windsurf's skills path either way, that row in the matrix is\nthe one piece of this that is currently a guess.\n\n## Licence\n\nApache-2.0. The framework is based on Annie Duke's ideas; **the mistakes in adapting it are mine.**\n",
  "bytes": 7359,
  "sha": "8a06ecaa40105259ead2aeaec9f884a878070d2905b386d50fc404f6e4f3d12c",
  "repo_slug": "nikostsompanides/better-bets",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_nikostsompanides_better_bets_421cb2d3/readme"
}