Skip to content
Agent Orchestration
Skill

/six-rung-ladder

Use when deciding whether to write a piece of code, add a dependency, or introduce an abstraction / module / config — the "should I build this at all?" filter, applied before building. | 要決定「要不要寫這段 code/引這個依賴/加這層抽象或模組」時使用——「到底該不該做」的過濾網,動手之前先走一遍。不適用:把流程做成 agent workflow/建工具(改用

BOOST
From plugin
agentic-sop-to-work
20911 skills4 commands
Install
$ npx -y skills add s0912758806p/agentic-sop-to-work --skill six-rung-ladder --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/six-rung-ladder

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when deciding whether to write a piece of code, add a dependency, or introduce an abstraction / module / config — the "should I build this at all?" filter, applied before building. | 要決定「要不要寫這段 code/引這個依賴/加這層抽象或模組」時使用——「到底該不該做」的過濾網,動手之前先走一遍。不適用:把流程做成 agent workflow/建工具(改用

SKILL.md

six-rung-ladder.SKILL.md
name: six-rung-ladder
description: Use when deciding whether to write a piece of code, add a dependency, or introduce an abstraction / module / config — the "should I build this at all?" filter, applied before building. | 要決定「要不要寫這段 code/引這個依賴/加這層抽象或模組」時使用——「到底該不該做」的過濾網,動手之前先走一遍。不適用:把流程做成 agent workflow/建工具(改用 agentic-sop);稽核既有架構有沒有拆好(改用 agentic-workflow-audit)。

極簡架構過濾網:Six-Rung Ladder

角色與目標

面對任何「要不要寫這段代碼/要不要引入這個東西」的決策時,當一道**逐級過濾網**。核心信念:**Lazy, not negligent(慵懶,但絕不疏漏)**。每一行代碼、每一個依賴、每一個抽象,都是未來的維護成本與攻擊面;最便宜、最安全的代碼,是那行你沒有寫的。

這把梯子是 **decide → build → audit** 方法論的**最前段**:先用它擋掉不該做的,剩下該做的才交給 `agentic-sop` 去建、`agentic-workflow-audit` 去查。

怎麼用

請求從第 1 級開始往下走,**能在哪一級攔下,就在哪一級解決,絕不下沉**。一旦某級給出可行解就停,不要繼續往下找更重的方案。

1. YAGNI — 業務真的需要嗎?

不需要 → **直接拒絕**。先質疑需求本身,而不是急著找實現方案。

2. Stdlib — 標準庫能解決嗎?

優先用語言/執行環境的原生標準庫:大規模驗證、零供應鏈風險、零安裝、隨語言一起維護。 > **這一級在本專案是機械化的,不是口號**:engine 純標準庫由 `kit/tests/test_no_third_party.py` 守(回歸時 fail-loud),整個 marketplace 的 stdlib-only 不變量由 `plugin-forge lint --all --strict` 守。

3. Native Platform — 平台原生特性夠用嗎?

引入任何函式庫之前,先確認平台是否已提供(瀏覽器 `fetch` / `URL` / `Intl`、CSS 原生特性……往往足以取代一整包依賴)。

4. Installed Dependency — 現有依賴能複用嗎?

前三級都不行,先翻一遍已經裝好的依賴。**堅決不為了一個小功能引入新的供應鏈風險**——每個新依賴都是新的版本維護、安全漏洞與授權問題來源。 > 同第 2 級:新依賴會被 `test_no_third_party` / `plugin-forge lint` 擋下——這一級有 gate,不靠自律。

5. One Line — 一行乾淨代碼行不行?

與其引入抽象、新模組或新依賴,不如就地寫一行清晰直白的代碼。前提:乾淨、可讀、意圖明確,而非炫技式壓縮。

6. The Minimum That Works — 最小可用閉環

全走不通 → 只寫最小可用、能跑能驗的閉環。不過度設計、不預留花俏擴展點;先讓最小版本真正運作起來。

死守紅線:Lazy, not negligent

「慵懶」是對複雜度/抽象/依賴**保持吝嗇**;「絕不疏漏」是**有些東西一行都不准省**。下列防禦性代碼**永遠不適用上面的偷懶哲學**:

  • **跨信任邊界的防注入**:任何外部資料(用戶輸入、第三方回應、檔案內容、URL 參數……)一律當作不可信,做好校驗與轉義。
  • **容災與錯誤處理**:失敗路徑、超時、重試、降級,該寫的都要寫,不能假設一切正常。
  • **安全性**:權限校驗、機密處理、最小權限原則,不能因「先跑起來再說」而跳過。

> 這條紅線與本專案既有鐵則「**防禦代碼不准省**」是同一條;對應的確定性 gate(如 `trace_gate` 防臆造)亦屬此列。在該懶的地方懶到極致,在該嚴的地方一步不讓。

速查口訣

| 級別 | 名稱 | 一句話 | |---|---|---| | 1 | YAGNI | 業務真需要嗎?不需要就拒絕。 | | 2 | Stdlib | 標準庫能不能搞定?(有 gate) | | 3 | Native Platform | 平台原生特性夠不夠用? | | 4 | Installed Dependency | 現有依賴能不能複用?(有 gate) | | 5 | One Line | 一行乾淨代碼行不行? | | 6 | Minimum That Works | 都不行就寫最小可用閉環。 |

**紅線**:防注入、容災、安全性 — 防禦代碼不准省略。

輸出格式

被觸發時,對該決策逐級回報:**在第幾級攔下、為什麼、具體方案**(或:為何必須下沉到下一級)。若涉及外部輸入/失敗路徑/安全,明確點出哪條紅線項不得偷懶。最後一句結論:**做 / 不做 / 做最小版**。

Read more
Ships withagentic-sop-to-work

Loop Engineering — make an agent's loop produce verifiable progress, stay honest, and stay bounded, by deterministic mechanism rather than vibes.

Get the whole plugin

Other skills on agentic-sop-to-work.