技能 Management
- 作者仓库星标 640
- 许可证 MIT
- 作者仓库 honeclaw
Skill Management (skill_manager)
Use this skill when the user asks to add, create, edit, inspect, migrate, or align a Hone skill.
The runtime contract is now:
- Skills live in
skills/<name>/SKILL.md,data/custom_skills/<name>/SKILL.md, or a closer.hone/skills/<name>/SKILL.md. - The model sees a compact listing first.
- The full skill body is only injected into the current turn when
skill_tool(skill_name="...")or a user slash command like/<skill-name>is invoked. load_skillis only a compatibility shim. Do not teach it as the primary workflow.
Frontmatter Contract
Prefer this frontmatter schema:
---
name: Human readable name
description: One-line description
when_to_use: Brief trigger guidance
allowed-tools:
- skill_tool
user-invocable: true
model: optional model override
effort: optional effort override
context: inline
agent: optional agent hint
paths:
- src/**/*.rs
hooks: {}
arguments: []
script: optional default script path like scripts/run.sh
shell: optional shell hint
---
Notes:
allowed-toolsreplaces legacytoolsas the main runtime field.contextshould usually beinline; useforkonly when the skill should run in an isolated child runner.pathshides the skill from the default listing until the active task touches matching files.scriptdeclares the default executable entrypoint inside the skill directory.skill_tool(..., execute_script=true)can run it with${HONE_SKILL_DIR}as cwd.- Keep the Markdown body task-oriented and ready to inject as prompt text.
How To Inspect Skills
When the user asks what skills exist or which skill fits a task:
- Call
discover_skills(query="...")with the user's task or keyword. - Summarize the relevant skills from the returned metadata.
- If one skill should actually be used for the current task, call
skill_tool(skill_name="...")so the full skill prompt is expanded for this turn.
When the user asks to inspect a specific skill in detail:
- Use
discover_skills(query="<skill name>")to confirm the match if needed. - Call
skill_tool(skill_name="<skill id>"). - Explain the resolved metadata and the injected prompt body, not a hand-written summary that drifts from the source.
How To Create Or Update Skills
When the user wants to create or edit a skill:
- Collect the intended skill id, description, trigger conditions, and whether users should be able to invoke it directly with
/<skill-name>. - Write or update the actual
SKILL.mdfile with the new frontmatter schema. - Keep the body concrete: trigger rules, required steps, tool usage expectations, and refusal/verification constraints.
- If you created or changed a skill that should be runnable immediately, validate it by invoking
skill_tool(skill_name="<skill id>")and checking the rendered prompt.
Strict Rules
- Do not teach the deprecated
skill_tool(action="add" | "update" | "remove")CRUD workflow. - Do not rely on
load_skillas the main user-facing path. - If a skill is path-gated, mention that it may stay hidden until matching files are involved.
- If runtime enforcement is not implemented for a field such as
hooksor strict tool scoping, say so plainly instead of pretending it is active.
- 流狐分类
- 设计与多媒体
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @B-M-Capital-Research · MIT
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Use this skill when the user asks to add, create, edit, inspect, migrate, or align a Hone skill. The runtime contract is now: Skills live in skills/<name>/SKILL.md, data/customskills/<name>/SKILL.md, or a closer .hone/skills/<name>/SKILL.md.
Prefer this frontmatter schema: Notes: allowed-tools replaces legacy tools as the main runtime field.
When the user asks what skills exist or which skill fits a task: Call discoverskills(query="...") with the user's task or keyword. Summarize the relevant skills from the returned metadata.
When the user wants to create or edit a skill: Collect the intended skill id, description, trigger conditions, and whether users should be able to invoke it directly with /<skill-name>. Write or update the actual SKILL.md file with the new frontmatter schema.
Do not teach the deprecated skilltool(action="add" | "update" | "remove") CRUD workflow. Do not rely on loadskill as the main user-facing path. If a skill is path-gated, mention that it may stay hidden until matching files are involved.
## Skill Management (skill_manager)
Use this skill when the user asks to add, create, edit, inspect, migrate, or align a Hone skill.
The runtime contract is now:
1. Skills live in `skills/<name>/SKILL.md`, `data/custom_skills/<name>/SKILL.md`, or a closer `.hone/skills/<name>/SKILL.md`.
2. The model sees a compact listing first.
3. The full skill body is only injected into the current turn when `skill_tool(skill_name="...")` or a user slash command like `/<skill-name>` is invoked.
4. `load_skill` is only a compatibility shim. Do not teach it as the primary workflow.
## Frontmatter Contract
Prefer this frontmatter schema:
```yaml
---
name: Human readable name
description: One-line description
when_to_use: Brief trigger guidance
allowed-tools:
- skill_tool
user-invocable: true
model: optional model override
effort: optional effort override
context: inline
agent: optional agent hint
paths:
- src/**/*.rs
hooks: {}
arguments: []
script: optional default script path like scripts/run.sh
shell: optional shell hint
---
```
Notes:
- `allowed-tools` replaces legacy `tools` as the main runtime field.
- `context` should usually be `inline`; use `fork` only when the skill should run in an isolated child runner.
- `paths` hides the skill from the default listing until the active task touches matching files.
- `script` declares the default executable entrypoint inside the skill directory. `skill_tool(..., execute_script=true)` can run it with `${HONE_SKILL_DIR}` as cwd.
- Keep the Markdown body task-oriented and ready to inject as prompt text.
## How To Inspect Skills
When the user asks what skills exist or which skill fits a task:
1. Call `discover_skills(query="...")` with the user's task or keyword.
2. Summarize the relevant skills from the returned metadata.
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Skill Management (skillmanager) → Frontmatter Contract → How To Inspect Skills → How To Create Or Update Skills → Strict Rules
要点 -> Use this skill when the user asks to add, create, edit, inspect, migrate, or align a Hone skill. · 1. Skills live in skills/<name>/SKILL.md, data/customskills/<name>/SKILL.md, or a closer .hone/skills/<name>/SKILL.md. · - allowed-tools replaces legacy tools as the main runtime field. · 1. Call discoverskills(query="...") with the user's task or keyword. · 1. Use discoverskills(query="<skill name>") to confirm the match if needed. · 1. Collect the intended skill id, description, trigger conditions, and whether users should be able to invoke it directly with /<skill-name>. · - Do not teach the deprecated skilltool(action="add" | "update" | "remove") CRUD workflow.
文件/命令 -> skills/<name>/SKILL.md · data/customskills/<name>/SKILL.md · .hone/skills/<name>/SKILL.md · skilltool(skillname="...") · /<skill-name> · loadskill · allowed-tools · tools
内容 SHA-256 -> fc9213d542d5
原文结构
适用与边界
原文中的明确线索
skills/<name>/SKILL.md、data/customskills/<name>/SKILL.md、.hone/skills/<name>/SKILL.md、skilltool(skillname="...")、/<skill-name>、loadskill、allowed-tools、tools