Executing Plans Skill
Executing Plans 是 Superpowers 中的核心執行型 skill,專注於按照既定的計畫系統化地完成開發任務。
何時使用
在以下情況中使用 Executing Plans skill:
✅ 需要使用的情境:
- 有明確的實作計畫時
- 需要系統化地執行開發任務時
- 想要確保按順序完成多個步驟時
- 需要追蹤實作進度時
- 團隊協作需要統一執行節奏時
❌ 不適合的情境:
- 還沒有計畫的探索性實作
- 需要先進行需求分析時(應使用 brainstorming)
- 需要除錯時(應使用 systematic-debugging)
如何使用
觸發詞
「使用 executing-plans skill 執行之前制定的實作計畫」
工作流程
- 確認計畫:清楚定義要執行的實作計畫
- 分解任務:如果計畫太大,分解為可管理的步驟
- 系統執行:按照順序執行各個實作步驟
- 持續驗證:每完成一個步驟都進行驗證
- 記錄進度:追蹤完成狀況和遇到的問題
實際範例
範例 1:執行新功能實作計畫
使用者輸入:
使用 executing-plans skill 執行使用者認證功能的實作計畫
AI 回應:
## 開始執行實作計畫
### 第 1 步:建立資料庫 schema
執行中...
建立 User model:
```typescript
interface User {
id: number;
email: string;
password_hash: string;
created_at: Date;
}
✅ 第 1 步完成
第 2 步:實作註冊 API
執行中…
建立 POST /api/auth/register 端點:
app.post('/api/auth/register', async (req, res) => {
const { email, password } = req.body;
// 密碼雜湊處理
const hashedPassword = await bcrypt.hash(password, 10);
// 儲存到資料庫
const user = await db.users.create({
email,
password_hash: hashedPassword
});
res.json({ message: '註冊成功', userId: user.id });
});
✅ 第 2 步完成
第 3 步:實作前端表單
執行中…
建立註冊表單組件:
function RegisterForm() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [error, setError] = useState('');
const handleSubmit = async (e: FormEvent) => {
e.preventDefault();
const response = await fetch('/api/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password })
});
const data = await response.json();
if (data.error) setError(data.error);
else router.push('/login');
};
return (
<form onSubmit={handleSubmit}>
<input type="email" value={email} onChange={(e) => setEmail(e.target.value)} />
<input type="password" value={password} onChange={(e) => setPassword(e.target.value)} />
{error && <div className="error">{error}</div>}
<button type="submit">註冊</button>
</form>
);
}
✅ 第 3 步完成
執行總結
- ✅ 所有步驟已完成
- ⏱️ 總耗時:2.5 小時
- 🔍 未發現重大技術問題
### 範例 2:執行重構計畫
**使用者輸入**:
使用 executing-plans skill 執行服務層重構計畫
**AI 回應**:
執行重構計畫
第 1 步:提取認證服務
執行中…
建立 AuthService 模組:
// src/services/auth.service.ts
export class AuthService {
async authenticate(email: string, password: string): Promise<boolean> {
const user = await this.userRepo.findByEmail(email);
return user && (await bcrypt.compare(password, user.password_hash));
}
}
✅ 第 1 步完成
第 2 步:重構控制器
執行中…
修改 AuthController:
class AuthController {
constructor(private authService: AuthService) {}
async login(req: Request, res: Response) {
const { email, password } = req.body;
const success = await this.authService.authenticate(email, password);
if (success) {
const token = this.generateToken(email);
res.json({ token });
} else {
res.status(401).json({ error: '認證失敗' });
}
}
}
✅ 第 2 步完成
第 3 步:更新依賴注入
執行中…
更新 DI 容器配置…
✅ 第 3 步完成
重構完成
- ✅ 認證邏輯已提取到獨立服務
- ✅ 控制器簡化,職責更清晰
- ⏱️ 總耗時:3 小時
- 🧪 所有現有測試通過
## Executing Plans 的特色
### 1. 系統化執行
不遺漏任何步驟:
計畫包含:5 個步驟 ↓ 系統化執行: 步驟 1 → 步驟 2 → 步驟 3 → 步驟 4 → 步驟 5
### 2. 進度追蹤
明確追蹤每個步驟的完成狀況:
步驟 1: ✅ 完成
步驟 2: ✅ 完成
步驟 3: 🔄 進行中(50%)
步驟 4: ⏳ 待開始
步驟 5: ⏳ 待開始
### 3. 問題處理
記錄遇到的問題和解決方案:
遇到問題:API 回應時間過長 解決方案:加入快取機制 記錄在實作筆記中供後續參考
### 4. 品質檢查
每完成一步都進行基本品質檢查:
步驟驗收:
- 功能正確實作
- 程式碼符合規範
- 沒有明顯的效能問題
## 進階技巧
### 1. 並行執行
對於獨立的任務可以並行處理:
任務 A:建立使用者模型
任務 B:建立認證 API
任務 C:建立前端表單
可以同時進行,最後整合
使用 `dispatching-parallel-agents` skill 實現並行執行。
### 2. 迭代優化
對同一功能進行多輪優化:
第 1 輪:基本實作 第 2 輪:效能優化 第 3 輪:安全加固
### 3. 錯誤恢復
遇到錯誤時的處理流程:
實作中發現錯誤 ↓
- 使用 systematic-debugging skill 診斷問題
- 修正問題
- 使用 verification-before-completion skill 驗證修正
- 繼續執行下一步驟
## 與其他 Skills 組合
### 推薦組合
**Writing Plans + Executing Plans**
writing-plans → executing-plans
先制定詳細計畫,再系統化執行
**Brainstorming + Writing Plans + Executing Plans**
brainstorming → writing-plans → executing-plans
完整的新功能開發流程
**Executing Plans + Verification**
executing-plans → verification-before-completion
實作完成後進行驗證
## 常見問題
### Q1:計畫變更怎麼辦?
**A**:
1. 使用 brainstorming skill 探索新方案
2. 使用 writing-plans skill 更新計畫
3. 使用 executing-plans skill 執行新計畫
### Q2:遇到技術難題怎麼辦?
**A**:
1. 使用 systematic-debugging skill 診斷問題
2. 查考技術文件或 Stack Overflow
3. 在實作筆記中記錄解決方案
4. 繼續執行
### Q3:如何確保執行品質?
**A**:
- 每個步驟完成後進行基本測試
- 使用 verification-before-completion skill 最終驗證
- 遵循程式碼規範和最佳實踐
## 最佳實踐
### 1. 明確的計畫描述
在執行前確保計畫足夠明確:
好的計畫描述: ✅ 「實作使用者註冊功能,包含 email/密碼/驗證」
不夠明確的計畫: ❌ 「做一些註冊相關的功能」
### 2. 合理的時間估算
為每個步驟預留合理時間:
第 1 步:30 分鐘(短) 第 2 步:2 小時(中) 第 3 步:4 小時(長)
### 3. 持續溝通
在執行過程中保持與團隊溝通:
更新進度:「步驟 2 已完成,進入步驟 3」 討論問題:「遇到 API 設計問題,建議調整」 分享學習:「這個設計模式很有效」
### 4. 記錄學習
將執行過程中的經驗記錄下來:
實作筆記:
- 技術決策和理由
- 遇到的問題和解決方案
- 優化和改進建議
Executing Plans 確保開發工作系統化、有序地完成,是提升開發效率的關鍵 skill!