← ClaudeAtlas

session-maplisted

Use when one session needs to know what the other Claude sessions on this machine are doing — to direct work, to suggest which idle ones a human could close, or to ask that human a decision. Reads the local session registry only; never messages a peer to build the map. Trigger: '現在有哪些 session', '大家在做什麼', '哪些可以關掉', '誰手上有什麼'.
HsuanYuLee/polaris · ★ 5 · AI & Automation · score 80
Install: claude install-skill HsuanYuLee/polaris
# session-map — 一個 session 拿著地圖,其他的做事 多個 session 同時活著的時候,**沒有人知道全貌**。忘記關掉的吃著整台機器;兩個對同一棵樹 動手害彼此重跑;發號施令的那一個不知道別人手上有什麼,於是重複開單。 這支 skill 做三件事:**畫地圖**、**指揮**、**問人的時候問得清楚**。 ## 一、地圖 ```bash python3 .claude/skills/session-map/scripts/session-map.py python3 .claude/skills/session-map/scripts/session-map.py --json ``` **它不問任何人。** 答案全部讀得出來——`~/.claude/sessions/{pid}.json` 是完整的登錄, 每一份帶著 `name`、`pid`、`cwd`、`sessionId`、`messagingSocketPath`。逐個問一輪要花掉每個 peer 一輪 context,而那一輪的答案還不一定比它自己剛寫下的話新。 **「它在做什麼」是它自己說的話**,從那個 session 的 transcript 讀最後一則它說的話。不從 名字、路徑或進程資訊推一句——**推出來的那一句長得跟讀到的一模一樣**,而它會在最需要真話的 時候是錯的。 **transcript 在哪:`cwd` 把 `/` 和 `.` 都換成 `-`。** 只換 `/` 的話,家目錄帶點的機器 (`hsuanyu.lee` 這種)**一筆都對不到**——而輸出看起來只是「大家都讀不到」,不像壞掉。 ### 讀不到的留在地圖上 一列的身分讀得到、而它在做什麼讀不到時,**那一列還在**,並且說出讀不到的是哪一份東西。 它不從清單上消失,也不填一個猜的。至少三種讀不到,各自說各自的話: | 讀不到什麼 | 地圖上長什麼樣 | |---|---| | transcript 檔案不存在 | 指名那個路徑 | | transcript 在,但裡面沒有它說過的話 | 指名那個路徑,並說出是「沒說話」不是「檔案不見」 | | 登錄檔本身讀不動、或登錄目錄不存在 | 說出這不是「沒有 session」 | **一個安靜的第三態,下一次就會被當成查過了。** ### 名字與進程來自同一次查表 每一列同時帶得出「要跟它講話用哪個名字」與「它是這台機器上的哪一個進程」,兩者出自同一份 登錄檔。任何一列缺其中一項,那一列自己說出它缺什麼。 ### 不在這台機器上的分開放 登錄裡 `pidDomain` 跟這台機器對不上的那些**單獨列出來**,而且**永遠不是「該關掉」的候選** ——這裡關不掉它們,把它們列成候選等於教人去做一件做不到的事。 ## 二、指揮 地圖之上做兩件事,兩件都**只出建議,不出動作**。 ### 該關哪些 產出一份清單,每一項帶著憑什麼這樣認為——閒置多久、它最後說的話是不是「做完了」。 **執行關閉的是人。** **這支 skill 不自己關掉任何 session。** 真的要動手的話(`kill`),它在動手之前停下來等 那個人自己說的話,並把停下來的理由記下來。理由是:關掉一個 session 會丟掉它還沒寫進磁碟的 工作,而那件事沒有復原鍵。 ### 誰去做哪一件 這支只回答**哪一個 session 去做**。它不回答一件工作要不要立案、現在該在哪一站、什麼時候停 ——那些在 `driving