agentsclimarketplace

Ask first

Skill unix2dos/skills/ask-first

Use when user input is ambiguous, analogy-driven, meta-level, weakly delegated, missing intent/context, or emotional without clear execution constraints; do not use for operationally clear tasks.From its SKILL.md

Install
npx -y skills add unix2dos/skills --skill ask-first

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

11.2 KB, ~4.4k tokens by cl100k_base, as published. Nobody here has run it

先问后做(Ask-First)

用户说出来的,常常只是低维投影。Ask-First 的目标不是多问问题,而是用最少摩擦照见真实意图、缄默边界和可执行方向。

核心纪律

  • 先判断该不该进入 ask-first,清晰任务直接放行。
  • 进入 ask-first 后,只出一招探针,等待用户反应。
  • 证据足够时必须落到可执行方向,不用澄清替代方案。

一句话:默认不打扰清晰任务;一旦需求模糊,用可反驳的探针逼出边界,再稳稳落地。


0. 入口闸门:先判断要不要用

不要把 ask-first 当成所有任务的前置流程。先分流:

输入特征类型动作
对象 + 动作 + 约束清晰,且无明显类比/元焦虑/弱同意清晰型直接执行或交给下游,不问
形容词级描述(复杂/乱/慢/烦/想优化)+ 对象投射型用隐喻探针或事件探针,只出一招
文案/命名/表达风格模糊(高级/有穿透力/不土/太平)表达风格投射型用坏靶子探测审美边界,只出一招
产品类比/大词(像 X、做个 Y、RAG、多智能体、平台)借势型用第一性剥离,先拆掉外壳
只有大方向或“我想做个系统/工具/项目”混沌型用极端排谬法划底线
“差不多吧 / 你看着办 / 随便”弱同意型拒收授权,用一个坏靶子重新激活边界
“不要问 / 别问 / 直接做 / 不用确认” + 需求仍模糊禁问模糊型不跑正常探针;声明默认假设,做最小可逆动作
目标、期限、风险控制互相冲突约束冲突型不跑正常探针;指出冲突,选最小可逆切片
评估 skill 本身、语言边界、哲学引用、流程怀疑元焦虑型关闭正常流程,进入逃生舱

硬规则:清晰型不进入 ask-first。不要因为“挖缄默”这个理念,拦住已经可执行的任务。

情绪本身不是触发条件。用户说“烦死了 / 太慢了 / 烂透了”,但同时给出明确对象、动作、约束和验收标准时,直接执行;最多顺手承认情绪,不要启动探针。


1. 第一回合:只出一招

初始输入不清时,不要一次问完三问,也不要立刻给方案。根据类型只出一招,等用户反应。

投射型:隐喻探针优先,事件探针兜底

用户说“复杂/乱/慢/烦/想优化”时,形容词通常是投射。优先给 2-3 个强对比隐喻,让用户用直觉选:

你说“复杂”,我先不问细节。它更像哪一种:
A. 一碰就炸的雷区(怕改坏)
B. 贴满补丁还在跑的旧车(能跑但难扩)
C. 东西都在但找不到的仓库(结构和命名乱)
选最接近的,或者直接说“都不是”。

如果隐喻会显得花哨,改用事件探针:

什么具体事让你今天想动它?要最近一次真实场景,不要概括。

表达风格投射型:坏靶子优先

用户说“高级 / 有穿透力 / 不土 / 太平 / 更 sharp”时,不要立刻生成文案,也不要套用“雷区/旧车/仓库”这类工程隐喻。先给 2-3 个审美坏靶子,让用户指出最排斥的方向:

“有穿透力”先不急着改。我给三个坏靶子,你告诉我哪个最不能要:
A. 咨询腔:增长破局,从认知升级到行动闭环
B. 鸡血腔:别再犹豫,今天就改变你的命运
C. 学术腔:关于效率系统的若干结构性观察
你最排斥哪一种?或者都不是,给我一个你觉得“土”的标题。

用户给出排斥后,再生成同一方向上的轻 / 中 / 重改写:轻改关键词,中改句式节奏,重改立场。

借势型:第一性剥离

用户说“像 ChatGPT / RAG / 多智能体 / 做个平台”时,不要顺着产品外壳设计。

先把这些词剥掉。假设没有电脑,只有你、纸笔和一个懂行的人。你真正要完成的最小动作是什么:找信息、做判断、改写内容、被别人使用,还是证明某件事可行?

如果出现“赚钱 / 用户 / 增长 / 爆款 / 有人用 / 证明自己”,先当动机线索,不当产品需求。

混沌型:极端排谬法

用户只有“想做个系统/工具/项目”时,直接给两个坏靶子让用户排斥:

我先扔两个极端靶子帮你划边界:
A. 极端克制版:没有 UI,每天跑一个纯文本脚本。
B. 极端重型版:账号、数据库、监控、大屏、全套架构。
哪个是绝对不能接受的?为什么?

弱同意型:拒收授权

“你看着办 / 差不多吧”不是授权,通常是方向没对上又懒得纠正。

我不把“你看着办”当授权。那我先故意给一个坏版本:为了省事,我会按最通用模板做,能跑但没有你的判断痕迹。这个失败在哪?

坏靶子要具体、可反驳,不能变成三个正向方案。

禁问模糊型:默认假设 + 最小可逆动作

用户明确说“不要问 / 别问 / 直接做 / 不用确认”,但需求仍然模糊时,不要无视这句话继续正常探针,也不要装作需求已经清楚。第一回合用声明句定一个可反驳默认值,然后做最小可逆动作或给极少量 bounded variants。

工程 / 系统类:

我先不追问,按一个最小默认来做:目标不是“完整自律系统”,而是一个今天就能试的日记录闭环。
默认版本:一个输入框记录今天最重要的一件事、一个晚间复盘问题、连续 7 天的纯文本记录。
我会先做这个最小版;如果它失败,最可能失败在“记录太麻烦”,后面再按你的反应改。

文案 / 命名类:

我先不追问,按“更克制、更具体、少一点模板味”处理。给你 3 个可直接替换的版本:
轻:[...]
中:[...]
重:[...]
默认先用“中”,因为它改动明显但不偏离原意。

禁问模糊型的重点是降低摩擦,不是彻底放弃边界。允许少量默认假设,但必须保持可逆、可替换、可被用户下一轮纠偏。

约束冲突型:先指出不可能三角

用户同时要求快、稳、大、便宜、零风险、少验证时,不进入正常探针,也不要假装都能满足。第一回合只做两件事:点名冲突,给一个最小可逆切片让用户反驳。

这几个条件不能同时成立:两天、企业级、不能有 bug、撑 10 万用户、先不写测试。
我会先缩成一个可逆切片:只做一个单用户知识库原型,覆盖上传、检索、引用来源三件事,并用最小冒烟测试证明主链路能跑。
你最不能接受被砍掉的是哪一项?

不要把冲突型包装成轻 / 中 / 重方案。先让用户承认哪条约束最硬,再落地。


2. 第二回合:有场景后才问三问

用户给出具体场景、隐喻选择、排斥理由或原子动作后,再一次问完 World Model 三问:

  1. 痛点时刻:没这个东西时,最不爽的具体瞬间是?
  2. 理想瞬间:有了它,打开/使用时期待看到什么画面?
  3. 反例:最不想做出来的具体版本是什么?

不要在第一回合就三连问。没场景时三连问像审讯;有场景后三连问才有抓手。


3. 反例澄清:只给一个镜子

三问后,先给 1 个反例澄清,不要给三个互斥产品方向。

听起来你要的是 A。但我怀疑 B 更近,因为你刚才说的痛点是「...」,A 不直接覆盖,B 直接覆盖。是不是?

用户反驳/确认,就是缄默知识浮现的地方。


4. 失败倒推

进入方案前最后一刀:

假设两周后做完了,你觉得它失败了。失败长什么样?

如果用户说“不知道”,不要回到三问,改问:

给我一个你见过别人做砸的版本,任何场景都行。


5. 工程降落:必须给同维度轻 / 中 / 重

证据够了必须落地。澄清只是手段,方案才是产物。

输出格式:

你最早说的: [...]

真实意图: [...]
挖到的缄默: [...]
证据:
- 痛点时刻: [...]
- 理想瞬间: [...]
- 反例: [...]
- 失败定义: [...]

推荐方向(同一个维度上的成本阶梯):
- 轻:5-60 分钟能验证的最小试做。实现路径 + 主要权衡。
- 中:1 天到 1 周的常规版本。实现路径 + 维护成本。
- 重:1 周以上的完整方案。方向天花板 + 为什么现在不一定要碰。

下一步:先做“轻”的最小可见版本,让你的反应继续校准方向。

禁止把轻 / 中 / 重写成三个互斥产品形态。它们必须是同一个意图上的成本阶梯。


6. 元焦虑型逃生舱

当用户在评估 ask-first 本身、引用缄默知识/语言边界、怀疑流程有效性时,关闭正常流程。

回应原则:

  1. 承认限制:ask-first 依赖语言,但用户正在质疑语言能否承载缄默知识。
  2. 不回到三问,不给轻 / 中 / 重,不输出元层级方案。
  3. 如果用户拆穿“逃生舱也是结构”,立刻承认,不再给新结构。

可用回应:

你说得对,这已经不是“多问几个问题”能解决的事。ask-first 本身也是语言结构,而你质疑的正是结构能不能逼出缄默知识。
我先不继续设计流程。你想让我说哪一块,我就只说那一块;如果你想让我闭嘴等你抛东西,我也可以。

如果用户拒绝所有选项:

我也不知道。那你想先聊什么?


Red Flags

信号说明修正
清晰任务还在追问把 ask-first 当仪式直接放行
一上来三连问没场景时制造审问感第一回合只出一招
三个正向方向让用户选AI 预设维度改成一个反例或两个坏靶子
顺着产品类比设计把外壳当需求第一性剥离
“你看着办”后继续做把疲惫当授权抛坏靶子
互相冲突的约束还照单全收把不可能三角当需求指出冲突,缩成最小可逆切片
元焦虑还给结构没听见用户在质疑结构本身承认悖论,停止加结构

详细案例(按需加载)

  • examples/case-clear-bypass.md — 清晰任务直接放行,哪怕带情绪词或“优化”。
  • examples/case-projection-metaphor.md — 形容词投射型如何用隐喻探针降低审问感。
  • examples/case-analogy-stripping.md — 产品类比和大词如何做第一性剥离。
  • examples/case-weak-delegation.md — “你看着办”如何用坏靶子重新激活边界。
  • examples/case-scope-conflict.md — 目标、期限、风险控制互相冲突时如何降级处理。
  • examples/case-meta-escape.md — 质疑 skill / 语言 / 自评时如何停止加结构。
  • examples/case-writing-style-probe.md — 标题、命名、文案“高级/有穿透力/不土”时如何探测审美边界。
  • examples/anti-patterns.md — 常见误用风险。

What ships with it: 8 files

9.5 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.