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 在未來程式碼修改時自動重現您的技術演化決策。
🔄 知識資本化
將特定專案經驗轉換為可重複使用的規則,避免遷移專業知識的流失,並加速未來類似的轉換。
🎯 情境感知精確度
取代泛用建議,根據您的特定程式碼庫產生指令,並提供專案演化中的真實前後範例。
⚡ 自動化一致性
確保新增的程式碼自動遵循新慣例,防止架構倒退,維持程式碼演化的連貫性。






