com um clique
wayfinder
把单个代理会话装不下的大块工作规划成 issue tracker 上的调查议题共享地图,并一次解决一个议题,直到通往目标的路径清晰。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
把单个代理会话装不下的大块工作规划成 issue tracker 上的调查议题共享地图,并一次解决一个议题,直到通往目标的路径清晰。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
使用并行子代理为模块生成多个显著不同的接口设计。适用于用户想设计 API、探索接口选项、比较模块形状,或提到 “design it twice” 时。
交互式 QA 会话,用户以对话方式报告缺陷或问题,代理创建 GitHub issues。后台探索代码库以获取上下文和领域语言。适用于用户想报告缺陷、执行 QA、以对话方式提交 issues,或提到 “QA session” 时。
通过用户访谈创建带小提交的详细重构计划,然后作为 GitHub issue 提交。适用于用户想规划重构、创建重构 RFC,或把重构拆成安全的增量步骤时。
从当前对话提取 DDD 风格的 ubiquitous language glossary,标记歧义并提出标准术语。保存到 UBIQUITOUS_LANGUAGE.md。适用于用户想定义领域术语、构建词汇表、收紧术语、创建通用语言,或提到 “domain model” / “DDD” 时。
询问当前情境适合哪个技能或流程;它是本仓库所有 skills 的路由器。
从固定点(commit、branch、tag 或 merge-base)开始,按 Standards(代码是否符合本仓库记录的编码标准?)和 Spec(代码是否符合来源 issue/PRD 的要求?)两个轴线审查变更。两个审查会在并行子代理中运行,并并排报告。适用于用户想审查 branch、PR、进行中的变更,或要求 “review since X” 时。
| name | wayfinder |
| description | 把单个代理会话装不下的大块工作规划成 issue tracker 上的调查议题共享地图,并一次解决一个议题,直到通往目标的路径清晰。 |
一个松散想法出现了:它太大,单个 agent session 装不下,而且前路仍在 fog 中。这个 skill 会把它绘制成 repo issue tracker 上的 shared map,然后一次处理一个 ticket。Map 与领域无关:工程工作、课程内容,或任何符合这个形状的事项都可以。
每张 map 和每个 ticket 都是 issue,因此都有一个 name:它的 title。在所有给人看的内容里,包括叙述和 map 的 Decisions-so-far,都用 name 引用它,不要只写裸 id、number 或 slug。一堵 #42, #43, #44 很难读;name 一眼就能看懂。Id 和 URL 不会消失,它们被包在 name 的 link 里面,但不单独替代 name。
Map 是这个 repo issue tracker 上一个带 wayfinder:map label 的单独 issue,是 canonical artifact。它的 tickets 是 map 的 child issues。
Map 是 index,不是 store。它列出已经做出的 decisions,并指向保存细节的 tickets;一个 decision 只存在一个地方,也就是它的 ticket。因此 map 不复述细节,只给 gist 和 link。
Map、child tickets、blocking 和 frontier queries 的物理表达方式取决于 tracker。 查阅 docs/agents/issue-tracker.md 的 "Wayfinding operations" section,了解这个 repo 如何表达它们。如果没有该 doc,默认使用 local-markdown tracker。
Map 是低分辨率的全局视图,每个 session 加载一次。Open tickets 不列在里面;它们是 open child issues,通过 query 找到。
## Notes
<domain; skills every session should consult; standing preferences for this effort>
## Decisions so far
<!-- the index — one line per closed ticket: enough to judge relevance, then zoom the link for the detail the ticket holds -->
- [<closed ticket title>](link) — <one-line gist of the answer>
## Fog
<!-- see "Fog of war" for what belongs here -->
每个 ticket 都是 map 的 child issue;tracker 的 issue id 是它的 identity。Body 是一个问题,大小控制在一个 100K token agent session 内:
## Question
<the decision or investigation this ticket resolves>
每个 ticket 带一个 wayfinder:<type> label,取值为 research、prototype、grilling、task(见 Ticket Types)。
Session claim ticket 的方式,是在任何工作开始前先把 ticket assign 给 driving map 的 dev。这个 assignee 就是 claim:open 且 unassigned 的 ticket 才是 unclaimed。
Blocking 使用 tracker 的 native dependency relationship;这很重要,因为 tracker UI 会可视化 frontier,人类不用打开 map 也能看到哪些 ticket 可拿。只有 tracker 没有 native blocking 时,才退回 body convention。一个 ticket 的所有 blockers 都关闭后,它就是 unblocked;frontier 是 open、unblocked、unclaimed 的 children,也就是已知世界的边缘。
答案不写进 body,而是在 resolution 时记录(见 Work through the map)。解决 ticket 时产生的 assets 从 issue 链接出去,不粘贴进 body。
Map 是 有意 不完整的:不要描绘你还看不见的东西。Tickets 之外是 fog:那些你能感觉到以后会来的 decisions 和 investigations,但它们悬在仍未解决的问题之上,暂时还无法钉住。解决一个 ticket 会清掉它前方的一片 fog,把现在已经能说明的问题升级成新的 tickets;一次一个,直到通向目标的路清楚且没有 tickets 剩下。
Map 的 Fog section 用来记录这种朦胧视野:怀疑中的问题、之后要回访的区域、暂时推迟的风险。可以按视野允许的粗细来写;它也是协作者阅读这个 effort 走向时的路标。
Fog or ticket? 测试标准是你现在能不能把问题说清楚,而不是现在能不能回答它。
Fog 只排除已经决定的内容(Decisions so far)和已经是 ticket 的内容。
两种模式。无论哪种,每个 session 绝不要 resolve 超过一个 ticket。
用户带着松散想法调用。
/grilling 和 /domain-modeling session,浮现 open decisions。wayfinder:map):填好 Notes,Decisions-so-far 为空,Fog 初步勾勒。用户用 map(URL 或 number)调用。Ticket 是 optional;没有 ticket 时,你选择下一个 decision,而不是用户选择。
## Notes block 提到的 skills。不确定时用 /grilling 和 /domain-modeling。用户可能并行运行 unblocked tickets,所以要预期其他 sessions 同时编辑 tracker。