generate-custom-instructions-from-codebase

generate-custom-instructions-from-codebase

熱門

遷移與程式碼演化指令產生器,專為 GitHub Copilot 設計。分析兩個專案版本(分支、提交或發行版)之間的差異,建立精確的指令,讓 Copilot 在技術遷移、大型重構或框架版本升級時能維持一致性。

3.6萬星標
4556分支
更新於 2026/7/13
SKILL.md
readonlyread-only
name
generate-custom-instructions-from-codebase
description

遷移與程式碼演化指令產生器,專為 GitHub Copilot 設計。分析兩個專案版本(分支、提交或發行版)之間的差異,建立精確的指令,讓 Copilot 在技術遷移、大型重構或框架版本升級時能維持一致性。

遷移與程式碼演化指令產生器

設定變數

${MIGRATION_TYPE="Framework Version|Architecture Refactoring|Technology Migration|Dependencies Update|Pattern Changes"}
<!-- 遷移或演化的類型 -->

${SOURCE_REFERENCE="branch|commit|tag"}
<!-- 來源參考點(變更前狀態) -->

${TARGET_REFERENCE="branch|commit|tag"}  
<!-- 目標參考點(變更後狀態) -->

${ANALYSIS_SCOPE="Entire project|Specific folder|Modified files only"}
<!-- 分析範圍 -->

${CHANGE_FOCUS="Breaking Changes|New Conventions|Obsolete Patterns|API Changes|Configuration"}
<!-- 變更的主要面向 -->

${AUTOMATION_LEVEL="Conservative|Balanced|Aggressive"}
<!-- Copilot 建議的自動化程度 -->

${GENERATE_EXAMPLES="true|false"}
<!-- 是否包含轉換範例 -->

${VALIDATION_REQUIRED="true|false"}
<!-- 是否需要在套用前進行驗證 -->

產生的提示

"分析兩個專案狀態之間的程式碼演化,為 GitHub Copilot 產生精確的遷移指令。這些指令將引導 Copilot 在未來修改時自動套用相同的轉換模式。請遵循以下方法:

### 第一階段:比較狀態分析

#### 結構變更偵測
- 比較 ${SOURCE_REFERENCE} 和 ${TARGET_REFERENCE} 之間的資料夾結構
- 識別移動、重新命名或刪除的檔案
- 分析設定檔的變更
- 記錄新增和移除的相依套件

#### 程式碼轉換分析
${MIGRATION_TYPE == "Framework Version" ? 
  "- 識別框架版本之間的 API 變更
   - 分析正在使用的新功能
   - 記錄已棄用的方法/屬性
   - 注意語法或慣例的變更" : ""}

${MIGRATION_TYPE == "Architecture Refactoring" ? 
  "- 分析架構模式的變更
   - 識別引入的新抽象層
   - 記錄職責重新組織
   - 注意資料流程的變更" : ""}

${MIGRATION_TYPE == "Technology Migration" ? 
  "- 分析一項技術被另一項技術取代的過程
   - 識別功能對應關係
   - 記錄 API 和語法變更
   - 注意新的相依套件和設定" : ""}

#### 轉換模式萃取
- 識別重複套用的轉換
- 分析從舊格式到新格式的轉換規則
- 記錄例外和特殊情況
- 建立前後對照矩陣

### 第二階段:遷移指令產生

建立一個 `.github/copilot-migration-instructions.md` 檔案,結構如下:

\`\`\`markdown
# GitHub Copilot 遷移指令

## 遷移背景
- **類型**:${MIGRATION_TYPE}
- **從**:${SOURCE_REFERENCE} 
- **到**:${TARGET_REFERENCE}
- **日期**:[GENERATION_DATE]
- **範圍**:${ANALYSIS_SCOPE}

## 自動轉換規則

### 1. 強制轉換
${AUTOMATION_LEVEL != "Conservative" ? 
  "[AUTOMATIC_TRANSFORMATION_RULES]
   - **舊模式**:[OLD_CODE]
   - **新模式**:[NEW_CODE]
   - **觸發條件**:何時偵測到此模式
   - **動作**:自動套用的轉換" : ""}

### 2. 需驗證的轉換
${VALIDATION_REQUIRED == "true" ? 
  "[TRANSFORMATIONS_WITH_VALIDATION]
   - **偵測到的模式**:[DESCRIPTION]
   - **建議的轉換**:[NEW_APPROACH]
   - **必要驗證**:[VALIDATION_CRITERIA]
   - **替代方案**:[ALTERNATIVE_OPTIONS]" : ""}

### 3. API 對應
${CHANGE_FOCUS == "API Changes" || MIGRATION_TYPE == "Framework Version" ? 
  "[API_CORRESPONDENCE_TABLE]
   | 舊 API   | 新 API   | 備註     | 範例        |
   | --------- | --------- | --------- | -------------- |
   | [OLD_API] | [NEW_API] | [CHANGES] | [CODE_EXAMPLE] | " : ""} |

### 4. 應採用的新模式
[DETECTED_EMERGING_PATTERNS]
- **模式**:[PATTERN_NAME]
- **使用時機**:[WHEN_TO_USE] 
- **實作方式**:[HOW_TO_IMPLEMENT]
- **優點**:[ADVANTAGES]

### 5. 應避免的過時模式
[DETECTED_OBSOLETE_PATTERNS]
- **過時模式**:[OLD_PATTERN]
- **避免原因**:[REASONS]
- **替代方案**:[NEW_PATTERN]
- **遷移步驟**:[CONVERSION_STEPS]

## 檔案類型特定指令

${GENERATE_EXAMPLES == "true" ? 
  "### 設定檔
   [CONFIG_TRANSFORMATION_EXAMPLES]
   
   ### 主要原始碼檔案
   [SOURCE_TRANSFORMATION_EXAMPLES]
   
   ### 測試檔案
   [TEST_TRANSFORMATION_EXAMPLES]" : ""}

## 驗證與安全性

### 自動控制點
- 每次轉換後應執行的驗證
- 用於驗證變更的測試
- 需監控的效能指標
- 需執行的相容性檢查

### 手動升級
需要人工介入的情況:
- [COMPLEX_CASES_LIST]
- [ARCHITECTURAL_DECISIONS]
- [BUSINESS_IMPACTS]

## 遷移監控

### 追蹤指標
- 自動遷移的程式碼百分比
- 需要手動驗證的次數
- 自動轉換的錯誤率
- 每個檔案的平均遷移時間

### 錯誤回報
如何向 Copilot 回報不正確的轉換:
- 用於改善規則的回饋模式
- 需記錄的例外情況
- 需對指令進行的調整

\`\`\`

### 第三階段:情境範例產生

${GENERATE_EXAMPLES == "true" ? 
  "#### 轉換範例
   針對每個識別出的模式,產生:
   
   \`\`\`
   // 之前 (${SOURCE_REFERENCE})
   [OLD_CODE_EXAMPLE]
   
   // 之後 (${TARGET_REFERENCE}) 
   [NEW_CODE_EXAMPLE]
   
   // COPILOT 指令
   當你看到此模式 [TRIGGER],請依照以下步驟將其轉換為 [NEW_PATTERN]:[STEPS]
   \`\`\`" : ""}

### 第四階段:驗證與最佳化

#### 指令測試
- 在測試程式碼上套用指令
- 驗證轉換的一致性
- 根據結果調整規則
- 記錄例外和邊界情況

#### 迭代最佳化  
${AUTOMATION_LEVEL == "Aggressive" ? 
  "- 精煉規則以最大化自動化
   - 減少偵測中的誤判
   - 改善轉換準確度
   - 記錄學到的經驗" : ""}

### 最終結果

讓 GitHub Copilot 能夠執行以下操作的遷移指令:
1. **自動套用**相同的轉換於未來修改中
2. **維持一致性**,遵循新採用的慣例  
3. **避免過時模式**,自動建議替代方案
4. **加速未來遷移**,利用累積的經驗
5. **減少錯誤**,自動化重複性轉換

這些指令將 Copilot 轉變為智慧型遷移助手,能夠一致且可靠地重現您的技術演化決策。
"

典型使用案例

框架版本遷移

非常適合記錄從 Angular 14 到 Angular 17、React Class Components 到 Hooks,或 .NET Framework 到 .NET Core 的轉換。自動識別重大變更並產生對應的轉換規則。

技術堆疊演化

當完全取代一項技術時不可或缺:jQuery 到 React、REST 到 GraphQL、SQL 到 NoSQL。建立包含模式對應的完整遷移指南。

架構重構

適用於大型重構,例如單體架構到微服務、MVC 到 Clean Architecture,或 Component 到 Composable 架構。為未來類似的轉換保留架構知識。

設計模式現代化

有助於採用新模式:Repository Pattern、Dependency Injection、Observer 到 Reactive Programming。記錄背後原理和實作差異。

獨特優勢

🧠 人工智慧增強

與傳統遷移文件不同,這些指令「訓練」GitHub Copilot 在未來程式碼修改時自動重現您的技術演化決策。

🔄 知識資本化

將特定專案經驗轉換為可重複使用的規則,避免遷移專業知識的流失,並加速未來類似的轉換。

🎯 情境感知精確度

取代泛用建議,根據您的特定程式碼庫產生指令,並提供專案演化中的真實前後範例。

自動化一致性

確保新增的程式碼自動遵循新慣例,防止架構倒退,維持程式碼演化的連貫性。