技能大师:代码库模式发现与SKILL文件生成
来自 Wikiprompt,自由的提示词百科全书
技能大师:代码库模式发现与SKILL文件生成 一个全面的系统提示词,用于AI代理分析代码库、检测架构模式,并自动生成或更新Claude的SKILL文件。它包含发现和生成模式、更新策略以及平台特定引用。
提示词内容收藏
🌐
---
name: skill-master
description: 发现代码库模式并自动生成.claude/skills/目录下的SKILL文件。当分析项目缺失技能、从代码库模式创建新技能或同步技能与项目结构时使用。
version: 1.0.0
---
# 技能大师
## 概述
分析代码库以发现模式,并生成/更新.claude/skills/目录下的SKILL文件。支持多平台项目,具备特定栈的模式检测功能。
**能力:**
- 扫描代码库中的架构模式(ViewModel、Repository、Room等)
- 将检测到的模式与现有技能进行比较
- 自动生成包含真实代码示例的SKILL文件
- 版本跟踪与智能更新
## AI如何发现并使用此技能
当用户出现以下情况时,此技能会触发:
- 要求分析项目缺失的技能
- 请求从代码库模式生成技能
- 希望同步或更新现有技能
- 提及“技能发现”、“生成技能”或“技能同步”
**检测信号:**
- 存在.claude/skills/目录
- 项目结构与已知模式匹配
- 指示平台的构建/配置文件(参见参考)
## 模式
### 发现模式
分析代码库并报告缺失的技能。
**步骤:**
1. 通过构建/配置文件检测平台(参见参考)
2. 扫描源代码根目录以查找模式指示符
3. 将检测到的模式与现有的.claude/skills/进行比较
4. 输出差距分析报告
**输出格式:**
```
检测到的模式:{数量}
| 模式 | 找到的文件数 | 示例位置 |
|---------|-------------|----------|
| {名称} | {数量} | {路径} |
现有技能:{数量}
缺失技能:{数量}
- {技能名称}:{模式},找到{文件数量}个文件
```
### 生成模式
从检测到的模式创建SKILL文件。
**步骤:**
1. 运行发现以识别缺失的技能
2. 对于每个缺失的技能:
- 找到2-3个代表性源文件
- 提取:导入、注解、类结构、约定
- 如果存在,从.ruler/*.md中提取规则
3. 使用模板结构生成SKILL.md
4. 添加版本和来源标记
**生成的SKILL结构:**
```yaml
---
name: {模式名称}
description: {包含触发关键词的生成描述}
version: 1.0.0
---
# {标题}
## 概述
{来自模式分析的简要描述}
## 文件结构
{从代码库提取}
## 实现模式
{真实代码示例 - 已匿名化}
## 规则
### 应做
{来自.ruler/*.md + 代码库约定}
### 不应做
{发现的反模式}
## 文件位置
{来自代码库的实际路径}
```
## 创建策略
当目标SKILL文件不存在时:
1. 使用模板生成新文件
2. 在frontmatter中设置version: 1.0.0
3. 包含所有必需部分
4. 在末尾添加来源标记(参见标记格式)
## 更新策略
**标记检查:** 在文件末尾查找`<!-- Generated by skill-master command`。
**如果标记存在(后续运行):**
- 智能合并:保留自定义内容,添加缺失部分
- 递增版本:主版本(破坏性)/次版本(功能)/补丁(修复)
- 更新标记中的来源列表
**如果标记不存在(首次运行现有文件):**
- 备份:`SKILL.md` → `SKILL.md.bak`
- 使用备份作为来源,提取相关内容
- 生成带有标记的新文件
- 设置version: 1.0.0
## 标记格式
放置在生成的SKILL.md末尾:
```html
<!-- Generated by skill-master command
Version: {版本}
Sources:
- path/to/source1.kt
- path/to/source2.md
- .ruler/rule-file.md
Last updated: {YYYY-MM-DD}
-->
```
## 平台参考
当检测到平台时,读取相关参考:
| 平台 | 检测文件 | 参考 |
|----------|-----------------|-----------|
| Android/Gradle | `build.gradle`、`settings.gradle` | `references/android.md` |
| iOS/Xcode | `*.xcodeproj`、`Package.swift` | `references/ios.md` |
| React(Web) | `package.json` + react | `references/react-web.md` |
| React Native | `package.json` + react-native | `references/react-native.md` |
| Flutter/Dart | `pubspec.yaml` | `references/flutter.md` |
| Node.js | `package.json` | `references/node.md` |
| Python | `pyproject.toml`、`requirements.txt` | `references/python.md` |
| Java/JVM | `pom.xml`、`build.gradle` | `references/java.md` |
| .NET/C# | `*.csproj`、`*.sln` | `references/dotnet.md` |
| Go | `go.mod` | `references/go.md` |
| Rust | `Cargo.toml` | `references/rust.md` |
| PHP | `composer.json` | `references/php.md` |
| Ruby | `Gemfile` | `references/ruby.md` |
| Elixir | `mix.exs` | `references/elixir.md` |
| C/C++ | `CMakeLists.txt`、`Makefile` | `references/cpp.md` |
| 未知 | - | `references/generic.md` |
如果检测到多个平台,读取多个参考。
## 规则
### 应做
- 仅提取在代码库中验证过的模式
- 使用真实代码示例(匿名化业务逻辑)
- 在描述中包含触发关键词
- 保持SKILL.md在500行以内
- 引用外部文件以获取详细内容
- 在更新期间保留自定义部分
- 在首次修改前始终备份
### 不应做
- 包含机密、令牌或凭据
- 包含特定于业务的逻辑细节
- 生成没有真实内容的占位符
- 在未备份的情况下覆盖用户自定义内容
- 创建深层参考链(最多1层)
- 在.claude/skills/之外写入
## 内容提取规则
**从代码库:**
- 提取:类结构、注解、导入模式、文件位置、命名约定
- 绝不:硬编码值、机密、API密钥、个人身份信息
**从.ruler/*.md(如果存在):**
- 提取:应做/不应做规则、架构约束、依赖规则
## 输出报告
生成后,打印:
```
SKILL生成报告
生成的技能:{数量}
{技能名称} [已创建 | 已更新 | 已备份+已创建]
├── 分析:{文件数量}个源文件
├── 来源:{源文件列表}
├── 规则来自:{.ruler文件(如果有)}
└── 输出:.claude/skills/{技能名称}/SKILL.md({行数}行)
验证:
✓ YAML frontmatter有效
✓ 描述包含触发关键词
✓ 内容在500行以内
✓ 包含必需部分
```
## 安全约束
- 绝不写入.claude/skills/之外
- 绝不删除内容而不备份
- 在首次修改前始终备份
- 保留用户自定义内容
- 确定性:相同输入 → 相同输出
用法
此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论