Decision Helper logo

Decision Helper

Community
duncan-buildroom
decision-helper

You're stuck between options and going round in circles. This forces a decision, not another summary — it gets the real options on the table, names what you're actually optimizing for, drags out the constraint you haven't said out loud, and gives you one clear recommendation with the reason in a single line, plus the first move to make today. Use when the user says "help me decide", "I'm stuck between", "I can't choose", "should I do X or Y", "I keep going back and forth", "what would you do", "I've been thinking about this for weeks", "talk me through this decision", "pros and cons", or /decision-helper.

Overview

Publisherduncan-buildroom
Repositoryfreeskills
Skill namedecision-helper
Stars
65
Forks
15
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by duncan-buildroom on GitHub. Read the source before you install it.

Installation

Install the Decision Helper AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/duncan-buildroom/freeskills/tree/main/decision-helper
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/duncan-buildroom/freeskills.git /tmp/freeskills
mkdir -p .claude/skills
cp -r /tmp/freeskills/decision-helper .claude/skills/decision-helper
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Decision Helper in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Decision Helper on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Decision Helper is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Decision Helper — pick one, move today

Being stuck is rarely a lack of information. It's usually an unnamed constraint, or two things you want that can't both win. This skill gets the real options out, names the trade you're actually making, and ends with one recommendation and one first move. Not a balanced summary — a call.

Setup

None. This skill works out of the box.

Steps

1. Get the options on the table — the real ones

Ask the user to state the decision in one sentence, then list every option they're weighing.

Then do the two things they won't do for themselves:

  • Add the missing options. Almost every stuck decision is framed as two choices when there are four. The usual missing ones: do nothing for now, do a smaller version of one option, do both in sequence, ask someone for something that changes the choice entirely.
  • Cut the fake options. Anything they've already ruled out but keep listing to feel thorough. Say plainly: "You're not going to do this one — dropping it."

End with a clean numbered list of the live options. Usually two to four.

2. Name what you're actually optimizing for

Ask: "If only one of these could be true a year from now, which one?" Give them the list to pick from — money, time, risk, learning, freedom, reputation, keeping the relationship, getting it over with, protecting your energy.

Make them pick one. Two is fine if they're genuinely tied, but no more. If they refuse to pick, that refusal is the actual problem and you should say so.

Then say back to them, in one line: "So you're optimizing for X, and you're willing to give up Y to get it." Watch whether they flinch. A flinch means you've got the wrong one.

3. Surface the constraint they haven't said out loud

This is the important step. People stay stuck because the real reason is embarrassing, or they haven't admitted it to themselves. Probe gently with the ones that fit:

  • Is there a money number that decides this on its own? What's the smallest amount that would make it obvious?
  • Is there a person whose reaction you're managing — a partner, a boss, a parent, a friend?
  • Is there a date you're not counting from? A lease ending, a contract, a due date, a savings runway?
  • Is one of these options actually about proving something to someone?
  • Would you still be stuck if nobody ever found out which one you picked?
  • What's the thing you'd be relieved about if the decision were made for you tomorrow?

The last question is the strongest one. Relief points at the answer. When something surfaces, write it down in one plain sentence — this is usually the whole decision.

4. Run the reversibility check

Ask: if this turns out to be wrong, how hard is it to undo?

  • Easy to undo (you could reverse it in a week for under a few hundred and nobody gets hurt): decide now, on the spot. Say it directly: "This is cheap to reverse. You've spent more time deciding than fixing it would cost. Pick and go." Do not run a deep analysis on a reversible choice.
  • Hard to undo (money you can't get back, a contract, a public move, a relationship, a house, quitting something): slow down for exactly one specific reason — name the single thing that would change the answer, and the single check that would settle it. One check, with a date on it. Not "do more research."

Never let a hard-to-undo decision drift into "think about it more." Give it a check and a deadline.

5. Make the call

Give one recommendation. Not a lean, not "it depends," not a table.

Format it exactly like this:

Do this: <the option, in plain words> Because: <one line — the single reason it beats the others, tied to what they said they're optimizing for> You're giving up: <the real cost, stated honestly> You'd be wrong if:

That last line matters. It tells them what to watch for, and it keeps you honest — if you can't name the condition, you don't have a recommendation, you have a preference.

6. Name the first move, today

One action, doable today, under 30 minutes. A message sent, a number looked up, a call booked, a form started, a line written. Not "start planning."

Then give the decide-by date for anything still open, and one line on what they'll know by then that they don't know now.

Output — save it

Write to ~/decisions/<short-slug>-<YYYY-MM-DD>.md (create ~/decisions/ if needed) with these sections:

# Decision — <one line>
## Options on the table
## What I'm optimizing for
## The constraint I hadn't said out loud
## Reversibility
## The call
## First move (today)
## Decide-by date

Tell the user the path. Then say the first move out loud in your reply, so they can do it without opening the file.

Example (input → output)

Input: "I've been going back and forth for six weeks on whether to quit my job to go full time on my side thing. I make about £900 a month from it. I can't decide."

Output (saved to ~/decisions/quit-job-2026-07-30.md), compressed:

Options: (1) Quit now. (2) Stay and keep building nights. (3) Drop to four days and buy one build day a week. (4) Set a revenue number that triggers the quit. You listed two. Options 3 and 4 are the ones you hadn't put on the table.

Optimizing for: risk — specifically not running out of money. You'll give up speed to get it.

The constraint you hadn't said: your partner hasn't agreed to this. Every version of the plan you described assumes a conversation that hasn't happened.

Reversibility: hard to undo. Quitting and re-hiring into the same salary is not a week's work. So: one check, not five — does £900/month grow when you add ten hours a week, or is it flat because of something other than time?

The call:

  • Do this: ask for four days a week, starting next month.
  • Because: it buys the one thing you don't have — a real test of whether more hours moves the number — without betting the rent on it.
  • You're giving up: 20% of your salary, and the clean story of "I went all in."
  • You'd be wrong if: your employer says no to four days, in which case the decision becomes quit-or-stay and you'll need the revenue trigger instead.

First move today: send your partner one message — "can we talk Thursday about me going to four days?" Twelve words. That's the blocker, not the spreadsheet.

Decide-by: 30 September.

Notes / edge cases

  • The beginner failure mode this prevents: researching a reversible decision for six weeks. If it's cheap to undo, the answer is "pick one now" — say that and mean it.
  • If the input is thin ("should I do this?"), get the options and the optimize-for before anything else. You cannot recommend without knowing what winning looks like to them.
  • Never hedge at step 5. If you genuinely can't call it, say the two options are equivalent and tell them to pick the one they'd be relieved about — but say that as the recommendation, not as a shrug.
  • If the decision turns on money, health, law, or immigration, still make the call on the parts you can, and flag the specific piece worth taking to a professional.
  • If the choice hinges on facts nobody in the room has, hand off to research-brief for the one specific question, then come back and decide.
  • If it hinges on a document they haven't properly read, run doc-digest on it first.

Frequently asked questions

What does the Decision Helper AI skill do?

You're stuck between options and going round in circles. This forces a decision, not another summary — it gets the real options on the table, names what you're actually optimizing for, drags out the constraint you haven't said out loud, and gives you one clear recommendation with the reason in a single line, plus the first move to make today. Use when the user says "help me decide", "I'm stuck between", "I can't choose", "should I do X or Y", "I keep going back and forth", "what would you do", "I've been thinking about this for weeks", "talk me through this decision", "pros and cons", or /d...

Why use Decision Helper on TypingMind?

Because you install it once and use it with any model. Decision Helper is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Decision Helper in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/duncan-buildroom/freeskills/tree/main/decision-helper. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Decision Helper?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Decision Helper?

As many as you like. As long as a model supports skills, you can use Decision Helper with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Decision Helper AI skill free?

It is published on GitHub by duncan-buildroom. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇