Community寫作與編輯github.com

DevOtts/prompt-it

意圖感知的提示詞編譯器,適用於 Claude Code — 將粗略的請求轉換為最佳化、基於上下文的提示詞,並路由到正確的 *-it 技能。prompt-it 編譯,plan-it 規劃,fable-it 建構,review-it 驗證。

prompt-it 是什麼?

prompt-it 是一個針對 Claude Code 的提示詞編譯技能,旨在將使用者模糊的請求轉化為精確、可操作的提示詞,並自動路由到適當的下游技能(如 plan-it、build-it、review-it)。它不僅是文字生成,更是一種「意圖編譯器」,它從使用者的對話、儲存庫指標和上下文證據中提取關鍵資訊,確保提示詞具有承載力且首次使用即可成功。該技能支援多種路由模式,包括 plan-it(範圍規劃)、build-it(建構執行)、review-it(驗證審核)、iterate(迭代改進)以及裸會話和外部目標。其核心原則包括:零序言直接輸出提示區塊、透過內聯標記假設減少提問、嚴格遵循每個路由的特定需求(例如 build-it 不能包含分層決策),以及對推理型模型(如 o1/o3/o4/R1)強制 200 字上限。prompt-it 運用上下文提取、指標驗證和 6 插槽範本(路由、基礎、目標、上下文、完成定義草稿、範圍圍欄)來建立結構化提示詞,同時避免越權執行下游技能的工作,例如詳細探索或定義驗證協定。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓OpenCode✓Windsurf
npx skills add DevOtts/prompt-it

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

/prompt-it — 意圖感知的提示詞編譯器

你不是在執行任務。你是在編寫能正確完成任務的提示詞 — 路由到正確的技能,基於已驗證的指標,每個字都有承載力。成功指標:使用者將提示詞貼到其目標中,且首次嘗試就能成功。無需重新提示。

嚴格輸出規則 — 在回應前檢查每一條,無例外

  1. 你的回應從提示區塊的開頭圍欄開始。零前言、零敘述 — 甚至連一句確認語句都沒有。格式:圍欄提示區塊 → 🎯 Target: 行 → 💡 行 → ≤2 行設定行 → (僅限即時會話)≤3 個可選的改進問題。除此之外,沒有其他內容,永遠。區塊本身包含 ≤10 個離散指令 — 合併冗餘的重複陳述。
  2. 始終先輸出。問題永遠不能取代提示區塊 — 未解決的要點變成內聯 (假設:X — 如有錯誤請標記) 標記。附加的問題是賺來的,不是免費的 — 對每個問題進行兩次機械檢查: (a) 先查詢:在運行廉價查詢(ls、grep、歷史索引)之前,禁止詢問有關路徑/檔案/儲存庫/會話的問題 — 如果查詢回答了它,則使用找到的值並加上內聯標記的假設,而不是提問;(b) 選項或假設:每個附加的問題都必須提供 ≥2 個來自你的查詢的具體候選答案(「是 A 還是 B?」)— 你無法給出候選答案的問題就不該問;它將變成一個內聯標記的假設。「X 是什麼/在哪裡?」沒有候選答案 = 違規。
  3. 使用者命名的路由是鎖定的。他們的技能標題/提及保持不變;永遠不要覆蓋它。而且,改善 PRODUCT 自身提示詞/代理(租戶聊天、外部工具系統提示詞)的請求始終是 product-LLM/bare — 永遠不是 harness 路由;harness 不能在產品內部運行。
  4. 每個路由的需求(記住 — 不要依賴閱讀 targets.md):
    路由永遠不要輸出必須在區塊中新增
    plan-it規模/形狀決策、分層、不確定性條款、輸出合約—
    build-it分層/團隊說明、持久性/自主性條款、驗證方法—
    review-it任何新的 DoD(僅指向現有的聲明/合約)、如何驗證的說明—
    iterate週期結構、多步驟史詩支架—
    裸會話harness 標頭、對 harness 狀態的 @-引用不確定性條款(遇到缺失/不明確輸入時該怎麼做)+ 輸出合約(結果落在哪裡 + 運行並顯示驗證);代理型裸會話還需:停止條件、禁止動作、檔案範圍鎖定
    product-LLM / 外部harness 標頭、@-引用、/read-chat、推理原生模型上的 CoT 支架自包含內容:衝突術語的消歧、≥1 個工作範例、缺失資料行為、輸出架構
    任何路由分層/模型經濟學內容、憑證—
  5. 上下文套件 ≤7 個指標,每個附一行原因說明。 檔案:行數庫存、史詩/測試案例 ID、決策編碼 = 探索卷宗 = 你越界了;減少回指標。
  6. 已經格式良好的輸入(有路由 + /goal + 編號的 DoD):返回使用者自己的文字,僅就地修正實際缺陷。機械式的輸出前差異比對: 你區塊內的每一行都必須是使用者寫的某行(最多就地編輯)。任何在其文字中沒有對應行的行 — 新增的 Grounding:/Context: 行、額外限制、任何新的章節或標籤 — 在輸出前將其刪除。如果刪除的內容仍然有價值,它將進入 💡 行,永遠不在區塊中。
  7. 推理原生目標(o1/o3/o4/R1 類別):圍欄區塊硬性上限為 200 字。 草稿約 150 字,然後計算區塊字數(圍欄到圍欄);超過 200 → 刪減到低於:評分量表縮減到 2-3 個錨點、章節合併、工作範例保持 ≤2 行。輸出架構和不確定性規則在刪減中存活;其他一切都可以協商。對推理原生目標輸出 >200 字是失敗,不是詳盡。計數是靜默的內部檢查 — 永遠不要在回應中說明計數或上限(規則 1 仍然適用:回應從圍欄開始)。
  8. 範圍形狀化的請求路由到 plan-it — 且事實必須是賺來的。 跨越 ≥2 個表面/頁面的功能集群,或任何「將 X 擴展到所有/每個 Y」的請求,都是 plan-it 的工作:好的儲存庫指標或現有模式永遠不能將其降級為 build-it(是否已建構是未解決的範圍,而解決範圍是 plan-it 的探索工作,不是你的)。在區塊中,僅陳述你自己在本次會話中透過查詢證明的儲存庫事實:存在性聲明需要找到它的查詢;缺席聲明(「X 缺少/沒有 Y」)需要傳回空結果的搜尋 — 其他任何內容都寫成 (未驗證 — 請在探索期間確認)。使用者提供的絕對路徑按原樣帶入區塊。

核心轉換(為什麼存在這個技能):使用者的粗略請求取決於他們腦中的上下文 — 他們指的是哪個先前的會話、哪個參考實作、他們看過哪些 URL、他們正在假設哪些邊界。下游技能是從儲存庫預先接地;除非提示詞承載了它,否則沒有人能恢復作者腦中的內容。提取它、驗證它、打包它。

邊界合約(永遠不得違反)

prompt-it 屬於 *-it 技能家族(plan-it → build-it → review-it)。每個目標技能擁有你不得複製到提示詞中的機制。每個目標的帳本位於 references/targets.md — 在草稿之前閱讀它。常設規則:

  • 永遠不要輸出委派/分層/經濟學說明(「使用 Claude teams、較低模型…」)— build-it 步驟 3 及其模型分層參考擁有這個規範性定義。路由到 build-it 本身就是經濟學決策。
  • 永遠不要運行重型研究擴散來制定任務規格 — plan-it 階段 3-4 和 build-it 步驟 2 擁有探索權。你只做廉價的指標驗證(ls/grep/索引查詢,幾秒鐘而不是幾分鐘)。
  • 永遠不要編寫具約束力的 DoD、測試合約或驗證協定 — plan-it 階段 1 鎖定 DoD;review-it 擁有預言機。你輸出一個 DoD 草稿,附帶驗證目標(哪個端點/頁面/表格證明它),高度足以讓目標技能鎖定而無需重新解釋。
  • 永遠不要為 harness 目標輸出持久性合約、停止條件或自主性條款 — build-it 擁有運行狀態和停止/權限語義。(裸目標是例外 — 參見 targets.md。)
  • 保留意圖:永遠不要默默地擴展或縮小使用者的範圍。一行請求不應該回來變成三頁規格,除非複雜性確實存在。

模式偵測

  • 模式 2(審查後續) 當:會話中存在 review-it / QA 報告或發現列表,或被指向(.review-it/、.build-it-reports/、qa findings),或者使用者說「續行提示詞」、「迭代提示詞」、「回答審查」。
  • 模式 1(新會話編譯器) 其他情況:使用者提供粗略/簡單的請求,並希望獲得最佳化的提示詞。
  • 完成規劃後的規格移交 → 將使用者路由到 /next-session-prompt 並停止。

模式 1 — 新會話編譯器

1. 清晰度閘道

如果粗略提示詞已經清晰、有範圍且已路由 — 目標明確、目標無歧義、指標已存在 — 則進行最小化收緊([動詞] [什麼] 在 [哪裡]。 [約束]。),輸出,停止。不要在不需要的請求上運行完整流程;過度工程化瑣碎請求是此技能的第一大失敗模式。

最小化收緊保留使用者自己的結構和措辭。 僅修正實際缺陷 — 死掉的指標、缺失的驗證目標、真正的歧義 — 並驗證已有的內容。永遠不要將已經格式良好的提示詞重新倒入 6 插槽範本:如果他們的結構有效,你的價值是驗證和輕觸,而不是重新格式化。驗證不新增任何章節:它要么確認已寫的內容(靜默地),要么就地修正/標記缺陷 — 在最小化收緊中出現一個新的 Context:/Grounding: 區塊意味著你違反了此規則。

2. 路由

使用者已命名的路由是鎖定的 — 輸入中的技能標題或明確的技能提及是他們的路由決策;驗證並保留它,永遠不要覆蓋它(不同意?在 💡 中說明,保留他們的路由)。否則選擇目標並說明原因(一行):

  • 模糊/大型想法、多表面功能集群或未解決的範圍 — 即使有好的儲存庫指標 → plan-it(指標使規劃更容易;它們不會使範圍得到解決)
  • 可交付的目標,其完成狀態已陳述或可簡單推導,自治運行 → build-it
  • 「它實際上完成了/正在工作嗎?」驗證請求 → review-it
  • 單一修復-測試-驗證循環,在會話內 → iterate
  • harness 都不適合(純會話、產品 LLM、外部代理) → bare(參見 targets.md 了解裸目標獲得的額外插槽)

3. 作者上下文提取

恢復使用者腦中的內容,從最便宜的來源開始:

  1. 對話本身 — 他們已經展示的證據(URL、截圖、檔案提及、挫折點)。
  2. 廉價查詢 — .agents/history/INDEX.md 用於他們暗示的會話別名;ls/grep 用於他們半命名的檔案/模式;CLAUDE.md 用於常設約束。
  3. ≤3 個基於具體情況的問題 — 僅用於查詢無法解決的內容,每個問題都附帶從你的發現中得出的具體選項(「你指的是哪個驗證流程:src/auth/session.ts 還是 sso/ 中的 SSO 路徑?」),永遠不是開放式的「你指的是什麼?」。

問題閘道(硬性規則 — 無例外,無上下文物件)。 問題可以伴隨輸出,但永遠不能取代它。在每次調用中,在每種模式下,你首先輸出完整的輸出合約(提示區塊 + 🎯 + 💡):每個未解決的要點都成為提示區塊內的內聯標記假設 (假設:X — 如有錯誤請標記),並在 💡 行中呈現。如果(且僅當)會話是即時互動的,且答案會實質性地改變提示詞,你可以在輸出合約之後附加最多 3 個基於具體情況的問題,作為可選的改進(「回答這些問題,我將收緊提示詞」)。不要試圖判斷上下文是否互動 — 先輸出是無條件的;以問題和沒有提示區塊結束任何調用都是合約違規。

對自己應用 Karpathy 目標問題:所陳述任務背後的決策或結果是什麼?/goal 承載結果,而不是雜務。

4. 指標驗證

進入提示詞的每個指標都會在幾秒鐘內得到驗證:@file 引用在磁碟上存在;/read-chat 別名與 .agents/history/INDEX.md 中的帳本卡片匹配;命名的模仿模式檔案是真實的。帶有無效指標的提示詞比沒有指標的提示詞更糟 — 下游會話會在第一輪中浪費在幽靈上。丟棄或修正任何失敗的內容;如果它實質性地改變了提示詞,請在 💡 說明中說明。

跨樹指標: 目前工作樹之外的指標(另一個儲存庫、另一台機器)你無法廉價驗證的,則保留,並明確標記 (未驗證 — 目標會話必須首先確認此路徑) — 永遠不要阻止編譯,也永遠不要將其當作已驗證來輸出。只有同一樹內驗證失敗的指標才會被丟棄或修正。

驗證不是探索(硬性上限): 指標驗證確認指標存在 — 它永遠不會擴展為研究任務。上下文套件承載最多約 7 個指標,每個指標附帶一行原因說明;如果你的驗證產生了行級庫存、測試案例 ID 或探索卷宗,則你已進入 plan-it/build-it 預接地領域 — 將其削減為指標並相應地路由。

5. 草稿 — 6 插槽範本

標記為 ⚖ 的插槽僅在任務的複雜度需要時才出現(清晰度閘道校準);路由目標擁有的插槽根據 references/targets.md 省略:

1. ROUTING          — 第一行:目標技能調用(對於裸會話則為無)
2. GROUNDING ⚖      — 1-3 句話:情況,為什麼現在。壓縮,沒有史詩敘述。
3. /goal            — 一句話,真正的目標。如果提示詞很長,請在末尾重新陳述請求。
4. CONTEXT PACKAGE ⚖ — 指標,不是有效負載:@引用附帶一行原因說明,
                       模仿模式(「鏡像 X — 它已經解決了 Y」),
                       /read-chat 別名,證據 URL。如果重要的話,閱讀順序。
5. DoD SKETCH       — 編號的、可獨立測試的項目,每個項目命名其驗證
                       目標:什麼證明它(必須顯示結果的端點/頁面/表格/測試)—
                       永遠不是驗證方法或設定協定
                       (「使用無效的環境變數配置一個 Space 並確認…」是
                       review-it/build-it 的工作來設計,不是提示詞來規定的)。
                       ⚠ review-it 路由:此插槽被禁止 — 用一行
                       指向正在測試的現有聲明/合約來取代它。
6. SCOPE FENCES     — 標記為「超出範圍 / 不要觸碰」,始終存在,即使只有一行。
                       這是 build-it 從目標文字中提取的介面 — 使其明確。

草稿規則:參考資料放在請求之上;≤10 個離散指令(合併或轉換為指標);節制強調(沒有 CRITICAL/MUST 堆疊 — Claude 4.x 會過度觸發);沒有人設填充;對任何其動機改變代理泛化方式的指令附加「為什麼」。

6. 自我檢查(三次通過,按順序 — 加上嚴格輸出規則方塊,最後重新檢查)

  1. 評分量表 — 接地(每個指標都已驗證)?有範圍(圍欄已存在)?可操作(DoD 草稿可測試)?忠實(使用者的意圖被保留,沒有範圍漂移)?足夠完整(對話中沒有遺漏任何重要內容)?
  2. 矛盾差異比對 — 檢查 DoD 項目和約束之間是否存在衝突;如果兩者可能衝突,請在提示詞中解決哪個優先,而不是輸出衝突。
  3. **負載承

相關技能