skills/create-skill/SKILL.md
当你要创建/新增一个 skill,或重写/更新某个 skill 的 SKILL.md(结构、约定、模板)时使用。
npx skillsauth add dcjanus/prompts create-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
每个 skill 一个目录,目录名与 frontmatter 的 name 完全一致:
name 约束:
a-z、0-9、-- 开头或结尾--推荐结构:
skills/<skill-name>/
SKILL.md
scripts/ # 可选:可执行工具
references/ # 可选:按需阅读的资料
assets/ # 可选:模板/静态文件
---
name: your-skill-name
description: 用一句话说明“做什么 + 何时使用(包含关键词)”。
---
可按需添加其他字段;本仓库不强制要求,但建议保持精简。
description 要求:
正文只保留“让使用者(人或 AI)直接开始执行”的信息。大段背景/资料放到 references/,模板/静态文件放到 assets/。
推荐顺序(按需取舍):
--json 等约定)--help + reference 指针)最小骨架(可复制改名):
---
name: your-skill-name
description: 做什么;何时使用(关键词)。
---
一句话说明。
## Quick start
```bash
cd skills/your-skill-name && ./scripts/your_tool.py --help
```
## 常用场景
- `./scripts/your_tool.py ...`
## 冷门参数怎么查
- `./scripts/your_tool.py --help`
- 需要字段细节时读:见 [api.md](references/api.md)
## 资源
- [tool.py](scripts/tool.py)
如果某个流程需要“确定性执行”或经常重复,优先写成可执行脚本放在 scripts/,并在 SKILL.md 中给出可复制命令。
本仓库对 Python 脚本的约定(SKILL.md 里要写清楚):
./scripts/... 直接执行(不要用 uv run python ... / python ...)SKILL.md 所在目录作为 workdir;示例命令如需 cd,应写清楚(通常 cd skills/<skill-name>)SKILL.md 中引用脚本/资源文件时,优先使用 Markdown URL(链接文本尽量只写文件名)Python 脚本规范要点:
#!/usr/bin/env -S uv run --script)。uv script 约定仅适用于“直接执行的入口脚本”(通常位于 scripts/ 且会通过 ./scripts/... 运行)。被入口脚本 import 的普通 Python 模块不要添加 shebang 或 /// script 元数据块,依赖统一声明在入口脚本头部。uv init --script scripts/foo.py(生成 shebang 与空的 /// script 元数据块)。/// script 元数据块是唯一依赖声明位置。uv add --script ... / uv remove --script ... 完成。format、view、profile、column 等),优先使用 Enum 或 Literal 做类型标注,而不是只靠 help 文案描述可选值;这样 Typer 可以自动在 --help 中展示候选值,提升可读性与可发现性。Literal;需要复用、集中管理或值较多时优先用 Enum。app。typer.run(main),避免 tool.py foo <arg> 这种多一层子命令。uv run ruff check <path>uv run ruff format <path>常用 uv --script 工作流(用于新建/维护脚本依赖):
# 在 skill 目录内新建脚本(会生成 shebang 与 /// script 依赖块)
uv init --script scripts/foo.py
# 给脚本添加依赖(会更新脚本头部 dependencies;不要手工改依赖块)
uv add --script scripts/foo.py typer rich
# 从脚本移除依赖
uv remove --script scripts/foo.py rich
# 赋予可执行权限并运行
chmod +x scripts/foo.py
./scripts/foo.py --help
references/:放“按需阅读”的长资料(协议/API 字段/术语表)。在 SKILL.md 中写清楚“什么时候需要读哪个文件”。assets/:放模板/静态文件。在 SKILL.md 中给出“如何使用该文件”的最短说明。引用规则(建议):
skills/<skill-name>/)SKILL.md 直接指向目标文件,避免多层链式引用示例(Markdown 链接语法):
见 [api.md](references/api.md)
运行 [tool.py](scripts/tool.py)
SKILL.md 正文推荐 < 5000 tokenscd skills/<skill-name>
../../scripts/token_count.py SKILL.md
SKILL.md 的 namename / description,且 description 写清楚 “做什么 + 何时用(关键词)”SKILL.md 有可复制的 Quick start(如依赖工作目录或环境变量,需要在示例中写清楚)./scripts/... 直接执行(不使用 uv run python/python)/// script 里声明(不手改依赖块);模块/函数/类型有简短中文 docstringuv run ruff check ... / uv run ruff format ...)references//assets/ 的引用清晰,且 SKILL.md 能一跳到达目标文件SKILL.md token 数在建议范围内development
为当前 Codex thread 设置名称;仅当用户手动调用或明确要求命名、重命名、整理当前 Codex 会话标题时使用,永远不要自动调用。
testing
编写或更新 GitHub/GitLab Issue、PR、MR 的标题与正文;适用于创建、修改、重写 reviewer-facing 描述、Validation、Risks、Breaking Change、避免本地路径泄露等场景。
tools
使用 GitLab CLI(glab)与 GitLab 资源交互;适用于 project、issue、MR、comment、wiki 等查看、更新或创建场景,含自建实例。
tools
使用 GitHub CLI 与 GitHub 资源交互;适用于 repo、issue、PR、comment、release、workflow 等查看、更新或创建场景。