---
name: config-manager
description: 管理 Sophclaw Agent 的 skill 和 tool 运行时开关。当用户要求启用/禁用某个 skill、开启/关闭某个 tool、查看当前 agent 的 skill 或 tool 配置、调整 agent 能力边界时使用。所有修改通过安全脚本执行，自动备份并校验。不要绕过本 skill 直接编辑 openclaw.json。
---

# Config Manager

安全地管理 Sophclaw Agent 的 `skills` 和 `tools.deny` 配置。所有修改必须通过本 skill 的脚本执行，严禁直接编辑 `openclaw.json`。

## 用法

### 1. 先查看当前状态

任何修改前，必须先列出当前配置：

```bash
uv run {baseDir}/scripts/list_config.py --agent-id "{agent_id}"
```

### 2. 执行变更

确认操作后执行。不确定时可加 `--dry-run` 仅预览不写入。

**开关 skill**：

```bash
uv run {baseDir}/scripts/toggle_skill.py --agent-id "{agent_id}" --skill-name "{name}" --action enable|disable [--dry-run]
```

**开关 tool**（enable = 从 deny 列表移除，disable = 加入 deny 列表）：

```bash
uv run {baseDir}/scripts/toggle_tool.py --agent-id "{agent_id}" --tool-name "{name}" --action enable|disable [--dry-run]
```

### 3. 反馈结果

解析脚本输出的 JSON：

| 字段 | 含义 |
|------|------|
| `changed: true` | 变更已执行 |
| `changed: false` | 已是目标状态，无需变更 |
| `dry_run: true` | 预览模式，需去掉 --dry-run 再次执行 |
| `backup` | 备份文件路径 |
| `error` | 错误信息 |

变更成功时告知用户备份位置，失败时说明原因和建议。

## 注意事项

- 严禁直接编辑 `openclaw.json`，所有修改必须通过本 skill 脚本执行
- 默认只操作当前对话的 agent，除非用户明确指定其他 agent_id 并确认
- 一次只操作一个 skill 或 tool
- 不修改 `skills` 和 `tools.deny` 以外的字段（model、workspace、identity 等）
- 用户未确认时不执行写入操作