Teach
cursor/plugins
Explain a body of work plainly so a person actually understands it.
用体验而不是定义来教授概念、原理或检验观点:先给与学习者认知水平相称的局面,让其选择,再用公平的意外显化认知缺口,结构化后才命名,并以迁移局面循环复测。USE WHEN 用户调用 '/ljg-teach'、说 '用情境教我'、'别先讲答案'、'通过案例让我学会',或希望通过选择与反馈理解一个概念或观点。NOT FOR 直接定义查询(用 ljg-is/ljg-word)、八维概念解剖(用…
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lijigang/ljg-skills ljg-teach --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ljg-teach .claude/skills/ljg-teach && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .claude/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teachType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lijigang/ljg-skills ljg-teach --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ljg-teach .agents/skills/ljg-teach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .agents/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lijigang/ljg-skills ljg-teach --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ljg-teach .cursor/skills/ljg-teach && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .cursor/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/lijigang/ljg-skills.git --path skills/ljg-teach--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lijigang/ljg-skills ljg-teach --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ljg-teach .gemini/skills/ljg-teach && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .gemini/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install lijigang/ljg-skills ljg-teachInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ljg-teach .github/skills/ljg-teach && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .github/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lijigang/ljg-skills --skill ljg-teach -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lijigang/ljg-skills ljg-teach --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lijigang/ljg-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ljg-teach .opencode/skills/ljg-teach && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ljg-teach" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-teach into .opencode/skills/ljg-teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-teach", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ljg-teach用体验而不是定义来教授概念、原理或检验观点:先给与学习者认知水平相称的局面,让其选择,再用公平的意外显化认知缺口,结构化后才命名,并以迁移局面循环复测。USE WHEN 用户调用 '/ljg-teach'、说 '用情境教我'、'别先讲答案'、'通过案例让我学会',或希望通过选择与反馈理解一个概念或观点。NOT FOR 直接定义查询(用 ljg-is/ljg-word)、八维概念解剖(用…
Ljg Teach is an agent skill from lijigang/ljg-skills. 用体验而不是定义来教授概念、原理或检验观点:先给与学习者认知水平相称的局面,让其选择,再用公平的意外显化认知缺口,结构化后才命名,并以迁移局面循环复测。USE WHEN 用户调用 '/ljg-teach'、说 '用情境教我'、'别先讲答案'、'通过案例让我学会',或希望通过选择与反馈理解一个概念或观点。NOT FOR 直接定义查询(用 ljg-is/ljg-word)、八维概念解剖(用 ljg-learn)、伴读文本(用 ljg-read)。
Its SKILL.md is about 790 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The licence is MIT.
Read from SKILL.md and the folder at commit 9e75497. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ljg Teach loads about 789 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 77 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from lijigang/ljg-skills at commit 9e75497, republished under its MIT licence (© lijigang). 77 words, ~789 tokens.
.claude/skills/ljg-teach/SKILL.md (or your agent's skills folder).不先解释概念。先让学习者进入一个局面,做出在其当前认知里合理的选择;再让局面向前走,直到旧模型解释不了结果。结构被看见以后,才给它名字。
局面 -> 选择 -> 意外 -> 结构 -> 命名 -> 迁移局面
^ |
+------------- 「原来如此」 -----------+| 当前状态 | 下一步 |
|---|---|
| 用户给出新概念、原理、模型或观点 | 进入「局面」;不要解释或命名目标概念 |
| 用户已经作出选择并说明理由 | 让局面发生一个公平的「意外」 |
| 用户回应意外、指出或暴露了假设 | 显化其认知结构,随后才「命名」,再给迁移局面 |
| 用户在迁移局面中继续作答 | 根据理由更新难度,继续循环或收束 |
| 用户说「揭晓」「停止」「总结」 | 尊重控制权,给当前最小必要解释或收束 |
一轮有效教学结束时,学习者不是记住了一句话,而是能看见:
从对话中估计学习者已经知道什么,并选中目标概念里一个最承重的认知缺口。没有足够证据时,从日常、具体、但不幼稚的难度开始;不要用自评问卷拖延体验。
局面必须让学习者拥有一个角色、一个目标、几条真正影响选择的约束和足够作判断的信息。首轮不出现目标概念的名字、定义、术语暗示或答案轮廓。
只提出一个必须取舍的判断。允许选项外回答,也允许「信息不足」——那本身是一种判断。以「你会怎么选?用一句话说理由」或同等具体的问题收尾,然后停下等回答。
把学习者的理由视为当前认知模型的证据,不急着判对错。关注他在优化什么、忽略什么、默认什么不会变化,以及把哪个局部规律当成了全局规律。
选择若已经显示出对目标概念的稳定理解,不得制造失败。改用更窄的边界条件、更长的时间尺度或相邻概念来提高难度;仍找不到真实缺口,就直说这一层已经掌握。
让局面只向前推进一步,出现一个旧模型没有预测到、但能从原有结构中解释回来的后果。意外的作用是暴露模型边界,不是证明学习者愚蠢。
意外必须公平:
呈现后只问一个诊断问题,例如「你原来的判断里,哪条默认现在需要改?」然后停下。
根据学习者两次回答,先把他的旧模型镜像出来,不抢先塞入理论:
若证据不足,用「我暂时推测」标明,不替学习者编造动机。观点涉及价值取舍时,区分事实判断、价值权重与约束条件;意外只能检验预测或代价,不能把一种价值偏好强装成唯一正确答案。
结构说清之后,才说:「你刚才遇到的这个结构,叫……」
每轮只引入一个最能压缩这次意外的概念、原理或模型。说明三件事即可:它看见了旧模型漏掉的什么、它能预测什么、它在哪些边界外会失效。术语存在流派差异时,标明出处或常见替代叫法,不把临时标签冒充公认概念。
立即给出一个表面不同、深层结构相同的新局面,不提醒该套用刚命名的概念。再次只问一个选择,并停下。
收束只保留四项:原来的规则、发生的意外、更新后的模型、迁移证据。然后询问是否进入下一个概念。
Example 1: 学一个概念
User: /ljg-teach 机会成本
-> 首轮只给资源取舍局面,请用户选择并说明理由
-> 用户回答后,让被放弃选项的真实代价出现
-> 先显化「只计算已支付成本」的旧规则,再命名「机会成本」
-> 换成时间分配局面复测,不提前提示概念Example 2: 检验一个观点
User: /ljg-teach 「透明总会带来信任」
-> 给一个公开团队决策记录的局面,让用户决定透明到什么程度
-> 意外展示透明如何改变参与者的表演激励,而非宣判透明错误
-> 分开事实预测、价值权重和制度约束,再命名相应结构
-> 用家庭或市场中的异形局面复测边界Example 3: 学习者没有掉进预设缺口
User: /ljg-teach 沉没成本
-> 用户首轮已经明确忽略不可收回的投入,只比较未来收益
-> 不伪造失败,也不重复定义
-> 承认这一层已掌握,改测身份承诺或信息价值等相邻边界
-> 若仍无真实缺口,收束并请用户选择下一个概念© lijigang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/ljg-teach of lijigang/ljg-skills.
Open the folder on GitHubat commit 9e75497
Ljg Teach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ljg Teach this skilllijigang/ljg-skills | 7.5k | — | ~789 | Automated safety check: Pass | MIT | |
| Teachcursor/plugins | 11k | 9 repos | ~1.4k | Automated safety check: Pass | None | |
| Crossframe Teachsickn33/agentic-awesome-skills | 47k | 1 repos | ~943 | Automated safety check: Pass | MIT | |
| Teachvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Teachccplugins/awesome-claude-code-plugins | 970 | — | ~5.9k | Automated safety check: Notes | Apache-2.0 | |
| Teachtrailofbits/skills-curated | 513 | 27 repos | ~2.6k | Automated safety check: Notes | CC-BY-SA-4.0 |
cursor/plugins
Explain a body of work plainly so a person actually understands it.
sickn33/agentic-awesome-skills
A skill your agent uses when CrossFrame Suite routes explicit Chinese teaching of CrossFrame concepts, misreading boundaries, plain-language examples, signals, or exercises.
vinvcn/mattpocock-skills-zh-CN
在这个工作区中教用户一个新技能或概念。
ccplugins/awesome-claude-code-plugins
Teaches the Second Brain to recognize a new external data source.
trailofbits/skills-curated
Teaches the user a new skill or concept over multiple sessions, using the current directory as a stateful teaching workspace with lessons, learning records, and reference materials.
stevesolun/ctx
Teach a skill or concept at the user's current level, optionally preserving a lightweight multi-session learning record.
lijigang/ljg-skills
Explains a whole book to someone who has not read it, keeping its specific content and showing how its threads connect, and saves the result as an Org note.
lijigang/ljg-skills
Explain research papers to readers without a specialist background: what the paper studies, what the authors contribute, how the findings follow, and what the evidence does not establish.
lijigang/ljg-skills
Turns text, URLs or local files into tall PNG cards through HTML typography, with four modes: long reading card, full-text layout, comic and whiteboard.
lijigang/ljg-skills
Turns a named classical Chinese chapter, such as one from the Tao Te Ching or the Analects, into a single annotated PNG image with notes and commentary.
lijigang/ljg-skills
Finds the handful of constraints that truly define a domain, role, product or debate, grades each by hardness, and explains the behavior those constraints produce.
lijigang/ljg-skills
Builds single-file offline HTML talk decks from Org or Markdown outlines, with faithful layout or editorial condensing and keyboard navigation.
用体验而不是定义来教授概念、原理或检验观点:先给与学习者认知水平相称的局面,让其选择,再用公平的意外显化认知缺口,结构化后才命名,并以迁移局面循环复测。USE WHEN 用户调用 '/ljg-teach'、说 '用情境教我'、'别先讲答案'、'通过案例让我学会',或希望通过选择与反馈理解一个概念或观点。NOT FOR 直接定义查询(用 ljg-is/ljg-word)、八维概念解剖(用…. Ljg Teach is an agent skill from lijigang/ljg-skills.
Ljg Teach fits situations like: 用户调用 /ljg-teach、说 用情境教我、别先讲答案、通过案例让我学会,或希望通过选择与反馈理解一个概念或观点。NOT FOR 直接定义查询(用 ljg-is/ljg-word)、八维概念解剖(用 ljg-learn)、伴读文本(用 ljg-read).
Run `npx skills add lijigang/ljg-skills --skill ljg-teach -a claude-code`. Or copy the skill folder (skills/ljg-teach in lijigang/ljg-skills) into .claude/skills/ljg-teach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lijigang/ljg-skills --skill ljg-teach -a codex`. Or copy the skill folder (skills/ljg-teach in lijigang/ljg-skills) into .agents/skills/ljg-teach in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lijigang/ljg-skills --skill ljg-teach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ljg-teach, .gemini/skills/ljg-teach, .github/skills/ljg-teach and .opencode/skills/ljg-teach in your project.
SKILL.md names no scripts, command-line tools or credentials: Ljg Teach is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ljg Teach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 789 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ljg Teach: Teach (cursor/plugins, 11k stars), Crossframe Teach (sickn33/agentic-awesome-skills, 47k stars), Teach (vinvcn/mattpocock-skills-zh-CN, 4.7k stars) and Teach (ccplugins/awesome-claude-code-plugins, 970 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lijigang (a GitHub user) maintains it in lijigang/ljg-skills, which has 7,481 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 8, 2026.
Source: lijigang/ljg-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.