Non Fiction Revision
jwynia/agent-skills
Diagnose and guide revisions in non-fiction books. An agent skill from jwynia/agent-skills.
Finds an apt analogy or relational metaphor for a scene, or for the difference between two things, based on structure-mapping theory, and states where the comparison breaks.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add lijigang/ljg-skills --skill ljg-analogy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lijigang/ljg-skills ljg-analogy --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-analogy .claude/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .claude/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogyType 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-analogy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lijigang/ljg-skills ljg-analogy --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-analogy .agents/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .agents/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lijigang/ljg-skills ljg-analogy --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-analogy .cursor/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .cursor/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogy--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-analogy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lijigang/ljg-skills ljg-analogy --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-analogy .gemini/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .gemini/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogyInstalls 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-analogy -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-analogy .github/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .github/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogy -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-analogy --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-analogy .opencode/skills/ljg-analogy && 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-analogy" agent skill from https://github.com/lijigang/ljg-skills/tree/master/skills/ljg-analogy into .opencode/skills/ljg-analogy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ljg-analogy", 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-analogyFinds an apt analogy or relational metaphor for a scene, or for the difference between two things, based on structure-mapping theory, and states where the comparison breaks.
Given a scene, the skill delivers one main analogy that lets the reader first see a picture, then recognize the relation, and finally understand the original scene a little better. The scene the user wants to understand is the target domain and the borrowed one is the base domain; the search starts from the target to find a base, and knowledge carries back from the base to the target. The objects can be far apart as long as their relations match closely, and novelty never excuses distortion.
Requests are routed by type: one scene needing a metaphor, a comparison of two objects or mechanisms through a shared relation framework, constrained requests on audience or style, and comparing several candidates. A deliverable analogy fits the reader's current task, keeps a real relational structure rather than a list of shared traits, stands as a concrete picture, reveals at least one previously hidden relation such as a blind spot, constraint or cost, survives comparison with alternatives and names a specific boundary where the mapping fails.
Gotchas warn against vague mappings such as both being complex, against inventing facts about the target domain, and against treating an analogy as proof. Output is delivered in the conversation by default, with no notes or files created, and written for ordinary Chinese readers unless you say otherwise. When the input is a single word with no recognizable situation, the agent asks one question that would change the choice. The folder includes Theory.md and EvalCases.json. The skill text is written in Chinese.
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.
Analogy Finder loads about 850 tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 73 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). 73 words, ~850 tokens.
.claude/skills/ljg-analogy/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.用户给出一个场景,交付一个让人先看见画面、再认出关系、最后对原场景多懂一点的类比。物件可以相距很远,关系却对得很近。新奇不能抵消失真;熟悉的物件也能承载出人意料的关系。
术语方向固定:用户想理解的场景是目标域;借来帮助理解的场景是基域。 搜索从目标域出发寻找基域,知识迁移从基域回到目标域。用户用词相反时按实际意图工作,不为术语打断创作。
| 请求 | 处理 |
|---|---|
| 给一个场景,寻找类比或隐喻 | 按下文的成品标准交付一个主类比 |
| 比较两个对象、产品或机制 | 用共同的关系框架,同时保留共同点与关键差异 |
| 指定受众、领域、文风或只要一句 | 保留结构约束,服从用户的呈现要求 |
| 要多个方案或比较已有候选 | 比较不同关系焦点,点出推荐项与取舍 |
至少能认出场景里发生了什么,以及用户希望照亮的关系。只有一个词而无可辨认情境时,问一个能改变类比选择的问题;词语有多种常见指向时,先确认它指什么,问题中的选项也不能默认某一种含义。已有可用场景时直接工作。未指定受众,默认面向普通中文读者,优先选少解释也能想象的生活场景。
类比对准读者当前要完成的理解任务:辨认什么、区分什么,或预测哪种变化。用途、组成、运作方式与体验是不同的解释焦点;读者问两者怎样不同,分别概括它们的用途可能答非所问。结合提问与已有上下文选焦点,必要时用一句「这里着重看……」交代,不把这项检查变成每次都向用户补问。
用户强调的目标、权力差异、时序和约束不能在抽象时被抹掉。版本与状态也是对象身份的一部分:新证据改变角色、流程或依赖关系时,重新检查取景与主类比。若原候选已不能保留承重关系,就换掉它,不能只在末尾补一句版本差异。
任务吻合。 映射保留的是读者这次需要理解的关系。一个比方能解释对象的某个特点,仍可能与眼前的问题无关;关键看它能否改善当前的辨认、区分或理解。
关系成立。 两边都存在同一条有信息量的关系骨架。读者能把人物或物件逐一放回各自角色,核对作用方向、先后顺序、依赖条件与反馈。允许只解释局部,但不能用一句泛泛的「只是类比」掩盖承重关系相反。
关系连得起来。 有一组相互支持的对应,而非为了凑数收集的相似点。若一处改变会牵动另一处,说明这条依赖怎样在两边重现。简单的比例或空间对应已经足够时,不必硬加因果或凑满关系数量。
画面能独立站住。 基域里有具体对象和动作,普通读者不用先听一遍新理论就能理解。可以用明确标为「设想」的构造场景;不能编自然机制、历史事件或名人故事当事实。
多照出一点。 类比至少让一项原先不显眼的关系变得可见:盲点、约束、代价、后果或可区分两种判断的条件。这个增量要能从映射推出。验收解释性类比时,用一个未直接照抄原描述的小情境,检查它能否帮助读者辨认差异、推测结果或选择下一步;只能复述名称与特点的候选仍然偏弱。这是内部内容检查,不必每次给用户出题,也不等于读者实测。文学隐喻可以改变读者看待一种关系的方式,不强加操作性检验或科学实验。
候选经得起比较。 当不同候选都能说通时,用同一个理解任务比较它们:谁保留了更关键的关系,谁能支持更具体的区分或推论,谁需要额外解释得更少。只有喻体名词不同、关系骨架相同,不算另一种结构。关系可信与受众可理解是底线;熟悉的近域对应可以优于新奇的远域对应,距离本身不计作质量。候选探索留在内部,用户未要求时只交付最强方案;没有合格候选就说明具体缺口。
边界具体。 指出基域哪个醒目的特征不能带过来,或哪项目标域条件变化后,对应关系就会断开。用与本次类比有关的一句话完成,避免通用免责声明。
优先在同一熟悉领域中找一组场景,用同一套角色与关系描述两边,使共同点保持可比、关键差异清楚显现。分别给 A、B 找到贴切形象,仍不足以说明 A 与 B 怎样不同;可借用的是一组有区别的运作关系。若跨两个基域更准确,也应保留共同的比较依据,不强凑同域。
检查两种对应是否有区分力:交换喻体以后,如果不用改变承重关系仍能轻易圆回来,它们可能只命中了共同属性。把一个新输入或条件变化放进两边,读者应能从类比看出各自怎样处理、会出现什么不同。若不同答案全靠另外补写目标域事实,喻体本身就没有提供足够帮助。仅按原文换名词,或把优劣标签塞进比方,也不能替代这项检查。
默认直接在对话交付,不自动创建笔记、图片或文件。通常用几段话说透一个主类比,篇幅随场景伸缩:
以上是信息要求,不是固定标题模板。用户只要一句时,只交付一句;用户要可直接引用的成稿时,先给干净成稿,不把验收语言塞进正文。隐喻可以省去「像」,结构对应仍须成立。
本技能借用 Gentner(1983)的关系映射与系统性原则。理解任务、双对象对照、候选淘汰、受众熟悉度、认知增量与具体边界,是为创作任务增加的设计标准,不宣称出自论文或已被论文验证。
关于定义、非因果关系、隐喻与理论外推有疑问时,读 Theory.md。维护或试跑时使用 EvalCases.json;这些用例只定义输入和验收依据,不规定唯一的正确比方。
日常构造场景不必联网。最终类比若依赖某项不确定的科学、历史或行业事实,先用当前可用检索工具核对一手材料;核对不了,就换成事实可靠的基域,或明确限定为假设场景。
© lijigang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in skills/ljg-analogy of lijigang/ljg-skills.
Open the folder on GitHubat commit 9e75497
Analogy Finder 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 |
|---|---|---|---|---|---|---|
| Analogy Finder this skilllijigang/ljg-skills | 7.5k | — | ~850 | Automated safety check: Pass | MIT | |
| Non Fiction Revisionjwynia/agent-skills | 170 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode | 7.4k | 3 repos | ~3k | Automated safety check: Pass | MIT | |
| Short Web Fiction Trend Scanzenstory-ai/oh-story-claudecode | 7.4k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| InkOS Creative HarnessNarcooo/inkos | 10k | 1 repos | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Novel Arteternityspring/shuohao-skills | 4.3k | — | ~1.1k | Automated safety check: Notes | Apache-2.0 |
jwynia/agent-skills
Diagnose and guide revisions in non-fiction books. An agent skill from jwynia/agent-skills.
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
zenstory-ai/oh-story-claudecode
Scans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning.
Narcooo/inkos
Drives long-form fiction, scripts, storyboards, interactive films and long-document translation through InkOS, with every change made by a typed action.
eternityspring/shuohao-skills
给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。
Nanako0129/sepia
Make AI-generated writing read as human-written, in fiction and in professional prose.
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.
Categories
Finds an apt analogy or relational metaphor for a scene, or for the difference between two things, based on structure-mapping theory, and states where the comparison breaks. Given a scene, the skill delivers one main analogy that lets the reader first see a picture, then recognize the relation, and finally understand the original scene a little better. The scene the user wants to understand is the target domain and the borrowed one is the base domain; the search starts from the target to find a base, and knowledge carries back from the base to the target.
Analogy Finder fits situations like: explaining a hard idea by borrowing a familiar scene; showing how two products, tools or mechanisms differ through a shared set of roles; needing a metaphor that carries a real relationship, not just a similar surface.
Run `npx skills add lijigang/ljg-skills --skill ljg-analogy -a claude-code`. Or copy the skill folder (skills/ljg-analogy in lijigang/ljg-skills) into .claude/skills/ljg-analogy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lijigang/ljg-skills --skill ljg-analogy -a codex`. Or copy the skill folder (skills/ljg-analogy in lijigang/ljg-skills) into .agents/skills/ljg-analogy 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-analogy -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-analogy, .gemini/skills/ljg-analogy, .github/skills/ljg-analogy and .opencode/skills/ljg-analogy in your project.
SKILL.md names no scripts, command-line tools or credentials: Analogy Finder 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.
Analogy Finder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 850 tokens (SKILL.md is roughly 3.4k 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 Analogy Finder: Non Fiction Revision (jwynia/agent-skills, 170 stars), Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Short Web Fiction Trend Scan (zenstory-ai/oh-story-claudecode, 7.4k stars) and InkOS Creative Harness (Narcooo/inkos, 10k 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.