# Os Ask Simple

ALWAYS invoke this skill before asking the user any technical question or offering...

- Repository: https://github.com/kharmanskyi/open-steps (1291 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-05
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add kharmanskyi/open-steps --skill os-ask-simple -g -a claude-code -y`
Codex: `npx skills add kharmanskyi/open-steps --skill os-ask-simple -g -a codex -y`
Cursor: `npx skills add kharmanskyi/open-steps --skill os-ask-simple -g -a cursor -y`
Gemini CLI: `npx skills add kharmanskyi/open-steps --skill os-ask-simple -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add kharmanskyi/open-steps`

## Description

ALWAYS invoke this skill before asking the user any technical question or offering options, and whenever they ask to be asked in plain words - "ask simple", "ask me simply", "ask me in plain words" - in any language. ALWAYS invoke it too when the user asks for your view on a technical choice: whether it is worth doing, more than the problem needs, or replaceable by something simpler, and which option you would take. Invoke it even when the code makes the answer look obvious: the checks are what make the answer more than a guess. Rewrites the question in plain words and always ends with one marked recommendation. A structural choice first passes six checks, shown as a table: effort now, simpler substitute, extra work later, lock-in, over-engineering, easy to undo. Doing nothing is always weighed.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# os-ask-simple

Two jobs. Ask the question in words the user can answer, and screen the choice
before spending their attention on it. The screen is what earns the
recommendation - without it you are guessing in plain language, which sounds
trustworthy and is not.

## Language

Write in the language the user speaks in this session. Detect it from the
conversation. Keep code, file names and identifiers in English.

## When to use

- You are about to ask the user a technical question.
- You are about to offer options.
- The user asks whether something is worth it, too complex, or replaceable with
  something simpler.
- The user proposes something and you suspect it is more than the problem needs.

## Before anything: is this even a question for them?

Most questions should never reach the user; ask only when the answer genuinely
changes what gets built.

- **Can you answer it by looking?** Read the code, the config, the last report.
  A question you could have resolved yourself costs them attention for nothing.
- **Is there a conventional default?** Take it and say you took it.
- **Would both answers lead to the same work?** Then it is not a fork.

## Light form - every question

```
<The question in one plain sentence. No jargon; if a term is unavoidable, give a
three-to-five word analogy.>

Why it matters: <one line, in terms of the product, not the code>
What changes later: <one line>
Easy to undo: <yes, and how - or no, and why>
```

Then the options, through your tool's question picker where it has one (in
Claude Code, AskUserQuestion). Offer two to four, each with a one-line
trade-off in plain words, the recommended one first and marked `(Recommended)`.

Keep the heading to 12 characters or fewer and each label to one to five
words. Claude Code's picker has the same limits, and short labels read well as
plain text too. Where there is no picker, write the same question and options
as plain text, the recommended one first and marked.

The rest: https://github.com/kharmanskyi/open-steps/blob/HEAD/skills/os-ask-simple/SKILL.md
