補充文件(Backfill Documentation)
概述
當功能已經實作完成,但沒有經過正式的設計流程時,使用此技能來補充文件。這確保所有功能都有完整的文件記錄,便於未來維護和理解。
開始時宣布: "我正在使用 backfill-documentation 技能來補充文件。"
必要子技能:
- •使用 hi-skills:brainstorming 的設計文件格式
- •使用 hi-skills:executing-plans 的實作計劃格式
流程
步驟 1:載入參考格式
先調用技能取得格式規範:
- •調用
Skill: brainstorming- 取得設計文件的格式要求 - •調用
Skill: executing-plans- 取得實作計劃的格式要求
步驟 2:收集資訊
- •
識別相關 commits
bashgit log --oneline --since="YYYY-MM-DD" --grep="<關鍵字>"
- •
閱讀變更的檔案
- •從 git diff 或 git show 了解變更內容
- •識別涉及的檔案和變更範圍
- •
理解功能
- •這個功能解決什麼問題?
- •使用者體驗流程是什麼?
- •資料如何流動?
- •有哪些關鍵決策?
步驟 3:生成設計文件
參照 brainstorming 技能格式,建立 docs/plans/YYYY-MM-DD-<topic>-design.md:
必要元素(來自 brainstorming):
- •概述 - 功能目的和背景
- •需求 - 明確的需求清單
- •使用者體驗流程 - ASCII 流程圖
- •資料流程 - 資料如何在系統中流動
- •資料結構變更 - 新增或修改的型別/欄位
- •UI 變更 - ASCII UI 圖(如適用)
- •修改檔案清單 - 表格列出所有變更
- •實作邏輯 - 關鍵程式碼片段
- •驗收標準 - 所有項目標記為
[x]已完成
步驟 4:生成實作計劃
參照 executing-plans 技能格式,建立 docs/plans/YYYY-MM-DD-<topic>-plan.md:
必要元素(來自 executing-plans):
- •狀態標記 -
> **狀態:** ✅ 已完成 - •目標和架構 - 簡短描述
- •任務清單 - 每個任務標記 ✅,包含:
- •檔案清單
- •完成內容
- •變更摘要 - 影響檔案和風險等級 🟢
- •相關 Commits - 列出相關的 git commits
步驟 5:建立索引檔
建立 ~/.claude/plans/YYYY-MM-DD-<project>-<topic>.md:
# <project>-<topic> project_path: <專案路徑> status: done design_file: docs/plans/YYYY-MM-DD-<topic>-design.md plan_file: docs/plans/YYYY-MM-DD-<topic>-plan.md
步驟 6:更新索引
執行 /hi-update-plans-index 更新計畫索引。
步驟 7:提交文件
git add docs/plans/ git commit -m "docs: 補充 <功能名稱> 的設計與實作計劃文件 - 新增 <topic>-design.md(設計文件) - 新增 <topic>-plan.md(實作計劃,已完成) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>"
設計文件範本
參照 /hi-brainstorm 輸出格式:
# <功能名稱>設計 ## 概述 <簡短描述功能目的和解決的問題> ## 需求 1. <需求 1> 2. <需求 2> 3. ... ## 使用者體驗流程
┌─────────────────────────────────────────────────────────┐ │ <流程步驟> │ ├─────────────────────────────────────────────────────────┤ │ <UI 元素描述> │ └─────────────────────────────────────────────────────────┘
## 資料流程
<步驟描述> ↓ ┌──────────────────────────────────────────────────────┐ │ <元件/系統名稱> │ │ │ │ 1. <動作 1> │ │ 2. <動作 2> │ └──────────────────────────────────────────────────────┘
## 資料結構變更
### <collection/type 名稱>
```typescript
{
existingField: string;
newField: string; // 新增:說明
}
UI 變更
<ASCII UI 圖>
修改檔案清單
| 檔案 | 變更內容 |
|---|---|
path/to/file.ts | <變更描述> |
實作邏輯
// 關鍵程式碼片段(說明核心邏輯)
驗收標準
- • <標準 1>
- • <標準 2>
## 實作計劃範本 參照 `/hi-ace` 輸出格式: ```markdown # <功能名稱> 實作計劃 > **狀態:** ✅ 已完成 **目標:** <功能目標> **架構:** <技術架構簡述> **技術棧:** <使用的技術> --- ### 任務 1:<任務名稱> ✅ **檔案:** - 修改:`path/to/file.ts` **完成內容:** - <完成的項目 1> - <完成的項目 2> --- ### 任務 2:<任務名稱> ✅ ... --- ## 變更摘要 **影響檔案:** - `file1.ts` - <變更描述> - `file2.ts` - <變更描述> **整體風險:** 🟢(已完成,無問題) **相關 Commits:** - `<commit message 1>` - `<commit message 2>`
記住
- •必須參照子技能 - 先調用 brainstorming 和 executing-plans 確認最新格式
- •從現有程式碼反推設計,不是編造
- •所有驗收標準標記為已完成(因為功能已實作)
- •實作計劃的任務從 git commits 推斷
- •確保文件能幫助未來的開發者理解功能
- •使用一致的格式和命名規則