示例:模板 & 速查

示例:模板 & 速查

一、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.md

B. 自动化:记忆 vs Skill vs Hook?

出现"每次 / 必须 / 一旦"关键词?
  ├─ 否 → 记忆(CLAUDE.md / auto-memory)
  └─ 是 ↓
频繁(每次工具调用级别)?
  ├─ 否 → 可能是 skill
  └─ 是 ↓
执行时间 < 3 秒?
  ├─ 否 → 走 CI,不走 hook
  └─ 是 → Hook

C. 开子 Agent 吗?

任务来了

主对话 1-2 步能搞定?── 是 → 自己干
  ↓ 否
大范围搜索 / 独立视角 / 2+ 独立任务?
  ↓ 是
2+ 独立任务?── 是 → 一条消息并行多 agent
  ↓ 否
能写完 5 要素 brief?── 否 → 先想清楚
  ↓ 是 → 开

D. 该不该 Plan?

改 3+ 文件?       ┐
改 API / 数据结构? │
改数据库 / 安全?   ├─ 任一为是 → 强制 Plan
不熟悉的库?       │
多种实现路线?     ┘
  ↓ 全否
完全确定改哪一行?── 否 → 还是 Plan
  ↓ 是
可跳过 Plan

E. 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

九、参考资源


← 08 · 常见反模式与翻车现场 | 目录