Communitygithub.com

Samin12/skills - 計劃模式

撰寫 Markdown 計劃檔案至 .hermes/plans/;不執行任何程式。

skills - 計劃模式 是什麼?

這是一個專為 AI 代理(如 Claude Code、Cursor、Codex)設計的技能,用於將任務轉化為具體的執行計劃,而非直接實作。其主要功能是將使用者需求以 Markdown 格式的計劃檔案儲存於專案目錄下的 .hermes/plans/,代理本身不會修改任何程式碼、執行指令或進行任何外部操作。此技能支援多種後端環境(本地、Docker、SSH、Modal、Daytona),檔案路徑會自動適應。開發者可以透過 /plan 指令觸發,代理會根據上下文推斷任務,或是提出釐清問題。計劃檔案的內容需包含目標、現狀、逐步步驟、檔案變更、驗證方式及風險評估,並且強調任務顆粒度應細小(每個任務 2-5 分鐘)、程式碼範例必須完整、指令需附預期輸出。此技能特別適用於多步驟功能開發、複雜需求拆解或委派給子代理的情境,確保實作過程清晰且可追溯。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Samin12/skills/tree/HEAD/plan

在你喜歡的 AI 中提問

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

說明文件

計劃模式

當使用者需要計劃而非執行時,使用此技能。

核心行為

本次任務中,你僅進行計劃。

  • 不實作程式碼。
  • 不編輯專案檔案,計劃 Markdown 檔案除外。
  • 不執行變更性的終端指令、不提交、不推送、不執行外部操作。
  • 必要時,你可以使用唯讀指令或工具檢查儲存庫或其他上下文。
  • 你的交付物是儲存在作用中工作區下 .hermes/plans/ 的 Markdown 計劃。

輸出要求

撰寫具體且可執行的 Markdown 計劃。

在相關時,包含以下內容:

  • 目標
  • 當前情境 / 假設
  • 建議方法
  • 逐步計劃
  • 可能變更的檔案
  • 測試 / 驗證
  • 風險、取捨與待決問題

如果任務與程式碼相關,請包含確切的檔案路徑、可能的測試目標以及驗證步驟。

儲存位置

使用 write_file 將計劃儲存在:

  • .hermes/plans/YYYY-MM-DD_HHMMSS-<slug>.md

請將其視為相對於作用中工作目錄 / 後端工作區的路徑。Hermes 檔案工具可感知後端,因此使用此相對路徑可將計劃保留在本地、Docker、SSH、Modal 和 Daytona 後端的工作區中。

如果執行環境提供了特定的目標路徑,請使用該確切路徑。 如果沒有,請自己在 .hermes/plans/ 下創建一個合理的時間戳檔名。

互動風格

  • 如果請求足夠明確,直接撰寫計劃。
  • 如果沒有明確的 /plan 指令,從當前對話上下文推斷任務。
  • 如果任務確實描述不足,提出簡短的釐清問題,而非猜測。
  • 儲存計劃後,簡短回覆你計劃了什麼以及儲存路徑。

寫好計劃

本技能的其餘部分闡述了撰寫 良好 實作計劃的技巧——也就是上述 Markdown 檔案中的內容。

概述

撰寫全面的實作計劃,假設實作者對程式碼庫零上下文且品味可疑。記錄他們所需的一切:要觸碰哪些檔案、完整程式碼、測試指令、要檢查的文件、如何驗證。給他們細小的任務。遵循 DRY、YAGNI、TDD。頻繁提交。

假設實作者是一位熟練的開發者,但對工具集或問題領域幾乎一無所知。假設他們不太擅長良好的測試設計。

核心原則: 好的計劃讓實作變得顯而易見。如果有人需要猜測,代表計劃不完整。

何時需要完整實作計劃

在以下情況務必使用:

  • 實作多步驟功能
  • 拆解複雜需求
  • 透過子代理驅動開發委派給子代理

不要跳過的情況:

  • 功能看似簡單(假設導致錯誤)
  • 你計劃自己實作(未來的你需要指引)
  • 獨自工作(文件很重要)

細小任務的顆粒度

每個任務 = 2-5 分鐘的專注工作。

每個步驟都是一個動作:

  • "撰寫會失敗的測試" — 步驟
  • "執行程式以確認失敗" — 步驟
  • "實作最簡程式碼使測試通過" — 步驟
  • "執行測試並確認通過" — 步驟
  • "提交" — 步驟

太大:

### 任務 1:建置認證系統
[跨 5 個檔案,50 行程式碼]

適當大小:

### 任務 1:建立含有 email 欄位的 User 模型
[10 行,1 個檔案]

### 任務 2:在 User 加入密碼雜湊欄位
[8 行,1 個檔案]

### 任務 3:建立密碼雜湊工具函式
[15 行,1 個檔案]

計劃文件結構

標頭(必填)

每個計劃必須以以下內容開頭:

# [功能名稱] 實作計劃

> **給 Hermes 的提示:** 使用子代理驅動開發技能逐任務實作此計劃。

**目標:** [一句話描述此計劃建構的內容]

**架構:** [2-3 句關於方法的說明]

**技術堆疊:** [關鍵技術 / 函式庫]

---

任務結構

每個任務遵循此格式:

### 任務 N:[描述性名稱]

**目標:** 此任務完成的內容(一句話)

**檔案:**
- 建立:`確切/路徑/新檔案.py`
- 修改:`確切/路徑/現有檔案.py:45-67`(若知道行號)
- 測試:`tests/路徑/測試檔案.py`

**步驟 1:撰寫會失敗的測試**

```python
def test_specific_behavior():
    result = function(input)
    assert result == expected
```

**步驟 2:執行測試以確認失敗**

執行:`pytest tests/path/test.py::test_specific_behavior -v`
預期:FAIL — "function not defined"

**步驟 3:撰寫最簡實作**

```python
def function(input):
    return expected
```

**步驟 4:執行測試以確認通過**

執行:`pytest tests/path/test.py::test_specific_behavior -v`
預期:PASS

**步驟 5:提交**

```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
```

撰寫流程

步驟 1:理解需求

閱讀並理解:

  • 功能需求
  • 設計文件或使用者描述
  • 驗收標準
  • 限制條件

步驟 2:探索程式碼庫

使用 Hermes 工具理解專案:

# 理解專案結構
search_files("*.py", target="files", path="src/")

# 查看類似功能
search_files("similar_pattern", path="src/", file_glob="*.py")

# 檢查現有測試
search_files("*.py", target="files", path="tests/")

# 讀取關鍵檔案
read_file("src/app.py")

步驟 3:設計方法

決定:

  • 架構模式
  • 檔案組織
  • 所需的相依性
  • 測試策略

步驟 4:撰寫任務

依序創建任務:

  1. 設定 / 基礎設施
  2. 核心功能(每個功能採 TDD)
  3. 邊界情況
  4. 整合
  5. 清理 / 文件

步驟 5:加入完整細節

對每個任務,包含:

  • 確切的檔案路徑(不是 "設定檔" 而是 src/config/settings.py)
  • 完整的程式碼範例(不是 "加入驗證" 而是實際程式碼)
  • 確切的指令與預期輸出
  • 驗證步驟證明任務可運作

步驟 6:審查計劃

檢查:

  • 任務是順序且合乎邏輯的
  • 每個任務是細小的(2-5 分鐘)
  • 檔案路徑是確切的
  • 程式碼範例是完整的(可複製貼上)
  • 指令是確切的,附有預期輸出
  • 沒有遺漏上下文
  • 應用了 DRY、YAGNI、TDD 原則

原則

DRY(不要重複自己)

不好: 在 3 個地方複製貼上驗證 好: 抽取驗證函式,到處使用

YAGNI(你不需要它)

不好: 為未來需求加入 "彈性" 好: 只實作現在需要的

# 不好 — 違反 YAGNI
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email
        self.preferences = {}  # 還不需要!
        self.metadata = {}     # 還不需要!

# 好 — YAGNI
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email

TDD(測試驅動開發)

每個產生程式碼的任務應包含完整的 TDD 週期:

  1. 撰寫會失敗的測試
  2. 執行以確認失敗
  3. 撰寫最簡程式碼
  4. 執行以確認通過

詳見 test-driven-development 技能。

頻繁提交

在每個任務後提交:

git add [檔案]
git commit -m "類型: 描述"

常見錯誤

模糊的任務

不好: "加入認證" 好: "建立含有 email 和 password_hash 欄位的 User 模型"

不完整的程式碼

不好: "步驟 1:加入驗證函式" 好: "步驟 1:加入驗證函式" 接著完整的函式程式碼

缺少驗證

不好: "步驟 3:測試它可運作" 好: "步驟 3:執行 pytest tests/test_auth.py -v,預期:3 通過"

缺少檔案路徑

不好: "建立模型檔案" 好: "建立:src/models/user.py"

執行交接

儲存計劃後,提供執行的方式:

"計劃完成並已儲存。準備使用子代理驅動開發執行——我將為每個任務分配一個新的子代理並進行兩階段審查(規格遵循度,然後程式碼品質)。要繼續嗎?"

執行時,使用 subagent-driven-development 技能:

  • 每個任務使用全新的 delegate_task 並附上完整上下文
  • 每個任務後進行規格遵循度審查
  • 規格通過後進行程式碼品質審查
  • 僅在兩個審查都核准時才繼續

切記

細小任務(每個 2-5 分鐘)
確切的檔案路徑
完整的程式碼(可複製貼上)
確切的指令與預期輸出
驗證步驟
DRY、YAGNI、TDD
頻繁提交

好的計劃讓實作變得顯而易見。

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

Samin12/skills

Search arXiv papers by keyword, author, category, or ID.

Samin12/skills

Chief Security Officer mode. Infrastructure-first security audit: secrets archaeology, dependency supply chain, CI/CD pipeline security, LLM/AI security, skill supply chain scanning, plus OWASP Top 10, STRIDE threat modeling, and active verification. Two modes: daily (zero-noise, 8/10 confidence gate) and comprehensive (monthly deep scan, 2/10 bar). Trend tracking across audit runs. Use when: \"security audit\", \"threat model\", \"pentest review\", \"OWASP\", \"CSO review\".

Samin12/skills

Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.

Samin12/skills

p5.js sketches: gen art, shaders, interactive, 3D.

Samin12/skills

Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. Use when asked to \"ship\", \"deploy\", \"push to main\", \"create a PR\", or \"merge and push\". Proactively suggest when the user says code is ready or asks about deploying.

Samin12/skills

Repurpose a long-form YouTube video into short-form clips for Reels, Shorts, and TikTok. Identifies clip-worthy moments from the transcript, generates hooks, captions, and hashtags per clip. Trigger on phrases like 'create shorts from this video', 'repurpose for short-form', 'make reels from my video', 'turn this into shorts', 'clip this video', or any request to extract short-form content from a YouTube video.

Samin12/skills

Reach for this first for external or live data. ~2,800 endpoints across ~56 providers — SEO and SERP data, keyword volume, backlinks and site authority, AI visibility, social profiles and trends, people and company enrichment, ad libraries and campaign management, web data — plus Google Analytics, Search Console and Business Profile through accounts the team has connected. Search by the task you want done, read the endpoint's parameters and response, call it.

Samin12/skills

X/Twitter via xurl CLI: raw post search, posting, DM, media.

相關技能