本技能动态管理 Claw 系列智能体(含 OpenClaw 及同级别 Claw Agent 实现)的工作区引导文件和配置。核心能力:扫描绑定技能目录 → 提取关键词和模块路由 → 生成动态"核心技能触发块"注入 AGENTS.md——任何 agent 通过升级即可自动获得"关键词检测→强读技能文件→模块路由"机制,且与当前技能动态适配。
Claw 是一个嵌入式智能体运行时,每个网关对应一个智能体进程。配置文件(配置.json,JSON5 格式,支持注释和尾随逗号)位于用户配置目录下,工作区引导文件为智能体提供人设、指令和记忆。
本技能将指导你:
assets/ 下的默认模板作为起点。
<本技能目录>/assets/<模板名>。
references/<文件>"。
当目标工作区管理的技能包含 scripts/ 目录时,AGENTS.md 必须写入以下 5 条基础铁律(通过 {{SCRIPT_RULES}} 占位符注入)。此外,第 0 步扫描时检测到的技能特有限制,编码和凭证约束写入 {{SKILL_RED_LINES}},额外内部操作写入 {{SKILL_SAFE_ACTIONS}}:
基础铁律:
scripts/ 目录中的预置脚本执行。严禁自行编写替代脚本或用内联代码实现相同功能。
<技能目录>/scripts/<脚本名>。
pip install requests 等。
操作的文件(配置文件、引导文件等)直接注入大模型系统提示或控制网关行为,写错即影响智能体运行。因此修改前必须判定模式,对应不同的安全策略。
文件名.bak-年月日-时分)。
| 用户输入 | 改动范围 | 模式 |
|:---------|:---------|:------|
| 无深度关键词 | 单字段/单段落 | 标准(自动) |
| 无深度关键词 | 跨文件或多模块 | 暂停确认 → 同意则深度 |
| 含"大改/重写/替换"等关键词 | 任意 | 深度(自动) |
本技能在每次操作中遵循以下流程。动态感知先行,最后一步为强制审查,不可跳过。
在执行任何操作前,先扫描目标工作区关联的技能。根据用户指定范围确定要处理的文件。
决策逻辑:
收到任务
│
├─ 用户指定了具体文件?
│ └─ 是 → 仅处理指定文件
│
├─ 用户提到了具体技能名/路径?
│ └─ 是 → 扫描该技能目录
│
├─ 用户提到了某个工作区?
│ └─ 是 → 读取该工作区的 AGENTS.md,提取技能绑定信息
│
└─ 都没有?→ 向用户确认目标工作区和技能范围
扫描后判定是否进入单技能融合策略。满足以下任一条件即触发:
D:\legalskill\claw-agent-workspace\ 这个技能"),意图明确指向单一技能
触发单技能后,进入现存绑定检测(兜底,不可跳过):
冲突清单(任一命中即暂停):
检测通过(无冲突或用户已确认)→ 进入单技能融合策略,详见单技能融合策略章节。未触发(多技能或未指定)→ 使用完整管道。
扫描技能目录时采集以下信息:
| 检测项 | 执行动作 |
|:-------|:---------|
| 技能目录存在 | 读取技能主文件(SKILL.md 或入口 Markdown 文件) |
| 技能文件中存在"关键词""触发"等标记 | 提取触发关键词列表和模块路由规则 |
| 未找到显式关键词列表 | 自动生成候选后暂停,列出候选交由用户确认 |
| 技能含 scripts/ 且目录非空 | AGENTS.md 必须写入脚本使用铁律 |
| 技能含配置文件(如 config.py) | AGENTS.md 中声明"执行前读取配置获取运行时参数" |
| 技能文件中提到编码要求 | 记录到技能特有规则 |
| 技能文件中提到凭证/密钥管理要求 | 记录到技能特有规则 |
| 用户消息含"配合""协同""同时运行"等词 | 检测为多技能工作区,需构建路由表 |
| 用户消息含"升级""大改"等词 | 判定为 L2 深度模式 |
关键词提取子步骤(扫描到任一技能后自动执行):
claw-agent-workspace → claw、agent、workspace),中文描述中取对应概念;
assets/CORE_SKILL_BLOCK.md),若多技能则构建跨技能路由表。
核心原则:根据实际扫描结果动态决定写入哪些规则,不写一刀切的模板。
scripts/ 目录的,AGENTS.md 中必须写入规则3的 5 条脚本铁律。
assets/CORE_SKILL_BLOCK.md,用扫描得到的关键词、模块路由填充占位符,生成动态触发块注入到 AGENTS.md 中。新建时插入到合适位置,修改已有文件时 L1 精准替换、L2 完整重写时包含。多技能时在 TOOLS.md 中写入跨技能路由表(技能名 | 触发关键词 | 入口文件)。
assets/AGENTS.md 的 {{SKILL_TABLE}} 表格注册。
完成修改后,逐项确认以下 8 条原则。任一不满足则必须回退修正。
| # | 原则 | 检查点 |
|:--|:-----|:-------|
| 1 | 最小化 | 是否只写了必需字段?有没有画蛇添足的默认值等价物?引导文件有没有教科书式的废话? |
| 2 | 安全性 | 密钥有没有硬编码?是否使用了环境变量引用? |
| 3 | 一致性 | SOUL.md 的"专业纪律"是否与 AGENTS.md 的核心技能触发规则一致?SOUL.md 的"技能边界"是否覆盖了技能文件中声明的所有约束?SOUL.md 的语气与 AGENTS.md 的流程要求是否自洽?配置文件中引用的发送者是否与 USER.md 匹配? |
| 4 | 精简 | 引导文件单文件是否 < 12000 字符?总计是否 < 60000 字符?配置文件有没有冗余注释或废弃块? |
| 5 | 可回滚 | L2 操作是否已创建时间戳备份?用户知不知道回滚路径? |
| 6 | 副作用意识 | 改动网关配置字段时是否提醒了需要重启?修改 SOUL.md 时是否说明了这会影响所有后续对话的语气? |
| 7 | 智能体记忆保护 | 以下文件默认受保护,L2 重写不得覆盖已填写内容:IDENTITY.md、USER.md、MEMORY.md。AGENTS.md 和 SOUL.md 中用户自定义部分(非模板内容)须提取并合并。 |
| 8 | 不重复技能内容 | 工作区文件有没有写入版本号、数据源网址、命令参数、采集方式等技能自有信息?技能升级后这些会过期成灾难。工作区文件只存路径引用,细节永远是读技能文件获得。 |
审查通过后,给出总结:"本次修改为 [L1/L2] 模式,影响范围 [X],已备份 [是/否],已通过验证 [是/否]"。
全新工作区属于深度模式操作。步骤:
assets/ 下的模板创建必要的引导文件。
最小化配置模板:
// 配置文件(JSON5 格式)
{
agents: { defaults: { workspace: "工作区路径" } },
// 根据用户选择的频道填写允许列表
}
智能体.默认.模型),输出配置块。
快捷修改方式(适合 L1):
claw config get 智能体.默认.工作区
claw config set 智能体.默认.心跳.间隔 "2h"
claw config set 智能体.默认.模型 '<json>' --strict-json --merge
这些文件每次会话都注入大模型上下文。改错一行,智能体行为立刻偏离。
如果目标工作区绑定了技能,且用户意图为"升级 agent"或"新建带技能的工作区",必须在 AGENTS.md 中注入核心技能触发机制。
assets/CORE_SKILL_BLOCK.md。
- 开头,与模板已有条目一致):
{{SKILL_RED_LINES}} — 技能边界、编码强制、凭证安全等约束;
{{SCRIPT_RULES}} — 检测到 scripts/ 时替换为 5 条脚本铁律(独立 ## 章节),无脚本时替换为空字符串(删除该行);
{{SKILL_SAFE_ACTIONS}} — 技能允许的额外内部操作,无内容时替换为空字符串(删除该行)。
所在位置(替换该注释行)。
SOUL.md 采用"通用人格基座 + 技能感知叠加层"双层架构:
单技能场景(进入单技能融合策略时):
SOUL_SKILL_LAYER.md,不追加叠加层。
多技能场景:
新建工作区:
assets/SOUL.md(通用人格基座——纯人格,不含技能内容)。
assets/SOUL_SKILL_LAYER.md。
修改已有工作区:
| 文件 | 注入时机 | 注意事项 |
|:-----|:---------|:---------|
| BOOTSTRAP.md | 全新工作区首次会话 | 完成引导后必须删除 |
| AGENTS.md | 每次会话 | 操作规则和记忆习惯。含技能时必须包含核心技能触发块 |
| SOUL.md | 每次会话 | 人设、语气、边界。采用双层架构 |
| USER.md | 每次会话 | 用户档案 |
| IDENTITY.md | 每次会话 | 名称/emoji/头像 |
| TOOLS.md | 每次会话 | 本地工具约定。多技能时承载跨技能路由表 |
| HEARTBEAT.md | 心跳会话 | 保持简短避免 token 浪费 |
| BOOT.md | 网关重启时 | 需启用内部 hooks |
assets/<文件名> 获取默认模板。
assets/ 模板对比后,用户自行添加的非模板内容。
> 大文件会被截断注入(默认单文件 12000 字符,总计 60000 字符),因此引导文件必须保持精简。
如果需要自定义人设风格,读取 references/soul-guide.md 获取 SOUL.md 编写指南。
如果需要了解完整配置字段的精确语义和默认值,读取 references/config-reference.md。
当工作区/专家仅绑定一个技能时(触发条件见 Step 0 决策树),走精简管道而非完整的多技能管道。核心区别如下:
跳过"通用人格基座 + 技能感知叠加层"双层架构。直接从技能的 SKILL.md 中提取身份、个性、语气、边界等描述,融合写入单一 SOUL.md。不读取 assets/SOUL_SKILL_LAYER.md,不追加叠加层。
示例:技能 claw-agent-workspace 的 SKILL.md 中描述了"动态管理 Claw 系列智能体的工作区引导文件"——单技能 agent 的 SOUL.md 直接以此为"我是谁"。
不使用 CORE_SKILL_BLOCK(关键词路由表对单技能无意义)。改用 assets/AGENTS.md 模板中 {{SKILL_TABLE}} 占位符填充简单表格,配合毯式必读规则:
技能在工作区内(如 skills/claw-agent-workspace/SKILL.md):
| Skill | Purpose |
|-------|---------|
| `skills/claw-agent-workspace/SKILL.md` | 动态管理 Claw 智能体工作区引导文件... |
技能在外部路径(如 D:\legalskill\claw-agent-workspace\SKILL.md):
| Skill | Purpose |
|-------|---------|
| `D:\legalskill\claw-agent-workspace\SKILL.md` | 动态管理 Claw 智能体工作区引导文件... |
配合毯式规则:MANDATORY: Before starting ANY task, read and follow all SKILL.md files listed above.
单技能时不需要关键词路由表,不注入 CORE_SKILL_BLOCK。assets/CORE_SKILL_BLOCK.md 模板保留(多技能仍需使用),但单技能管道不调用。
当技能不在工作区 skills/ 子目录下,而是外部独立路径时:
scripts/:路径推导从外部技能目录推导。AGENTS.md 中写入脚本铁律时,路径格式为 <外部技能绝对路径>/scripts/<脚本名>
config.py:声明"执行前读取外部技能目录下的配置获取运行时参数"
本技能在 assets/ 目录下提供以下默认模板,创建新文件时使用:
| 模板文件 | 用途 | 使用时机 |
|:---------|:-----|:---------|
| assets/AGENTS.md | 操作指令和记忆规则(含会话启动、记忆、红线、内外操作固定结构;占位符:{{SKILL_RED_LINES}}/{{SCRIPT_RULES}}/{{SKILL_SAFE_ACTIONS}} 用于动态注入技能约束与脚本铁律; 为触发块注入锚点) | 创建/更新 AGENTS.md |
| assets/CORE_SKILL_BLOCK.md | 核心技能触发块(仅触发和路由逻辑,不含技能特有约束) | 升级/新建带技能的 agent 时自动填充注入 |
| assets/SOUL.md | 通用人格基座——所有 agent 的出厂人设,不含技能内容 | 新建 SOUL.md 时作为底层 |
| assets/SOUL_SKILL_LAYER.md | 技能感知叠加层 | 绑定技能时动态填充,追加到 SOUL.md 末尾 |
| assets/TOOLS.md | 本地工具约定(多技能时承载跨技能路由表) | 创建 TOOLS.md;多技能工作区升级时更新 |
| assets/BOOTSTRAP.md | 首次运行引导(根据 IDENTITY.md 状态自动选择探索式或身份既定式,绑定技能时插入技能告知段) | 全新工作区创建 |
| assets/USER.md | 用户档案模板 | 创建 USER.md |
| assets/IDENTITY.md | 智能体身份记录 | 首次引导时创建 |
| assets/HEARTBEAT.md | 心跳检查清单 | 创建 HEARTBEAT.md |
| assets/MEMORY.md | 长期记忆容器模板(中文,含加载规则摘要) | 创建 MEMORY.md |
使用模板时:
assets/<模板名> 获取默认内容
scratch/ 目录存放开发过程中的临时产物(.bak 备份、测试数据等),与技能运行无关。Agent 不会自动执行该目录下的任何文件。
每次 L2 深度模式操作会生成 .bak-YYYYMMDD-HHMM 备份文件。长期积累会占用空间并对 LLM 上下文造成干扰(备份文件可能被误读)。
清理规则:
.bak-* 文件。
.bak-* 文件——git 历史本身就是备份。
Claw 支持配置热重载,无需手动重启。重载模式控制行为:
| 模式 | 行为 |
|:-----|:-----|
| 混合(默认) | 安全变更即时生效,关键变更自动重启 |
| 热 | 仅热应用安全变更 |
| 重启 | 任何变更都重启 |
| 关闭 | 禁用文件监听 |
大部分字段支持热应用,仅网关服务器配置(端口、绑定等)和服务发现、插件需要重启。
本技能自身不包含可执行脚本。但目标工作区管理的技能可能含 scripts/ 目录——此时规则3(含脚本技能的引导文件约束)必须写入对应 AGENTS.md。
scripts/ 目录,AGENTS.md 中必须包含 5 条脚本铁律。
.bak-YYYYMMDD-HHMM 文件,长期不清理会挤占空间并可能被 LLM 误读。每次升级完成后主动提示清理,保留最近 3 次即可。git 管理的工作区不需要 .bak 文件。
配置完成后使用以下命令验证:
claw doctor # 诊断配置问题
claw doctor --fix # 自动修复已知问题
claw config validate # 验证配置有效性
claw config schema # 打印配置规范
references/config-reference.md。
references/soul-guide.md。
> 免责声明:以上内容由 AI 辅助生成,仅供参考,具体实施前请结合实际情况进行专业判断。严禁将涉密信息输入公域大模型。
技能版本:1.1.0 | 作者:律锥·legalskill | 文档许可:CC BY-SA 4.0
共 2 个版本