
claude-howto 实战如何为 Claude Code 构建 incident-commander 事件响应子代理【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto本指南以 claude-howto 仓库uk/07-plugins/devops-automation插件中的incident-commander子代理为骨架完整解析它的 frontmatter 配置、五项核心职责以及它如何与/incident命令、alert-analyzer、deployment-specialist、健康检查脚本和 Kubernetes MCP 协同完成一次生产事件响应。读完本文你将掌握在 Claude Code 插件体系内设计一个可被自动委派、具备工具隔离、能走完事件全生命周期的子代理的完整方法并得到可直接复制改造的配置与命令示例。一、incident-commander 在插件中的定位在 claude-howto 的 07-plugins/devops-automation 插件中定义了三个职责互补的子代理子代理职责deployment-specialist部署操作蓝绿发布、金丝雀、回滚、健康检查、数据库迁移incident-commander事件响应协调严重度评估、团队协调、状态更新、解决跟踪、post-mortemalert-analyzer告警与系统指标分析告警关联、趋势分析、根因定位三者构成一条完整的发现 → 分析 → 处置 → 复盘链路alert-analyzer负责发现问题incident-commander负责组织和推进处置deployment-specialist负责执行回滚/修复等具体操作。本文聚焦的incident-commander是整个事件响应流程的指挥官角色。仓库中英文源文档位于 07-plugins/devops-automation/agents/incident-commander.md对应的乌克兰语翻译版即 uk/07-plugins/devops-automation/agents/incident-commander.md。二、子代理定义文件逐段解析incident-commander采用 Claude Code 标准的 Markdown YAML frontmatter 子代理格式。完整的定义内容如下--- name: incident-commander description: Координує реагування на інциденти tools: Read, Write, Bash, Grep --- # Командир інцидентів Керує реагуванням на інциденти: - Оцінка серйозності - Координація команди - Оновлення статусу - Відстеження розвязання - Фасилітація post-mortem2.1 name命名规范name: incident-commander使用小写字母加连字符这是 Claude Code 子代理的标准命名规范详见 04-subagents/README.md。需要注意的是名称匹配是大小写和分隔符不敏感的incident-commander、Incident Commander、incident_commander都能解析到同一个代理但名称中不允许包含冒号:——冒号被保留用于插件命名空间。2.2 description自动委派的触发信号description: Координує реагування на інциденти乌克兰语协调事件响应是主会话判断何时把任务委派给该子代理的关键依据。Claude Code 会根据任务描述、当前上下文与可用工具做自动委派description写得越清晰自动触发的准确率越高。如果需要让子代理在事件场景下被主动启用可以在描述中加入 use PROACTIVELY 之类的措辞。2.3 tools最小权限工具集tools: Read, Write, Bash, Grep这四个工具构成了事件指挥官的最小闭环Read读取日志、告警详情、配置和脚本Write创建事件记录、更新状态文档、撰写 post-mortem 报告Bash执行kubectl排查命令、运行健康检查脚本、查看集群状态Grep在大量日志与代码中快速检索错误模式。相比deployment-specialist的Read, Write, Bash, Grep和alert-analyzer的Read, Grep, Bash只读为主、无 Writeincident-commander同时具备读写与执行能力符合其既要记录状态又要协调处置的角色定位。这也是 Claude Code 推荐的安全实践只授予子代理完成任务所必需的工具。三、五项核心职责详解子代理主体system prompt部分将角色定义为事件指挥官并列出五项职责。这五项职责恰好覆盖了事件响应的完整生命周期3.1 严重度评估Оцінка серйозності指挥官的首要动作是判断事件级别。参考插件 commands/incident.md 定义的结构化流程创建事件记录后紧接着就是评估严重度和影响。结合alert-analyzer提供的告警关联与根因分析结论指挥官可以基于影响范围单实例故障还是全集群不可用、用户可见度、数据损失风险等因素给出严重度定级。3.2 团队协调Координація команди指挥官并不亲自执行所有修复动作而是协调分工将告警关联、趋势分析等诊断工作委派给alert-analyzer将回滚、蓝绿切换等执行工作委派给deployment-specialist自己聚焦于信息汇总、决策与对外沟通。这种协调者 专家的模式正是 Claude Code 子代理架构的核心价值——每个子代理有独立的上下文窗口主会话不会因为一次事件排查而耗尽上下文详见 04-subagents/README.md 的 Context Management 章节。3.3 状态更新Оновлення статусу事件进行中需要持续向干系人同步进展。指挥官通过 Write 工具维护事件状态文档并依托插件的 Hooks 机制pre-deploy.js/post-deploy.js在关键节点获得反馈确保状态更新与实际系统变化同步。3.4 解决跟踪Відстеження розвязання从kubectl rollout status到健康检查通过指挥官要持续确认处置动作是否真正生效。插件提供的 health-check.sh 正是验证手段ENV${1:-production} # API 健康检查 curl -sf http://api.$ENV.example.com/health # 数据库就绪检查 pg_isready -h db.$ENV.example.com # Pod 就绪统计 kubectl get pods -n $ENV --no-headers | grep Running | wc -l指挥官可以据此判断 API、数据库、Pod 三个层面的恢复情况确认事件是否真正解决。3.5 post-mortem 复盘Фасилітація post-mortem事件解决后指挥官负责推动复盘整理时间线、根因、影响范围、改进项形成文档沉淀。这一步对应 incident.md 流程中的记录解决过程与安排 post-mortem两个步骤。四、与 /incident 命令的完整事件流程插件在 commands/incident.md 中定义了 7 步结构化事件响应工作流incident-commander正是这个工作流的执行主体创建事件记录Create incident record——通过 Write 工具建立事件记录作为后续所有跟踪的载体评估严重度和影响Assess severity and impact——结合alert-analyzer的分析结论定级通知值班团队Notify on-call team——通过 Bash 调用团队通知脚本仓库的 06-hooks/notify-team.sh 展示了这类通知机制的模式收集诊断信息Gather diagnostic information——Read Grep Bash 排查日志、指标与集群状态协调响应工作Coordinate response efforts——委派deployment-specialist执行修复/回滚记录解决过程Document resolution——更新事件记录与状态文档安排 post-mortemSchedule post-mortem——推动复盘并沉淀改进项。用户侧的触发方式非常简单在 Claude Code 会话中执行/incidentClaude 会加载插件中的事件响应子代理incident-commander按上述 7 步流程接管事件处置。配套的命令还有/status检查系统健康、/deploy部署、/rollback回滚构成完整的 DevOps 闭环。五、事件处置的底层执行链路一次典型的生产事件incident-commander的处置链路会触达插件的以下组件5.1 诊断Kubernetes MCP alert-analyzer插件通过 mcp/kubernetes-config.json 接入 Kubernetes MCP 服务器{ mcpServers: { kubernetes: { command: npx, args: [modelcontextprotocol/server-kubernetes], env: { KUBECONFIG: ${KUBECONFIG} } } } }前置条件是把KUBECONFIG指向你的集群配置例如export KUBECONFIG~/.kube/config并保证kubectl已安装且集群可达。incident-commander通过该 MCP 直接查询 Pod、Deployment 等集群资源状态配合alert-analyzer的告警关联能力完成根因定位。5.2 执行deployment-specialist deploy/rollback 脚本当事件需要回滚时指挥官委派deployment-specialist执行 rollback.shset -e ENV${1:-staging} # 获取上一版本 PREVIOUS$(kubectl rollout history deployment/app -n $ENV | tail -2 | head -1 | awk {print $1}) # 执行回滚 kubectl rollout undo deployment/app -n $ENV # 等待回滚完成 kubectl rollout status deployment/app -n $ENV # 健康检查 sleep 5 curl -f http://api.$ENV.example.com/health部署链路由 deploy.sh 完成预检lint 测试→ 构建 →kubectl apply→ 健康检查。5.3 验证Hooks 双保险pre-deploy.js 在操作前验证kubectl是否安装、是否已连接集群失败即中止post-deploy.js 在操作后等待 Pod 就绪kubectl wait --forconditionready超时 300 秒并运行冒烟测试。incident-commander依靠这两个 Hook 的输出来判断处置动作的成败确保状态更新有真实依据而非猜测。六、实战配置建议6.1 安装插件/plugin install devops-automation插件要求 Claude Code 2.1具备kubectl且集群访问已配置。安装后子代理位于插件agents/目录优先级低于项目级.claude/agents/和用户级~/.claude/agents/——如果你需要在某个项目中定制行为可以在项目级创建同名子代理覆盖插件默认定义。6.2 扩展与定制思路增强严重度评估在子代理 prompt 中补充本团队定级标准如 P0/P1/P2 的判定阈值或增加maxTurns、permissionMode等可选 frontmatter 字段约束其行为边界接入真实告警源让alert-analyzer通过 Bash 对接 Prometheus/Grafana 等监控系统再交由incident-commander聚合决策沉淀复盘资产利用 Claude Code 子代理的持久化记忆memory字段让指挥官跨会话积累历史事件知识。6.3 安全边界提示按 Claude Code 的插件安全约束插件提供的子代理不能自定义hooks、mcpServers和permissionMode字段以防止插件借子代理提升权限。因此incident-commander的 MCP 与 Hook 能力继承自插件本身配置这一点在使用时需心中有数。七、小结incident-commander虽然只是一个十几行的子代理定义文件但它体现了 Claude Code 插件化事件响应设计的完整范式精确的 frontmatter命名、描述、最小工具集 聚焦的系统提示词五项职责 与命令、脚本、Hook、MCP 的协同。在 claude-howto 的 devops-automation 插件中它与alert-analyzer、deployment-specialist一起把一次生产事故从告警发现、根因定位、协调处置到 post-mortem 复盘的全过程压缩成一次/incident即可触发的自动化工作流。你可以以此为模板将同样的模式复用到自己团队的监控、安全和发布流程中。【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考