4  项目配置

每次打开 Claude Code 都要重新交代背景是一件烦人的事。CLAUDE.md 配置文件解决这个问题——它让 Claude Code 在启动时自动了解你的项目。在此基础上,Skills 提供可复用的任务模板,插件则可将完整工作流打包分享给团队。

4.1 CLAUDE.md:让 Claude Code 了解你的项目

CLAUDE.md 是 Claude Code 的项目指令文件,每次启动时自动读取。有了它,你不需要在每次对话开头重新交代”我用 R 做分析、数据在哪里、输出格式是什么”——Claude Code 一打开项目就已经知道了。

4.1.1 创建与示例

在 Claude Code 聊天框中输入:

帮我在项目根目录创建一个 CLAUDE.md 文件,内容包括:
1. 项目背景(数据来源、研究问题、主要变量)
2. 数据文件的存放位置
3. 代码规范(语言、命名规则、随机种子)
4. 输出文件规范(格式、命名方式)
请根据我们目前的项目情况填写具体内容。

以下是一个实际可用的示例:

# 项目:中国家庭追踪调查分析

## 数据文件
- 原始数据:data/raw/cfps2020.dta
- 清洗数据:data/cleaned/cfps2020_clean.rds
- 输出目录:output/

## 代码规范
- 使用 R + tidyverse,snake_case 命名
- set.seed(20200101)
- 稳健标准误使用 estimatr::lm_robust()

## 输出规范
- 回归表格:modelsummary 输出,保存为 HTML
- 图形:ggplot2,width = 7, height = 5,保存为 PNG
提示

好的 CLAUDE.md 回答三个问题:项目是什么数据在哪里你希望它怎么工作。20-30 行通常就够用了——过长的配置文件反而难以维护。

注释

建议在 .gitignore 中排除原始数据文件(*.dta*.rds),但将 CLAUDE.md 提交到 Git,方便团队成员共享同一套规范。

4.1.2 多级配置

CLAUDE.md 支持三个层级,启动时从外到内依次叠加:

~/.claude/CLAUDE.md          ← 个人级:所有项目共用
  项目根目录/
    CLAUDE.md                ← 项目级:本项目所有对话
    data/
      CLAUDE.md              ← 目录级:仅 data/ 子目录

个人级记录跨项目的稳定偏好,例如默认使用 R 语言、代码风格要求、中英文写作习惯。

项目级记录本研究的具体规范,通常和代码一起提交到 Git,方便团队成员共享。

目录级用于特定子目录的补充说明,例如 data/ 目录中数据文件的编码方式和缺失值约定。

内层配置覆盖外层;子目录配置仅在其作用范围内生效。

以下内容适合写入 CLAUDE.md:

适合 不适合
数据文件路径 分析过程中产生的中间结果
变量定义和编码说明 每次对话的具体任务
代码风格和包版本偏好 临时的格式要求
研究问题和主要假设 会随时间变化的决策
提示

团队协作:将项目级 CLAUDE.md 提交到 Git,所有成员的 Claude Code 会自动遵循相同规范,无需口头约定。长期项目:在 CLAUDE.md 中记录数据版本、变量定义和关键分析决策,避免日后遗忘。

4.2 Skills:可复用的工作流模板

CLAUDE.md 告诉 Claude Code 项目是什么;Skills 告诉它特定类型的任务该怎么做。当你的需求符合某个 Skill 的触发条件时,Claude Code 会自动加载并遵循它的工作流——无需手动调用。

Skills 是存储在特定目录的 Markdown 文件:

位置 适用范围
~/.claude/skills/ 所有项目
.claude/skills/ 当前项目

4.2.2 创建自定义 Skill

针对自己的研究项目,你也可以手动创建 Skill。在 Claude Code 聊天框中输入:

帮我在 ~/.claude/skills/ 目录下创建一个名为 "cfps-analysis.md" 的 Skill 文件,
触发条件是"分析 CFPS 数据",内容包括:
1. 加载数据的标准步骤
2. 常用变量的标签说明
3. 本研究惯用的统计方法(OLS + 稳健标准误)

以下是对应的 Skill 文件结构:

---
name: cfps-analysis
description: 分析 CFPS 数据时自动触发,提供数据加载和分析规范
---

## 数据加载
- 原始数据:data/raw/cfps2020.dta,使用 haven::read_dta()
- 清洗数据:data/cleaned/cfps2020_clean.rds,使用 readRDS()

## 常用变量
- cfps2020edu:受教育年限(0–22)
- cfps2020_occupation_isei:职业地位得分

## 分析规范
- 统一使用 estimatr::lm_robust() 做稳健标准误
- 输出表格使用 modelsummary(),保存为 HTML

4.3 插件:团队级工作流打包

当你积累了一套成熟的工作流——包括斜杠命令、子代理、MCP 服务器和 Hooks——可以将它打包为插件,方便在新项目中一键部署或分享给团队。

维度 Skills 插件
内容 单一工作流指引(Markdown 文件) 多功能打包(命令 + 代理 + 配置)
安装 复制 .md 文件 /plugin install 插件名
适合 个人工作流模板 团队完整解决方案

4.3.1 Superpowers

Superpowers 涵盖从需求分析到代码完成的完整编码工作流,包括头脑风暴、任务拆解、测试驱动开发、系统调试和代码审查。在复杂编码任务时自动触发,无需手动调用。

帮我安装这个 skill:https://github.com/obra/superpowers

关于 Superpowers 各个技能的详细介绍和使用方法,参见 章节 5.1

4.3.2 Web-Access

Web-Access 赋予 Claude Code 联网能力,适合文献调研和数据获取。支持网页搜索和页面抓取,并可将多目标任务并行分发给子代理处理。

帮我安装这个 skill:https://github.com/eze-is/web-access
注释

Web-Access 完整功能需要 Node.js 22+ 以及开启远程调试的 Chrome 浏览器。仅做网络搜索时无需额外配置。Node.js 安装见 章节 8.5(Windows)或 章节 8.4(macOS/Linux)。

4.3.3 创建自定义插件

当你的研究分析流程已经稳定,可以让 Claude Code 将其打包为插件,方便在新项目中复用:

把我们目前这个项目中的分析流程打包为一个插件,
包括:数据检查命令、描述性统计模板、回归分析模板,
以及自动格式化 R 代码的 Hook

4.4 延伸学习:Claude How To

claude-howto 是一套 Claude Code 练习仓库,包含 10 个专题模块、可直接复用的配置模板,以及内置的自测命令。读完本书对应章节后,通过这些模块动手练习,可以快速将知识转化为操作熟练度。

4.4.1 快速上手

git clone https://github.com/luongnv89/claude-howto.git
cd claude-howto

克隆后进入对应模块目录,按该模块的 README 操作即可。以第 4 章对应的模块为例:

# 设置项目级 Memory(对应 02-memory 模块)
cp 02-memory/project-CLAUDE.md ./CLAUDE.md

# 安装 Skill 模板(对应 03-skills 模块)
cp -r 03-skills/code-review ~/.claude/skills/

4.4.2 与本书章节的对应关系

按刚读完的章节找到对应模块,不必从头到尾顺序学完:

本书章节 对应模块 预计时间
第2章 日常使用 01-slash-commands08-checkpoints 1.5 小时
第4章 项目配置 02-memory03-skills07-plugins 3 小时
第7章 命令行工具 10-cli 30 分钟
第9章 子代理与CLI 04-subagents09-advanced-features 3.5 小时
第10章 MCP与Hooks 05-mcp06-hooks 2 小时

4.4.3 自测功能

每个模块安装完成后,可在 Claude Code 对话框中使用内置命令:

  • /self-assessment:测试对当前模块知识点的掌握程度
  • /lesson-quiz:针对具体功能的练习题
提示

建议:读完本书哪一章,就去练对应的模块,学到的内容可以立即在真实项目中应用。不要等全书读完才开始动手。