agent 字段
建议
- 如果需要严格的权限限制,使用 agent 指定子代理和 context:fork;
allowed-tools 配置不能限制工具的使用。
核心结论
agent 字段只有配合 context: fork 才会生效- 无
context: fork:Skill 在主 agent 上下文执行,继承主 agent 全部工具,agent 和 allowed-tools 字段被忽略 - 有
context: fork:Skill 在独立子代理执行,agent 字段生效,限制工具集为该 agent 类型的固有工具 agent 优先于 allowed-tools:当同时指定时,agent 类型决定工具集,allowed-tools 无法扩展
测试不具有 context: fork
name: test-agent-tools
description: 测试 agent 字段和 allowed-tools 的优先级关系
version: 1.0.0
agent: Bash
allowed-tools: Bash, Read
user-invocable: true
- 结果:所有工具都可用(Bash、Read、Task、Write)
- 结论:
agent 字段被忽略,Skill 在主 agent 上下文执行,继承全部工具
测试具有 context: fork
name: test-agent-tools description: 测试 agent 字段和 allowed-tools 的优先级关系 version: 1.0.0 agent: Bash allowed-tools: Bash, Read user-invocable: true context: fork
- 结果:只有 Bash 工具可用,Read、Task、Write 都不可用
- 结论:
agent: Bash 生效,限制工具集为 Bash agent 的工具
测试结果汇总
| 配置 | Bash | Read | Write |
无 context: fork | | | |
有 context: fork | | | |
修正
配置工具列表
- 使用 /agent
- 选择对应的子代理
- Edit agent
- Edit tools
- 勾选对应工具
具体测试文件如下
claude.zip
📌 转载信息
原作者:
robot_jackson
转载时间:
2026/1/19 18:04:03