plugins/plugin-dev/skills/command-development/SKILL.md
当用户要求 "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", 或需要关于斜杠命令结构, YAML frontmatter 字段, 动态参数, 命令中的 bash 执行, 用户交互模式或 Claude Code 命令开发最佳实践的指导时应使用此技能.
npx skillsauth add phpmac/skills command-developmentInstall 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.
斜杠命令是定义为 Markdown 文件的常用提示, Claude 在交互会话期间执行它们. 理解命令结构, frontmatter 选项和动态功能可以创建强大的, 可重用的工作流.
关键概念:
斜杠命令是一个 Markdown 文件, 包含 Claude 在调用时执行的提示. 命令提供:
命令是为 agent 消费编写的, 不是为人类消费编写的.
当用户调用 /command-name 时, 命令内容成为 Claude 的指令. 将命令作为关于做什么的指令写 给 Claude, 而不是作为给用户的消息.
正确方法 (给 Claude 的指令):
审查此代码的安全漏洞, 包括:
- SQL 注入
- XSS 攻击
- 认证问题
提供具体的行号和严重程度评级.
错误方法 (给用户的消息):
此命令将审查您的代码安全问题.
您将收到包含漏洞详细信息的报告.
第一个示例告诉 Claude 做什么. 第二个告诉用户将发生什么但没有指示 Claude. 始终使用第一种方法.
项目命令 (与团队共享):
.claude/commands//help 中显示为 "(project)"个人命令 (随处可用):
~/.claude/commands//help 中显示为 "(user)"插件命令 (与插件捆绑):
plugin-name/commands//help 中显示为 "(plugin-name)"命令是带有 .md 扩展名的 Markdown 文件:
.claude/commands/
├── review.md # /review 命令
├── test.md # /test 命令
└── deploy.md # /deploy 命令
简单命令:
审查此代码的安全漏洞, 包括:
- SQL 注入
- XSS 攻击
- 认证绕过
- 不安全的数据处理
基本命令不需要 frontmatter.
使用 YAML frontmatter 添加配置:
---
description: 审查代码安全问题
allowed-tools: Read, Grep, Bash(git:*)
model: sonnet
---
审查此代码的安全漏洞...
目的: 在 /help 中显示的简要描述
类型: 字符串
默认: 命令提示的第一行
---
description: 审查 PR 的代码质量
---
最佳实践: 清晰, 可操作的描述 (60 字符以内)
目的: 指定命令可以使用的工具 类型: 字符串或数组 默认: 从对话继承
---
allowed-tools: Read, Write, Edit, Bash(git:*)
---
模式:
Read, Write, Edit - 特定工具Bash(git:*) - 仅限 git 命令的 Bash* - 所有工具 (很少需要)使用场景: 命令需要特定工具访问时
目的: 指定命令执行的模型 类型: 字符串 (sonnet, opus, haiku) 默认: 从对话继承
---
model: haiku
---
用例:
haiku - 快速, 简单命令sonnet - 标准工作流opus - 复杂分析目的: 为自动完成记录预期参数 类型: 字符串 默认: 无
---
argument-hint: [pr-number] [priority] [assignee]
---
优点:
将所有参数捕获为单个字符串:
---
description: 按编号修复问题
argument-hint: [issue-number]
---
按照我们的编码标准和最佳实践修复问题 #$ARGUMENTS.
用法:
> /fix-issue 123
> /fix-issue 456
展开为:
按照我们的编码标准和最佳实践修复问题 #123...
按照我们的编码标准和最佳实践修复问题 #456...
使用 $1, $2, $3 等捕获单个参数:
---
description: 用优先级和负责人审查 PR
argument-hint: [pr-number] [priority] [assignee]
---
审查拉取请求 #$1, 优先级为 $2.
审查后, 分配给 $3 进行跟进.
用法:
> /review-pr 123 high alice
展开为:
审查拉取请求 #123, 优先级为 high.
审查后, 分配给 alice 进行跟进.
在命令中包含文件内容:
---
description: 审查特定文件
argument-hint: [file-path]
---
审查 @$1 的:
- 代码质量
- 最佳实践
- 潜在 bug
用法:
> /review-file src/api/users.ts
效果: Claude 在处理命令前读取 src/api/users.ts
引用多个文件:
比较 @src/old-version.js 与 @src/new-version.js
识别:
- 破坏性更改
- 新功能
- Bug 修复
命令可以内联执行 bash 命令, 在 Claude 处理命令前动态收集上下文. 这对于包含仓库状态, 环境信息或项目特定上下文很有用.
何时使用:
语法:
当前分支: !`git branch --show-current`
待处理更改: !`git status --short`
小命令集的简单组织:
.claude/commands/
├── build.md
├── test.md
├── deploy.md
├── review.md
└── docs.md
使用场景: 5-15 个命令, 无明确类别
在子目录中组织命令:
.claude/commands/
├── ci/
│ ├── build.md # /build (project:ci)
│ ├── test.md # /test (project:ci)
│ └── lint.md # /lint (project:ci)
├── git/
│ ├── commit.md # /commit (project:git)
│ └── pr.md # /pr (project:git)
└── docs/
├── generate.md # /generate (project:docs)
└── publish.md # /publish (project:docs)
优点:
/help 中显示使用场景: 15+ 个命令, 明确类别
/help 中自解释allowed-toolsargument-hintBash(git:*) 而不是 Bash(*)---
description: 审查代码更改
allowed-tools: Read, Bash(git:*)
---
更改的文件: !`git diff --name-only`
审查每个文件的:
1. 代码质量和风格
2. 潜在 bug 或问题
3. 测试覆盖率
4. 文档需求
为每个文件提供具体反馈.
---
description: 为特定文件运行测试
argument-hint: [test-file]
allowed-tools: Bash(npm:*)
---
运行测试: !`npm test $1`
分析结果并为失败建议修复.
---
description: 为文件生成文档
argument-hint: [source-file]
---
为 @$1 生成全面文档, 包括:
- 函数/类描述
- 参数文档
- 返回值描述
- 使用示例
- 边缘情况和错误
命令未出现:
.md 扩展名存在参数不工作:
$1, $2 语法正确argument-hint 与用法匹配Bash 执行失败:
allowed-tools 包含 Bash文件引用不工作:
@ 语法正确插件命令可以访问 ${CLAUDE_PLUGIN_ROOT}, 一个解析为插件绝对路径的环境变量.
目的:
基本用法:
---
description: 使用插件脚本分析
allowed-tools: Bash(node:*)
---
运行分析: !`node ${CLAUDE_PLUGIN_ROOT}/scripts/analyze.js $1`
审查结果并报告发现.
常见模式:
# 执行插件脚本
!`bash ${CLAUDE_PLUGIN_ROOT}/scripts/script.sh`
# 加载插件配置
@${CLAUDE_PLUGIN_ROOT}/config/settings.json
# 使用插件模板
@${CLAUDE_PLUGIN_ROOT}/templates/report.md
# 访问插件资源
@${CLAUDE_PLUGIN_ROOT}/docs/reference.md
插件命令从 commands/ 目录自动发现:
plugin-name/
├── commands/
│ ├── foo.md # /foo (plugin:plugin-name)
│ ├── bar.md # /bar (plugin:plugin-name)
│ └── utils/
│ └── helper.md # /helper (plugin:plugin-name:utils)
└── plugin.json
命名空间优点:
/help 输出中显示有关详细的 frontmatter 字段规范, 请参阅 references/frontmatter-reference.md.
有关插件特定功能和模式, 请参阅 references/plugin-features-reference.md.
有关命令模式示例, 请参阅 examples/ 目录.
data-ai
当用户提到 Linux 提权/本地提权/local privilege escalation/获取root权限/内核漏洞利用/LPE/SUID/sudo滥用/容器逃逸/权限提升检测; 或要求在Linux系统上从普通用户提升到root权限; 或查询CVE提权漏洞(如Dirty Pipe/CopyFail/Dirty Frag/PwnKit/Looney Tunables); 或需要安全加固建议时应使用此技能
tools
当用户要求 "计算仓位", "仓位管理", "止损比例", "凯利公式", "盈亏比", "资金管理", "半凯利", "反马丁格尔", "固定风险", "position sizing", "策略评估", "策略体检", "SQN", "夏普比率", "卡玛比率", "期望值", "获利因子", "MAE", "MFE", "R乘数", "索提诺", "蒙特卡洛", "样本外测试", "策略回测" 或需要计算合约交易的最优仓位/止损/资金分配/策略质量评估时应使用此技能. 覆盖仓位管理/策略评估/交易解剖/压力测试的完整框架. 即使用户只是提到 "这笔交易该下多少", "策略好不好", "复盘怎么算" 等模糊描述也应触发.
development
当用户要求 "提取API", "逆向APK", "分析APP接口", "提取业务端点", "React Native逆向", "Flutter逆向" 或需要从移动应用提取后端API信息时使用此技能. 覆盖APK解包/JS bundle分析/kernel_blob.bin分析/H5页面参数发现/Spring Boot API验证全流程. 支持React Native和Flutter两种框架.
research
当用户要求 "推荐VPS", "选服务器", "对比服务商", "建站VPS", "便宜VPS", "VPS推荐" 或需要研究/筛选/对比VPS服务商时应使用此技能. 从 hostloc/lowendtalk/lowendbox/测评站搜集真实评测数据, 交叉验证后给出可溯源排名.