# Claude Code 高阶玩法

> Claude Code 进阶工作流:计划模式、子代理、后台任务、工作树、无头模式、自定义命令和验证习惯。

URL: https://docs.passion8.cc/docs/claude-code/tips
Language: zh-CN
Publisher: Passion8

这页不重复配置细节,而是把 Claude Code 用顺手的工作流串起来。专项能力见: [记忆与规则](https://docs.passion8.cc/docs/claude-code/memory)、[MCP](https://docs.passion8.cc/docs/claude-code/mcp)、[Hooks](https://docs.passion8.cc/docs/claude-code/hooks)、[权限](https://docs.passion8.cc/docs/claude-code/permissions)、[缓存](https://docs.passion8.cc/docs/claude-code/prompt-caching)。

## 大任务节奏





### 先计划


```text
先只读相关文件,列出最小改动方案、风险和验证命令,不要修改文件。
```

适合用 `/plan` 或 `Shift+Tab` 切到 plan mode。




### 再执行


```text
按方案执行。不要做无关重构。遇到范围变化先停下来说明。
```




### 最后验证


```text
改完跑 lint、typecheck 和相关测试。UI 改动检查浅色、暗色和移动端。
```







## 子代理

子代理适合把任务拆给专门角色,隔离上下文并减少主会话噪音。

```markdown title=".claude/agents/test-runner.md"
---
name: test-runner
description: 运行测试并定位失败原因
tools: Read, Bash, Grep
---

你是测试专家。运行项目测试,失败时定位根因。
不要擅自大范围改动,只给最小修复建议。
```

用法:

- 让 Claude 创建或调整 `.claude/agents/`
- 项目级放 `.claude/agents/`
- 个人级放 `~/.claude/agents/`
- 后台任务可配合 `/tasks`、`/background`、`claude agents`

## 后台和并行

| 命令 | 用途 |
| --- | --- |
| `/background` | 当前会话转入后台,终端释放 |
| `/tasks` | 查看当前会话后台任务 |
| `/fork` | 把当前上下文分派给后台子任务 |
| `/batch` | 把大型迁移拆成多个 worktree 并行 |
| `claude agents` | 管理所有后台 sessions |
| `claude attach <id>` | 回到某个后台 session |

并行前先确保仓库干净,并明确每个子任务的边界。跨文件大量修改更适合 `--worktree` 或 `/batch`,避免多个 agent 改同一份工作区。

## 检查点与回退

| 工具 | 适合场景 |
| --- | --- |
| `Esc` 两次 | 回到上一条消息编辑 |
| `/rewind` | 回退对话和文件检查点 |
| git | 回滚真实代码改动 |
| `/compact` | 保留摘要继续做同一任务 |
| `/clear` | 换任务或重置上下文 |

如果方向错了,优先 `/rewind`。如果任务完成但上下文太长,再 `/compact`。

## 无头模式

`claude -p` 适合脚本和 CI:

```bash
git diff --staged | claude -p "用一句中文总结这些改动,作为 commit message"
claude -p "列出本仓库 TODO,按文件分组" --output-format json
claude -p "修复 lint 报错" --allowedTools "Read,Edit,Bash"
```

无人值守时不要只靠 `--allowedTools`。它是预批准,不是限制工具。需要限制内置工具用 `--tools`,需要禁止工具用 `--disallowedTools` 或 permissions deny。

## 自定义命令

`.claude/commands/` 能把常用 prompt 固化:

```markdown title=".claude/commands/release-check.md"
---
description: 发布前检查
argument-hint: [版本或模块]
---

检查 $ARGUMENTS 的发布风险。
先看 git diff,再检查测试、文档、配置和安全风险。
最终输出阻塞项和非阻塞建议。
```

调用:

```text
/release-check billing
```

## 验证习惯

| 改动 | 至少验证 |
| --- | --- |
| 文档内容 | 构建页面、打开对应路由 |
| TypeScript | `npm run typecheck` |
| lint 规则相关 | `npm run lint` |
| UI | 桌面、移动端、浅色、暗色 |
| MCP/Hook | `/mcp`、`/hooks`、真实触发一次 |
| 权限 | `/permissions` 和一次正反例工具调用 |

## 接着看



- [命令大全](https://docs.passion8.cc/docs/claude-code/commands): 所有常用 CLI 和斜杠命令。
- [Prompt 缓存](https://docs.passion8.cc/docs/claude-code/prompt-caching): 长会话和成本优化必须理解的缓存机制。

