Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Wayfinder

ASecurity

把一大塊工作——大得單一代理 session 裝不下——規劃成 Issue 追蹤器上決策 tickets 的共享地圖,逐一解決,直到通往目的地的路徑清晰為止。

3 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agentsapi

Works with

api

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 9/19/2026

$npx -y skills add shumingyang-opencode/mattpocock-skills-zh-tw --skill wayfinder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wayfinder?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Wayfinder
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shumingyang-opencode-wayfinder/badge)](https://www.skillsdirectory.com/skills/shumingyang-opencode-wayfinder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: wayfinder
description: 把一大塊工作——大得單一代理 session 裝不下——規劃成 Issue 追蹤器上決策 tickets 的共享地圖,逐一解決,直到通往目的地的路徑清晰為止。
disable-model-invocation: true
---

一個鬆散的點子來了——大得單一代理 session 裝不下,而且籠罩在迷霧中:從這裡到**目的地**的路徑還看不見。尋路是關於找出那條路徑,而不是朝目的地衝刺。這個技能把路徑繪製成 repo Issue 追蹤器上的**共享地圖**,然後逐一處理它的**決策 tickets**——其解決是決策、而非待執行的建置切片的問題——直到路線清晰為止。

目的地因努力而異,而為它命名是繪圖的第一個動作——它會塑造每一張 ticket。它可能是要交接並反覆迭代的規格說明、要在規劃開始前鎖定的決策,或是一項就地完成的變更,例如資料結構遷移。地圖與領域無關——工程工作、課程內容,任何符合這個形狀的東西都行。

## 規劃,而非動手

Wayfinder 預設是**規劃**:每張 ticket 解決一個決策,而當地圖清晰時就完成了——在有人去做這件事之前,沒有什麼需要再決定。那股只想動手做的衝動,通常就是你已經到達地圖邊緣、該交接的訊號。一次努力可以在它的 **Notes(備註)** 中推翻這個預設——把執行帶進地圖本身——但若沒有這樣做,產出的是決策,而非交付物。

## 用名稱引用

每張地圖與每張 ticket 都是一個 issue,所以它有個**名稱**——它的標題。在人類閱讀的一切中——敘述、地圖的 Decisions so far——都用那個名稱引用它,絕不用孤伶伶的 id、編號或 slug。一整面 `#42, #43, #44` 難以閱讀;名稱則一眼就能看懂。id 與 URL 不會消失——名稱包裹著它的連結——但它們待在名稱*裡面*,絕不代替名稱。

## 地圖

地圖是這個 repo Issue 追蹤器上單一的 issue,標籤為 `wayfinder:map`——正式產物。它的 tickets 是地圖的子 issues。

地圖是**索引**,不是儲存庫。它列出已作的決策,並指向持有其細節的 tickets;一個決策只住在一個地方——它的 ticket——所以地圖絕不重述它,只摘要並連結它。

**地圖、它的子 tickets、阻塞與前沿查詢實際存在哪裡,是追蹤器特定的。** Issue 追蹤器應該已經提供給你——如果沒有,執行 `/setup-matt-pocock-skills`。查閱追蹤器文件的「Wayfinding operations」區段,了解*這個* repo 如何表達它們。如果沒有提供追蹤器,預設使用本機 markdown 追蹤器。

### 地圖內文

整張地圖以低解析度呈現,每個 session 載入一次。開放的 tickets **不**被列出——它們是開放的子 issues,靠查詢找到。

```markdown
## Destination

<what reaching the end of this map looks like — the spec, decision, or change this effort is finding its way to. One or two lines; every session orients to it before choosing a ticket.>

## 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>

## Not yet specified

<!-- see "Fog of war": in-scope fog you can't ticket yet; graduates as the frontier advances -->

## Out of scope

<!-- see "Out of scope": work ruled beyond the destination; closed, never graduates -->
```

### Tickets

每張 ticket 是地圖的**子 issue**;追蹤器的 issue id 是它的身分。它的內文就是問題,大小以一次 100K token 的代理 session 為準:

```markdown
## Question

<the decision or investigation this ticket resolves>
```

每張 ticket 帶一個 `wayfinder:<type>` 標籤——`research`、`prototype`、`grilling`、`task` 其中之一(見 [Ticket Types(ticket 類型)](#ticket-types))。

session 透過把 ticket 指派給驅動地圖的開發者來**認領**它,且要在任何工作**之前**先做,這樣並行的 sessions 就會跳過它。被指派者*就是*認領:一張開放、未指派的 ticket 就是未被認領的。

阻塞使用追蹤器的**原生**相依關係——這很重要,因為它會在追蹤器自己的 UI 中*視覺化*呈現前沿,讓人在不開啟地圖的情況下就能看到什麼可以拿。只有缺少原生阻塞的追蹤器才會退回內文慣例。當阻塞它的每張 ticket 都關閉時,ticket 就**未阻塞**;**前沿**是開放、未阻塞、未被認領的子項——已知領域的邊緣。

答案不是內文的一部分——它在解決時被記錄(見 [Work through the map(走完地圖)](#work-through-the-map))。解決 ticket 時建立的資產從 issue 連結,而不是貼進去。

## Ticket 類型

每張 ticket 要不是 **HITL**——人在迴圈中,與一位為自己發聲的人類一起處理——就是 **AFK**,由代理獨自驅動。HITL ticket 只能透過那種即時交流解決;代理絕不代替人類的那一方(一個自己回答自己問題的 grilling 代理就是破壞了這個原則)。

- **Research**(AFK):閱讀文件、第三方 API,或知識庫等本機資源,以浮現決策所等待的事實。由 `/research` **子代理**解決。當需要目前工作目錄之外的知識時使用。
- **Prototype**(HITL):藉由做出便宜、粗略、具體的產物來提高討論的逼真度——大綱、粗略草稿、樁,或透過 /prototype 技能的 UI/邏輯程式碼。把原型連結為資產。當「它應該長什麼樣」或「它應該怎麼運作」是關鍵問題時使用。
- **Grilling**(HITL):對話。預設情況。永遠叫用 /grilling 與 /domain-modeling 技能。
- **Task**(HITL 或 AFK):在能做出*決策*之前必須發生的手動工作——沒有什麼要決定、原型或研究,但討論會被阻塞直到它完成。註冊一個服務以便評估它的 API、佈建存取權、移動資料以便看到它的形狀。這是唯一一個*動手做*而非做決策的類型——它靠解除決策的阻塞來贏得一席之地,而不是靠交付目的地。代理在能獨自驅動的地方獨自驅動(AFK);否則它給人類一份精確的檢查清單(HITL)。工作完成時解決;答案記錄做了什麼,以及後續 tickets 依賴的任何衍生事實(憑證位置、新的 URL、行數)。

## 戰爭迷霧

地圖是*刻意*不完整的:別繪製你尚看不見的東西。在活躍的 tickets 之外是**戰爭迷霧**——那些你曉得即將到來、卻還無法確定的決策與調查的模糊視野,因為它們懸在仍然開放的問題上。解決一張 ticket 會清除它前方的迷霧,把現在可以明確化的東西轉化為新的 tickets——一次一個,直到通往目的地的路徑清晰、沒有剩餘的 tickets 為止。

地圖的 **Not yet specified(尚未明確)** 區段就是寫下那種模糊視野的地方:被懷疑的問題、之後要再回來看的區域。它是*朝向*目的地的未發現前沿——這裡的一切都在範圍內,只是還不夠銳利到可以做成 ticket。視視野允許的程度,盡量鬆散或盡量完整地寫;它同時也是給協作者閱讀、標示這次努力將走向何處的路標。

**迷霧還是 ticket?** 判準是你能不能*現在*就精確陳述這個問題——*不是*你現在能不能回答它。

- **做成 ticket** 當問題已經銳利時——即使它被阻塞、你還沒辦法採取行動。
- **尚未明確** 當你還沒辦法把它陳述得那麼銳利時。別把迷霧預先切成 ticket 大小的碎片:它比 ticket 更粗略,而且一旦前沿到達它,一片迷霧可能轉化為好幾張 tickets,或一張都沒有。

**尚未明確** 排除已經決定的內容(Decisions so far)、已經在線的 ticket,以及超出範圍的內容(下一節)。

## 超出範圍

迷霧只會*朝向*目的地聚集。目的地固定了範圍,所以超出它的工作是**超出範圍**——它不是迷霧,也不屬於 **Not yet specified**。它在地圖上有自己的一節 **Out of scope(超出範圍)**:你刻意排除出*這次*努力的工作。讓它落在這裡的是範圍,不是銳利度。

超出範圍的工作永遠不會轉化——前沿在目的地停止——所以它只有在目的地被重新繪製時才會回來,而且是以一次新努力的形式,而不是恢復。

把某個東西裁定為超出範圍是一個界定範圍的行為,而不是路線上的步驟。當一張既有的 ticket 原來位於目的地之外——繪圖時被錯納入範圍,或被某次解決所暴露——就**關閉它**(已關閉的 ticket 明確地脫離前沿),並在 **Out of scope** 區段留下一行:要點加為什麼它超出範圍,並連結那張已關閉的 ticket。它不會進入 **Decisions so far**,那個區段記錄的是實際走過的路線——範圍邊界不是路線上的步驟。

## 叫用

兩種模式。無論哪種,**每個 session 絕不解決超過一張 ticket**——research tickets 除外。

### 繪製地圖

使用者以一個鬆散的點子叫用。

1. **為目的地命名。** 執行 `/grilling` 與 `/domain-modeling` session,確定這張地圖在尋找到達的目標——規格說明、決策或變更。目的地固定了範圍,所以要最先定案。
2. **繪製前沿。** 再次 grill,這次**廣度優先**:在整個空間展開,而不是在任一條線索上深入,浮現開放的決策與現在可以採取的初步步驟。**如果這沒有浮現任何迷霧**——通往目的地的路徑已經清晰,整個旅程小到單一 session 就裝得下——你不需要地圖。停下來詢問使用者想要怎麼進行。
3. **建立地圖**(標籤 `wayfinder:map`):填好 Destination 與 Notes,Decisions so far 留空,把迷霧草擬進 **Not yet specified**。
4. **建立你現在可以明確化的 tickets**,作為地圖的子 issues——然後在**第二輪**中接上阻塞邊(issues 需要先有 ids 才能互相引用)。接線把它們分成前沿與被阻塞;任何你尚無法明確化的東西留在迷霧中——**Not yet specified** 區段。
5. **啟動 research 子代理。** 對你剛建立的每張 `research` ticket,啟動一個 `/research` 子代理平行解決它,在一條一次性 `research/<name>` 分支上捕捉它的發現,並從 ticket 帶一個上下文指標。
6. 停下——繪圖是一次 session 的工作;它不手工解決任何東西。

### 走完地圖

使用者以一張地圖(URL 或編號)叫用。ticket 是**選用**的——沒有指定時,由你挑選下一個決策,而不是使用者。

1. 載入**地圖**——低解析度的檢視,而不是每張 ticket 的內文。
2. 選擇 ticket。如果使用者點名了某張,就使用它。否則依序取下第一張前沿 ticket。**認領它**:在任何工作之前把它指派給自己。
3. 解決它——**視需要放大**:按需取用任何相關或已關閉 ticket 的完整內文;叫用 `## Notes` 區塊點名的技能。有疑問時,使用 `/grilling` 與 `/domain-modeling`。
4. 記錄解決:把答案貼成**結論評論**,**關閉** issue,並把**上下文指標**附加到地圖的 Decisions so far。
5. 加入新浮現的 tickets(先建立再接線);把答案使之明確化的任何迷霧轉化,並把每片已轉化的迷霧從 **Not yet specified** 清除,讓它只以新 ticket 的形式存在。如果答案揭露某張 ticket——這張或其他張——位於目的地之外,**裁定它超出範圍**,而不是在路線上解決它。如果這個決策使地圖的其他部分失效,更新或刪除那些 tickets。

使用者可能平行處理未阻塞的 tickets,所以要預期其他 sessions 會同時編輯追蹤器。

Attribution

shumingyang-opencodeshumingyang-opencode
View sourceSee grades on GitHubMore from shumingyang-opencode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →