[{"content":" 一句话主线：Claude Code 从来不是靠一个\u0026quot;万能 Prompt\u0026quot;变强，而是靠一套分工清楚的工作系统。把\u0026quot;每次都要重复的东西\u0026quot;一层层固化——固化得越多，你要操的心越少。\n1. 为什么不能把 Claude Code 当聊天框用 绝大多数人装好 Claude Code 后，只是把它当成\u0026quot;会写代码的聊天框\u0026quot;——问一句、答一句、复制粘贴、关掉。这么用没错，但没发挥它的价值。\n问题在于：新会话里的 Claude Code 是\u0026quot;失忆\u0026quot;的。 它不知道你的技术栈、不知道你的代码规范、不知道哪些坑不能踩。你每次口头交代一遍，就是重复劳动；而且任务一长，临时说过的话会被文件内容、命令输出、错误日志淹没，一旦上下文被压缩，规则就丢了。\n团队协作更麻烦：你告诉过 Claude 的规则，换个同事、换台电脑、换个项目，又要从头讲一遍。\n核心结论：聊天适合表达当前任务，不能承载整套工程制度。\n真正的价值在于，把它从一个\u0026quot;每次都得从头解释一遍的临时工\u0026quot;，调教成一个懂你项目、能自己干活、还能并行开多线程的团队。\n2. 总览：六种能力，各管一件事 Claude Code 的扩展能力不是\u0026quot;装得越多越强\u0026quot;，而是六套分工明确的工作系统：\n问题 应该用什么 每次进入项目都应该知道什么？ CLAUDE.md 某类任务应该按什么方法做？ Skills 哪些工作需要独立上下文或独立角色？ Subagents 怎么访问仓库外的系统和数据？ MCP 哪些动作命中事件就必须执行？ Hooks 怎么把整套能力发给其他项目和队友？ Plugins 一句话记住核心分工：CLAUDE.md 管常驻规则，Skill 管按需方法，Subagent 管独立干活，MCP 管外部连接，Hook 管确定性动作，Plugin 管打包分发。\n从\u0026quot;能用\u0026quot;到\u0026quot;用得高效\u0026quot;是一条阶梯，每一级都把一类重复劳动固化下来：\n聊天框（问一句答一句） ← 大多数人停留的地方 ↓ 项目规则固化 CLAUDE.md（常驻项目说明） ↓ 专项流程固化 Skills（按需加载的方法工具箱） ↓ 必做动作固化 Hooks（每次确定触发的动作） ↓ 大任务固化 Subagents / 动态工作流（并行编排） ↓ 无人值守固化 CLI 管道 + 定时任务（Routines） 3. CLAUDE.md：先让 Claude 知道\u0026quot;这个项目怎么干\u0026quot; 3.1 它到底是什么 CLAUDE.md 是 Claude Code 会自动读取的项目说明文件，本质是：\n普通 Markdown——不是配置文件，不需要复杂语法 给 Claude Code 看的——不是给人看的 README 会进入上下文的——规则参与后续推理，但也占上下文窗口 README 面向人，重点是项目是什么、怎么启动；CLAUDE.md 面向 Agent，重点是接到任务以后应该怎么行动。\n3.2 和 README / Prompt / Memory 的区别 载体 回答的问题 典型内容 README 人怎么理解项目 项目介绍、安装方式、使用文档 Prompt 这次要做什么 \u0026ldquo;修登录失败，但别改后端接口\u0026rdquo;（临时） CLAUDE.md 在这个项目里怎么干活 架构、命令、规范、禁区（跨任务稳定） Memory 个人/团队经验 用户级放个人习惯，项目级放团队规则 3.3 放在哪里 位置 作用范围 适合放什么 ~/.claude/CLAUDE.md 本机所有项目 个人偏好、通用工作习惯（不提交 Git） 项目根目录/CLAUDE.md 当前项目，团队共享 技术栈、命令、全局规则（提交 Git） 项目根目录/CLAUDE.local.md 当前项目，仅自己 本地地址、个人测试习惯（加 .gitignore） 某个子目录/CLAUDE.md 进入该模块时按需加载 模块命令、局部架构和禁区 新版更推荐在项目记忆里用 @path import 引入个人文件（@~/.claude/my-project-preferences.md），个人规则不用进仓库。\n3.4 什么值得写（判断标准） 它是否会反复影响 Claude Code 的行动？ 会 → 写进 CLAUDE.md；只对当前任务有效 → 放 prompt；只是给人看的背景 → 放 README。\n值得写的六类内容：\n## 常用命令 ← 最应该写，命令写完整，尤其 monorepo - 安装依赖：pnpm install - 本地开发：pnpm dev ## 目录结构 ← 写目录职责，不要贴完整文件树 - `src/api/`：接口封装，组件不要直接调用 fetch ## 编码规范 ← 写具体规则，不写空话 - 新组件使用函数组件，样式优先使用已有 token ## 禁止事项 ← AI 编程最怕乱动不该动的地方 - 不要修改数据库 schema，除非用户明确要求 - 不要提交 .env、token、密钥 ## 验证要求 - 修改业务逻辑后，必须运行相关测试；如果无法运行，在最终回复说明原因 ## 常见坑 - 支付模块的金额单位是分，不是元 3.5 什么不要写 ❌ 完整接口文档（几十个接口全贴进去 → 放专门文档，最多写\u0026quot;API 文档见 docs/api.md\u0026quot;） ❌ 历史流水账（\u0026ldquo;2025-01-03 修了登录问题\u0026rdquo; → 要写成规则结论） ❌ 空泛口号（\u0026ldquo;写高质量代码\u0026quot;\u0026ldquo;注意性能\u0026rdquo; → 改成可执行规则） ❌ 过期规则（过期规则比没有规则更危险，npm 换成 pnpm 后旧规则会带着 Claude 继续错） ❌ 太细的临时任务（\u0026ldquo;今天先修用户 A 的导出 bug\u0026rdquo;） 3.6 怎么写才有效：短、准、硬 太软 ❌ 改成 ✅ 尽量注意测试 修改业务逻辑后必须运行相关测试，无法运行则在最终回复说明原因 代码要符合项目风格 新增 API 请求必须放在 src/api/，页面组件只能调用封装后的方法 3.7 大项目怎么拆 小项目一个根 CLAUDE.md 够用；大项目（尤其 monorepo）一定要拆：\nrepo/ CLAUDE.md ← 全局：包管理器、Git 流程、安全要求、全局禁区、通用验证 apps/web/CLAUDE.md ← 模块：目录职责、启动/测试命令、常见坑 packages/ui/CLAUDE.md 不是让模型看见更多，而是让它看见更有价值的信息。\n3.8 与上下文窗口的关系 CLAUDE.md 不是免费空间，它占上下文；官方会用 prompt caching 降低重复读取成本——缓存降的是计费压力，不代表不占空间 根 CLAUDE.md 控制在几屏内、每条尽量一行、长文档用链接或 import 引用、定期删过期内容 它不是安全边界：真正必须阻止的动作要交给权限设置或 PreToolUse Hook；规则没生效先运行 /memory 确认加载 3.9 团队维护五项实践 项目根 CLAUDE.md 进仓库，团队共享 个人偏好放用户级 memory，不污染团队文件 规则变更像代码一样审查（写错就是把错误流程自动化） 踩坑之后及时沉淀成规则 定期删：过期命令、已不存在的目录、重复规则、临时任务残留 4. Skills：把重复方法做成\u0026quot;按需工具箱\u0026rdquo; Skill 解决什么问题？ 一套发布流程（检查工作区 → 跑测试 → 生成变更说明 → 回滚方案）很重要，但写普通业务代码时用不到。塞进 CLAUDE.md 会让每个会话都背着它。Skill 的价值：只在相关任务出现时加载专项知识和流程。\n一个 Skill 长什么样（项目级放 .claude/skills/，个人通用放 ~/.claude/skills/）：\n.claude/skills/release-check/ ├── SKILL.md ← 入口和导航 ├── checklist.md ← 参考资料（大段内容放单独文件） └── scripts/ └── verify.sh ← 脚本负责确定性检查 --- name: release-check description: Check whether the current changes are ready for release. Use for release preparation, pre-deployment review, or rollback planning. disable-model-invocation: true --- ## Release check 1. Read `checklist.md`. 2. Inspect the current git diff. 3. Run `scripts/verify.sh`. 4. Report blockers, risks, and rollback steps. 关键点：description 是告诉 Claude 什么时候该加载它（写清任务、触发语境、不适用范围，别写\u0026quot;帮助开发\u0026quot;这种废话）；disable-model-invocation: true 表示只能用户主动调用；脚本负责确定性检查，Claude 负责结合现场解释结果。\n什么时候该做 Skill？ 同一段说明复制过三次、CLAUDE.md 里某一节越来越像操作手册、任务有固定输入/步骤/输出格式、需要模板示例脚本、多个角色复用同一套知识。\n一句话：重复三次以上的流程，就该封成 Skill。 注意不是越多越好——描述过宽会在不相关任务乱触发，内容太大会挤占上下文。\n5. Subagents：把复杂工作交给独立角色 为什么有了 Skill 还需要 Subagent？ Skill 给当前 Agent 加方法，但工作仍发生在当前上下文。安全审查、全仓探索这类任务会产生大量中间输出，把主会话上下文搞脏；而且让写代码的 Agent 审自己的代码，容易\u0026quot;我已经改好了，所以应该没问题\u0026quot;的自我认可。\nSubagent 的价值：另开独立上下文，让专门角色完成任务，只把结论和证据带回来。\n怎么创建（项目级放 .claude/agents/）：\n--- name: security-reviewer description: Review code changes for authentication, authorization, injection, secret exposure, and unsafe data handling. tools: Read, Grep, Glob, Bash model: inherit skills: - secure-coding --- You are an independent security reviewer. Review changes without modifying business code. For every finding, report: file and location; trigger condition; impact; evidence; recommended fix. 适合拆的任务：过程很长但主会话只需要结果——只读探索大代码库、安全/性能/测试独立复核、多个互不依赖模块的并行调查、需要不同角色从相反角度挑错、希望限制角色的工具/模型/权限。\n不适合拆：一个文件的小修改、强依赖主会话隐含信息的任务、子任务互相等待、拆分成本比任务本身还高。\nSkill 是方法，Subagent 是拿着方法独立干活的角色。 两者可以组合：在 Subagent 的 skills 字段里预加载规范。\n6. MCP：让 Claude Code 接上仓库外的世界 Claude Code 自带文件和终端工具，但真实开发还要访问 GitHub、Jira、Sentry、数据库、内部文档、设计工具等外部系统。MCP（Model Context Protocol）解决 AI 应用如何用统一方式发现和调用外部工具与数据——Claude Code 作为 MCP Client 连接 Server，不需要给每个 Agent 手写一套集成。\n添加 MCP Server：\n# 远程 HTTP Server claude mcp add --transport http issue-tracker https://mcp.example.com/mcp # 本地 stdio Server claude mcp add --transport stdio my-tools -- node ./tools/mcp-server.js claude mcp list # 查看已添加 claude mcp get issue-tracker 进入 Claude Code 后用 /mcp 查看连接和认证状态。团队共享的项目级配置可以写进 .mcp.json（从仓库拉下来的配置需要信任和审批，别因为进了 Git 就默认安全）。\n三个最常踩的坑：\n权限给太大——查询数据库用只读账号，评审 PR 就别顺手给删仓库权限 工具太多——接几十个 Server、暴露几百个工具，增加选择成本、污染上下文；先接最常用、返回结果最干净的 把 MCP 当成工作方法——MCP 只负责\u0026quot;能连接、能调用\u0026quot;，查询什么、怎么判断、输出什么格式，仍交给 CLAUDE.md、Skill 或 Subagent 最常见的组合：MCP 提供手和眼，Skill 提供做事方法。\n7. Hooks：让关键动作不再依赖\u0026quot;记得\u0026quot; 在 CLAUDE.md 里写\u0026quot;每次改完文件都要格式化\u0026quot;是提醒；配置 Hook 让编辑成功后自动运行格式化命令，这是确定性动作。Hooks 在生命周期特定事件上触发：会话开始注入环境信息、工具执行前检查拦截、文件修改后自动格式化、工具失败记录诊断、等待确认发通知、上下文压缩前保存状态。\n配置示例（写在 .claude/settings.json 或 ~/.claude/settings.json）：\n{ \u0026#34;hooks\u0026#34;: { \u0026#34;PostToolUse\u0026#34;: [ { \u0026#34;matcher\u0026#34;: \u0026#34;Edit|Write\u0026#34;, \u0026#34;hooks\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;command\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;jq -r \u0026#39;.tool_input.file_path\u0026#39; | xargs npx prettier --write\u0026#34; } ] } ] } } 真实项目建议把复杂逻辑放进独立脚本（.claude/hooks/check-edited-file.sh），能进 Git、能单独测试，不用把一长串 shell 塞进 JSON。配置后运行 /hooks 确认加载。\nHook 怎么用才不会变成新坑：\n匹配范围尽量窄，不要什么事件都用 .* 默认快速执行，重任务不要卡住每次编辑 脚本要有明确退出码和错误信息 不要在 Hook 里偷偷做发布、删除、推送等高风险动作 先手动运行脚本，再接入 Hook 需要复杂判断时用 Skill 或独立审查 Agent，不要堆一坨 shell Skill 是\u0026quot;需要时才调的能力\u0026quot;，Hooks 是\u0026quot;每次都确定触发的动作\u0026quot;。最适合 Hook 的是\u0026quot;发生到这里就必须做\u0026quot;的动作；最不适合的是需要阅读大量上下文、权衡多方方案的开放问题。\n8. Plugins：把一套能力变成团队可安装的产品 Plugin 不是第七种能力，而是包装和分发格式。一个 Plugin 可以同时带上 Skills、Subagents、Hooks、MCP Server 配置、LSP 配置等所有可复用组件。在项目的 .claude/ 目录做实验适合快速迭代；配置稳定、需要跨项目/跨团队安装升级时，再做成 Plugin。\n最小结构：\nteam-toolkit/ ├── .claude-plugin/ │ └── plugin.json ├── skills/release-check/SKILL.md ├── agents/security-reviewer.md ├── hooks/hooks.json └── .mcp.json { \u0026#34;name\u0026#34;: \u0026#34;team-toolkit\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Shared release and review workflows for our engineering team\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;1.0.0\u0026#34; } 安装：Claude Code 里输入 /plugin 打开面板，或 /plugin install github@claude-plugins-official；本地开发用 claude --plugin-dir ./team-toolkit 加载。注意：先看清插件提供什么组件、需要什么权限、会连接哪些外部系统——安装插件不是给它无限授权。\nPlugin 解决的是分发，不会自动修复里面写得很差的 Skill、过宽的 Hook 或权限过大的 MCP。\n9. 六种能力怎么组合：一个真实案例 场景：给电商系统增加\u0026quot;退款审批\u0026quot;功能，涉及业务规则、数据库、权限、测试、工单和发布。正确做法不是把所有要求塞进一个超级 Prompt，而是按问题分层：\nCLAUDE.md —— 放每次都要知道的稳定事实：金额以分为整数存储、退款 API 必须幂等、所有审批动作需审计日志、改支付模块后跑 pnpm test:payments、禁止未审批的生产迁移。 Skill —— 创建 refund-review Skill：幂等检查清单、金额精度规则、审批状态机、审计字段要求、测试模板、报告格式。 Subagent —— payment-security-reviewer 只读检查：能否越权审批、重放请求会不会重复退款、日志是否泄露敏感信息、状态转换能否绕过，主 Agent 只接收带证据的结论。 MCP —— 读取退款工单、查询错误平台历史异常、查看 PR、用只读账号查测试环境数据。 Hooks —— 修改支付代码后自动格式化+静态扫描、执行数据库命令前检查环境、准备提交时确认关键测试通过。 Plugin —— 以上都跑稳后打包成 payment-engineering，新同事安装即获得同一套能力。 六层关系总结：\nCLAUDE.md：告诉 Claude 这个项目长期怎么做 Skill： 告诉 Claude 这类任务具体怎么做 Subagent： 安排一个独立角色去做 MCP： 给这个角色接上外部工具和数据 Hook： 在关键节点自动检查和拦截 Plugin： 把前面几层打包给团队 10. 从零开始，按什么顺序配置？ 不要第一天就装几十个 Plugin、接十几个 MCP、开一队 Subagents——配置越多，冲突、权限和上下文成本越高。按问题出现的顺序来：\n先写根 CLAUDE.md 到能用：只写命令、架构、禁区、最常见的坑；运行 /memory 确认加载 把重复出现的流程做成一个 Skill：从最常复制的发布/评审/排障流程开始；运行 /skills 检查描述和作用域 给\u0026quot;必须发生\u0026quot;的动作加 Hook：先接格式化、lint、危险命令拦截；运行 /hooks 验证成功和失败路径 只为明确场景创建 Subagent：优先做安全审查或大范围只读探索；运行 /agents 检查工具/模型/Skills 按真实需求接 MCP：先接一个高频系统，给最小权限；运行 /mcp 查看认证状态 稳定以后再做 Plugin：先证明在项目里真的有用，再考虑分发——插件化太早只会把没想清楚的配置更快复制出去 故障排查：配置不生效时先运行 /doctor、/status、/permissions，确认\u0026quot;有没有加载、从哪里加载、最终权限是什么\u0026quot;，再怀疑模型。\n11. 最容易配错的六个地方 把 CLAUDE.md 写成百科全书 → 每轮占上下文，重要规则反而不突出；稳定事实留下，专项流程移到 Skill Skill 的 description 写得太空（\u0026ldquo;帮助开发\u0026quot;什么都能匹配）→ 写清任务、触发语境和不适用范围 为了\u0026quot;并行\u0026quot;滥用 Subagents → 拆任务、传上下文、汇总都有成本；只有任务能独立完成或过程噪音需要隔离时才拆 MCP 一上来就连生产写权限 → 只读优先、最小权限、敏感动作保留人工确认 Hook 做得又重又宽 → 缩小 matcher，复杂逻辑放可测试脚本，重任务改成按需 Skill 把 Plugin 当\u0026quot;装得越多越强\u0026rdquo; → 组件可能冲突、工具列表膨胀、权限来源难审计；只装能解决明确问题的 12. 高频问题速答 CLAUDE.md 和自动 Memory 的区别？ CLAUDE.md 是团队明确维护、可进 Git 的项目规则；自动 Memory 是 Claude 积累的本机经验（调试发现、个人习惯）。团队制度写进 CLAUDE.md，不要等自动 Memory 猜。 Skill 和 Hook 怎么选？ 需要结合上下文判断、执行一套方法 → Skill；命中事件必须执行、结果稳定可验证 → Hook。\u0026ldquo;按团队标准审查 PR\u0026quot;是 Skill，\u0026ldquo;编辑后自动格式化\u0026quot;是 Hook。 Skill 和 Subagent 怎么选？ 给当前上下文补知识 → Skill；把长过程隔离出去只拿结果 → Subagent。安全角色需要固定方法就让 Subagent 预加载 Skill。 MCP 和 Plugin 的关系？ MCP 是连接协议（怎么调用外部系统），Plugin 是分发包（怎么把 MCP 配置连同 Skills、Agents、Hooks 一起发给别人）。 配齐六件套就一定更好吗？ 不一定。小项目可能只需要 30 行 CLAUDE.md 和一个格式化 Hook。最好的配置不是组件最多，而是每一层都在解决真实问题。 13. 跳出聊天框：CLI 管道与定时任务 Claude Code 遵循 Unix 哲学，可以管道化、能塞进脚本和 CI。用 claude -p（print 模式）把它变成命令行的一环：\n# 盯日志，发现异常就通知 tail -200 app.log | claude -p \u0026#34;如果发现任何异常就通知我\u0026#34; # 批量审查改动文件的安全问题 git diff main --name-only | claude -p \u0026#34;审查这些改动文件有没有安全问题\u0026#34; 再往上是定时任务，让重复的活儿自动发生：早晨 PR 审查、夜里 CI 失败分析、每周依赖审计：\n终端里临时轮询，用 /loop（背后是\u0026quot;写 Loop 不写 Prompt\u0026quot;的思路） 想要电脑关机也照跑，用 Routines——跑在 Anthropic 托管的基础设施上，还能被 API 调用或 GitHub 事件触发 另外，Claude Code 不绑死在一个界面：终端、VS Code/JetBrains、桌面 App、网页背后是同一个引擎（CLAUDE.md、设置、MCP 在哪儿都通用）。离开工位可用手机/浏览器远程接管正在跑的会话；网页或 iOS 上起长任务，回头用 claude --teleport 拽回终端。工作跟着你走，不跟着设备走。\n能用一句话提问，也能塞进管道和定时任务无人值守地跑——后者才是效率的天花板。\n总结 高效用 Claude Code 就一条主线：把\u0026quot;每次都要重复的东西\u0026quot;一层层固化下来——项目规则固化进 CLAUDE.md，专项流程固化成 Skill，必做动作固化成 Hooks，大任务固化成并行编排，再到无人值守的管道与定时任务。固化得越多，你要操的心越少。\n而贯穿所有能力的唯一指导思想是：\nCLAUDE.md 不是魔法，它不会让 Claude Code 瞬间变成懂你公司所有业务的老员工。但它能解决一个非常实际的问题：别让 AI 每次进项目都从零猜。短一点，准一点，硬一点——这就够了。\n参考链接 Claude Code 官方文档（概述）：https://code.claude.com/docs/zh-CN/overview Claude Code 官方文档（扩展能力总览）：https://code.claude.com/docs/en/features-overview Claude Code 官方文档（CLAUDE.md 与 Memory）：https://code.claude.com/docs/en/memory Claude Code 官方文档（Skills）：https://code.claude.com/docs/en/slash-commands Claude Code 官方文档（Subagents）：https://code.claude.com/docs/en/sub-agents Claude Code 官方文档（MCP）：https://code.claude.com/docs/en/mcp Claude Code 官方文档（Hooks）：https://code.claude.com/docs/en/hooks-guide Claude Code 官方文档（Plugins）：https://code.claude.com/docs/en/plugins ","permalink":"https://yzaaa.cc/posts/claude-code-guide/","summary":"\u003cblockquote\u003e\n\u003cp\u003e一句话主线：\u003cstrong\u003eClaude Code 从来不是靠一个\u0026quot;万能 Prompt\u0026quot;变强，而是靠一套分工清楚的工作系统。把\u0026quot;每次都要重复的东西\u0026quot;一层层固化——固化得越多，你要操的心越少。\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"1-为什么不能把-claude-code-当聊天框用\"\u003e1. 为什么不能把 Claude Code 当聊天框用\u003c/h2\u003e\n\u003cp\u003e绝大多数人装好 Claude Code 后，只是把它当成\u0026quot;会写代码的聊天框\u0026quot;——问一句、答一句、复制粘贴、关掉。这么用没错，但没发挥它的价值。\u003c/p\u003e\n\u003cp\u003e问题在于：\u003cstrong\u003e新会话里的 Claude Code 是\u0026quot;失忆\u0026quot;的。\u003c/strong\u003e 它不知道你的技术栈、不知道你的代码规范、不知道哪些坑不能踩。你每次口头交代一遍，就是重复劳动；而且任务一长，临时说过的话会被文件内容、命令输出、错误日志淹没，一旦上下文被压缩，规则就丢了。\u003c/p\u003e\n\u003cp\u003e团队协作更麻烦：你告诉过 Claude 的规则，换个同事、换台电脑、换个项目，又要从头讲一遍。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e核心结论：聊天适合表达当前任务，不能承载整套工程制度。\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e真正的价值在于，把它从一个\u0026quot;每次都得从头解释一遍的临时工\u0026quot;，调教成一个\u003cstrong\u003e懂你项目、能自己干活、还能并行开多线程的团队\u003c/strong\u003e。\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"2-总览六种能力各管一件事\"\u003e2. 总览：六种能力，各管一件事\u003c/h2\u003e\n\u003cp\u003eClaude Code 的扩展能力不是\u0026quot;装得越多越强\u0026quot;，而是六套分工明确的工作系统：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e问题\u003c/th\u003e\n          \u003cth\u003e应该用什么\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e每次进入项目都应该知道什么？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003eCLAUDE.md\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e某类任务应该按什么方法做？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003eSkills\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e哪些工作需要独立上下文或独立角色？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003eSubagents\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e怎么访问仓库外的系统和数据？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003eMCP\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e哪些动作命中事件就必须执行？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003eHooks\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e怎么把整套能力发给其他项目和队友？\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003ePlugins\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e一句话记住核心分工：CLAUDE.md 管常驻规则，Skill 管按需方法，Subagent 管独立干活，MCP 管外部连接，Hook 管确定性动作，Plugin 管打包分发。\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e从\u0026quot;能用\u0026quot;到\u0026quot;用得高效\u0026quot;是一条阶梯，每一级都把一类重复劳动固化下来：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-text\" data-lang=\"text\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e聊天框（问一句答一句）         ← 大多数人停留的地方\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ↓ 项目规则固化\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eCLAUDE.md（常驻项目说明）\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ↓ 专项流程固化\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eSkills（按需加载的方法工具箱）\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ↓ 必做动作固化\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eHooks（每次确定触发的动作）\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ↓ 大任务固化\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eSubagents / 动态工作流（并行编排）\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ↓ 无人值守固化\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eCLI 管道 + 定时任务（Routines）\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003chr\u003e\n\u003ch2 id=\"3-claudemd先让-claude-知道这个项目怎么干\"\u003e3. CLAUDE.md：先让 Claude 知道\u0026quot;这个项目怎么干\u0026quot;\u003c/h2\u003e\n\u003ch3 id=\"31-它到底是什么\"\u003e3.1 它到底是什么\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eCLAUDE.md\u003c/code\u003e 是 Claude Code \u003cstrong\u003e会自动读取\u003c/strong\u003e的项目说明文件，本质是：\u003c/p\u003e","title":"Claude Code 高效使用指南"},{"content":"什么是 Binder？ Binder 是 Android 系统中最核心的进程间通信（IPC）机制，几乎所有系统服务调用都经过 Binder。\n为什么不用传统 Linux IPC？ 传统 Linux 提供了管道、Socket、共享内存等 IPC 方式，但 Binder 在 Android 场景下有明显优势：\n安全性：每次通信自动携带调用方 UID/PID，内核级别验证 性能：只需一次数据拷贝（传统 Socket 需要两次） 面向对象：支持远程对象引用，接口设计更自然 核心组件 组件 作用 Binder 驱动 内核模块，负责进程间数据传递 ServiceManager 服务注册与查询中心 IBinder 远程调用接口 AIDL 自动生成 Stub/Proxy 代码的接口描述语言 后续 下一篇将深入 Binder 驱动的内存映射机制。\n","permalink":"https://yzaaa.cc/posts/android-binder-intro/","summary":"\u003ch2 id=\"什么是-binder\"\u003e什么是 Binder？\u003c/h2\u003e\n\u003cp\u003eBinder 是 Android 系统中最核心的进程间通信（IPC）机制，几乎所有系统服务调用都经过 Binder。\u003c/p\u003e\n\u003ch2 id=\"为什么不用传统-linux-ipc\"\u003e为什么不用传统 Linux IPC？\u003c/h2\u003e\n\u003cp\u003e传统 Linux 提供了管道、Socket、共享内存等 IPC 方式，但 Binder 在 Android 场景下有明显优势：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e安全性\u003c/strong\u003e：每次通信自动携带调用方 UID/PID，内核级别验证\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e性能\u003c/strong\u003e：只需一次数据拷贝（传统 Socket 需要两次）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e面向对象\u003c/strong\u003e：支持远程对象引用，接口设计更自然\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"核心组件\"\u003e核心组件\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e组件\u003c/th\u003e\n          \u003cth\u003e作用\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eBinder 驱动\u003c/td\u003e\n          \u003ctd\u003e内核模块，负责进程间数据传递\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eServiceManager\u003c/td\u003e\n          \u003ctd\u003e服务注册与查询中心\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eIBinder\u003c/td\u003e\n          \u003ctd\u003e远程调用接口\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eAIDL\u003c/td\u003e\n          \u003ctd\u003e自动生成 Stub/Proxy 代码的接口描述语言\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"后续\"\u003e后续\u003c/h2\u003e\n\u003cp\u003e下一篇将深入 Binder 驱动的内存映射机制。\u003c/p\u003e","title":"Android Binder 机制入门"},{"content":"你好，我是 Honglixi99 👋 Android 开发者，专注系统级应用开发，对 AI 技术充满好奇。\n技能 Android：AOSP 源码、Binder IPC、自定义框架 语言：Java / Kotlin / Python AI：大模型应用、Prompt 工程 联系方式 GitHub：github.com/Honglixi99 ","permalink":"https://yzaaa.cc/about/","summary":"about","title":"关于我"}]