skill-creater · git:20260414.90b0656 · 2026-04-14 · sha256 08e3eb8cbfcc589b
skill-creater git:20260414.90b0656A
Immutable. This exact content is served forever at /api/v1/blob/08e3eb8cbfcc589b.
---
name: skill-creater
description: 创建或改写 akashic-bot 技能(SKILL.md)。当用户要求新建技能、适配现有技能到当前格式、或修改技能内容时使用。
---
# Skill 创建指南
## 技能目录结构
```
$HOME/.akashic/workspace/skills/{skill-name}/ ← 用户自定义技能(优先)
SKILL.md ← 必须
scripts/ ← 可选,放辅助脚本
references/ ← 可选,放参考文档
项目/skills/{skill-name}/ ← 内置技能
SKILL.md
```
用 `write_file` 或 `edit_file` 直接创建/修改文件,无需任何脚手架脚本。
## SKILL.md 格式
```markdown
---
name: skill-name
description: 一句话说明技能功能 + 触发场景。触发词:词1, 词2, 词3
metadata: {"akashic": {"always": false, "requires": {"bins": ["curl"], "env": ["API_KEY"]}}}
---
# 技能标题
正文指令...
```
### frontmatter 字段说明
- `name`:技能目录名(小写,连字符)
- `description`:**最重要的字段**。agent 靠它判断何时触发此技能,务必包含功能描述和触发词
- `metadata`:运行配置
- `always`:`true` = 每轮对话都注入完整正文;`false` = 按需加载(默认)
- `requires.bins`:所需 CLI 工具,缺失时技能标记为不可用
- `requires.env`:所需环境变量,缺失时技能标记为不可用
## 写作原则
**简洁优先**:SKILL.md 会被注入到 context,每个 token 都有成本。
- 只写 agent 不已知的信息
- 用示例命令代替大段文字解释
- 把冗长的参考内容放到 `references/` 子文件,在 SKILL.md 里注明"详见 references/xxx.md"
- 正文控制在 100 行以内
**触发词要全**:中英文都写,覆盖用户可能说的各种表达方式。
## 创建流程
1. 确认技能名称和保存位置(workspace 还是内置)
2. 用 `write_file` 写入 SKILL.md
3. 如有辅助脚本,写入 `scripts/` 目录
4. 验证:`requires.bins` 里的命令是否正确
## 改写已有技能
改写时重点检查:
- frontmatter 是否有 `metadata` 字段(旧技能可能缺失)
- `requires.bins` 是否列全了依赖
- 正文是否有指向不存在脚本的引用(如 `init_skill.py`)
- 安装命令是否适配当前系统(Linux 用 `uv`/`pacman`/`apt`,而非 `brew`)