commit 608ff45349139c97dd38e00ff69bd3557dcea043 Author: song_kang_shuai Date: Mon May 11 12:24:43 2026 +0800 feat(skills): 添加 skills-helper Skill diff --git a/skills-helper/SKILL.md b/skills-helper/SKILL.md new file mode 100644 index 0000000..3d4e76e --- /dev/null +++ b/skills-helper/SKILL.md @@ -0,0 +1,177 @@ +--- +name: skills-helper +description: Skills 管理助手 — 创建、查看、更新项目级或全局 Skills,自动处理 git 提交与同步。 +--- + +# Skills 管理助手 + +## 功能概述 + +本 Skill 提供 Skills 的完整管理能力,帮助用户高效创建和管理个人级(全局)或项目级 Skills,并自动处理相关的 git 版本控制操作。 + +--- + +## 一、Skills 基础概念 + +### 两种级别 + +| 级别 | 路径 | 可见范围 | 适用场景 | +|------|------|----------|----------| +| **全局 (Global)** | `~/.qwen/skills/` | 所有项目均可用 | 个人工作流、效率工具、在开发的 Skill | +| **项目级 (Project)** | `.qwen/skills/` | 仅当前项目 | 团队工作流规范、共享实用工具 | + +### Skill 目录结构 + +``` +my-skill/ +├── SKILL.md # 必须:Skill 定义文件 +├── reference.md # 可选:参考文档 +├── examples.md # 可选:使用示例 +├── scripts/ # 可选:辅助脚本 +│ └── helper.py +└── templates/ # 可选:模板文件 + └── template.txt +``` + +### SKILL.md 格式 + +```yaml +--- +name: skill-name +description: 简短描述:说明这个 Skill 做什么、何时使用 +--- + +# Skill Name + +## Instructions +提供清晰的操作指导步骤。 + +## Examples +展示具体使用示例。 +``` + +**字段要求**: +- `name`:非空字符串,支持 Unicode 字母、数字及 `_` `:` `.` `-`,禁止空格、斜杠、括号 +- `description`:非空,需具体明确,避免模糊描述 + +### 可选:按路径限制 Skill(paths) + +```yaml +--- +name: tsx-helper +description: React TSX 组件辅助工具 +paths: + - 'src/**/*.tsx' + - 'packages/*/src/**/*.tsx' +--- +``` + +--- + +## 二、添加新 Skill + +### 规则 + +1. **级别询问**:当用户请求添加 Skill 但未明确指定级别时,**必须先询问用户**: + - "这是项目级 Skill(仅在当前项目可用,可提交 git)还是全局 Skill(所有项目可用)?" + +2. **按需创建目录结构**:根据 Skill 需求创建可选的辅助目录。 + +### 执行流程 + +#### 项目级 Skill + +```bash +mkdir -p .qwen/skills/ +# 创建 SKILL.md 及相关文件 +git add .qwen/skills/ +``` + +#### 全局 Skill + +```bash +mkdir -p ~/.qwen/skills/ +# 创建 SKILL.md 及相关文件 +``` + +### 全局 Skill 的 Git 同步 + +全局 Skills 存放在 `~/.qwen/skills/` 目录,通常已初始化为独立的 git 仓库。添加完成后,**必须**执行: + +```bash +cd ~/.qwen/skills +git add / +git commit -m "feat(skills): 添加 Skill" +git push +``` + +--- + +## 三、查看 Skills + +### 查看所有可用 Skills + +```bash +ls ~/.qwen/skills/ # 全局 Skills +ls .qwen/skills/ # 项目 Skills(如果存在) +``` + +### 查看 Skill 内容 + +```bash +cat ~/.qwen/skills//SKILL.md +cat .qwen/skills//SKILL.md +``` + +--- + +## 四、更新全局 Skills(同步远程) + +### 指令说明 + +提供指令 `/update-global-skills` 用于更新全局 Skills 目录,会在 `~/.qwen/skills/` 目录下执行 git pull。 + +### 执行流程 + +```bash +cd ~/.qwen/skills +git pull +``` + +--- + +## 五、更新和删除 Skills + +### 更新 Skill + +直接编辑 `~/.qwen/skills//SKILL.md` 或 `.qwen/skills//SKILL.md`,修改后重启 Qwen Code 生效。 + +### 删除 Skill + +```bash +# 全局 +rm -rf ~/.qwen/skills/ + +# 项目级 +rm -rf .qwen/skills/ +git commit -m "chore: 移除未使用的 Skill" +``` + +--- + +## 六、最佳实践 + +1. **保持 Skill 专注**:一个 Skill 只解决一项能力,如"PDF 表单填写"而非笼统的"文档处理" +2. **编写清晰的 description**:包含触发词和具体使用场景 +3. **描述要具体明确**: + - ❌ 模糊:`description: Helps with documents` + - ✅ 明确:`description: 从 PDF 提取文本和表格、填写表单、合并文档` +4. **与团队测试**:验证激活时机、指令清晰度、示例完整性 + +--- + +## 七、调试提示 + +1. 检查路径是否正确:`~/.qwen/skills/` vs `.qwen/skills/` +2. 确认 YAML 语法正确:首行 `---`,结束行 `---`,不使用制表符 +3. 全局 Skill 同步失败时,检查 git 状态:`cd ~/.qwen/skills && git status`