TTechSpecs

Executing Plans Skill

Executing Plans 是 Superpowers 中的核心執行型 skill,專注於按照既定的計畫系統化地完成開發任務。

何時使用

在以下情況中使用 Executing Plans skill:

需要使用的情境

  • 有明確的實作計畫時
  • 需要系統化地執行開發任務時
  • 想要確保按順序完成多個步驟時
  • 需要追蹤實作進度時
  • 團隊協作需要統一執行節奏時

不適合的情境

  • 還沒有計畫的探索性實作
  • 需要先進行需求分析時(應使用 brainstorming)
  • 需要除錯時(應使用 systematic-debugging)

如何使用

觸發詞

「使用 executing-plans skill 執行之前制定的實作計畫」

工作流程

  1. 確認計畫:清楚定義要執行的實作計畫
  2. 分解任務:如果計畫太大,分解為可管理的步驟
  3. 系統執行:按照順序執行各個實作步驟
  4. 持續驗證:每完成一個步驟都進行驗證
  5. 記錄進度:追蹤完成狀況和遇到的問題

實際範例

範例 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. 錯誤恢復

遇到錯誤時的處理流程:

實作中發現錯誤 ↓

  1. 使用 systematic-debugging skill 診斷問題
  2. 修正問題
  3. 使用 verification-before-completion skill 驗證修正
  4. 繼續執行下一步驟

## 與其他 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!