agent-memory-implement…
Restructures a chaotic or overgrown MEMORY.md into a clean 2-layer architecture based on how Claude Code's autoDream system…
Harness Engineering 第一阶段第二步:深度分析项目代码,填充业务解决方案、架构、约定、技术决策和质量标准等 docs/ 知识库内容。 在 harness-step1-create-agents-md 创建好目录骨架之后使用。当用户说"填充文档内容"、 "完善 docs/ 文件"、"让文档有实质内容"、"分析项目写架构文档"、"写 ARCHITECTURE.md"、 "写技术决策文档"、"从业务视角理解项目"、"完善 business-solution.md"时,立即使用此 skill。 前置条件:项目中已有 AGENTS.md 和
$ npx -y skills add simbajigege/book2skills --skill harness-step2-fill-docs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/harness-step2-fill-docsContext preview
The summary Claude sees to decide when to auto-load this skill.
Harness Engineering 第一阶段第二步:深度分析项目代码,填充业务解决方案、架构、约定、技术决策和质量标准等 docs/ 知识库内容。 在 harness-step1-create-agents-md 创建好目录骨架之后使用。当用户说"填充文档内容"、 "完善 docs/ 文件"、"让文档有实质内容"、"分析项目写架构文档"、"写 ARCHITECTURE.md"、 "写技术决策文档"、"从业务视角理解项目"、"完善 business-solution.md"时,立即使用此 skill。 前置条件:项目中已有 AGENTS.md 和
name: harness-step2-fill-docs description: | Harness Engineering 第一阶段第二步:深度分析项目代码,填充业务解决方案、架构、约定、技术决策和质量标准等 docs/ 知识库内容。 在 harness-step1-create-agents-md 创建好目录骨架之后使用。当用户说"填充文档内容"、 "完善 docs/ 文件"、"让文档有实质内容"、"分析项目写架构文档"、"写 ARCHITECTURE.md"、 "写技术决策文档"、"从业务视角理解项目"、"完善 business-solution.md"时,立即使用此 skill。 前置条件:项目中已有 AGENTS.md 和 docs/ 目录骨架(由 harness-step1 创建)。
通过深度阅读项目代码,将隐藏在代码里的业务能力、用户流程、架构知识、命名约定、技术决策, 显式地写入 docs/ 各文件。让 agent 在任何 session 都能快速理解项目全貌。
**核心原则**:推断出来的内容要标注来源,无法确定的内容标注「待补充」, 不要用模糊的占位符糊弄过去。
---
在写任何文档之前,先充分读懂项目。按顺序执行:
# 1. 确认 docs/ 骨架已存在 ls docs/ # 2. 读懂目录结构(3层) find . -maxdepth 3 \ -not -path '*/node_modules/*' -not -path '*/.git/*' \ -not -path '*/__pycache__/*' -not -path '*/dist/*' \ -not -path '*/.next/*' -not -path '*/build/*' | sort # 3. 读主要入口文件 # (根据技术栈判断:main.ts / main.py / app.go / index.js 等) # 4. 读模块边界(各主要目录的 index 文件或第一个文件) # 目标:搞清楚每个目录的职责 # 5. 读依赖声明 cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || \ cat go.mod 2>/dev/null || cat Cargo.toml 2>/dev/null # 6. 读已有文档(复用,不重复) cat README.md 2>/dev/null cat AGENTS.md 2>/dev/null
扫描目标——在写文档前,必须能回答这些问题:
---
**写什么**:从业务和需求视角说明项目服务谁、解决什么问题、如何产生价值,以及能力边界。不要把技术组件清单改写成业务价值,也不要把路线图或设想当成现有功能。
**⚠️ 强制要求:业务能力必须验证可见入口或执行链路**
README 可以用于发现候选能力,但在写“系统可以完成 X”之前,至少找到以下一种证据:
推荐搜索方法:
# 从路由和页面验证用户可见能力
rg -n "path:|Register.*Routes|\.GET\(|\.POST\(" frontend/src/router internal/router
# 从业务对象和服务验证执行能力
rg -n "type .*Service|func New.*Service|Create|Search|Import|Sync|Evaluate" internal/application
# 区分已实现、路线图和待办
rg -n "Roadmap|TODO|planned|coming soon|路线图|规划" README.md docs/ frontend/ internal/每项能力标记证据状态:
**格式模板**:
# 业务解决方案 ## 一句话定位 [服务谁,用什么方式,解决什么核心问题] ## 目标用户与核心任务 | 用户/角色 | 核心任务 | 当前痛点 | |---|---|---| ## 问题—能力—价值映射 | 业务问题 | 已验证能力 | 产生的价值 | 证据 | |---|---|---|---| ## 典型业务场景 [3-8 个由代码/产品文档支持的场景,每个说明参与者、输入、过程和结果] ## 核心业务流程 [从用户输入到获得结果的端到端流程] ## 能力边界 - [不适用场景、依赖条件、安全/人工审核要求] ## 二次开发机会 [明确标注为建议,不得混入现有能力] ## 待补充 - [ ] [目标行业、指标、商业规则等需业务负责人确认的内容]
**写作要求**:
---
**写什么**:模块划分、依赖方向、主要数据流。写"是什么结构"和"为什么这样分",不写具体实现。
**⚠️ 强制要求:描述组件/模块关系前,必须验证 import**
写任何"A 被 B 使用"、"A 内嵌了 B"、"A 页面包含 C 组件"这类断言之前, 必须用 Grep 确认实际 import,不得根据文件名或目录位置猜测。
# 验证某组件是否被某页面实际引用 grep -r "ChatInterface" frontend/src/app/[locale]/book/[bookCode]/ 2>/dev/null # 验证某组件被哪些文件实际引用 grep -rl "ComponentName" src/ 2>/dev/null
如果 grep 无结果,说明没有引用关系——即使组件在同一目录下也不能断言它被使用。 未经验证的关系统一标注「待验证:未找到 import,请人工确认」。
**格式模板**:
# 架构说明 ## 整体结构 [用文字描述整体分层,再用目录树辅助说明] [目录树,只到关键层级,不要穷举所有文件] ## 依赖方向规则 [用箭头图或列表说明哪层可以引用哪层] 关键约束: - [约束1,说明原因] - [约束2,说明原因] ## 主要数据流 [描述最核心的 1-2 条请求/数据流,从入口到数据库] ## 待补充 - [ ] [扫描时无法确定的内容]
**写作要求**:
---
**写什么**:从代码里归纳出来的命名规律和文件组织规律。
**扫描方法**:
# 看文件命名规律 find src -name "*.ts" -o -name "*.py" -o -name "*.go" 2>/dev/null | head -30 # 看函数/变量命名(随机抽几个文件) head -50 [主要源文件路径]
**格式模板**:
# 代码约定 ## 文件命名 - [规律1]:示例 `XxxYyy.tsx` - [规律2]:示例 `xxx-yyy.ts` ## 变量和函数命名 - 变量/函数:[规律 + 示例] - 类/组件:[规律 + 示例] - 常量:[规律 + 示例] ## 目录组织 [每个主要目录放什么类型的文件] ## Git Commit 格式 [从 git log 里归纳,或写推荐格式] `type(scope): 描述` type 可选:feat / fix / docs / refactor / test ## 待补充 - [ ] [无法从代码推断的约定]
**写作要求**:
---
**写什么**:技术选型的原因。这是最难写的一份,因为原因往往不在代码里。
**扫描方法**:
# 看所有直接依赖 cat package.json | grep '"dependencies"' -A 50 2>/dev/null # 或 cat pyproject.toml | grep -A 30 '\[tool.poetry.dependencies\]' 2>/dev/null
**格式模板**:
# 技术决策记录 ## [框架/库名] **用途**:[这个库/框架用来做什么] **选择原因**:[能推断出的原因,或标注「待补充」] **替代方案**:[如果明显有替代品,列出并说明为何不选] **注意事项**:[使用时需要特别注意的地方] ## 待补充 - [ ] [无法从代码推断选型原因的库,需要人工说明]
**写作要求**:
---
**写什么**:什么叫"完成",以及代码审查的检查清单。
**扫描方法**:
# 看测试文件的模式 find . -name "*.test.*" -o -name "*.spec.*" -o -name "*_test.*" 2>/dev/null | head -10 # 看 CI 配置(如果有) cat .github/workflows/*.yml 2>/dev/null | head -60
**格式模板**:
# 质量标准 ## Definition of Done(完成的定义) 一个任务算完成,必须满足: - [ ] 功能在本地运行正常 - [ ] 写了对应测试(覆盖正常路径 + 至少一个异常路径) - [ ] [根据项目实际情况补充,如:类型检查通过、lint 无报错] - [ ] git commit 信息清晰 - [ ] 如修改了架构或约定,docs/ 已同步更新 ## 代码审查检查清单 **正确性** - [ ] [项目特有的正确性检查,如:多租户隔离、权限验证] **可维护性** - [ ] 命名是否符合 CONVENTIONS.md? - [ ] 有无重复代码可提取? - [ ] 业务逻辑是否在正确的层?(见 ARCHITECTURE.md) ## 测试要求 [从现有测试文件归纳出的测试约定,或写推荐标准] ## 待补充 - [ ] [无法从代码推断的验收标准]
---
**写什么**:扫描过程中发现的潜在问题和技术债务。
**格式**:
# 技术债务追踪 每条格式:`[优先级: 高/中/低] 问题描述 — 影响范围` ## 当前债务 [扫描时发现的问题,诚实地写] ## 已解决 (空)
**判断债务的线索**:
---
每个文件写完后,逐一自检:
---
##
Transform the wisdom of classic books into AI Agent Skills. book2skills is an open-source project focused on systematically distilling high-quality practical books into Agent Skills format, enabling AI agents like Claude and Claude Code to directly apply the
Restructures a chaotic or overgrown MEMORY.md into a clean 2-layer architecture based on how Claude Code's autoDream system…
Define agent tools using the fail-closed design pattern — unified name/schema/security/execution in one class, with three-layer…
Apply Xiao Xing's financial statement analysis framework from 一本书读懂财报 (Understanding Financial Reports in One Book). Use this…
Use Business Adventures for "why did this fail?", "analyze this crisis", "what pattern applies?", or "what would Brooks notice?
Apply John Bogle stewardship capitalism logic to separate investing from
Apply John Bogle index investing rules for low-cost funds, asset allocation,