关于 map-project
用于根据代码库实际情况更新 CLAUDE.md 和参考文档的项目梳理技能,涵盖框架识别、代码盘点、文档更新与验证;仅在明确请求或被调用的工作流中运行。
主要功能
- 01识别项目结构与范围
- 02盘点代码和公开接口
- 03先更新参考文档再更新 CLAUDE.md
- 04记录可用技能和 MCP 服务
- 05验证覆盖范围与文档预算
适用场景
- 01重构后刷新项目记忆
- 02梳理特定应用或 API 范围
- 03依据当前代码更新仓库指南
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill map-project安装后在 Claude Code 中输入/map-project确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/framework-discovery.mdoutput-contract.mdskills-and-mcp.md详细介绍
映射项目
输入
$request:可选的目标范围或刷新说明,例如api only、after auth refactor或update the docs for the Next.js app。
目标
刷新 CLAUDE.md 和导入的参考文档,使其描述真实项目,而非过时、通用或不完整的模式。
步骤 0:确定范围并识别项目形态
确定:
- 用户需要全面刷新还是限定范围的刷新
- 当前使用的主要框架或项目形态
- 仓库是单个应用,还是只有一个主要应用面的单一仓库
- 已有哪些记忆文件需要更新,而非重新创建
加载 references/framework-discovery.md,了解:
- 框架识别顺序
- 框架特定的探索要求
- 清单要求
遇到以下情况时,提前停止:
- 无法识别仓库形态
- 请求范围过于模糊,无法确定要更新哪些记忆文件
成功标准:在开始探索前,明确项目形态和文档范围。
步骤 1:写入前进行全面探索
使用适用于相应框架的方法,清点代码库的实际情况:
- 路由、界面或处理程序
- 导出项、模型、服务、钩子、模块或软件包
- 有状态实体及其生命周期流程
- API 路由、CLI 入口或软件包导出等公共接口
- 关键子系统及其集成边界
- 仓库自身提供的能力:项目内提交的技能(
.claude/skills/)和已启用的 MCP 服务(.mcp.json/.claude/settings*.json)
规则:
- 不要轻信记忆或旧文档;应通过代码核实
- 对参考文档约定要求覆盖的内容,统计其数量
- 搜索实际实现示例,为指南提供依据
- 如果仓库已有部分文档,应先核实并补充,而不是不加判断地重写
加载 references/framework-discovery.md 并完成适用于已识别项目形态的探索步骤。
加载 references/skills-and-mcp.md,了解技能和 MCP 的发现来源及脱敏规则。
成功标准:收集到足够具体的清单信息,能够在不使用占位符或猜测的情况下记录项目情况。
步骤 2:先更新参考文件
根据探索所得的实际情况,刷新或创建导入的参考文件:
- 导出项或 API 接口参考文档
- 开发指南
- 架构参考文档
加载 references/output-contract.md,了解:
- 必需文件
- 每个文件必需的章节
- 框架特定的章节要求
- 行数预算目标
写作规则:
- 使用真实项目示例,而非通用模板
- 尽量用简洁的表格替代重复的文字说明
- 记录 Agent 在实现过程中实际需要的模式
- 各文件应各有侧重,避免内容重复
成功标准:参考文件准确反映代码库的实际情况,且篇幅适中、便于使用。
步骤 3:将 CLAUDE.md 更新为精简入口
将 CLAUDE.md 视为精简的路由入口:
- 导入详细的参考文件
- 仅在文件内保留高价值的速查内容和项目级指导
- 不要重复导入文件中已有的大型表格或操作指南
- 加入一个精简的内联“可用技能和 MCP — 优先使用”部分,并在
CLAUDE.md最顶部添加一行指引,让后续 Agent 使用仓库的技能和 MCP 服务,而不是忘记它们——该内容必须保留在CLAUDE.md本身,不能放入导入的参考文件,因为只有始终加载的文本才会改变行为
规则:
- 保留现有已检入的项目指导,除非调查发现其已过时或有误
- 不要仅仅因为有用的人为编写的约定不属于生成结构,就将其删除
- 让速查内容确实能帮助 Agent 选择合适的导入文件
加载 references/output-contract.md,了解预期的 CLAUDE.md 结构。
加载 references/skills-and-mcp.md,了解“可用技能和 MCP”部分的格式及发现来源。
成功标准:CLAUDE.md 成为精简、准确的入口,指向更新后的项目记忆。
步骤 4:验证覆盖范围、篇幅预算和实用性
在宣布完成前,验证此次更新:
- 必需文件均已存在
- 预期章节均已包含
- 对于所选项目结构,文档覆盖范围足够全面
- 行数预算合理
CLAUDE.md与导入文件之间没有明显重复- 实现 Agent 能够通过更新后的文档找到路由、导出内容和工作流指导
加载 references/output-contract.md,了解验证门槛和预算规则。
如果验证未通过:
- 精简文档
- 恢复缺失的章节
- 删除重复内容
- 利用调查清单提高覆盖范围
成功标准:更新后的记忆精简、可靠,对后续 Agent 确实有用。
步骤 5:报告变更内容
总结:
- 检测到的项目结构
- 新建或更新的文件
- 覆盖范围或清单要点
- 预算状态
- 有意未记录或暂缓处理的区域
如果仓库存在较大的盲区,或因混用多个框架而有意缩小了范围,就不要声称更新已臻完美。
成功标准:用户清楚了解更新了哪些项目记忆,以及更新的完整程度。
护栏
- 不要主动使用此技能(它会修改持久项目记忆)——仅在用户明确提出要求,或由用户明确调用的工作流组合调用时(例如
/ship-playbook)运行。此技能不再是disable-model-invocation,因此工作流可以调用它;但这并不意味着可以在未获用户提示时运行。 - 不要添加
context: fork;此工作流会写入当前活动仓库。 - 不要添加
paths:;这是一个通用维护技能。 - 没有证据表明实用的人为编写项目规则已过时,就不要覆盖它们。
- 不要将框架发现矩阵或文件契约大全保留在
SKILL.md中。 - 不要让
CLAUDE.md过于臃肿;详细内容应放在导入的参考文件中。 - 未经验证,不要宣布更新完成。
何时加载参考文件
-
references/framework-discovery.md用于了解框架检测顺序、特定框架的调查步骤和清单要求。 -
references/output-contract.md用于了解必需的输出文件、必需章节、行数预算和验证规则。 -
references/skills-and-mcp.md用于发现仓库的项目技能和 MCP 服务,并将内联的“可用技能和 MCP — 优先使用”部分写入CLAUDE.md。
输出契约
报告:
- 检测到的项目结构和范围
- 新建或更新的文件
- 覆盖范围或清单摘要
- 预算和验证结果
- 暂缓处理或有意跳过的部分