← ClaudeAtlas

refinementlisted

流程的第一站,也是第一個關卡:把「怎麼算成功」談成人簽得下去的 assertion,凍結起來。由 driving-work-to-done 在判定要立案之後帶進來。 driving-work-to-done 判定一件事要立案、而現場還沒有對應的單時。 也用於:既有單的成功定義本身錯了,停 `assertion_wrong` 之後回來重簽。 不用於:判斷「這件事要不要立案」——那在 driving-work-to-done。
HsuanYuLee/polaris · ★ 5 · AI & Automation · score 80
Install: claude install-skill HsuanYuLee/polaris
# refinement — 第一關:凍結 assertion 這一站只做一件事:把成功的定義變成**人簽得下去**的 assertion,鎖起來。 鎖起來之後,做法怎麼變都不用回來問人;只有成功的定義本身錯了才需要回到這裡重簽。 **要不要立案的判斷不在這裡**,在 `driving-work-to-done`。走到這一站表示那個判斷已經做過 而且說出來了。 **手上正在做別的事、但長出了一個不能消失的東西時,不要走完這一整站。** 開一張種子單, 記下前因後果就好,然後回去做原本那張: ```bash bash .claude/skills/refinement/scripts/open-seed-issue.sh \ --issues issues --namespace <命名空間> --slug <名字> --note '<前因後果>' ``` 它建目錄、寫下前因後果、記一個「還沒簽 assertion」的狀態、commit,然後就結束——**不簽 assertion、 不決定領域、不開 worktree**。那些是接手的人在這一站要做的事,而那時候才有人真的想過怎麼 算成功。種子單會出現在 `next --across-issues` 的答案裡(標成 `seed:`),所以它拿得給另一個 session 開工。 接手一張種子單就是從這一站的第一步開始走,走到 `init`——`init` 認得它身上那個種子狀態, 會把它升級成真的輪次並說出來,不需要先手動刪掉任何東西。 ## 單的形狀 一張單是一個目錄: ``` issues/ 你自己的 git repo,框架 repo 忽略它 {命名空間}/ 自己的框架工作、某家公司、某個專案——你決定怎麼分 {格}/ {單號}/ index.md 正文含凍結塊 fence,其餘是可以改的部分 .spine/loop-state.json 輪次 .spine/measurement-ledger.json 量測命令登錄 .spine/placement.json 它現在該在哪一格——流程算出來寫在這裡,不搬目錄 ``` 命名空間叫什麼**不影響任何判定**——流程逐個走過去,不從名字推導行為。開一張新的單時, 放進它該屬於的命名空間;不確定放哪就開一個新的,命名空間本身沒有註冊表要維護。 **`issues/` 不歸框架版控。** 它記的是你在做什麼、為什麼這樣定義成功;換一個人用同一套 框架,這裡的內容完全不一樣。空殼由這一站自己帶著——它在這支 skill 的 `templates/issues/` 底下,跟 skill 一起搬走。第一次使用時: ```bash R=.claude/skills/refinement mkdir -p issues cp $R/templates/issues/README.md issues/README.md cp $R/templates/issues/gitignore.example issues/.gitignore git -C issues init git -C issues add . && git -C issues commit -m "issues: