組合寫作指令
透過結合語氣、調性、風格與格式四個軸線的類別條目來組合一條寫作指令。
使用方式
/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<文字>] [audience=<文字>]
所有參數皆為選填。若省略,技能會選用合理的預設值。
參數
voice- 語氣條目 ID(例如:pragmatic-architect、pastoral、columnist)tone- 調性條目 ID(例如:candid、warm、matter-of-fact)style- 風格條目 ID(例如:problem-solution、devotional-reflection)format- 格式條目 ID(例如:adr、blog-post-long-form、slack-message)topic- 寫作主題(選填,可產生更具體的組合指令)audience- 目標讀者(選填,預設為一般讀者)
技能功能
- 驗證每個提供的條目 ID 是否存在於類別目錄中
- 讀取每個匹配條目的
llm_instruction_phrasing(LLM 指令措辭) - 按照固定的優先順序組合成一條指令字串:語氣 → 調性 → 風格 → 格式
- 檢查選取的條目彼此之間的關係欄位,若有衝突則發出警告(但不阻擋)
- 回傳組合完成的指令,可直接貼入任何 LLM 提示中
實作方式
組合功能由本技能資料夾中的輔助腳本 scripts/build-instruction.py 實作。
它會讀取外掛根目錄下 taxonomy/ 目錄中的類別目錄,因此該目錄會隨外掛一起發佈。
斜線指令接受 key=value 引數;腳本本身接受 --flag value 引數。
若要跳過斜線指令直接組合,可如下直接執行:
python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr
衝突感知組合
建構器會讀取每個選取條目的 avoid_with(避免搭配)與 pairs_well_with(搭配良好)關係並回報,
因此組合結果是經過檢查的保證,而非單純的文字串接。規則(請參閱 ADR 0016):
- 衝突是對稱的。 只要任何一個條目將另一方列在
avoid_with中,就會標記為衝突, 因此警告永遠不依賴於哪個作者記錄了這條連結。 - 只警告,不阻擋。 即使衝突配對仍然會組合(你可能刻意想要製造張力); 建構器會發出警告,並依照語氣 → 調性 → 風格 → 格式的優先順序,讓優先順序較高的軸線主導。
- 肯定。 若出現
pairs_well_with配對,則會顯示為確認備註。
組合出的指令會輸出到 stdout;衝突警告與肯定備註則輸出到 stderr,
因此 stdout 保持乾淨、可管線傳遞的提示內容。例如,將 pragmatic-architect 語氣
與列在 avoid_with 中的 reverent 調性配對時,仍會回傳指令並輸出:
warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.
範例
以 pragmatic-architect 語氣搭配 candid 調性組合出一份 ADR:
/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr
組合一份 pastoral 靈修小品:
/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="休息的紀律"
可用條目
不帶任何參數執行,即可檢視所有按軸線分組的可用條目。