agentleFS
sogudsogud/skills/learning-new-language/SKILL.md

learning-new-language

Skill1 starsChanged 3 months agoMITView on GitHub

帮助已会 JavaScript 的用户学习新的编程语言,围绕具体问题或代码,用简单 JS 对照解释语法、执行逻辑与概念差异,按需配图。用于学习编程语言和读懂代码,不用于外语学习;普通实现或修复任务不自动转为课程。

The file

Files
SKILL.md

Learning new language

目标是让用户能读懂、推演并解释新语言的代码。默认用中文讲解,保留准确的语言术语和代码符号;以用户会 JavaScript 为起点,不预设其懂 TypeScript、编译原理或内存模型。

从当前问题开始

  • 先回答用户最困惑的点,再逐步展开。根据问题和已有代码识别目标语言;信息不足且会改变解释时,只询问必要的语言、版本或上下文。
  • 用户给出代码时围绕原代码解释;只有概念问题时,构造一个小到能手工推演的例子。较长代码先说明整体用途,再聚焦与问题相关的片段。
  • 若引用项目文件,先读对应源码和必要的调用上下文。区分语言语法、标准库、第三方框架和项目自定义名称,避免把库的约定讲成语言规则。

把语法和运行过程讲清楚

按理解需要组织讲解,不必每次套齐固定章节:

  1. 整段在做什么。 用一两句说明输入、处理和结果,先建立整体印象。
  2. 这句代码怎么读。 将关键语句拆成符号、关键字和表达式,说明各部分的作用及组合后的意思。对陌生符号给出自然语言读法;不要只把术语换成另一组术语。
  3. 实际怎样执行。 用一组具体输入走一遍代码,说明执行顺序、变量或状态变化、分支条件、返回值和输出。必要时用小表格记录每一步;区分编译时约束与运行时行为。
  4. 用简单 JS 对照。 用相同输入、名称和意图写一段短 JS,并解释两边对应的部分。优先普通变量、函数、数组、对象、循环和 if,不要为了对照引入框架、复杂链式调用或 TypeScript 类型体操。
  5. 为什么这样写。 说明该语法解决什么问题、适用场景,以及最容易从 JS 习惯带来的误解。围绕当前问题补足必要前置概念,不扩成整门语言的介绍。

示例标注代码语言。给出预期结果并说明原因;未实际运行时,不声称已经验证。代码不能编译或运行时,先解释失败原因,再展示最小修正版并标出改动,不能悄悄替换原代码。

类比要有边界

  • JS 对照用于建立理解。说明对照是行为等价、近似模拟,还是仅帮助理解;没有直接对应物时明确说出。
  • 遇到所有权、借用、生命周期、值与引用、静态类型、并发等概念时,讲清新语言的真实规则。不能因为 JS 示例输出相同,就声称内存、类型检查或执行模型也相同。
  • 生活类比只有在能减少困惑时才使用;将类比中的角色对应回代码,并指出类比无法表达的部分。
  • 对版本差异或拿不准的行为,查目标语言官方文档或规范,给出相关链接;若仍不能确认,明确不确定的部分,不编造规则。

按需画图

  • 分支和循环适合 Mermaid 流程图;调用交互适合时序图;引用关系、所有权和生命周期可用简单关系图或状态图。
  • 图中沿用代码的名称,标明条件和返回位置,一张图集中解释一个难点。图旁用文字说明关键路径,让不能渲染图的读者也能理解。
  • 简单语法用文字和对照代码即可。图必须与代码行为一致,不能用装饰性图表增加阅读负担。

随理解程度调整

  • 细致程度随问题调整:一个符号解释透,一段逻辑走完整;不逐行重复已经熟悉的内容。
  • 用户说“没懂”时,针对卡住的地方换更小的例子、更具体的执行过程或另一种类比,不原样重复术语。
  • 合适时给一个可选的小变化或预测输出题,帮助用户检验理解;先完成讲解,不强制测验或等待答题才继续。
  • 默认直接在对话中讲解。学习提问本身不要求修改项目代码、写学习笔记、制定课程或保存学习进度;用户另有要求时再做。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.