SKILL.md
readonly只读
name
generate-custom-instructions-from-codebase
description
迁移与代码演进指令生成器,适用于 GitHub Copilot。分析两个项目版本(分支、提交或发布版本)之间的差异,生成精确指令,使 Copilot 在技术迁移、重大重构或框架版本升级期间保持一致性。
迁移与代码演进指令生成器
配置变量
${MIGRATION_TYPE="框架版本|架构重构|技术迁移|依赖更新|模式变更"}
<!-- 迁移或演进的类型 -->
${SOURCE_REFERENCE="branch|commit|tag"}
<!-- 源参考点(变更前状态) -->
${TARGET_REFERENCE="branch|commit|tag"}
<!-- 目标参考点(变更后状态) -->
${ANALYSIS_SCOPE="整个项目|特定文件夹|仅修改的文件"}
<!-- 分析范围 -->
${CHANGE_FOCUS="破坏性变更|新约定|过时模式|API变更|配置"}
<!-- 变更的主要方面 -->
${AUTOMATION_LEVEL="保守|平衡|激进"}
<!-- Copilot 建议的自动化程度 -->
${GENERATE_EXAMPLES="true|false"}
<!-- 是否包含转换示例 -->
${VALIDATION_REQUIRED="true|false"}
<!-- 是否需要在应用前进行验证 -->
生成的提示词
"分析两个项目状态之间的代码演进,为 GitHub Copilot 生成精确的迁移指令。这些指令将指导 Copilot 在未来的修改中自动应用相同的转换模式。请遵循以下方法:
### 阶段一:对比状态分析
#### 结构变更检测
- 比较 ${SOURCE_REFERENCE} 和 ${TARGET_REFERENCE} 之间的文件夹结构
- 识别移动、重命名或删除的文件
- 分析配置文件中的变更
- 记录新增和移除的依赖
#### 代码转换分析
${MIGRATION_TYPE == "框架版本" ?
"- 识别框架版本之间的 API 变更
- 分析正在使用的新特性
- 记录废弃的方法/属性
- 注意语法或约定的变更" : ""}
${MIGRATION_TYPE == "架构重构" ?
"- 分析架构模式变更
- 识别引入的新抽象
- 记录职责重组
- 注意数据流的变化" : ""}
${MIGRATION_TYPE == "技术迁移" ?
"- 分析一种技术被另一种技术替代的情况
- 识别功能等价性
- 记录 API 和语法变更
- 注意新的依赖和配置" : ""}
#### 转换模式提取
- 识别重复应用的转换
- 分析从旧格式到新格式的转换规则
- 记录异常和特殊情况
- 创建前后对应矩阵
### 阶段二:迁移指令生成
创建一个 `.github/copilot-migration-instructions.md` 文件,结构如下:
\`\`\`markdown
# GitHub Copilot 迁移指令
## 迁移上下文
- **类型**: ${MIGRATION_TYPE}
- **从**: ${SOURCE_REFERENCE}
- **到**: ${TARGET_REFERENCE}
- **日期**: [GENERATION_DATE]
- **范围**: ${ANALYSIS_SCOPE}
## 自动转换规则
### 1. 强制转换
${AUTOMATION_LEVEL != "保守" ?
"[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变更" || MIGRATION_TYPE == "框架版本" ?
"[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 == "激进" ?
"- 优化规则以最大化自动化
- 减少检测中的误报
- 提高转换准确性
- 记录经验教训" : ""}
### 最终结果
使 GitHub Copilot 能够执行以下操作的迁移指令:
1. **自动应用** 未来修改中的相同转换
2. **保持一致性** 与新采用的约定一致
3. **避免过时模式** 通过自动建议替代方案
4. **加速未来迁移** 利用积累的经验
5. **减少错误** 通过自动化重复转换
这些指令将 Copilot 转变为智能迁移助手,能够一致且可靠地重现您的技术演进决策。
"
典型用例
框架版本迁移
适用于记录从 Angular 14 到 Angular 17、React 类组件到 Hooks、或 .NET Framework 到 .NET Core 的过渡。自动识别破坏性变更并生成相应的转换规则。
技术栈演进
在完全替换技术时必不可少:jQuery 到 React、REST 到 GraphQL、SQL 到 NoSQL。创建包含模式映射的全面迁移指南。
架构重构
适用于大型重构,如单体到微服务、MVC 到整洁架构、或组件到可组合架构。为未来类似的转换保留架构知识。
设计模式现代化
用于采用新模式:仓储模式、依赖注入、观察者到响应式编程。记录原理和实现差异。
独特优势
🧠 人工智能增强
与传统的迁移文档不同,这些指令“训练” GitHub Copilot 在未来的代码修改中自动重现您的技术演进决策。
🔄 知识资本化
将特定的项目经验转化为可重用的规则,避免迁移专业知识的流失,加速未来类似的转换。
🎯 上下文感知的精确性
不是泛泛的建议,而是生成针对您特定代码库的指令,包含来自项目演进的实际前后示例。
⚡ 自动化一致性
确保新添加的代码自动遵循新约定,防止架构退化,保持代码演进的连贯性。






