通用 AI 提示词与技能资产管理器。扫描本地任意目录下的 prompt/skill 文件, 生成交互式 HTML 技能地图,支持 Claude Code、ChatGPT、Cursor、Gemini 等任意平台。 当用户说 "/my-skills"、"列出我的 skill"、"我装了哪些技能"、"帮我整理 prompt 清单"、 "查看我的提示词库"、"show my skills"、"what prompts do I have"、"技能总览"、 "我有哪些 prompt"、"整理我的 AI 工具箱" 时触发。 **不要 undertrigger**——只要用户想盘点自己的 AI 提示词/skill 资产就必须调用本 skill。
Scanned 9/28/2026
Install to Claude Code
npx -y skills add yyy805/my-skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of my-skills?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/yyy805-my-skills)More formats (shields.io, HTML) on the badges page.
---
name: my-skills
description: |
通用 AI 提示词与技能资产管理器。扫描本地任意目录下的 prompt/skill 文件,
生成交互式 HTML 技能地图,支持 Claude Code、ChatGPT、Cursor、Gemini 等任意平台。
当用户说 "/my-skills"、"列出我的 skill"、"我装了哪些技能"、"帮我整理 prompt 清单"、
"查看我的提示词库"、"show my skills"、"what prompts do I have"、"技能总览"、
"我有哪些 prompt"、"整理我的 AI 工具箱" 时触发。
**不要 undertrigger**——只要用户想盘点自己的 AI 提示词/skill 资产就必须调用本 skill。
user-invocable: true
---
# My Skills — 通用 AI 提示词资产全景图
扫描本地多个来源的 prompt/skill 文件,提取元数据,渲染为统一的交互式 HTML 技能地图。
适用于任何 AI 平台用户:Claude Code、ChatGPT、Cursor、Gemini、本地 prompt 库等。
## 核心设计原则
**平台无关性**:不假设用户只使用 Claude Code。任何 `.md`、`.txt`、`.yaml`、`.json` 文件
都可能是一个 prompt 资产,只要它包含有意义的文本内容。
**渐进增强**:优先从结构化 frontmatter 提取元数据;若无 frontmatter,则从文件名和正文推断;
若推断失败,仍保留文件并标注"未分类"。
## Step 1: 确定扫描目录
**优先检测用户传入的参数**,格式为:
- `/my-skills` — 使用默认目录列表
- `/my-skills --dirs "D:/prompts, C:/Users/me/cursor-rules"` — 仅扫描指定目录
- `/my-skills --add "D:/my-chatgpt-prompts"` — 在默认目录基础上额外添加
**默认扫描目录**(按平台分组,跳过不存在的路径):
| 平台 | 路径 |
|------|------|
| Claude Code 插件 | `~/.claude/plugins/cache/**/SKILL.md` |
| Claude Code 自定义 | `~/.claude/skills/**/*.md` |
| Cursor Rules | `~/.cursor/rules/**/*.md`,`.cursor/rules/` (当前项目) |
| 通用 prompt 库 | `~/prompts/**/*.{md,txt}`,`~/Documents/prompts/**/*.{md,txt}` |
| 当前项目 | `./.claude/**/*.md`,`./prompts/**/*.{md,txt}` |
若上述所有路径均不存在,提示用户通过 `--dirs` 指定自己的 prompt 目录,然后退出。
## Step 2: 扫描与去重
使用 Glob 工具递归搜索所有目标路径,收集文件列表后:
1. **按路径长度升序排列**(更短 = 更规范的位置)
2. **以 `name` 字段为主键去重**:若两个文件解析出相同 name,保留路径更短的一个
3. **跳过纯 reference/asset 文件**:路径中含 `/references/`、`/assets/`、`/agents/` 的非 SKILL.md 文件予以排除
## Step 3: 提取元数据
对每个文件,按优先级依次尝试:
### 3a. YAML frontmatter(SKILL.md、带 frontmatter 的 .md)
```yaml
---
name: my-tool # → 资产名称
description: "做X的工具" # → 描述
platform: claude # → 来源平台(可选)
tags: [写作, 效率] # → 自定义标签(可选)
---
```
### 3b. 文件头部注释(.txt、无 frontmatter 的 .md)
检测以下模式(任意一个命中即可):
```
# 提示词名称 → name
> 描述:做X的工具 → description
<!-- platform: chatgpt --> → platform
```
### 3c. 兜底推断
- `name`:取文件名去掉扩展名,kebab-case 转空格
- `description`:取正文去掉 Markdown 标记后的前 100 个字符
- `platform`:根据文件路径推断(含 `.claude` → Claude,含 `cursor` → Cursor,其余 → 通用)
- `trigger`:若 name 以字母开头则构造 `/{name}`,否则留空
## Step 4: 分类
根据 name、description、tags、platform 关键词归类:
| 类别 | 匹配关键词 |
|------|-----------|
| 📝 写作 | write, writing, eos, style, doc, pdf, ppt, docx, markdown, essay, blog, email |
| 🔬 研究 | research, fact, citation, bibliography, survey, analysis, report, academic |
| 💡 创意 | scamper, sixhats, design, creative, brainstorm, idea, innovation |
| 📚 学习 | learn, feynman, socratic, study, explain, teach, tutor |
| 🚀 项目 | repo, setup, code, dev, qa, test, product, deploy, benchmark, cursor, engineer |
| 🛠️ 工具 | skill, tool, utility, optimizer, converter, generator, builder, helper |
| 🧠 思维框架 | cynefin, ooda, swot, redteam, premortem, postmortem, retro, wardley, whys, matrix, eisenhower, rice, wrap, decision |
| 🤖 平台配置 | system prompt, custom instruction, gpt, gemini, claude, cursor rule, gem |
未匹配任何类别的归入「其他」。
## Step 4.5: 重叠度分析(在渲染前完成,结果嵌入 widget)
对已分类的 skill 列表做两轮比较,找出功能重叠的候选对:
**第一轮:同类聚合**
同一类别(如都是 🧠 思维框架)且描述中有共同核心动词/名词的,标记为"候选重叠对"。
**第二轮:跨类关键词匹配**
提取每个 skill 描述中的功能关键词(去掉介词/助词),若两个 skill 共享 ≥3 个关键词,即使类别不同也标记为候选。
**重叠等级划分:**
| 等级 | 判定标准 | 标记颜色 |
|------|---------|---------|
| 🔴 高度重叠 | 同类 + 共享 ≥4 关键词,或描述语义几乎一致 | 红色 |
| 🟡 部分重叠 | 同类 + 共享 2-3 关键词,或功能有明显交集 | 黄色 |
| 🟢 低度重叠 | 仅同类但功能侧重不同 | 绿色(不展示,忽略) |
对每个重叠对,生成一条记录:
```
{
skill_a: "名称A",
skill_b: "名称B",
level: "高度重叠" | "部分重叠",
reason: "两者都提供XX功能,区别在于YY",
suggestion: "建议保留A(因为ZZ),考虑删除B"
}
```
## Step 5: 渲染交互式 HTML
收集完所有数据后,直接在对话中输出完整 HTML(使用 show_widget 工具渲染,若不可用则输出 Markdown 降级版本)。
**Tab 切换栏(新增重叠检测 Tab):**
全部 | 📝写作 | 🔬研究 | 💡创意 | 📚学习 | 🚀项目 | 🛠️工具 | 🧠思维框架 | 🤖平台配置 | 其他 | **🔄 重叠检测**
**主技能地图 Tab(原有功能不变):**
1. **顶部统计栏**:总资产数 + 来源平台数量
2. **搜索框**:实时过滤(名称、描述、平台关键词)
3. **平台筛选徽章**:Claude / Cursor / ChatGPT / Gemini / 通用(多选)
4. **卡片网格**:每个资产一张卡片(名称、触发命令、一句话描述、平台来源、类别标签)
5. **卡片交互**:点击复制触发命令;被标记删除的卡片显示半透明红色遮罩
**🔄 重叠检测 Tab(新功能):**
布局:重叠对列表,每对一张"冲突卡片",内容:
```
┌─────────────────────────────────────────┐
│ 🔴 高度重叠 │
│ │
│ [skill A 名称] ⟷ [skill B 名称] │
│ /触发A /触发B │
│ │
│ 重叠原因:两者都用于XX场景,功能高度相似 │
│ 建议:保留 A(描述更精准),删除 B │
│ │
│ [ 标记删除 A ] [ 标记删除 B ] [ 忽略 ] │
└─────────────────────────────────────────┘
```
**"标记删除"交互逻辑:**
- 点击"标记删除 X"→ 该 skill 在全部 Tab 的卡片上出现红色 🗑️ 遮罩,同时底部出现"待删除清单"悬浮条
- "待删除清单"悬浮条:显示"已标记 N 个待删除:[名称列表]"+ "复制删除命令" 按钮
- 点击"复制删除命令"→ 复制对应的删除指令到剪贴板,格式:`rm -rf ~/.claude/skills/[name]`(或对应平台的删除命令)
- 点击"忽略"→ 该重叠对从列表移除,不影响其他对
- 若无重叠对被检测到,显示"✅ 未发现明显功能重叠,技能库结构清晰"
**底部悬浮删除清单(跨 Tab 可见):**
```
🗑️ 待删除:red-pen · deep-research-v1 [取消全部] [复制删除命令]
```
## Step 6: 辅助 Markdown 表格
HTML 渲染后,额外输出 Markdown 表格便于复制留存:
```
| 平台 | 类别 | 名称 | 触发/路径 | 描述 |
|------|------|------|----------|------|
| Claude | 🔬 研究 | deep-research | /deep-research | 生成格式化研究报告... |
| Cursor | 🚀 项目 | react-component | .cursor/rules/react.md | 生成 React 组件规范... |
```
## 注意事项
- 同名资产只保留一个(路径最短优先)
- 无法读取的文件静默跳过
- 若某平台目录为空,在统计栏注明"未检测到 [平台] 资产",不报错
- 全流程无需用户提供额外参数,`--dirs` 和 `--add` 为可选增强
- Claude Code 以外的平台文件只展示,不能直接"触发"——卡片显示文件路径而非 `/命令`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!