Communitygithub.com

Alizen-1009/my_skills

个人 Codex 技能集,包含上游技能的链接集合。

my_skills 是什么?

该技能旨在消除开发者与 AI 智能体之间的意图鸿沟,专注于发现并明确那些在任务描述和实施过程中隐藏的“未知项”。它提供一套诊断方法与工具箱,帮助智能体在探索、规划、实施和交付阶段,通过具体的提示模板(如盲点扫描、原型、用户访谈、计划草案等)来替代盲目猜测。该技能支持 Claude Code、Cursor、Codex 等平台,以增量方式收集上下文并做出决策,同时能够与其他下游技能(如 `grill-me`、`prototype`、`spec-driven-development`)衔接,将发现转化为具体的实施步骤。最终目标是减少返工,确保交付物与用户真实需求对齐。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add Alizen-1009/my_skills

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

发现你的未知项

概述

用户对任务的描述(他们的提示、上下文、参考资料)与实际工作(代码库、约束条件、现实情况)之间的差距正是未知项的藏身之处。当智能体遇到未知项时,它会猜测用户的意图。本技能的工作就是消除猜测:帮助用户在实施之前、期间和之后发现并命名他们的未知项,迭代进行——而不是一次性的事前计划。

这是一个工具箱,而非固定的流水线。先诊断,然后只应用适合的技术。不要在琐碎的任务上运行所有技术。

四种未知项

在选择技术之前,请对缺失的内容进行分类:

  • 已知已知项 —— 提示中已经陈述的内容。
  • 已知未知项 —— 用户知道他们还没有决定这个。
  • 未知已知项 —— 太明显以致于没有写出来,但用户看到后能识别出来(通常是视觉/UX方面的品味)。
  • 未知未知项 —— 从未考虑过;用户不知道自己不知道什么。

第 0 步 — 诊断

在做任何事情之前,确定哪些未知项占主导地位,并据此选择技术:

  • 不熟悉的领域或不熟悉的代码库角落 → 盲点扫描(未知未知项)。
  • 难以描述,“看到就知道” → 原型(未知已知项)。
  • 方向明确,细节模糊 → 访谈用户 + 起草计划(已知未知项)。

始终提供关于用户是谁以及他们已知什么内容的上下文——它能让下面的每一项技术都更加精准。

交接给其他技能

将此技能用作发现层,而不是整个工作流程。在命名未知项后,选择最小的后续技能来解决下一个不确定性。

未知项或下一步需求交接给使用场景
用户未完全表达意图interview-me一次问一个问题,直到底层需求明确。
计划需要压力测试grill-me 或 grill-with-docs对假设进行压力测试;当需要捕获ADR或术语表更新时,使用文档变体。
缺少外部事实research 或 source-driven-development在决策前收集一手证据。
用户看到才能知道prototype在承诺实现之前,使用假数据展示具体选项。
工作需要正式规范spec-driven-development将发现的约束和决策转化为PRD/规范。
工作体量过大无法直接执行planning-and-task-breakdown 或 writing-plans将对齐的规范分解为有序的、可验证的片段。
接口边界不清晰api-and-interface-design 或 design-an-interface决定API、模块或类型契约。
代码库结构不确定codebase-design 或 improve-codebase-architecture找到正确的模块边界、抽象或重构方向。
UI行为或视觉质量不确定frontend-ui-engineering将选定的原型或偏好转化为生产级别的UI工作。
存在Bug但原因不明systematic-debugging 或 diagnosing-bugs重现、隔离、假设、检测并修复。
实施涉及独立任务subagent-driven-development 或 dispatching-parallel-agents仅在任务不共享状态或顺序依赖时拆分工作。
工作看似完成verification-before-completion、requesting-code-review 或 code-review验证证据,然后在声称完成或合并之前进行审查。

在交接之前,总结:

  • 现在已知什么。
  • 仍然未知什么。
  • 哪个决策会改变实施方式。
  • 哪个工件应该继续推进:原型、规范、计划、实施说明或验收报告。

按阶段划分的技术

每项技术都有一个触发条件和可以直接发送的提示模板。请调整括号部分。

探索(发现未知项)

1. 盲点扫描 —— 进入不熟悉领域的第一步。

我正在添加[X],但我几乎不了解这个代码库中的[Y]模块。做一个盲点扫描——找出我的“未知未知项”并解释它们,这样我才能给你写一个更好的提示。

2. 原型 —— 当无法描述时,展示它。使用假数据,无需后端。

在接触真实应用之前,制作一个HTML文件,用假数据模拟[接口]。给我4个完全不同的设计方向,这样我可以看看哪个感觉对。

3. 访谈用户 —— 挤出剩余的模糊点。

一次问我一个问题。锁定模糊区域,优先提出那些答案会改变架构的问题。

规划(对齐意图)

4. 展示参考资料 —— 最好的参考资料是源代码,而不是截图。

[路径/库]实现了我们想要的[行为]。阅读它,然后在[我们的技术栈]中重新实现相同的语义。

5. 起草计划 —— 首先浮现最可能改变的决策。

编写一个HTML实施计划,但把最可能调整的决策放在最上面:数据模型更改、新的类型接口、任何用户可见的内容。把机械性的重构放在最后——那些我相信你。

实施(捕获在中间出现的未知项)

6. 随附注释 —— 开始一个新的会话,将规范/原型输入其中,然后:

维护一个 implementation-notes.md。如果某个边界情况迫使你偏离计划,选择保守的选项,在“偏差”部分记录下来,然后继续。

交付(对齐他人,验证你理解正确)

7. 交接说明

将原型、规范和实施说明打包成一个文档,我可以直接扔到聊天中用于批准。在顶部放一个演示GIF。

8. 验收测验 —— 作者的硬性规则:通过后才能合并。

我想确保我完全理解这次更改。制作一个HTML报告,包含变更的上下文、直觉以及完成的内容——然后在底部放一个我必须通过的测验。

操作规则

  • 每当你即将猜测用户的意图时,停下来,改用相应的技术。
  • 串联工件:原型 → 规范 → 实施说明 → 验收报告;每一步都是下一步的输入,这样新的会话不会丢失上下文。
  • 对于小任务,盲点扫描 + 起草计划 + 验收测验 已经能捕获大部分价值。不要过度执行。

相关技能