Decision Ui logo

Decision Ui

Community
JasonxzWen
decision-ui

Load when Codex 即将要求用户在 2-3 个互斥方案中做真实决定、准备询问阻塞性澄清问题或需要确认高影响取舍;将选择转换为宿主原生可点击 UI,并在工具不可用时诚实文本回退。不要用于低风险实现细节、只有一个合理答案的问题、普通信息采集或不需要用户决策的完成汇报。

Overview

PublisherJasonxzWen
Repositoryharness-hub
Skill namedecision-ui
Stars
71
Forks
0
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 JasonxzWen on GitHub. Read the source before you install it.

Installation

Install the Decision Ui 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.
  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/JasonxzWen/harness-hub.git /tmp/harness-hub
mkdir -p .claude/skills
cp -r /tmp/harness-hub/skills/decision-ui .claude/skills/decision-ui
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Decision Ui 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 Ui 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 Ui 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 UI for Codex

Goal

把真正需要用户判断的选择做成原生交互控件,同时保持 Agent 的执行自主性。不要把 Markdown 列表伪装成按钮,也不要为了展示 UI 而制造无意义的决策。

Decision Gate

先判断是否真的需要用户选择。仅在答案会实质改变以下至少一项时停下来询问:

  • 用户可见的结果、范围或优先级
  • 风险、成本、不可逆性或外部影响
  • 缺失且无法从现有上下文发现的个人偏好
  • 后续存在两个以上同样合理、但不能同时执行的方向

遇到以下情况时直接做出合理假设并继续:

  • 低风险、可逆的实现细节
  • 可以从仓库、文件、工具状态或既有约定中查明的事实
  • 一个方案明显优于其他方案,且不会扩大用户授权范围
  • 只是想在完成汇报末尾例行添加“下一步”菜单

Native Choice Workflow

  1. 确认当前宿主是否提供结构化用户输入工具,例如 request_user_input
  2. 工具可用时直接调用,不要先输出编号菜单,也不要要求用户回复 1/2/3
  3. 默认一次只提出一个决策;只有问题彼此独立且合并能明显减少往返时,才在一次调用中提出多个问题。
  4. 每个问题只提供 2-3 个互斥、可执行的选项。
  5. 把有证据支持的推荐项放在第一位,并在标签后标记 (Recommended)
  6. 用一句话说明每个选项的影响或取舍;不要只换一种说法重复标签。
  7. 依赖客户端提供自由输入的 Other 选项,不要手工再添加一个“其他”。
  8. 收到选择后立即恢复原任务,把结构化答案当作用户明确输入,不要重复确认同一决定。

遵守宿主工具的字段限制。对于 Codex 当前的 request_user_input,保持:

  • header 不超过 12 个字符
  • question 为一个清晰句子
  • 选项标签为 1-5 个词
  • 选项描述为一个短句

Blocking And Non-Blocking Choices

对于会阻塞执行的决定,调用原生选择工具并等待用户回答,不设置自动继续超时。

对于仅能改善结果、但不值得阻塞的补充偏好,仅在工具明确支持自动解析时使用其非阻塞或超时机制;推荐项必须同时是超时后的安全默认值。工具不支持时,采用合理默认值继续,并在结果中简短说明假设。

完成答案后的可选后续动作不等同于阻塞性决策:

  • 宿主提供专用的 clickable follow-up action 能力时,优先使用它。
  • 只有 request_user_input 时,不要为了显示按钮而把已完成任务重新变成阻塞问答。
  • 没有原生 follow-up 能力时,只说明一个最值得做的下一步;不要再输出让用户回复数字的菜单。

Choice Quality

  • 让选项覆盖真实分叉,不要把“同意建议”拆成多个措辞相近的选项。
  • 优先描述结果,而不是内部实现名词;用户需要知道选择后会发生什么。
  • 推荐必须来自当前证据、约束和目标,不要机械地把第一项称为推荐。
  • 能问“选择结果”时,不要退化成抽象的“是否继续”。
  • 涉及外部写入、公开发布、费用、删除或不可逆操作时,保留明确确认,不使用自动解析。

Fallback

结构化选择工具不可用时:

  1. 明确说明当前宿主无法渲染原生选择控件。
  2. 用一个短问题加 2-3 个项目符号提供同样的互斥选项。
  3. 让用户回复选项名称,不要求只回复数字。
  4. 不输出自定义 fenced JSON、HTML 按钮或未经宿主支持的伪协议。

不要声称文本列表是可点击的,也不要为了逃避工具不可用而替用户做高影响决定。

Quality Bar

一次合格的 Decision UI 交互应满足:

  • 只有真实、重要的分叉才打断用户
  • 用户看到原生可点击选项,而不是编号文本替代品
  • 推荐项及其代价清楚可见
  • 选项互斥且选择后能直接继续执行
  • 工具不可用时诚实回退,不伪造交互能力

Frequently asked questions

What does the Decision Ui AI skill do?

Load when Codex 即将要求用户在 2-3 个互斥方案中做真实决定、准备询问阻塞性澄清问题或需要确认高影响取舍;将选择转换为宿主原生可点击 UI,并在工具不可用时诚实文本回退。不要用于低风险实现细节、只有一个合理答案的问题、普通信息采集或不需要用户决策的完成汇报。

Why use Decision Ui on TypingMind?

Because you install it once and use it with any model. Decision Ui 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 Ui in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/JasonxzWen/harness-hub/tree/main/skills/decision-ui. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Decision Ui?

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 Ui?

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

Is the Decision Ui AI skill free?

It is published on GitHub by JasonxzWen. 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 👇