Skill
通过 SKill 可以轻松扩展 Hawa Code 的能力,用户不需要开发 Agent ,就可以实现各种垂直场景的能力。
Skill 结构
excel/ ├── SKILL.md # 概述和快速开始 ├── FORMS.md # 表单字段映射和填充说明 ├── REFERENCE.md # excel 框架工具的 API 详情 └── scripts/ ├── fill_form.py # 填充表单字段的工具 └── validate.py # 检查必填字段
|
Skill 示例
--- name: Excel description: 生成 Excel 文档 --- 生成 Excel 详细描述,具体的步骤和执行的代码等信息信息
|
Skill 安装
复制 Skill 到以下安装目录,重启 Hawa Code 就可以生效
- ~/.hcode/skills (此目录为用户配置,所有项目都会生效)
- {项目目录}/.hcode/skills (此目录为项目配置,只会针对当前项目生效)
Frontmatter 说明
SKILL.md 顶部的 frontmatter 用来管理 Skill 的行为
| 字段 |
说明 |
| name |
Skill 名称 |
| description |
Hawa code 会根据描述判断何时加载此 Skill |
| allowed-tools |
Skill 被加载后可以直接使用的工具,无需用户确认 |
| context |
设为 fork 时在隔离的子代理上下文运行此 Skill |
| agent |
context: fork 时选择子代理类型(例如 Explore、Plan) |
| disable-model-invocation |
默认为 false ,如果设置为 true 不能通过模型调用此 skill |
| user-invocable |
默认为 true ,如果设置为 false 不能通过斜杠命令进行调用 |
动态 Shell 命令
--- name: commit-msg description: Generate conventional commit from staged changes agent: Explore allowed-tools: Bash ---
## Context - Staged files: !`git diff --cached --name-only` - Diff: !`git diff --cached` - Branch: !`git branch --show-current`
## Task Analyze staged changes, output Conventional Commit:
|
动态 PowerShell 命令
--- name: powershell-test description: Test PowerShell command execution in skill placeholders disable-model-invocation: true user-invocable: true ---
PowerShell skill test.
Current shell output:
!`$PSVersionTable.PSVersion.ToString()`
Current date from PowerShell:
!`Get-Date -Format "yyyy-MM-dd HH:mm:ss"`
Project path check:
!`Test-Path ".hcode\skills\powershell-test\SKILL.md"`
|
字符串替换
Skills 支持 skill 内容中动态值的字符串替换:
| 变量 |
描述 |
| $ARGUMENTS |
调用 skill 时传递的所有参数。如果 $ARGUMENTS 不在内容中,参数作为 ARGUMENTS: 追加。 |
| $ARGUMENTS[N] |
按 0 基索引访问特定参数,如 $ARGUMENTS[0] 表示第一个参数。 |
| $N |
$ARGUMENTS[N] 的简写,如 $0 表示第一个参数或 $1 表示第二个参数。 |
| ${HCODE_SESSION_ID} |
当前会话 ID。用于日志记录、创建会话特定文件或将 skill 输出与会话关联。 |
| ${HCODE_SKILL_DIR} |
包含 skill 的 SKILL.md 文件的目录。对于插件 skills,这是插件内 skill 的子目录,而不是插件根目录。在 bash 注入命令中使用它来引用与 skill 捆绑的脚本或文件,无论当前工作目录如何。 |