Charles 送出 `\\my`(backslash,非 slash)時的完整流程——`\\my` 是 `/decisions` 的 chat 互動版本:讀同一份待拍板佇列、把只存在對話裡的待決策點推進佇列、在對話裡渲染成可回覆的 Qn、回答時關 span 並落 carrier。收到 `\\my` 這個 token 時 MUST 立刻載入本 skill 再開工。
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Charles5277/nuxt-supabase-starter --skill my --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of My?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/charles5277-nuxt-supabase-starter-nuxt-supabase-starter)More formats (shields.io, HTML) on the badges page.
---
name: my
description: "Charles 送出 `\\my`(backslash,非 slash)時的完整流程——`\\my` 是 `/decisions` 的 chat 互動版本:讀同一份待拍板佇列、把只存在對話裡的待決策點推進佇列、在對話裡渲染成可回覆的 Qn、回答時關 span 並落 carrier。收到 `\\my` 這個 token 時 MUST 立刻載入本 skill 再開工。"
license: MIT
metadata:
author: clade
version: "1.0"
permission_tier: draft
---
<!-- 🔒 LOCKED — managed by clade · auto-generated by sync-to-cursor; edit source in .claude/ then re-run sync -->
# `\my` — `/decisions` 的 chat 互動版本
`\my` 等同「列出只有我做得了的待辦」。回到電腦時問「我不在的期間,累積了哪些**球在我手上**的事」。
> **同源鐵律(2026-08-27 Charles 拍板,決策紀錄在 clade `HANDOFF.md`)**:`\my` 與 `/decisions`
> 讀**同一份**佇列,兩邊都要提供該有的東西。**NEVER** 自己另外掃一份——同一個待拍板事項在手機上
> 與在對話裡長得不一樣時,人會以為那是兩件事。
## MUST 依序跑四步
### 1. 讀佇列(NEVER 自己掃)
```bash
node ~/offline/clade/vendor/scripts/flow/flow.ts pending
```
Fleet 是預設(consumer repo 的問題照樣是同一個人要回的)。exit 2 = 佇列空,不是壞掉。
它已經做完**五個**來源的收斂——四個檔案來源(work-loop state / HANDOFF / tech-debt / tasks)
**加上 spine 本身**(agent 用 `flow ask` 直接問的題)——以及分桶、Qn 編號、和結尾那行**當下實跑**
的現況量測。
**NEVER** 改用 `rg` / `grep` 自己去翻那四個檔——它們與佇列會漂,而漂掉的那一份看起來一樣真。
spine 更是 grep 不到的:`flow ask` 開的題不在任何檔案裡,只有 `flow pending` 看得見。
> spine 列入來源是 2026-08-28 Charles 對 span `65b0eaa5` 的拍板(carrier 已 append 進 clade
> `HANDOFF.md`)。實作一直都讀 spine,落後的是本節原本寫「四個檔案來源」的描述——**規約落後於
> 實作時,讀規約的人會照規約行事**,而這裡的後果是 agent 以為 `flow ask` 開的題不會出現在
> `\my`,於是改用別的路徑問,那條題就真的只存在對話裡了。
### 2. 補第 6 個來源:只存在本 session 對話裡的待決策點
前五個來源對它們**完全盲**:agent 列過選項卻沒定案的、明講「這要你判斷」的、工作停在等 Charles
回答的。掃本 session 對話,**每找到一條就推進佇列**:
```bash
node ~/offline/clade/vendor/scripts/flow/flow.ts ask \
--question '<一句話講完,讀者沒有 scrollback>' \
--options '<選項1>,<選項2>' --recommended '<推薦那個>' \
--carrier '<TD-NNN | HANDOFF.md | tasks/xxx.md>' --actor '<你的 pane id>'
```
推進去才有價值:手機那側同一秒看得到,而且會推播。**NEVER** 只在對話裡列出來就算——
那正是「待拍板事項多數只存在於對話裡」這個缺口本身。
選項文字**只寫選項**:字母前綴與「(推薦)」都由渲染端加,寫進文字會疊成 `A. A. 改(推薦)(推薦)`。
### 3. 渲染
直接用第 1 步的輸出,順序與分類不要改。需要補上下文時**加在該題底下**,不要重排。
第 2 步剛推進去的那幾條,**MUST 在該題後面標 `[本輪從對話撈出]`**——它們與早就登記在檔案裡的
在 `flow pending` 的輸出裡長得一模一樣(推進去的那一刻就都是「已登記」了),而 Charles 需要
知道哪幾條是他從沒看過的。
**編號依 §QnX 協定**(`~/.claude/AGENTS.md`):只有**可回答的兩類**編 `Qn`——`ruling`(要我拍板)
與 `review`(要我驗收),兩者的編號**連續**跑過去,NEVER 在第二組重新從 `Q1` 起算。其餘三個
狀態類(不在本 repo/不可逆等外部條件/loop 推不動)一律 bullet。
`review` 進 `Qn` 是因為它符合 QnX 的准入判準——回一則短訊(`通過` 或 `退回` + 一句理由)就結案。
**NEVER** 因為「它不是選擇題」把它降回 bullet:2026-08-28 之前它正是被當成狀態,7 條做完的工作
因此躺了 10.8–16.6 小時。
`flow pending` 已經照這條渲染——**NEVER** 自己替第 2 / 3 / 4 類加號碼。
四類全空就一句話講完,NEVER 硬湊。
### 4. 回答時關 span、落 carrier
Charles 回 `Q1A` / 給值之後,**MUST** 對那條 span 跑:
```bash
cd ~/offline/clade && node vendor/scripts/flow/flow.ts answer '<span_id>' \
--answer '<他的答案>' --repo '<那題的 repo 欄位,逐字照抄 flow pending 給的值>'
```
**`--repo` 給的是佇列上那個名字,NEVER 自己換算成目錄路徑。** 名字 → 根目錄由
`resolveRepoRootByName` 解析,與 `/decisions` 頁面答題**同一支**;自己填路徑就是第二份實作,
而它漂掉的後果不是「chat 端壞了」,是**答案寫進別的 repo 的 spine、改到別的 repo 的檔案**。
名字解析不出來時它拒絕寫入並非 0 退出——**NEVER** 改用 `--repo` 以外的方式繞過那個拒絕。
**NEVER 手寫 `node --input-type=module -e "import { answerDecision } ..."`**(本 skill 2026-08-27
之前逐字要求的形狀):那條路徑不經 roster 檢查,`repoRoot` 由人目測填。
它一次做完三件事:關 span(佇列與 `/decisions` 同時消失那題)、把決策紀錄 append 到 carrier、
量測 tech-debt hygiene 的差集。**NEVER** 只在對話裡回覆就算結案——那樣答案沒有持久載體,
下一個 session 看到的還是那題還在等。
要先看會寫成什麼就加 `--dry-run`:輸出裡的 `block` 逐字就是等一下會 append 的那段。
跑完 **MUST 實查**:`git status --porcelain` 只動 carrier 那一個檔、`tail` 該檔看 block 真的在。
`ok:false`(非 0 退出)時看 `reason`:`no-such-decision`(span 不在這個 repo,換 `--repo`)、
`already-resolved`(已經答過了,要改答案是另一條路徑)。**NEVER** 自己造一個新 carrier 檔繞過。
`ok:true` 但 `landed:false` 是**另一回事,不是失敗**:span 已收、答案已在 spine 上,只有 carrier
那一步沒做到(`reason` 會說是哪一種)。**NEVER** 因此重跑一次——那個寫入已經生效了。
## NEVER
- ❌ 只讀 `HANDOFF.md` 就作答——它與 state 檔會漂,這正是 `flow pending` 存在的理由
- ❌ 把 agent 自己做得掉的事列進來充數(那是 `\nx` 的範圍)
- ❌ 把本 session 已由 agent 自行決定並執行的事回頭列成待拍板——那是既成事實,該給的是回報不是選擇題
- ❌ 因為某條「反正也做不了」就省略推薦選項——沒有推薦 = 這條沒被消化過,等於把決策工作原樣退回
- ❌ 引用 `HANDOFF.md` 裡寫死的量測數字(過期的 dirty 數與新鮮的長得一模一樣)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!