Claude Code Automation 是一份关于 Claude Code 自动化能力面的通用参考,用于梳理各类自动化机制并判断在具体需求下应当选用哪一种。资料定位为内部参考,依赖用户已经安装好的环境。
一、用途 该参考的核心用途是提供一张“自动化能力地图”,并配以决策矩阵,帮助使用者在面对不同需求时选择正确的自动化面。
二、主要能力与决策矩阵 资料给出的决策矩阵按“需求—能力面—存放位置”组织:
- 在每个工具事件上运行 shell 命令:Hook,位于 settings.json 的 hooks: 中。
- 封装领域知识加工作流:Skill,位于 .claude/skills/<name>/SKILL.md。
- 由用户调用的确定性多步流程:Slash 命令,位于 .claude/commands/<name>.md。
- 从主代理派生的隔离工作单元:Sub-agent,位于 .claude/agents/<name>.md。
- 协调式多代理模式:Agent team,位于 .claude/agent-teams/<name>.yaml。
- 外部工具面(API、CLI):MCP server,位于 .mcp.json 或 settings.json 的 mcpServers: 中。
- 将上述内容打包复用:Plugin,位于 plugins/<name>/.claude-plugin/plugin.json。
- 按 cron 运行:桌面端 Scheduled task 或 CLI 的 Routine,位于桌面 MCP scheduled-tasks 或 ~/.claude/routines/。
- 非交互式 CI 运行:Headless 模式,命令为 claude -p "..." --output-format stream-json。
- 程序化嵌入:Agent SDK,即 @anthropic-ai/claude-agent-sdk(TS)或 claude-agent-sdk(Python)。
- 结构化跨会话聊天:Channel,位于 channels.json 加 channels-reference。
- 丰富的 CLI 内 UI:全屏模式,命令为 claude --fullscreen 或 TUI 扩展。
三、Hooks 的三个关键生命周期事件
- PreToolUse:否决或修改工具调用,{"decision":"block","reason":"..."} 表示阻止。
- PostToolUse:对工具结果作出反应(自动格式化、审计日志)。
- Stop / SubagentStop:工作结束时进行清理。 资料给出的配置示例为: { "hooks": { "PreToolUse": [{ "matcher": {"tool_name": "Bash"}, "command": "bash .claude/hooks/protect-sensitive-files.sh" }] } }
四、Skills、命令与子代理的区别
- Skills 是知识加流程,通过描述匹配自动调用,用于领域专长。
- 命令是确定性的可调用流程,用户输入 /name 触发,用于可重复操作。
- 子代理是隔离的工作单元,用于并行或保护上下文窗口。
五、MCP 内部模式 资料建议在可用时优先使用 MCP 工具而非 shell 包装,并先检查工具面,示例包括:
From this session
mcp__harness__* # Harness platform ops mcp__kubernetes__* # K8s resources mcp__9c1c57f5_...atlassian_* # Jira + Confluence mcp__384a610f_...* # M365: Outlook, SharePoint, Teams mcp__MCP_DOCKER__azure* # Azure services mcp__scheduled-tasks__* # Desktop scheduled tasks
六、Plugins 打包内容 插件是一个连贯的成果,即用户可安装并从中获得价值的市场条目。应打包:
- .claude-plugin/plugin.json:元数据。
- skills/:自动调用的知识。
- commands/:用户调用的流程。
- agents/:专门化的工作单元。
- hooks/:生命周期脚本。
- rules/:始终加载的指令。
- README.md:功能说明与安装方式。 注册到市场:编辑 <marketplace>/.claude-plugin/marketplace.json,添加 plugins[] 条目。
七、定时任务(桌面端) 示例: mcp__scheduled-tasks__create_scheduled_task name: "harness-daily-health" cron: "0 9 * * *" prompt: "Run /wa-pipeline status for all thelobbi pipelines and post to Slack"
八、Headless 模式(CI 模式)
示例:
claude -p "run /wa-report for work-unit-14"
--output-format stream-json
--allowed-tools "Read,Bash"
--max-turns 10
用于 Harness CI 步骤中,让 Claude 在没有 TTY 的情况下运行特定流程。
九、权限的四种模式
- default:交互式,用户批准新的调用。
- acceptEdits:文件编辑预先批准,工具仍会询问。
- plan:只读,用于分析。
- bypassPermissions:仅用于 CI 或受信任的自动化。 在 settings.json 的 permissions.mode 中设置,或按调用使用 --permission-mode。
十、记忆(memory/ 加 MEMORY.md)
- MEMORY.md 是始终加载的索引,每条不超过 150 字符,一行一条。
- 条目写入 memory/<name>.md,带 frontmatter(type: user | feedback | project | reference)。
- 切勿将记忆内容直接写入 MEMORY.md。
十一、检查点 文件检查点可跨会话保留状态。通过 settings.json 的 "checkpointing": { "enabled": true } 启用。用于必须经受重启的长时间分析。
十二、常见自动化配方
- 编辑时自动格式化:在 Edit/Write 上挂 PostToolUse hook 加各语言格式化器。
- 保护机密:在 Bash 上挂 PreToolUse hook,匹配 .env|.pem|.pfx|*.key 模式。
- CI 守门人:Headless Claude 加 --allowed-tools 白名单加由流水线解析的 stream-json 输出。
- 每日报告:定时任务运行 /wa-report 并通过 MCP 发布到 Slack/Teams。
- 工作单元关闭:SubagentStop hook 发出审计事件并触发报告生成。
十三、相关内容
- skills/harness-automation:CI/CD 侧。
- skills/work-unit-protocol:本自动化所面向的报告契约。
- rules/ultra-mode.md:每个自动化都遵守的约束。
十四、适用场景与限制 该资料适用于需要为 Claude Code 选择自动化机制、配置 Hook、打包插件、设置定时任务或在 CI 中使用 Headless 模式的场景。其限制在于:资料定位为内部参考,依赖用户已安装的环境;关于收费、价格、平台支持范围等信息暂未提供。