技能 Creater
- 作者仓库星标 277
- 作者仓库 akashic-agent
Skill 创建指南
技能目录结构
$HOME/.akashic/workspace/skills/{skill-name}/ ← 用户自定义技能(优先)
SKILL.md ← 必须
scripts/ ← 可选,放辅助脚本
references/ ← 可选,放参考文档
项目/skills/{skill-name}/ ← 内置技能
SKILL.md
用 write_file 或 edit_file 直接创建/修改文件,无需任何脚手架脚本。
SKILL.md 格式
---
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 行以内
触发词要全:中英文都写,覆盖用户可能说的各种表达方式。
创建流程
- 确认技能名称和保存位置(workspace 还是内置)
- 用
write_file写入 SKILL.md - 如有辅助脚本,写入
scripts/目录 - 验证:
requires.bins里的命令是否正确
改写已有技能
改写时重点检查:
- frontmatter 是否有
metadata字段(旧技能可能缺失) requires.bins是否列全了依赖- 正文是否有指向不存在脚本的引用(如
init_skill.py) - 安装命令是否适配当前系统(Linux 用
uv/pacman/apt,而非brew)
- 流狐分类
- 通用
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @kachofugetsu09 · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 需要 · Vendor-specific
- 检测到的系统要求
- Linux
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 读取环境变量
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 技能目录结构
用 writefile 或 editfile 直接创建/修改文件,无需任何脚手架脚本。
SKILL.md 格式
SKILL.md 格式
frontmatter 字段说明
name:技能目录名(小写,连字符) description:最重要的字段。agent 靠它判断何时触发此技能,务必包含功能描述和触发词 metadata:运行配置
写作原则
简洁优先:SKILL.md 会被注入到 context,每个 token 都有成本。 只写 agent 不已知的信息 用示例命令代替大段文字解释
创建流程
确认技能名称和保存位置(workspace 还是内置) 用 writefile 写入 SKILL.md 如有辅助脚本,写入 scripts/ 目录
改写已有技能
改写时重点检查: frontmatter 是否有 metadata 字段(旧技能可能缺失) requires.bins 是否列全了依赖
# 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`) 证据边界与执行链路
作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> 技能目录结构 → SKILL.md 格式 → frontmatter 字段说明 → 写作原则 → 创建流程 → 改写已有技能
要点 -> 最重要的字段 · 简洁优先 · 触发词要全 · 用 writefile 或 editfile 直接创建/修改文件,无需任何脚手架脚本。 · 正文指令... · 简洁优先:SKILL.md 会被注入到 context,每个 token 都有成本。 · 触发词要全:中英文都写,覆盖用户可能说的各种表达方式。 · 1. 确认技能名称和保存位置(workspace 还是内置) 2.
文件/命令 -> writefile · editfile · name · description · metadata · always · true · false
内容 SHA-256 -> de1748fa29da
原文结构
适用与边界
原文中的明确线索
writefile、editfile、name、description、metadata、always、true、false