Initial commit: add all skills
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
179
cli-docs-skills/cli-docs/SKILL.md
Normal file
179
cli-docs-skills/cli-docs/SKILL.md
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
name: cli-docs
|
||||
description: |
|
||||
将任意 CLI 工具的所有子命令自动整理成一份结构化中文 **Markdown 文档文件**(.md),
|
||||
包含目录、命令总览表格、每条命令的中文详解和示例,适合存档、分享或离线阅读。
|
||||
|
||||
**触发条件(需同时满足)**:
|
||||
- 用户明确提到"markdown"、"文档"、"guide"、"指南"、"整理文档"、"生成文档"、"总结文档"等词语
|
||||
- 用户的最终目的是得到一个 **文件**(.md),而非一个可执行脚本
|
||||
|
||||
典型触发示例:
|
||||
- "帮我把 git CLI 整理成 markdown"
|
||||
- "生成 docker 的中文命令文档"
|
||||
- "把 kubectl 的命令总结成一份 guide"
|
||||
- "summarize X cli to markdown"
|
||||
- "把 npm 命令整理成文档文件"
|
||||
|
||||
**不触发本 skill 的情况**(交给 command-help-zh-skill 处理):
|
||||
- 用户只想在终端里看中文帮助(无需保存文件)
|
||||
- 用户想要一个可执行的 bash 脚本 / help 脚本
|
||||
- 用户想翻译单条命令的 --help 输出
|
||||
- 用户说"帮我写一个 X 的中文 help 脚本"
|
||||
---
|
||||
|
||||
# CLI Docs Skill
|
||||
|
||||
将命令行工具的帮助信息自动整理成一份中文 Markdown 指南,包含版本号、目录、命令总数统计以及每个命令的中文说明。
|
||||
|
||||
---
|
||||
|
||||
## 第一步:确定工具名称
|
||||
|
||||
从用户的请求中提取目标工具名(例如 `git`、`docker`、`kubectl`、`npm`)。如果不确定,先询问用户。
|
||||
|
||||
---
|
||||
|
||||
## 第二步:获取版本信息
|
||||
|
||||
按顺序尝试以下命令,取第一个成功的结果:
|
||||
|
||||
```
|
||||
<tool> --version
|
||||
<tool> -v
|
||||
<tool> version
|
||||
<tool> -version
|
||||
```
|
||||
|
||||
从输出中提取版本号和版本名称(如有,例如 `Docker version 24.0.5, build ced0996`)。如果所有命令都失败,记录"版本信息获取失败"。
|
||||
|
||||
---
|
||||
|
||||
## 第三步:获取顶级命令列表
|
||||
|
||||
按顺序尝试以下命令:
|
||||
|
||||
```
|
||||
<tool> --help
|
||||
<tool> -h
|
||||
<tool> help
|
||||
<tool> -help
|
||||
```
|
||||
|
||||
从输出中解析出所有顶级命令(subcommands)。注意:
|
||||
- 有些工具把命令分组展示(如 `Management Commands` / `Commands`),需要合并所有组
|
||||
- 有些工具的命令用缩进或列表格式呈现,注意识别命令名和其简短描述
|
||||
- 全局选项(flags,如 `--verbose`、`-h`)不算命令,不要列入
|
||||
|
||||
---
|
||||
|
||||
## 第四步:获取每个子命令的详细帮助
|
||||
|
||||
对每个顶级命令,运行:
|
||||
|
||||
```
|
||||
<tool> <subcommand> --help
|
||||
```
|
||||
|
||||
如果失败,尝试:
|
||||
|
||||
```
|
||||
<tool> help <subcommand>
|
||||
<tool> <subcommand> -h
|
||||
```
|
||||
|
||||
收集每个命令的:
|
||||
- 功能说明(一到两句话)
|
||||
- 用法(usage)
|
||||
- 重要参数/选项(不需要列出全部,选最常用的)
|
||||
- 如果该命令本身还有子命令,也递归列出(最多两层深度)
|
||||
|
||||
**子命令数量控制**:如果工具命令非常多(超过 30 个),先列出最核心的命令,并在文档末尾注明"仅列出核心命令,完整列表请运行 `<tool> --help`"。
|
||||
|
||||
---
|
||||
|
||||
## 第五步:生成 Markdown 文档
|
||||
|
||||
### 文档结构模板
|
||||
|
||||
```markdown
|
||||
# <工具名> 命令行指南
|
||||
|
||||
> **版本**:<版本号>(<版本名称,如有>)
|
||||
> **生成时间**:<当前日期>
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
- [简介](#简介)
|
||||
- [命令总览](#命令总览)
|
||||
- [命令详解](#命令详解)
|
||||
- [command1](#command1)
|
||||
- [command2](#command2)
|
||||
...
|
||||
|
||||
---
|
||||
|
||||
## 简介
|
||||
|
||||
<用 2-3 句话中文介绍该工具是什么、主要用途是什么。从 --help 输出的描述中提炼,结合你对该工具的了解。>
|
||||
|
||||
---
|
||||
|
||||
## 命令总览
|
||||
|
||||
共 **N** 个顶级命令,**M** 个子命令(含二级命令)。
|
||||
|
||||
| 命令 | 简介 |
|
||||
|------|------|
|
||||
| `command1` | 一句话中文描述 |
|
||||
| `command2` | 一句话中文描述 |
|
||||
...
|
||||
|
||||
---
|
||||
|
||||
## 命令详解
|
||||
|
||||
### command1
|
||||
|
||||
**功能**:<中文说明,2-4 句,解释这个命令做什么、适合什么场景>
|
||||
|
||||
**用法**:
|
||||
```
|
||||
<tool> command1 [选项] [参数]
|
||||
```
|
||||
|
||||
**常用选项**:
|
||||
|
||||
| 选项 | 说明 |
|
||||
|------|------|
|
||||
| `--flag1` | 说明 |
|
||||
| `--flag2` | 说明 |
|
||||
|
||||
**示例**:
|
||||
```bash
|
||||
<tool> command1 --flag example
|
||||
```
|
||||
|
||||
---
|
||||
(每个命令重复上面的格式)
|
||||
```
|
||||
|
||||
### 写作要求
|
||||
|
||||
- **全部用中文**:命令说明、功能介绍、选项描述都用中文。命令名称、选项名称本身保持英文原样。
|
||||
- **忠实原文**:中文描述要忠实于 `--help` 输出的含义,不要过度发挥或编造。
|
||||
- **通俗易懂**:把技术文档翻译成普通用户能理解的语言,必要时加一句使用场景。
|
||||
- **格式整洁**:表格对齐,代码块用正确语言标记(shell/bash)。
|
||||
|
||||
---
|
||||
|
||||
## 第六步:输出文件
|
||||
|
||||
将生成的 Markdown 内容写入文件 `<tool>-guide.md`,保存在**用户当前工作目录**(即 Claude Code 运行的目录)。
|
||||
|
||||
完成后告知用户:
|
||||
- 文件保存路径(完整路径)
|
||||
- 共整理了多少个顶级命令、多少个子命令
|
||||
- 如有获取失败的命令,列出说明
|
||||
50
cli-docs-skills/cli-docs/evals/evals.json
Normal file
50
cli-docs-skills/cli-docs/evals/evals.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"skill_name": "cli-docs",
|
||||
"evals": [
|
||||
{
|
||||
"id": 1,
|
||||
"prompt": "帮我把 git 命令行工具总结成 markdown 文档指南,需要有目录,显示版本号,列出所有命令和子命令,每个命令写中文介绍",
|
||||
"expected_output": "生成 git-guide.md 文件,包含:版本信息、目录(TOC)、命令总数统计、每个 git 命令(如 commit/push/pull/clone 等)的中文说明和用法示例",
|
||||
"files": [],
|
||||
"assertions": [
|
||||
{"text": "guide_file_exists: git-guide.md 文件已生成"},
|
||||
{"text": "has_version_info: 文件包含 git 版本号(如 2.x.x 格式字符串)"},
|
||||
{"text": "has_toc: 文件包含目录区块(## 目录 或 TOC 链接列表)"},
|
||||
{"text": "has_command_count: 文件包含命令数量统计(如 '共 N 个命令')"},
|
||||
{"text": "has_code_blocks: 文件包含 markdown 代码块(```)"},
|
||||
{"text": "has_chinese_content: 文件包含中文字符说明"},
|
||||
{"text": "is_substantial: 文件内容超过 3000 字符"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"prompt": "帮我把 curl 命令行工具整理成 markdown 文档,要有目录和版本号,每个命令或选项配中文说明",
|
||||
"expected_output": "生成 curl-guide.md 文件,包含:版本信息、目录、常用选项的中文说明(如 -X、-H、-d、-o 等),以及使用示例",
|
||||
"files": [],
|
||||
"assertions": [
|
||||
{"text": "guide_file_exists: curl-guide.md 文件已生成"},
|
||||
{"text": "has_version_info: 文件包含 curl 版本号"},
|
||||
{"text": "has_toc: 文件包含目录区块"},
|
||||
{"text": "has_command_count: 文件包含选项/命令数量统计"},
|
||||
{"text": "has_code_blocks: 文件包含 markdown 代码块(```)"},
|
||||
{"text": "has_chinese_content: 文件包含中文字符说明"},
|
||||
{"text": "is_substantial: 文件内容超过 3000 字符"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"prompt": "npm 有哪些命令?帮我整理成一个 markdown 文档,中文说明,要有版本号和目录",
|
||||
"expected_output": "生成 npm-guide.md 文件,包含:npm 版本号、目录、npm 的顶级命令(如 install/run/publish/init 等)的中文介绍、参数说明和用法示例",
|
||||
"files": [],
|
||||
"assertions": [
|
||||
{"text": "guide_file_exists: npm-guide.md 文件已生成"},
|
||||
{"text": "has_version_info: 文件包含 npm 版本号"},
|
||||
{"text": "has_toc: 文件包含目录区块"},
|
||||
{"text": "has_command_count: 文件包含命令数量统计"},
|
||||
{"text": "has_code_blocks: 文件包含 markdown 代码块(```)"},
|
||||
{"text": "has_chinese_content: 文件包含中文字符说明"},
|
||||
{"text": "is_substantial: 文件内容超过 3000 字符"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user