agentleFS
ly0o0oly0o0o/codex-engineering-skills/skills/question-details/SKILL.md

question-details

Skill2 starsChanged 3 months agoMITView on GitHub

当用户需求不清晰时,强制进入“需求澄清模式”,通过复述、反问、确认与证据化决策,把模糊请求收敛为可执行任务后再实施。

The file

Files
SKILL.md

question-details

这个 skill 做什么

这个 skill 用于处理“需求表达模糊、约束不完整、验收标准缺失”的场景。目标不是立即写代码,而是先把需求澄清到可执行、可验证、可回滚,再进入实现。

核心能力:

  1. 先复述再执行:先准确复述理解,等待用户确认。
  2. 不清晰就追问:任何关键点不明确,先提问,不盲猜。
  3. 分步实现与分步校验:每一步落地后都检查是否引入问题。
  4. 全面检索相关上下文:快速查找相关代码/配置/文档并做 review。
  5. 证据化决策:遇到不清楚功能时,优先查官方文档(Context7/MCP/官方资料)再实现。

何时使用

当用户请求包含以下特征时触发:

  • 目标不明确:如“优化一下”“改好看点”“这个不太对”。
  • 范围不明确:不清楚改一个接口、一个模块还是全局。
  • 成功标准不明确:没有明确“完成后应该是什么”。
  • 约束缺失:未说明兼容性、性能、时限、风险边界。
  • 外部依赖不清楚:涉及第三方 SDK/API 版本、参数语义或行为变更。

关键词(用于识别是否触发)

需求不清晰、需求模糊、先确认、先复述、反问、澄清、是否明确、MVP、边界、验收标准、范围、约束、兼容性、风险、回滚、官方文档、Context7、MCP、依据、不要猜

执行协议(必须按顺序)

第 1 步:复述理解(必须)

输出模板:

  1. 你的目标是:...
  2. 我理解的范围是:...
  3. 我将交付:...
  4. 验收标准将按:...

如果用户未确认,不进入开发。

第 2 步:澄清问题(有疑点就必须提问)

只问会影响结果的问题,优先级如下:

  1. 业务目标(为什么改)
  2. 改动范围(改哪里,不改哪里)
  3. 成功标准(如何算完成)
  4. 约束条件(性能/兼容/时间/安全)
  5. 交付形式(只改代码、是否要测试/文档)

提问规则:

  • 一次最多 1-3 个高价值问题,避免“问卷式轰炸”。
  • 每个问题给默认选项,方便用户快速确认。
  • 若用户未答全,继续追问到“可执行”为止。

第 3 步:相关内容全量定位与 review

在实现前,先定位并阅读:

  1. 直接相关代码(接口、服务、调用链、类型定义)
  2. 配置与环境(env、feature flag、路由注册、任务调度)
  3. 测试与文档(单测、集成测试、README、设计文档)

review 要点:

  • 是否存在与需求冲突的旧逻辑。
  • 是否有边界条件/空值/权限/并发风险。
  • 是否有明显 bug 或不一致行为。

发现问题:若与当前需求直接相关,直接修复;若无关,记录并告知。

第 4 步:证据化澄清(不确定就查官方)

当出现“API 行为不确定、参数语义不确定、版本差异不确定”时:

  1. 使用 Context7/MCP 或官方文档查询。
  2. 记录依据(版本、章节、关键结论)。
  3. 基于依据实现,不凭记忆猜测。

第 5 步:分步实现 + 每步校验

实现规则:

  1. 拆成可验证的小步骤。
  2. 每步完成后执行对应检查(类型、lint、测试或最小回归)。
  3. 若出现问题,先修复再进行下一步。

第 6 步:结果复盘(必须)

最终汇报必须包含:

  1. 改了什么(文件 + 关键点)
  2. 为什么这样改(简短依据)
  3. 验证结果(执行命令、成功/失败、关键输出)
  4. 风险与后续建议(如有)

需求是否明确:判定清单

满足以下条件才算“需求明确”:

  • 有明确目标(要解决什么问题)
  • 有明确范围(改哪些,不改哪些)
  • 有验收标准(完成判据)
  • 有约束条件(性能/兼容/安全/时间)
  • 有交付预期(代码、测试、文档、上线要求)

任一缺失即判定为“不明确”,必须继续澄清。

示例

示例 1:模糊需求

用户:

“帮我优化一下这个接口,感觉慢。”

代理应答:

  1. 复述:你希望提升接口响应速度,并且不改变现有业务语义。
  2. 提问:
    • 目标接口路径是什么?
    • 当前可接受的耗时上限是多少?
    • 是否允许引入缓存(例如 30 秒)?
  3. 确认后再实现,并在每一步后验证性能与正确性。

示例 2:功能边界不清

用户:

“把登录相关都修一下。”

代理应答:

  1. 复述:你希望修复登录链路中的问题。
  2. 提问:
    • 具体是密码登录、验证码登录,还是第三方 OAuth?
    • 是报错、性能问题还是权限问题?
    • 是否只修后端,前端暂不改?
  3. 在范围明确前不直接改代码。

示例 3:外部能力不确定

用户:

“这个 SDK 应该支持批量删除吧?你直接接上。”

代理应答:

  1. 先说明:该能力是否支持尚不明确。
  2. 查询官方文档(Context7/MCP/官方文档)确认版本与方法签名。
  3. 给出依据后再实现,避免错误接入。

反模式(禁止)

  • 用户需求未确认就开始写代码。
  • 关键约束不明时自行脑补。
  • 不查依据直接使用不确定 API。
  • 一次性大改,不做分步验证。
  • 完成后不汇报验证结果与风险。

一句话原则

先澄清到“需求明确”,再执行到“可验证完成”。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.