ワンクリックで
wayfinder
规划一大块工作——超过一次 agent 会话能容纳的体量——在你的 Issue 跟踪器上以共享的决策 ticket 地图形式呈现,逐个解决,直到通往目的地的道路变得清晰。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
规划一大块工作——超过一次 agent 会话能容纳的体量——在你的 Issue 跟踪器上以共享的决策 ticket 地图形式呈现,逐个解决,直到通往目的地的道路变得清晰。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
一轮一轮地同时询问所有前沿问题,进行无情的盘问。
把你无法独自回答的决策转化为一份问卷,交给别人来填写。
使用并行子代理为一个模块生成多种截然不同的接口设计方案。当用户想要设计 API、探索接口选项、比较模块形态,或提到"设计两次"时使用。
交互式 QA 会话,用户以对话形式报告 bug 或问题,代理负责提交 GitHub Issue。在后台探索代码库以获取上下文和领域语言。当用户想要报告 bug、进行 QA、以对话形式提交 Issue,或提到"QA session"时使用。
通过用户访谈创建包含微小提交的详细重构计划,然后将其提交为 GitHub Issue。当用户想要规划重构、创建重构 RFC,或将重构拆分为安全的增量步骤时使用。
从当前对话中提取 DDD 风格的通用语言(Ubiquitous Language)词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、强化术语体系、创建通用语言,或提到"领域模型"或"DDD"时使用。
| name | wayfinder |
| description | 规划一大块工作——超过一次 agent 会话能容纳的体量——在你的 Issue 跟踪器上以共享的决策 ticket 地图形式呈现,逐个解决,直到通往目的地的道路变得清晰。 |
| disable-model-invocation | true |
一个模糊的想法来了——大到一个 agent 会话装不下,而且笼罩在迷雾之中:从当前位置到目的地的路线还不 visible。Wayfinding 就是寻找那条路线,而不是冲向目的地。本技能将其绘制为 Issue 跟踪器上的共享地图,然后逐个处理其决策 ticket——问题本身,其答案是一个决策,而非构建中的可交付物切片——直到路线清晰。
每个项目的目标各不相同,命名目标是绘图的第一个行为——它塑造了每一个 ticket。它可能是一份要交付并迭代的规格说明、一个在规划开始前要锁定的决策、或者一个原地进行的变更(如数据结构迁移)。地图是领域无关的——工程工作、课程内容,无论什么形态都适用。
Wayfinder 默认是规划工具:每个 ticket 解决一个决策,地图在路线清晰时完成——不再有任何需要决定的事情,就可以交给别人去动手了。想要直接动手做的冲动,通常是你已经抵达地图边缘的信号,是时候交接了。项目可以在其笔记中覆盖这一设定——将执行任务也纳入地图——但默认情况下,产出的是决策,而非可交付物。
每个地图和 ticket 都是一个 issue,因此它有一个名称——它的标题。在人读取的一切内容中——叙述、地图的"已有决策"部分——都通过名称来引用,绝不使用原始 ID、编号或短横线标识。一堵 #42, #43, #44 组成的墙难以阅读;名称则一目了然。ID 和 URL 不会消失——但名称包裹着链接——它们只是活在名称内部,而不是替代它。
地图是此仓库 Issue 跟踪器上的一个 issue,带有 wayfinder:map 标签——这是权威产出物。它的 ticket 是地图的子 issue。
地图是一个索引,而不是仓库。它列出已做出的决策并指向包含其细节的 ticket;一个决策只存在于一个地方——它的 ticket 中——因此地图从不重述它,只摘要它并链接。
地图、其子 ticket、阻塞关系和前沿查询在物理上位于何处,取决于具体的跟踪器。 Issue 跟踪器应已提供给你——如果没有,请运行 /setup-matt-pocock-skills。查阅跟踪器文档的"Wayfinding 操作"一节了解此仓库如何表达它们。如果未提供跟踪器,默认使用本地 Markdown 跟踪器。
整个地图以低分辨率加载,每个会话一次。打开的 ticket 不在此列出——它们是打开的子 issue,通过查询找到。
## 目的地
<到达此地图终点时的样子——该目标最终产出的规格、决策或变更。一两行;每个会话在选择 ticket 前都会以此为导向。>
## 笔记
<领域;每个会话应查阅的技能;此工作的固定偏好>
## 已有决策
<!-- 索引——每个已关闭 ticket 一行:足以判断相关性,然后点击链接获取 ticket 中的详细内容 -->
- [<已关闭 ticket 标题>](link) — <一行答案摘要>
## 尚未明确
<!-- 见"战争迷雾":范围内的迷雾,尚不能创建 ticket;随着前沿推进而毕业-->
## 范围外
<!-- 见"范围外":目的地之外排除的工作;已关闭,永不毕业-->
每个 ticket 都是地图的子 issue;跟踪器的 issue ID 是其标识。其正文是问题,大小限制在一次 100K token 的 agent 会话:
## 问题
<该 ticket 解决的决策或调查>
每个 ticket 带有 wayfinder:<type> 标签——research、prototype、grilling、task 之一(见 Ticket 类型)。
一个会话通过将 ticket 分配给推动地图的开发人员来认领它,先做这个,在开始任何工作之前,这样并发会话会跳过它。那个分配人就是认领:一个打开的、未分配的 ticket 就是未被认领的。
阻塞关系使用跟踪器的原生依赖关系——这很关键,因为它能让前沿在视觉上呈现在跟踪器自己的 UI 中,让人可以在不打开地图的情况下看到哪些是可领取的。只有当一个跟踪器缺少原生阻塞功能时才回退到正文约定。一个 ticket 在所有阻塞它的 ticket 都关闭时即为已解除阻塞;前沿就是打开的、未阻塞的、未分配的子 ticket——已知领域的边界。
答案不是正文的一部分——它是在解决时记录的(见推进地图)。在解决 ticket 过程中创建的资产通过链接关联到 issue,而不是粘贴进去。
每个 ticket 要么是 HITL(人在回路——与能自主发言的人协作推进),要么是 AFK(由 agent 独立驱动)。HITL ticket 只能通过实时交流解决;agent 不能替代人类的那一侧(自己回答自己问题的 grilling agent 就破坏了这一点)。
/research 子代理解决。当需要当前工作目录之外的知识时使用。地图是故意不完整的:不要绘制你还看不到的东西。在活跃 ticket 之外就是战争迷雾——你能感觉到将要到来但还无法确定的决策和调查的依稀影像,因为它们取决于仍悬而未决的问题。解决一个 ticket 会清除它前方的迷雾,将现在可明确的内容毕业为新的 ticket——一次一个,直到通往目的地的道路清晰,不再有 ticket 留存。
地图的尚未明确部分就是写下那个依稀影像的地方:怀疑的问题、稍后要重新审视的区域、被暂缓的风险。它是通往目的地途中的未探索前沿——这里的一切都在范围内,只是还不够清晰到可以创建 ticket。尽情地写得粗略或完整,取决于可见度;它同时作为协作者的指示牌,指引工作的方向。
迷雾还是 ticket? 检验标准是你现在是否能精确陈述问题——不是你能否现在回答它。
尚未明确排除已经决定的内容(那是"已有决策")、已经是 ticket 的内容,以及范围外的内容(见下一节)。
迷雾只会在通往目的地的方向上聚集。目的地限定了范围,因此超出目的地的工作就是范围外——它不是迷雾,不属于尚未明确。它在地图上拥有自己的范围外章节:你有意识地从本次工作中排除的工件。是范围,而不是清晰度,决定了它放在这里。
范围外的工件永远不会毕业——前沿停在了目的地——因此只有目的地被重新划定后它们才可能回归,而且那时也是作为全新的项目,而非旧事重提。
将某物排除在范围之外是范围划定行为,而不是路线上的步伐。当一个已存在的 ticket 被发现处于目的地之外时——可能在绘图时错误地划入了范围,或者在一次解决结果中被暴露——关闭它(已关闭的 ticket 明确不在前沿上),并在范围外章节留下一行:摘要加上为什么在范围外,链接到已关闭的 ticket。它不会进入已有决策,后者记录的是实际走过的路线——范围边界不是路线上的一个步骤。
两种模式。任一种情况下,每个会话最多解决一个 ticket——研究 ticket 除外。
用户用一个模糊的想法来调用。
/grilling 和 /domain-modeling 会话以确定此地图要寻找的目标——规格、决策或变更。目的地限定了范围,因此先确定它。wayfinder:map):填写目的地和笔记,已有决策为空,将迷雾勾勒到尚未明确中。research ticket,启动一个 /research 子代理来并行解决它,在一个可丢弃的 research/<name> 分支上捕获其发现,并在 ticket 中附上上下文指针。用户用地图(URL 或编号)来调用。ticket 是可选的——没有指定时,你选取下一个决策,而不是用户。
## Notes 块中指定的技能。有疑问时使用 /grilling 和 /domain-modeling。用户可能并行运行未阻塞的 ticket,因此要预期其他会话可能同时在编辑跟踪器。