在框架自己身上施工時要知道的事:一張框架單怎麼開。兩種單——舉發實作途中撞到的問題、 開發框架新功能——開單那一刻問的格子不一樣,而舉發那一種要先看過還沒出去的單裡有沒有 同一件。 要改的東西是這套流程自己(skill、它們的腳本、常駐規則)的時候載入。例如「framework 單怎麼開」「開一張框架的單」「這是框架的問題」「舉發框架有問題」,或 driving-work-to-done 判定這件工作落在框架 repo 自己身上。 不用於:某一個產品 repo 的工作(那是那個 repo 自己的知識 skill)、任何一類工作的完成 條件(那是 swe-knowledge)、決定下一站是哪一站(那是 driving-work-to-done)。
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HsuanYuLee/polaris --skill framework-self-dev --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Framework Self Dev?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hsuanyulee-framework-self-dev)More formats (shields.io, HTML) on the badges page.
---
name: framework-self-dev
description: |
在框架自己身上施工時要知道的事:一張框架單怎麼開。兩種單——舉發實作途中撞到的問題、
開發框架新功能——開單那一刻問的格子不一樣,而舉發那一種要先看過還沒出去的單裡有沒有
同一件。
要改的東西是這套流程自己(skill、它們的腳本、常駐規則)的時候載入。例如「framework
單怎麼開」「開一張框架的單」「這是框架的問題」「舉發框架有問題」,或 driving-work-to-done
判定這件工作落在框架 repo 自己身上。
不用於:某一個產品 repo 的工作(那是那個 repo 自己的知識 skill)、任何一類工作的完成
條件(那是 swe-knowledge)、決定下一站是哪一站(那是 driving-work-to-done)。
metadata:
version: 1.0.0
scope: universal
---
# framework-self-dev — 在框架自己身上施工
這一份只講一件事:**一張框架單怎麼開。**
之後怎麼走不在這裡——`driving-work-to-done` 回答下一站是什麼,`refinement` 簽 assertion,
`swe-knowledge` 說這一類工作怎麼算 done。這一份補的是它們都沒有的那一格:**開單那一刻要
回答什麼。**
## 為什麼框架單需要自己一份
產品單來自外部系統,開單那一步有人把關:號要去那裡領,而領號的人會先看有沒有一樣的。
**框架單沒有那一層。** 開一張的成本是一個命令,而每一個 session 都在撞東西、每一個都照
規矩記下來——觀察是各自的,待辦是共用的。
2026-08-31 一天開了 44 張,因為那天有八個以上的 session 同時在跑。同一天量到的:還沒
出去的 52 張裡,43 張從來沒被任何一張產品單提到過,39 張一輪都沒開過,32 張連 assertion
都沒簽。而其中有 11 對在講同一件事。
**這一份存在的理由是讓那個比例不再發生。** 它不擋任何人——它要人回答問題。
## 兩種單,開單的人自己說是哪一種
| | 舉發(實作途中撞到的問題) | 開發框架新功能 |
|---|---|---|
| **who** 誰、在做什麼工作時撞到的 | 撞到的人當下就知道 | 沒有「撞到」這件事,答不出來 |
| **where** 撞在哪個檔 | 同上 | 同上 |
| 查重的鍵 | 就是 `where` | `where` 不存在,鍵產不出來 |
**新功能那一種不是被豁免,是那個機制對它不成立。** 硬要它填,填出來的會是一個編的
——而編過的格子看不出來,空著的看得出來。
**種類由你宣告,不由腳本從名字或內容推。** 推的話,同一件事換個寫法就換一種待遇,
而沒有人看得出來換過。
**兩種單的終點是同一個形狀**:都是一張該填的格子都有答案、只等 `refinement` 簽 assertion
的單。差的只有開單那一刻問哪幾格。
## 舉發那一種:6W
`refinement` 的四格(what/when/why/how)本來就在,舉發多兩格:
- **who**——是誰、在做什麼工作的時候撞到的。
- **where**——撞在哪個檔。**這一格同時就是查重的鍵。**
那兩格正好是開單當下最便宜的兩格:撞到的人知道自己是誰、知道自己剛剛在讀哪個檔。它們不
像 assertion 那樣要想清楚怎麼算成功。
**assertion 不在開單那一刻簽。** 一張種子單存在的整個理由就是「怎麼算成功還沒想清楚」。
要求 6W 不改變這件事——改變的是開出來的東西不再是一張筆記。
## 查重:把撞到的那幾張端到眼前
**鍵是「正文指名的檔案有交集」,不是標題共用實詞。** 2026-08-31 拿當天真的重複的 11 對
當測資量過:
| 查重的鍵 | 11 對裡抓到 | 會提醒幾對 |
|---|---|---|
| 標題共用 ≥2 個實詞 | 6 | 3,300(全樹之間) |
| **正文指名的檔案有交集** | **10** | **93**(還沒出去的 38 張之間) |
標題那一組漏掉的五對裡有三對**一個詞都不共用**,而那三對用檔案這個鍵全部抓得到。
**分母是還沒出去的單。** 開單的人要看的是「現在還在待辦裡的有沒有同一件」,不是「歷史上
有沒有」。終局那幾格不進分母。
**噪音集中在少數幾個檔上,而那正好是資訊**:一張新單指名某支被七張單同時指名的腳本時,
那七張本來就該一起看。
## 這不是一道閘
開一張重複的單不是不可逆的(close 得掉),也不出這個 repo。所以「查重不過就不給開」這種
東西不該存在。
**擋人的只有三件,而且它們擋的是沒有回答問題,不是答案的內容:**
1. 沒宣告種類。
2. 舉發那一種缺了 6W 任何一格。
3. 撞到了卻沒有寫下判斷。
判定「撞到十張,都不是同一件」的話,單照樣開得出來。那句判斷會寫進單的正文裡,所以下一個
讀它的人看得到當時是怎麼判的。
## 兩條入口
開一張框架單有兩條路,而**這一份對兩條都成立**:
- `refinement` 帶的 `open-seed-issue.sh`——它自己會問出種類、要 6W、跑查重。
- 自己算號再建目錄(`driving-work-to-done` 把算號那一支單獨交到人手上)。**走這一條的話
上面那幾件事沒有東西替你做**,所以要自己做:宣告種類、答完 6W、掃一次還沒出去的單裡有
沒有指名同樣檔案的,把判斷寫進正文。
**腳本不指名這一份知識。** 那一支住在會被帶走的 skill 裡,而它在沒有這一份的環境裡照樣
要跑得動。指過來的是 `driving-work-to-done` 的散文。
## 這一份不做的事
- **不決定下一站**。那在 `driving-work-to-done`。
- **不簽 assertion**。那在 `refinement`。
- **不管「實作途中發現的問題就地修」那條**。撞到一個修得動的東西就修掉,不必開單——這一
份管的是「決定要記下來」之後那一步。
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!