让 Claude Code 真正读懂你的项目:claude-code-setup 插件实战指南

claude-code-setup 插件

1. 为什么需要这个插件?

大部分人装完 Claude Code 后,直接让它帮忙写个脚本,用着用着就觉得一般。不是模型能力不够,而是 Claude 没有掌握项目的全貌。

Claude Code 默认能访问你的文件系统,但它缺少一个关键环节:项目上下文的主动发现

它知道你有一个 extractor.py,但它不知道这个文件在整个架构里的角色、不知道你的编码规范、不知道你已有哪些工具链。

就像一个聪明的实习生,代码全给他了,但没人告诉他项目怎么跑、规则是什么、坑在哪。

claude-code-setup 填补的就是这个空白。

2. 插件做了什么

它不是一个简单的推荐列表生成器。它的工作流程是:

  1. 深度扫描:读取 pyproject.tomlpackage.jsonCargo.toml 等项目配置文件,识别技术栈和依赖
  2. 结构分析:遍历 src/tests/data/ 等目录,理解项目的模块划分和架构模式
  3. 模式匹配:发现你已有的工具(测试框架、lint 配置、CI/CD)、未使用的能力(空白的 .claude/ 目录)、可自动化的重复劳动
  4. 生成推荐:基于分析结果,给出 5 个维度的定制化建议——每一条都带着"为什么这对你的项目有用"的解释
  5. 逐条确认:不自动应用任何东西,每条推荐让你自己决定是否启用

它的核心价值在于:不是给你通用的 AI 建议,而是理解你的代码之后,给你量身定做的方案

3. 安装与使用

装完 Claude Code 后,在项目目录里执行:

# 一条命令安装
/plugin install claude-code-setup@claude-plugins-official

# 触发项目分析
recommend automations for this project

插件不会瞎猜——它会实际读你的项目文件:

🔍 扫描 resume-parser/
├─ ✅ 检测到: Poetry, FastAPI, Pydantic, scikit-learn
├─ ✅ 发现: PDF 解析 (pypdf), NLP (spacy), 向量数据库 (chromadb)
├─ ✅ 识别: auth 中间件, 异步 worker, 测试 fixtures
├─ ✅ 注意到: .env.example, Dockerfile, GitHub Actions CI

💡 正在生成定制化推荐...

关键:插件不自动应用任何东西。它会解释每条推荐为什么重要,让你逐条选择是否启用。

4. 五大能力详解

4.1. MCP Server — 让 Claude 操作工具,不只是谈论

MCP Server 让 Claude 直接调用你的工具栈。

配置样例(写入 .claude/settings.json):

{
  "mcpServers": {
    "python-repl": {
      "command": "uvx",
      "args": ["mcp-server-python", "--project", "."],
      "description": "在项目的 virtualenv 里执行 Python 代码"
    },
    "filesystem": {
      "command": "uvx",
      "args": ["@modelcontextprotocol/server-filesystem", "/resume-parser"],
      "description": "安全的、限定范围的文件操作"
    },
    "chromadb": {
      "command": "uvx",
      "args": ["mcp-server-chroma", "--path", "./data/vectors"],
      "description": "查询简历嵌入向量进行语义搜索"
    }
  }
}

有 MCP 后,你说"解析这份新简历 PDF,提取技能,匹配 senior-engineer 画像",Claude 会:

  • 通过 Python REPL MCP 调用 pypdf 提取文本
  • 运行你的 normalizer.py 清洗数据
  • 查询 ChromaDB 做语义匹配
  • 返回结构化的匹配分数

没有 MCP:Claude 只会描述怎么做。有了 MCP:直接做给你看。

4.2. Skill — 固化编码规范

Skill 是用自然语言写的操作手册,把团队的编码模式固化到 .claude/skills/ 下。

<!-- .claude/skills/resume-parsing.md -->
## 本项目中的简历解析
1. 始终以 `src/parser/extractor.py::ResumeExtractor` 作为入口
2. 用 `dateutil.parser` + `src/utils/dates.py` 标准化日期
3. 用 Pydantic 对照 `data/schemas/resume_v2.json` 校验输出
4. 以 `logger.debug()` 记录解析置信度,附上下文
5. 不要硬编码字段映射 — 用 `src/config/field_aliases.py`

## ML 集成规则
- 新特征必须经过 `src/ml/feature_engineering.py`
- 嵌入必须用 `src/ml/embeddings.py` 中的封装
- 始终缓存向量结果到 `data/cache/embeddings/`

之后让 Claude “添加从简历头部提取 GitHub 个人主页的功能”,它会:

  • 按你的类结构编辑 extractor.py
  • 在 Pydantic schema 中增加校验
  • 更新 config 的字段别名
  • tests/unit/test_extractor.py 中写测试

4.3. Hook — 关键节点自动守门

Hook 是 Python/bash 脚本,在 Claude 工作流的特定时刻自动触发。

pre-edit hook — 修改文件前拦截不安全操作:

# .claude/hooks/pre-edit.py
import sys, json, re
from pathlib import Path
data = json.load(sys.stdin)
file_path = Path(data.get("file_path", ""))

PROTECTED_PATTERNS = [
    r"src/parser/_generated/.*",   # 自动生成的解析器
    r"data/samples/.*\.pdf",       # 原始简历文件
    r"\.env.*",                    # 密钥
]
if any(re.match(p, str(file_path)) for p in PROTECTED_PATTERNS):
    print(json.dumps({"block": True, "reason": f"⚠️ {file_path} 受保护。请使用 CLI 工具"}))

if file_path.suffix == ".py":
    print(json.dumps({"post_action": {"command": ["ruff", "check", "--fix", str(file_path)]}}))
print(json.dumps({"block": False}))

post-test hook — 测试失败时自动分析:

# .claude/hooks/post-test.sh
pytest "$@" --tb=short -q
if [ $? -ne 0 ]; then
    echo "🔍 正在用 Claude 分析失败原因..."
    echo "分析这些测试失败并建议修复方案:" $(cat pytest-failures.log)
fi

4.4. Subagent — 领域专用 Agent

与其让通用 Claude 包办一切,不如启动专为此任务打造的 Agent。

Claude Code 的 Subagent 是放在 .claude/agents/ 下的 Markdown 文件(YAML frontmatter 定义名称与职责):

<!-- .claude/agents/resume-validator.md -->
---
name: resume-validator
description: 专门校验简历解析输出的 Agent。检查 schema 合规性、数据质量、
  字段缺失、日期格式不一致、可疑的技能夸大。复用 skills/pydantic-validation.md
  与 skills/data-quality-checks.md 中的规则,当修改 src/parser/** 或相关测试时
  主动使用,也可通过 /validate-parse 命令触发。
---

执行 /validate-parse src/parser/extractor.py,它会:

  • 检查所有 Pydantic model 有 validate_assignment=True
  • 验证 PDF 的错误处理
  • 确保边界情况测试覆盖
  • 返回可操作的建议

4.5. 斜杠命令 — 把复杂流程变成一行

把多步工作流打包成自定义命令:

<!-- .claude/commands/benchmark-parser.md -->
运行端到端解析基准测试:
1. 从 `data/samples/benchmark/` 加载 10 份样例简历
2. 用 `ResumeExtractor` + 计时埋点逐份解析
3. 计算: 平均延迟、内存峰值、字段完整率 %
4. 与 `data/baselines/v1.2.json` 中的基线对比
5. 生成 Markdown 报告到 `reports/benchmark-$(date).md`
6. 如果性能衰退 >5%, 通过 `src/monitoring/alerts.py` 告警
用法: /benchmark-parser --samples=20 --compare=v1.2

输出效果:

/benchmark-parser
✅ 已加载 20 份样例 (PDF:12, DOCX:5, TXT:3)
⏱️  平均解析时间: 1.24s (±0.3s) — ✅ 在基线范围内
🧠  字段完整率: 98.7% (↑1.2% vs v1.2)
⚠️  检测到衰退: PDF 解析内存峰值 +7.1%
🔍  建议: Profile `pypdf` 图片提取逻辑 extractor.py:142
📄  报告已保存: reports/benchmark-20260507.md

5. 完整推荐链

触发 recommend automations 后,插件会输出一份完整的推荐清单:

🔌 MCP Server:
  → python-repl MCP        (检测到 Poetry virtualenv)
  → chromadb MCP           (检测到向量搜索)
📚 Skill:
  → resume-parsing.md      (标准化提取逻辑)
  → ml-feature-engineering.md (可复现 pipeline)
🪝 Hook:
  → pre-edit schema-guard  (保护 Pydantic 模型)
  → post-test coverage-check (强制覆盖率 ≥90%)
🤖 Subagent:
  → resume-validator       (数据质量保障)
  → security-auditor       (扫描日志中 PII 泄露)
⚡ Slash Command:
  → /benchmark-parser      (性能衰退追踪)
  → /deploy-check          (生产前校验)

6. 安装前后对比

之前.claude/ 只有空的 settings.json

> "给解析器加上 LinkedIn URL 提取功能"
Claude:
- 瞎猜你的类结构,用泛型正则(国际格式直接翻车)
- 忘了更新 Pydantic schema,没加测试,日志也漏了

之后.claude/ 有完整的配置体系

.claude/
├── settings.json        ← MCP: python-repl, filesystem, chromadb
├── skills/
│   ├── resume-parsing.md
│   └── ml-feature-engineering.md
├── hooks/
│   ├── pre-edit-schema-guard.py
│   └── post-test-coverage-check.sh
├── agents/
│   ├── resume-validator.md
│   └── security-auditor.md
└── commands/
    ├── benchmark-parser.md
    └── deploy-check.md
> "给解析器加上 LinkedIn URL 提取功能"
Claude:
✅ 用你的 FieldExtractor 基类编辑 extractor.py
✅ 在共享库中添加正则 + fallback
✅ 更新 ResumeSchema
✅ 添加 pytest 用例
✅ 用 logger.debug() 记录提取置信度
✅ 编辑后自动运行 ruff + mypy
✅ 建议: "要加入基准测试套件吗?(/benchmark-parser)"

7. 插件生态命令

/plugin discover --tag=python   # 浏览 Python 相关插件
/plugin install <name>@<source> # 安装插件
/plugin list                    # 查看已激活插件
/plugin update --tag=python     # 更新插件

8. 五分钟上手

npm install -g @anthropic-ai/claude-code
cd your-project
claude
/plugin install claude-code-setup@claude-plugins-official
recommend automations for this project
# 建议先启用 python-repl MCP + 项目 skill
# 再加 hook + subagent

8.1. 安全提醒

插件可执行代码、访问文件系统、安装依赖。请始终:

  1. 安装前审查源码(点击插件源码链接)
  2. 先用 --dry-run 预览推荐
  3. 用虚拟环境(uv venvpoetry shell)做隔离

社区插件像对待 PyPI 包一样:审查、测试、再信任。

9. 参考