Skip to content
Back to skills

Collection

ASecurity

指导用户为 Claude Code 创建系统级 Agent Skills,支持多个业务子 Skill 的模块化设计。当用户想要创建、编写或设计系统级 Skill,或提到"生成 skills-list / 更新技能清单 / generate_skills_list"时使用。脚本 `scripts/generate_skills_list.py` 仅存放于本 skill-writer 目录,其他系统级 Skill 不需要复制;需要更新清单时由 skill-writer 脚本对目标 Skill 目录执行。

  • 24 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 8, 2026
toolspythonshellbashgitci/cd

Works with

  • claude code

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 21 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-db4e68ad/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-db4e68ad)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: skill-writer
description: 指导用户为 Claude Code 创建系统级 Agent Skills,支持多个业务子 Skill 的模块化设计。当用户想要创建、编写或设计系统级 Skill,或提到"生成 skills-list / 更新技能清单 / generate_skills_list"时使用。脚本 `scripts/generate_skills_list.py` 仅存放于本 skill-writer 目录,其他系统级 Skill 不需要复制;需要更新清单时由 skill-writer 脚本对目标 Skill 目录执行。
---

# 系统级 Skill 编写助手

此 Skill 帮助您为 Claude Code 创建结构良好、模块化、可扩展的系统级 Agent Skills,支持多个业务子 Skill 的集成,遵循渐进式披露、关注点分离和可组合性原则。

## 何时使用此 Skill

当您需要进行以下操作时使用此 Skill:
- 创建一个新的系统级 Agent Skill,支持多个业务子 Skill
- 编写或更新系统级 SKILL.md 文件,包括技能清单自动化
- 针对**指定的系统级 Skill** 生成或更新 `skills-list.md`(例如用户说“把这个 Skill 的 skills-list 生成一下/更新一下”)
- 设计系统架构、frontmatter 和子 Skill 结构
- 排除系统级 Skill 发现(discovery)问题的故障
- 将现有的提示词 (prompts) 或复杂工作流转换为模块化的系统级 Skills

## 指南

### 第 1 步:确定系统级 Skill 范围

首先,理解系统级 Skill 应该做什么:

1. **提出澄清性问题**:
   - 这个系统级 Skill 应该提供什么整体能力?(例如,企业级综合管理系统)
   - 它包含哪些业务子 Skill?(例如,finance、hr、it)
   - Claude 应该在什么时候使用这个系统级 Skill,以及如何路由到子 Skill?
   - 它需要什么工具、资源或自动化脚本?
   - 这是供个人使用还是团队共享?

2. **保持专注**:一个系统级 Skill = 一个领域 + 多个可组合子 Skill
   - 好: "企业级综合管理系统"(包含 finance-module、hr-module 等)
   - 太宽泛: "所有业务处理"、"通用工具"

### 第 2 步:选择系统级 Skill 位置

确定在哪里创建系统级 Skill:
**项目 Skills** (`.claude/skills/`):
- 团队工作流和公约
- 项目特定的领域知识
- 共享模块化系统(提交到 git)

### 第 3 步:创建系统级 Skill 结构

创建目录和文件,支持模块化设计:

```bash
# 项目
mkdir -p .claude/skills/system-name
```

对于系统级 Skills(注意:脚本 `generate_skills_list.py` 集中存放在 `skill-writer/scripts/`,其他 Skill 不需要复制):
```
system-name/
├── SKILL.md (必须,系统入口)
├── skills-list.md (必须,技能清单;由 skill-writer 脚本生成)
├── reference.md (可选,详细业务知识)
└── modules/
    ├── sub-skill1/
    │   ├── SKILL.md (必须)
    │   ├── reference.md (可选)
    │   └── examples.md (可选)
    ├── sub-skill2/
    │   ├── SKILL.md (必须)
    │   ├── reference.md (可选)
    │   └── examples.md (可选)
    └── templates/
        └── template.txt (可选)
```

### 第 4 步:编写 SKILL.md frontmatter

创建包含必填字段的 YAML frontmatter:

```yaml
---
name: system-name
description: 简要描述系统功能、包含的子 Skill 以及何时使用它
---
```

**字段要求**:

- **name** (名称):
  - 仅限小写字母、数字、连字符
  - 最多 64 个字符
  - 必须与目录名称匹配
  - 好: `enterprise-system`, `business-automation`
  - 坏: `Enterprise_System`, `Business Tools!`

- **description** (描述):
  - 最多 1024 个字符
  - 包含系统做**什么**、包含的子 Skill 以及**何时**使用
  - 使用用户可能会说的具体触发词
  - 提及路由流程、子模块和上下文

**可选 frontmatter 字段**:

- **allowed-tools**: 限制工具访问(逗号分隔列表)
  ```yaml
  allowed-tools: Read, Grep, Glob, Bash
  ```
  用于:
  - 系统级路由和子 Skill 执行
  - 安全敏感的工作流
  - 范围受限的操作

### 第 5 步:编写有效的描述

描述对于 Claude 发现您的系统级 Skill 至关重要。

**公式**: `[系统做什么] + [何时使用] + [关键触发词] + [子 Skill 概述]`

**示例**:

✅ **好**:
```yaml
description: 企业级综合管理系统,处理财务、HR 和 IT 业务。优先查阅 ./skills-list.md 以路由到子模块,如费用报销或员工入职。当用户提到企业管理、报销或人事时使用。
```

✅ **好**:
```yaml
description: 项目自动化系统,集成代码审查、文档生成和测试模块。当处理项目工作流、代码分析或自动化测试时使用,路由至相应子 Skill。
```

❌ **太模糊**:
```yaml
description: 帮助处理业务
description: 用于系统管理
```

**提示**:
- 包含具体的子模块名称 (finance-module, hr-module)
- 提及常见的用户短语("报销"、"入职"、"查询")
- 列出具体的操作和路由(而不是通用的动词)
- 添加上下文线索("Use when...","Route to...")

### 第 6 步:构建系统级 Skill 内容

使用清晰的 Markdown 章节,支持渐进式披露:

```markdown
# 系统名称

简要概述此系统级 Skill 的功能和子 Skill 集成。

## Quick start (快速开始)

提供一个简单的路由例子以便立即上手。

## Instructions (说明)

给 Claude 的分步指导:
1. 阅读 ./skills-list.md 获取子 Skill 清单
2. 根据用户需求匹配并路由到子 Skill
3. 执行子 Skill 的核心指令
4. 处理边缘情况,如子 Skill 冲突

## Examples (示例)

显示包含路由和子 Skill 执行的具体使用示例。

## Best practices (最佳实践)

- 需遵循的关键公约(如模块化设计)
- 需避免的常见陷阱(如上下文过载)
- 何时使用系统级 vs 子 Skill

## Requirements (要求)

列出任何依赖项或先决条件:
```bash
pip install pyyaml
```

## Advanced usage (高级用法)

对于复杂场景,请参阅 [reference.md](reference.md)。
```

### 第 7 步:添加辅助文件(必须/可选)

为渐进式披露创建额外文件:

**skills-list.md**: 自动化生成的子 Skill 清单(必须)
**reference.md**: 详细的业务知识和高级选项(可选)
**modules/**: 子 Skill 目录,每个包含自己的 SKILL.md(必须),以及 reference.md 和 examples.md(可选)
**templates/**: 文件模板或样板代码(可选)

从 SKILL.md 引用它们:
```markdown
先阅读 [skills-list.md](skills-list.md) 以确定子模块。

运行自动化脚本:
\`\`\`bash
python scripts/generate_skills_list.py
\`\`\`
```

对于子 Skill,从子 SKILL.md 引用辅助文件:
```markdown
有关高级用法,请参阅 [reference.md](reference.md)。

查看示例,请参阅 [examples.md](examples.md)。
```

### 第 8 步:实现技能清单自动化

脚本 [`scripts/generate_skills_list.py`](scripts/generate_skills_list.py) **仅存放在 `skill-writer` 目录**,其他系统级 Skill 不需要复制该脚本。

脚本接受一个可选的命令行参数 `--target`,指定目标系统级 Skill 的根目录(绝对或相对路径)。如果不传,则默认扫描脚本自身所在 Skill(即 `skill-writer`)。

`skills-list.md` 输出为 XML 风格列表,每个子 Skill 一个 `<skill>`:
- `<name>`:子 Skill 的 frontmatter `name`
- `<description>`:子 Skill 的 frontmatter `description`
- `<location>`:固定为 `project`
- `<relativePath>`:相对系统级根目录的子 Skill 目录路径(例如 `modules/echo`)

#### 调用示例

为**指定 Skill** 生成/更新清单(推荐):

```powershell
python "<skill-writer-dir>\scripts\generate_skills_list.py" --target "<path-to-target-skill>"
```

例如:

```powershell
python "D:\Desktop\03 Code\agent-skills\.claude\skills\skill-writer\scripts\generate_skills_list.py" --target "D:\Desktop\03 Code\agent-skills\.claude\skills\test-skill"
```

如果用户要求帮忙生成/更新某 Skill 的清单:
1. **确认目标 Skill 目录名或绝对路径**(例如 `test-skill` 或完整路径)。
2. 在 `.claude/skills/` 下按目录名定位目标:
   - 若能唯一匹配:继续
   - 若不唯一/不清晰:**要求用户提供目标目录的绝对路径**
3. 调用 `skill-writer/scripts/generate_skills_list.py --target <目标路径>`,覆盖更新目标 Skill 的 `skills-list.md`。

集成到 CI/CD 或 pre-commit 钩子以保持更新。

### 第 9 步:验证系统级 Skill

检查这些要求:

✅ **文件结构**:
- [ ] SKILL.md 和 skills-list.md 存在于正确的位置
- [ ] 目录名称与 frontmatter 中的 `name` 匹配
- [ ] 子模块在 modules/ 下,每个有 SKILL.md,并可选有 reference.md 和 examples.md

✅ **YAML frontmatter**:
- [ ] 第 1 行包含开头的 `---`
- [ ] 内容之前包含结尾的 `---`
- [ ] 有效的 YAML(无制表符,缩进正确)
- [ ] `name` 遵循命名规则
- [ ] `description` 具体且少于 1024 个字符

✅ **内容质量**:
- [ ] 路由说明清晰
- [ ] 提供了子 Skill 示例
- [ ] 处理了冲突和边缘情况
- [ ] 自动化脚本工作正常
- [ ] 子 Skill 的辅助文件(如 reference.md、examples.md)正确引用

✅ **测试**:
- [ ] 描述与用户问题匹配
- [ ] 系统在相关查询时激活并路由
- [ ] 子 Skill 正确加载,包括可选文件

### 第 10 步:测试系统级 Skill

1. **重启 Claude Code**(如果正在运行)以加载系统

2. **提出相关问题**以匹配描述:
   ```
   Can you handle expense reimbursement in the enterprise system?
   (你能处理企业系统中的费用报销吗?)
   ```

3. **验证激活**:Claude 应该阅读 skills-list.md 并路由到子 Skill

4. **检查行为**:确认 Claude 正确遵循路由和子 Skill 说明,包括加载可选的 reference.md 或 examples.md 如果需要

### 第 11 步:根据需要进行调试

如果 Claude 没有正确路由或加载子文件:

1. **使描述更具体**:
   - 添加触发词和子模块关键词
   - 包含文件类型和操作

2. **检查文件位置**:
   ```bash
   ls ~/.claude/skills/system-name/SKILL.md
   ls .claude/skills/system-name/SKILL.md
   ```

3. **验证 YAML 和脚本**:
   ```bash
   cat SKILL.md | head -n 10
   python scripts/generate_skills_list.py
   ```

4. **运行调试模式**:
   ```bash
   claude --debug
   ```

## 常见模式

### 路由型系统级 Skill

```yaml
---
name: enterprise-system
description: 企业级综合管理系统。请优先查阅 ./skills-list.md 以确定调用哪个子模块。
allowed-tools: Read, Grep, Glob, Bash
---
```

### 基于脚本的系统级 Skill

```yaml
---
name: automation-hub
description: 项目自动化中心,集成多个子模块。当自动化工作流时使用,路由至子 Skill。
---

# Automation Hub

## Instructions

1. 执行 ./scripts/generate_skills_list.py 更新清单
2. 阅读 ./skills-list.md
3. 路由到匹配子模块
```

### 具有渐进式披露的多模块系统

```yaml
---
name: business-suite
description: 业务套件系统,支持财务、HR 等模块。当处理业务场景时使用。
---

# Business Suite

快速开始:参见 [skills-list.md](skills-list.md)

详细参考:参见 [reference.md](reference.md)

## Instructions

1. 收集需求
2. 匹配子模块(参见 skills-list.md)
3. 执行子 Skill
4. 集成结果
```

## 子 Skill 作者的最佳实践

1. **模块化设计**:每个子 Skill 一个目的,避免系统过载
2. **具体的描述**:包含触发词和路由线索
3. **清晰的路由**:为 Claude 写路由流程,不是为人
4. **自动化维护**:使用脚本保持清单更新
5. **列出依赖项**:在系统和子 Skill 中提及所需的包
6. **与队友一起测试**:验证路由和清晰度
7. **版本化您的系统**:在内容中记录变更
8. **使用渐进式披露**:将细节放在单独的文件中,如 reference.md 和 examples.md

## 验证检查清单

在最终确定系统级 Skill 之前,请验证:

- [ ] 名称仅包含小写字母、连字符,最多 64 个字符
- [ ] 描述具体且少于 1024 个字符
- [ ] 描述包含 "what"(什么)、"when"(何时)和路由
- [ ] YAML frontmatter 有效
- [ ] 路由说明是分步骤的
- [ ] 子 Skill 示例具体且真实
- [ ] 自动化脚本和依赖项已记录
- [ ] 文件路径使用正斜杠
- [ ] 系统在相关查询时激活并路由
- [ ] Claude 正确遵循说明
- [ ] 子 Skill 的可选文件(如 reference.md、examples.md)正确配置和引用

## 故障排除

**系统未激活或未路由**:
- 使用触发词使描述更具体
- 在描述中包含子模块和操作
- 添加带有用户短语的 "Route when..."(当...时路由)子句

**子 Skill 冲突**:
- 使子描述更具区分度
- 使用不同的触发词
- 缩小每个子 Skill 的范围

**维护问题**:
- 检查 YAML 语法(无制表符,缩进正确)
- 验证脚本执行权限
- 确保 CI/CD 集成自动化更新

**可选文件未加载**:
- 确认子 Skill 目录中文件路径正确
- 在子 SKILL.md 中使用相对路径引用(如 [reference.md](reference.md))
- 测试 Claude 是否在需要时加载这些文件

## 示例

查看完整示例的文档:
- 简单的路由系统 (enterprise-system)
- 具有工具权限的系统 (automation-hub)
- 多模块系统 (business-suite),包含子 Skill 的 reference.md 和 examples.md

## 输出格式

当创建系统级 Skill 时,我将:

1. 询问关于范围、子 Skill 和需求的澄清性问题
2. 建议系统名称、位置和架构
3. 创建带有正确 frontmatter 的 SKILL.md 文件
4. 包含自动化脚本和技能清单
5. 添加子 Skill 模块,包括可选的 reference.md 和 examples.md
6. 提供测试和路由说明
7. 根据所有要求进行验证

结果将是一个完整、可工作的系统级 Skill,遵循所有最佳实践、模块化原则和验证规则。

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…