示例:模板 & 速查
一、CLAUDE.md 最小骨架
# <项目名>
## 技术栈
- <语言 / 框架 + 版本 + 关键坑>
## 命令
- dev: ...
- build: ...
- test: ...
## 约定
- <规则 1,具体可执行>
- <规则 2>
## 禁区
- <别动的目录 / 文件>
## 踩过的坑
- <教训 1>
- <教训 2>原则:100 行内;每行都可执行;删掉价值观,只留规则。
二、SKILL.md 最小骨架
单步流程型
---
name: <kebab-case-name>
description: <做什么> + <什么时候触发,列中英关键词> + <输入是什么形态>
---
# <Skill Name>
## When to use
- <场景描述>
- <输入要求>
## Steps
1. <第一步,含具体路径>
2. ...
## Inputs
- <参数 1>
## Output
- <结果形态>
## Do NOT
- <边界,防止过度扩展>索引分派型(大领域)
---
name: <domain>-best-practices
description: <领域> 最佳实践 - <主题 1>、<主题 2>、<主题 3>...
user-invocable: false # 被动参考的规则集
---
# <Domain> Best Practices
Apply these rules when <writing/reviewing> <domain> code.
## <Topic 1>
See [topic-1.md](./topic-1.md) for:
- <具体规则 1>
- <具体规则 2>
## <Topic 2>
See [topic-2.md](./topic-2.md) for:
- ...三、Hook 模板速查
禁区保护(PreToolUse + exit 2)
{
"hooks": {
"PreToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -q '<PATH_PATTERN>'; then echo 'BLOCKED: <REASON>' >&2; exit 2; fi"
}]
}]
}
}PostToolUse + 文件过滤
{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qE '\\.(ts|tsx)\"'; then <COMMAND>; fi"
}]
}]
}
}Stop 时提醒
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "<CHECK_COMMAND>"
}]
}]
}
}UserPromptSubmit 注入 context
{
"hooks": {
"UserPromptSubmit": [{
"hooks": [{
"type": "command",
"command": "cat <CONTEXT_FILE> 2>/dev/null"
}]
}]
}
}四、判断决策树集合
A. 信息放哪?
信息进来
↓
下次会话还需要?── 否 → 不用存,会话结束自然丢掉
↓ 是
项目特有?── 否 → auto-memory
↓ 是
适合入 git?── 否 → auto-memory
↓ 是
CLAUDE.mdB. 自动化:记忆 vs Skill vs Hook?
出现"每次 / 必须 / 一旦"关键词?
├─ 否 → 记忆(CLAUDE.md / auto-memory)
└─ 是 ↓
频繁(每次工具调用级别)?
├─ 否 → 可能是 skill
└─ 是 ↓
执行时间 < 3 秒?
├─ 否 → 走 CI,不走 hook
└─ 是 → HookC. 开子 Agent 吗?
任务来了
↓
主对话 1-2 步能搞定?── 是 → 自己干
↓ 否
大范围搜索 / 独立视角 / 2+ 独立任务?
↓ 是
2+ 独立任务?── 是 → 一条消息并行多 agent
↓ 否
能写完 5 要素 brief?── 否 → 先想清楚
↓ 是 → 开D. 该不该 Plan?
改 3+ 文件? ┐
改 API / 数据结构? │
改数据库 / 安全? ├─ 任一为是 → 强制 Plan
不熟悉的库? │
多种实现路线? ┘
↓ 全否
完全确定改哪一行?── 否 → 还是 Plan
↓ 是
可跳过 PlanE. Commit 前的自检
改动是一件事吗?── 否 → 先拆 stage
↓ 是
message 写了 why?── 否 → 补
↓ 是
标题 ≤ 72 字符?── 否 → 精简
↓ 是
祈使语气 / 小写开头?── 否 → 改
↓ 是 → 提交五、Brief 子 Agent 的五要素公式
[背景] ← 为什么做这件事
[具体位置] ← 文件路径 / 函数名 / 行号
[明确任务] ← 1、2、3 列清楚
[输出形式] ← 报告?代码?checklist?
[长度限制] ← "500 字内"加分项:显式说 不要改代码 / 不要创建文件 / 只 grep 不实际跑。
六、Commit / PR 模板
Commit Message
<type>(<scope>): <what changed, imperative, lowercase, no period>
<optional body: why, not what>
<optional footer: BREAKING CHANGE, refs>PR 描述
## Why
<动机 / 来源>
## What changed
<核心改动 1-3 条,不罗列文件>
## How to test
<可执行 checklist>七、配置文件位置速查
| 文件 | 位置 | 入 git | 用途 |
|---|---|---|---|
| 项目 CLAUDE.md | <repo>/CLAUDE.md | ✅ | 项目宪法 |
| 项目本地 CLAUDE.md | <repo>/CLAUDE.local.md | ❌ | 本机覆盖 |
| 用户 CLAUDE.md | ~/.claude/CLAUDE.md | — | 跨项目个人宪法 |
| 项目 skills | <repo>/.claude/skills/ | ✅ | 项目专属 skill |
| 用户 skills | ~/.claude/skills/ | — | 跨项目 skill |
| 项目 settings | <repo>/.claude/settings.json | ✅ | 团队配置(hook、权限) |
| 项目本地 settings | <repo>/.claude/settings.local.json | ❌ | 本机覆盖 |
| 用户 settings | ~/.claude/settings.json | — | 跨项目个人配置 |
| auto-memory | ~/.claude/projects/<path>/memory/ | — | Claude 私人档案 |
八、命令速查
| 场景 | 命令 |
|---|---|
| 快速追加一条 CLAUDE.md | # <rule> 回车后选层级 |
| 编辑 CLAUDE.md | /memory → 选 Project / User |
| 看 auto-memory 原始文件 | /memory → 选 Open auto-memory folder |
| 初始化新项目的 CLAUDE.md | /init |
| 代码 review | /review |
| 安全审查 | /security-review |
| 查找 skill | /find-skills 或直接问 Claude |
九、参考资源
- Claude Code 官方文档 (opens in a new tab)
- Anthropic Claude API 文档 (opens in a new tab)
- Conventional Commits (opens in a new tab)