- Malli schema section 太強硬,且假設了特定架構
要求每個 cross-namespace map 都必須在 myapp.schema 裡定義,這是一個很強的 architectural
constraint。如果專案不用 Malli,或 schema 放在別處,這個 section
會造成摩擦而不是幫助。應該改成:「如果專案使用 Malli,則...」。
- 「Never write code without REPL validation」過於絕對
放在別處,這個 section 會造成摩擦而不是幫助。應該改成:「如果專案使用 Malli,則...」。
- 「Never write code without REPL validation」過於絕對
加一個 docstring、改一行 config、重命名一個變數——這些都不需要 REPL cycle。沒有例外條件的嚴格規則,agent
要麼忽略它,要麼浪費時間走不必要的流程。
- Skill 假設 REPL 永遠在線
Workflow 第二步是「Verify nREPL connection」,但沒有說如果不在線怎麼辦(除了一句「ask the user to start it」)。REPL 沒有啟動時,整個
workflow 是否要降級到「直接編輯,後來 reload」?這個 fallback 沒有寫清楚。
- references/idioms.md 是懸空指針
最後一行 link 到 references/idioms.md,但 skill 沒說這個文件在哪、包含什麼、什麼時候必讀。如果是關鍵內容,應該 inline 或更明確說明觸發條件。
- 長度稍過
Babashka 和 EDN 的段落在大部分 Clojure 專案用不到,拖長了 agent 需要處理的 context。可以拆成 clojure-dev/babashka 子 skill,需要時才載入。
一個根本性的觀察:
這個 skill 設定的標準,在我們這次 session 裡大部分沒有被遵守——bracket balancing 沒做、Malli schema 沒建、很多 file edit 是直接改的沒有先
REPL 驗證。
這可能代表 skill 是aspirational 的(你希望 agent 這樣做,但實際上接受寬鬆的執行)。如果是這樣,設計上可以把 must 和 should 分開,讓 agent
知道哪些是硬性要求、哪些是最佳實踐。
要求每個 cross-namespace map 都必須在 myapp.schema 裡定義,這是一個很強的 architectural
constraint。如果專案不用 Malli,或 schema 放在別處,這個 section
會造成摩擦而不是幫助。應該改成:「如果專案使用 Malli,則...」。
放在別處,這個 section 會造成摩擦而不是幫助。應該改成:「如果專案使用 Malli,則...」。
加一個 docstring、改一行 config、重命名一個變數——這些都不需要 REPL cycle。沒有例外條件的嚴格規則,agent
要麼忽略它,要麼浪費時間走不必要的流程。
Workflow 第二步是「Verify nREPL connection」,但沒有說如果不在線怎麼辦(除了一句「ask the user to start it」)。REPL 沒有啟動時,整個
workflow 是否要降級到「直接編輯,後來 reload」?這個 fallback 沒有寫清楚。
最後一行 link 到 references/idioms.md,但 skill 沒說這個文件在哪、包含什麼、什麼時候必讀。如果是關鍵內容,應該 inline 或更明確說明觸發條件。
Babashka 和 EDN 的段落在大部分 Clojure 專案用不到,拖長了 agent 需要處理的 context。可以拆成 clojure-dev/babashka 子 skill,需要時才載入。
一個根本性的觀察:
這個 skill 設定的標準,在我們這次 session 裡大部分沒有被遵守——bracket balancing 沒做、Malli schema 沒建、很多 file edit 是直接改的沒有先
REPL 驗證。
這可能代表 skill 是aspirational 的(你希望 agent 這樣做,但實際上接受寬鬆的執行)。如果是這樣,設計上可以把 must 和 should 分開,讓 agent
知道哪些是硬性要求、哪些是最佳實踐。