Skill

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 捆绑的脚本或文件,无论当前工作目录如何。