用途
coding-agent-rollout 面向需要将 Claude Code 推广到团队或组织的场景,也适用于对已经进行中的推广做审计。单个工程师的 Claude Code 配置是个人偏好,而团队的配置则是一种策略。设置会从五个作用域合并,permissions.allow 数组会跨文件组合,且 deny 优先于 ask、ask 优先于 allow,因此无法从单个文件读出实际生效的策略。该技能先让策略变得可读,再进行校验。
主要能力
该技能包含四个标准库脚本,均不联网、不调用 LLM,只读取配置和计数,不修改任何内容:
- settings_linter.py:跨共享、本地、用户和托管作用域执行 S1-S13 检查。退出码:0 正常,2 警告,3 输入错误,4 阻塞。
- mcp_plugin_inventory.py:生成服务器、插件、市场的一张表,执行 M1-M6 检查。退出码:0、2、3、4。
- claude_md_layering_audit.py:审计常驻与按需层、导入(最多 4 跳),执行 L1-L11 检查。退出码:0、2、3、4。
- adoption_tracker.py:统计成员数据,判断团队阶段为 PILOT / SPREADING / EMBEDDED / STALLED。退出码:0、2(停滞)、3。
所有脚本均支持 --sample 和 --output json。
使用方式
工作流分为四步:
# 1 - Guardrails: lint shared, local and managed settings together.
python scripts/settings_linter.py --repo . --managed /etc/claude-code/managed-settings.json
# 2 - Inventory: every MCP server, plugin and marketplace, against your approved list.
python scripts/mcp_plugin_inventory.py --repo . --allowlist approved.json
# 3 - Instructions: what CLAUDE.md actually loads, layer by layer.
python scripts/claude_md_layering_audit.py --repo .
# 4 - Adoption: each member runs this locally and shares only the JSON counts.
python scripts/adoption_tracker.py --member alice --output json > alice.json
python scripts/adoption_tracker.py --merge *.json --seats 12 --weeks-since-launch 6
建议从 assets/managed-settings.example.json 开始:禁用 bypass 模式、拒绝机密、将风险命令设为 ask、仅允许托管钩子、配置 MCP 和市场允许列表。在第一个席位之前通过 MDM 下发;习惯形成后再添加策略会变成一场谈判。
阻塞项(退出码 4)
- 宽泛的 shell 允许(Bash、Bash(*))以及预批准的破坏性命令(force push、rm -rf、sudo、pipe-to-shell、publish、infra apply)。
- 共享设置 env 块、已提交的 .mcp.json 或已提交的 CLAUDE.md 中出现字面凭据。
- .claude/settings.local.json 被提交到 git。
- MCP 服务器、插件或市场不在批准列表中。
警告项
警告覆盖死规则(被 deny 遮蔽的 allow、allow 中的 mcp__*)、enableAllProjectMcpServers、未固定版本的 npx 服务器、明文 HTTP 远程、网络调用钩子、损坏或过深的 @imports、重复或矛盾指令,以及常驻 CLAUDE.md 的大小。
硬性规则
- 策略应放在托管设置中。项目文件不能启用 bypass 模式或遥测,任何人都能编辑的文件中的团队护栏只是建议。
- 按名称、URL 或命令批准 MCP 服务器,绝不使用 enableAllProjectMcpServers。
- 固定运行内容。未固定版本的 npx/uvx 服务器和未固定的市场会在你不知情的情况下发生变化。
- 绝不收集对话记录。只共享采用 JSON(仅计数);对话记录是明文,可能包含机密。
- 报告发现,而非对人的评判。采用率是团队指标;不活跃席位是推广问题,不是绩效问题。
- 设置键变化很快。未知键为 INFO;在将其称为拼写错误之前,请查阅设置参考。
参考与资产
- references/settings_and_permissions.md — 作用域、优先级、规则语法、仅托管键(7 个来源)
- references/mcp_and_plugin_governance.md — MCP 作用域、允许列表、市场、固定版本(6 个来源)
- references/memory_and_adoption.md — CLAUDE.md 分层、对话记录、OpenTelemetry、采用阶段(6 个来源)
- assets/managed-settings.example.json — 基线团队策略
- assets/approved-components.example.json — 第 2 步的允许列表格式
- assets/rollout_plan.md — 四阶段计划,每阶段有退出标准
适用场景与限制
适用于团队或组织推广 Claude Code 时的策略审计、配置检查、MCP 与插件治理、CLAUDE.md 分层审查以及采用度跟踪。限制:脚本只读取配置和计数,不修改任何内容;不联网、不调用 LLM;不收集对话记录;未知设置键仅标记为 INFO。