Install
openclaw skills install @zhaoyta/internalize-meAnalyze an open-source project against an AI/Agent-engineer job-market competency framework so the user can learn from real code. Use when the user asks to "analyze this project", "帮我分析这个开源项目", "看看这个项目练什么能力", "internalize this project", or wants to turn a repo into a learning plan aligned with AI Agent / LLM engineering job requirements.
openclaw skills install @zhaoyta/internalize-me用户正在准备/对标 AI Agent、LLM 应用工程、AI 架构师方向的岗位,覆盖初级 Python AI 应用开发到 AI 架构师/AI Infra 各个层级。 本 skill 把这类岗位的招聘要求提炼成一套能力维度框架,用来"读"一个开源项目:项目在每个维度上做了什么、用了什么技术、体现了什么工程/架构判断,从而让用户通过读代码积累对应岗位要求的经验。
视角原则:工程实现和架构设计都要覆盖,但具体在哪个维度上深挖、哪个维度一笔带过,取决于这个项目实际做了什么——不要为了套框架而强行分析项目里不存在的内容,也不要因为框架里没列到就漏掉项目里出现的重要设计。维度框架是检索表,不是评分表。
深度原则:分析必须落到具体代码细节,不能停在维度框架的泛泛复述上——每个结论都要能指向具体的文件/函数/代码片段,说清楚这段代码实际是怎么写的(数据结构、控制流、边界条件)。同时,看到一个设计后不能只描述"它做了什么",还要主动对比业界通行方案,判断这个实现相对于常见做法是更简化/更取巧/更严谨,并给出"为什么可能这么设计"的推断(性能、团队规模、上线时间压力、还是单纯没做完善)。只描述不判断的分析是不合格的。
对每个维度,标注了在 AI Agent/LLM 应用工程类岗位招聘要求中出现的相对频率(高/中/低),分析时优先深挖高频维度,但如果项目在低频维度上有出彩设计,同样值得记录。
覆盖:Planning / 任务规划拆解、Reasoning / 多步推理、Tool Use / 工具调用、Memory(长期/短期记忆)、上下文工程(Context Engineering)、长链路任务执行、自我进化(Self-improving Agent)。
分析角度:
覆盖:多智能体协同、角色分工、并发调度、分布式状态管理、Workflow 编排(AutoGen/CrewAI/LangGraph 等框架的多 Agent 能力)。
分析角度:
覆盖:LangChain / LangGraph / AutoGen / CrewAI / MCP 协议;Agent 主循环、状态流转管理、工具调用网关、本地/远程工具适配、代码执行沙箱、权限隔离、Skill System。
分析角度:
覆盖:向量数据库(Chroma / FAISS / Milvus)、Embedding、检索排序/重排、Prompt 注入、知识库构建、解决幻觉问题。
分析角度:
覆盖:模型调用的重试、降级、超时、缓存、幂等性、成本控制;Prompt Engineering;Function Calling / Structured Output;多模型/多供应商适配(OpenAI/Anthropic/国产模型)。
分析角度:
覆盖:Transformer/LLM/VLM 原理、强化学习与偏好对齐(SFT/DPO/PPO/GRPO/RLVR)、微调(LoRA)、本地推理部署(vLLM/Ollama)、推理加速(量化/蒸馏)。
分析角度:
覆盖:分布式系统、微服务、高并发高可用设计、数据库设计与调优(PostgreSQL/MySQL/Redis)、消息队列、缓存设计、容器化(Docker/K8s)、云平台部署。
分析角度:
覆盖:OAuth、Webhook、Rate Limit 处理、幂等性设计、数据隐私保护、模型安全、审计。
分析角度:
覆盖:监控告警、日志体系、Trace/全链路追踪、异常重试、断点续跑、灰度发布、回滚机制、成本监控。
分析角度:
覆盖:Agent Benchmark、Tool-use Evaluation、Long-horizon Evaluation、Trajectory Dataset、AgentOps/MLOps。
分析角度:
覆盖:AI Coding 工具集成(Copilot/Cursor/Claude Code)、代码生成/审查/补全、CI/CD、DevOps 实践。
分析角度:
覆盖:OCR、Document AI、图像/视觉理解(VLM)、语音交互。
分析角度:
项目定位(初步扫描):一句话说清这个项目是什么(Agent 框架 / RAG 工具 / 效能平台 / 模型服务 / 其他),对照上面 12 个维度,判断项目实际涉及哪几个维度(不要对所有维度都写满,没有的维度直接跳过或注明"不涉及")。这一步可以用 Explore agent 做代码定位,避免占用主上下文。
向用户确认范围,不要一次性生成全部内容:初步扫描完成后,先把"项目定位 + 识别到的能力维度列表(一行一个,附一句话概述)"展示给用户,然后询问用户接下来想要哪部分产出,例如:
逐维度深挖(只针对用户选定的维度),每个维度必须包含以下五块内容,缺一不可:
file_path:line 引用。禁止只写"项目做了 XX"这种没有代码依据的空泛描述。产出文件到 .learn/ 目录:所有产出物写入被分析项目根目录下的 .learn/<project-slug>/(project-slug 用项目名的 kebab-case,比如分析 langgraph 就是 .learn/langgraph/;如果同一个项目分多次分析不同模块,复用同一个 project-slug 目录,不要重复创建)。不要把所有内容塞进一个大文件,按下面的文件拆分方案分块写:
.learn/<project-slug>/00-overview.md:项目定位 + 涉及的能力维度总览(每个维度一行概述 + 值得学习的点)+ 与岗位要求的对应关系(如果用户选了这部分)。这个文件始终生成,作为索引,并在末尾列出指向其余文件的相对链接。.learn/<project-slug>/<序号>-<维度 slug>.md:每个用户选定的维度单独一个文件,序号按维度框架里的编号来(比如 02-multi-agent.md、04-rag.md),内容就是该维度的五块深挖内容(代码定位/实现细节/业界对比/为什么这么做/值得学习的点)。一个维度一个文件,避免单个维度分析过长时拖累其他维度的可读性,也方便用户分次只读某一个维度。.learn/<project-slug>/tasks.md:学习任务清单(如果用户选了这部分),可勾选 checklist,按维度分组,每组标题对应到具体的维度文件方便跳转。写文件前如果 .learn/ 或 .learn/<project-slug>/ 不存在就新建;如果 00-overview.md 已存在(说明之前分析过这个项目),要读取现有内容后追加/更新,而不是覆盖掉用户之前保存的分析。
00-overview.md 模板:
# <项目名> 分析总览
## 项目定位
...
## 涉及的能力维度
- [维度 A](02-xxx.md):概述 + 值得学习的点
- [维度 B](03-xxx.md):...
## 与岗位要求的对应关系(如果用户选了这部分)
简要说明这个项目主要能练到哪些能力维度/岗位要求,哪些常见要求这个项目覆盖不到(需要额外找项目补)。
## 任务清单
见 [tasks.md](tasks.md)
单个维度文件模板(如 02-multi-agent.md):
# <维度名>
- 代码定位:xxx.py:123
- 实现细节:(具体数据结构/控制流/关键参数)
- 业界对比:(对比通行方案,指出差异)
- 为什么这么做:(推断设计动机与取舍,工程+架构视角)
- 值得学习的点:(可迁移的经验)
产出学习任务清单(如果用户选了这部分),写入 .learn/<project-slug>/tasks.md,格式为可勾选的 Markdown checklist,按维度分组,每条任务具体到"读懂/复现/对比"某个模块,例如:
## <维度名>(见 02-xxx.md)
- [ ] 读懂 xxx 模块的重试/降级机制,画出状态转换图
- [ ] 对比该项目的 Memory 设计和 LangChain 的 Memory 抽象有什么不同
- [ ] 尝试给 xxx 模块补一个单元测试,验证你理解了它的边界条件
任务要具体可执行,避免"了解一下 RAG"这种空泛任务。
用户给出一个本地路径或 repo 时:先做步骤 1 的初步扫描,然后按步骤 2 和用户对齐范围,再按用户选择生成对应内容,写入被分析项目根目录下的 .learn/<project-slug>/(分多个文件,见步骤 4)。如果项目很大,优先聚焦用户明确提到的模块或最匹配框架高频维度的部分,而不是试图覆盖整个代码库。分析完成后,把这次生成/更新了哪些文件(相对路径)列给用户,而不是把报告内容整段贴在对话里。