check-your-own-work

Solid

Before handing your own change over — opening a PR, asking for review, saying "done" — check it against six questions that come from what reviewers actually caught: claims that do not match the diff, the repo's own rules not applied, half-done pattern changes, runtime behaviour asserted from reading source, last round's comments still unaddressed, and assertions that cannot fail. Use when you are about to hand your own work over, or when someone asks you to self-check, double-check, or go over your change before submitting. 交出自己的改動之前——開 PR、找人 review、說「做完了」——先對一次自己寫的東西。 六問來自 review 真的抓到的東西,不是想像出來的清單。 不用於:看別人的 PR(那是 code review,主語是別人的改動)。 不用於:判定某個交付達不達標——這支不判紅、不擋人,它產出一份要被處置的清單。

AI & Automation 5 stars 0 forks Updated today MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
26
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# check-your-own-work — 交出去之前,先對一次自己寫的東西 **這不是一道閘。** 它不回 PASS/FAIL,也不阻止任何後續動作。它產出一份 finding 清單, 而那份清單的價值完全來自**它在同一輪裡被處置掉**——一份沒有人動的報告,跟沒有報告一樣。 六問不是想出來的。它們是從 829 則真人 review 意見逆推出來的六類反覆缺陷,而其中四類 **完全不需要任何領域知識就避得掉**:它們是「我沒有把自己剛寫的東西跟自己剛寫的宣稱對一次」, 不是「我不知道這個框架怎麼寫」。 ## 先把材料撈出來 ```bash bash .claude/skills/check-your-own-work/scripts/collect-self-check-inputs.sh bash .claude/skills/check-your-own-work/scripts/collect-self-check-inputs.sh --repo <path> --base <ref> --pr <number> ``` 三個參數都可以不給:repo 預設是當下的目錄,base 自己去問 `origin/HEAD`(問不到就依序試 `main`/`master`/`develop`),PR 自己去問 `gh`。**它唯讀,不對外寫入任何東西。** 它逐問印出那一問需要的輸入,**拿不到的那幾問指名說出為什麼拿不到**,最後印 `ANSWERABLE: n/6`。這一行是整支腳本存在的理由:一份只答了兩問的自檢,讀起來跟答滿六問的 一模一樣,所以它要說出自己少了哪幾問。 **答不出不是通過。** 沒有 `gh`、沒有 PR、沒有上一輪意見、這個 repo 一份規範都沒有、diff 是空的——這五種都是常態,不是錯誤,但它們各自代表「這一問沒有答案」,不代表「這一問沒事」。 ## 六問 ### 一、我寫下的每一句宣稱,在 diff 裡都找得到對應的改動嗎 宣稱不只是 PR 描述。commit message、changeset、註解、docstring、型別宣告、變數名——**每一句 描述性的話都是產出的一部分,不是旁白**。它對讀的人承諾了某件事,而承諾與行為是分開演化的: 先寫下承諾,做的過程中改了做法,然後沒有回頭改那句話。 沒有東西會紅。編譯器不看,測試不看,只有下一個依它行事的人會踩到。 標本:四個 PR 各自宣稱有一組 harness 檔案,那些檔案不在 diff 裡;同時各帶一個宣告某個套件 要發版的 changeset,而那個套件一行都沒動。 ### 二、我碰到的這些檔案類型,這個 repo 自己的規範說了什麼 **從 repo 現場讀,不從記憶讀。** 腳本會把它找到的規範檔逐份列出來——去讀它們。 兩件事讓「憑記憶」特別危險: - **規範會翻面。** 同一份檔案上個月說 A,這個月改成 B,而記得舊版本的人不會發現自己記錯了。 - **被違反的正好是已經寫下來的那些。** 量到的第 2 類缺陷裡,reviewer 引用的就是這個 repo 自己的規範檔——引用它的是 reviewer,不是作者。 一份規範都找不到時,那不是「沒有規矩」,是「規矩沒有寫下來」——去讀鄰近的既有程式碼。 ### 三、這個修法是不是一個 pattern 把這次的修法講成一句話,然後 **grep 整棵樹找同型的地方**,說出還有幾處、以及為什麼那幾處 不改。腳本印的「同目錄還有幾個同副檔名」是一...

Details

Author
HsuanYuLee
Repository
HsuanYuLee/polaris
Created
4 months ago
Last Updated
today
Language
Shell
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

swe-knowledge

軟體工程這一類工作「怎麼算 done」的通識:改動住在一條 branch 上、有一個 PR、判定過才 進預設分支、push 之前本機跑完跑得動的驗證。由 driving-work-to-done 在判定一件工作會改到 程式碼時載入。很少、扁平、不含任何一家公司或一個專案特有的東西。 driving-work-to-done 判定這件工作會改到程式碼、要進版控時載入。 不用於:不會產生程式碼變更的工作(報告、調查、文件、資料分析)——那些沒有這裡的 完成條件,走 `--pack none`。 不用於:某一家公司或某一個專案特有的規則(codecov 門檻、stage 部署流程、ticket 命名)。 那些在各自的公司 pack 裡,見〈跟公司 pack 的關係〉。

5 Updated today
HsuanYuLee
Code & Development Listed

code-review

沿兩軸審查自某個固定點(commit、分支、標籤或合併基點)以來的變更——規範(軸)(程式碼是否符合此 repo 記錄的編碼規範?)與規格(軸)(程式碼是否符合原始 issue/規格的要求?)。以平行子代理執行兩種審查並排呈現。當使用者想審查分支、PR、進行中的變更,或說「review since X」時使用。

1 Updated 3 days ago
shumingyang-opencode
Code & Development Solid

recap

收工盤點:總結這段工作實際做了什麼、對使用者有什麼差別、該同步的東西同步了沒 (**翻譯、兩份 README、測試數、文件**),**把這批東西 commit 進去**(逐檔指名,不 push), 最後收斂成一段結論(淨結果/能不能出、下一件、哪裡沒把握)。 觸發時機:使用者說「總結一下」「這次做了什麼」「收工」「盤點」「recap」, 或一段開發告一段落時要求回顧、要求檢查有沒有漏同步。 不要觸發:單一問題的回答、程式碼審查(那是 /code-review)、寫給外部使用者看的 release notes(本 skill 的讀者是自己人,講的是工程事實不是行銷文案)。

1 Updated 2 days ago
sainteye