ljg-writes

ljg-writes is a skill for Claude Code from lijigang/ljg-skills. It costs 83 tokens per session (2,172 once invoked), scanned A, original, MIT.

A Chinese writing tool that develops one idea into a clear, structured article of about 1,000–1,500 Chinese characters. It starts with a small example, adds concepts only when the example exposes a gap, and ends with a transferable lesson and a limit.

In plain words
What is it for?
Use it to write or improve Chinese essays, explain an idea, or expand a viewpoint into a logical article. It is not intended for ordinary summaries, fact lookup, or structure-only analysis.
Why use it?
It helps readers understand how an abstract idea works instead of receiving only a definition or summary. The method connects conditions, mechanisms, and results while showing where the explanation may stop applying.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the ljg-skills plugin — 22 skills shipped together

Good fit Use it to write or improve Chinese essays, explain an idea, or expand a viewpoint into a logical article. It is not intended for ordinary summaries, fact lookup, or structure-only analysis.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lijigang/ljg-skills/ljg-writes
About the project

ljg-skills is a collection of custom Codex skills for tasks such as learning, writing, reading, relationship analysis, image creation, and investment analysis. Codex users install selected skills or the whole collection through a skills command-line interface. The catalogue entries are the collection's individual skills, plugin, and instruction.

lijigang/ljg-skills · 7,327 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add lijigang/ljg-skills --skill ljg-writes
Clone the repo
git clone --depth 1 https://github.com/lijigang/ljg-skills

Made for: Claude Code.

Or install ljg-skills, the plugin that ships this one along with the rest of its 22 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ljg-writes

README.md
[![agentmods](https://agentmods.dev/badge/skills/lijigang/ljg-skills/ljg-writes/github.svg)](https://agentmods.dev/skills/lijigang/ljg-skills/ljg-writes)
Your own site
<a href="https://agentmods.dev/skills/lijigang/ljg-skills/ljg-writes"><img src="https://agentmods.dev/badge/skills/lijigang/ljg-skills/ljg-writes/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ljg-writes

Your own site · 80×15
<a href="https://agentmods.dev/skills/lijigang/ljg-skills/ljg-writes"><img src="https://agentmods.dev/badge/skills/lijigang/ljg-skills/ljg-writes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 83 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,172 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 22 Apr 2026
  • Snyk pass 22 Apr 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00083 $0.02172
Opus 5 $0.00042 $0.01086
Sonnet 5 $0.00017 $0.00434
Haiku 4.5 $0.00008 $0.00217

Measured 3d ago against content hash ce7700f5cc06, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

ljg-writes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/ljg-writes/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

写作引擎

把一个观点讲清楚,让一个具体的人读懂它为什么成立、能用在哪里。用容易理解的案例说明关键关系;需要引入抽象概念时,先交代它能解释什么。

Workflow Routing

Workflow Trigger File
WriteEssay 写文章、优化思想内容、展开或重写观点 Workflows/WriteEssay.md

执行时完整读取工作流。分析和检查在内部完成,正文按内容需要展开,不逐项展示写作步骤。

成文契约

一篇文章围绕一个核心判断展开。涉及的其他机制、反馈和限制,都应帮助说明或修正这个判断:

  • 概念可指认:关键的抽象词都能用普通话解释,并对应到具体事物或现象。
  • 关系可运行:读者能说清谁在什么条件下作用于谁,产生什么结果。
  • 案例可映射:场景中的角色、条件和因果关系能对应原观点。
  • 判断可迁移:换掉人物和材料,关系仍成立;同时能指出一个失效边界。

例子帮助读者理解;换一个场景、检查一个反例,才能看出他是否掌握了这个判断。以上四项用于内部检查,不直接用作文章目录。

正文必须给出足够线索,让那个具体的人读完后能够:指出关键概念在现实中指什么,复述「条件—机制—结果」,并说出一个适用的新场景或一个失效边界。内部分析得再充分,这些线索也需要写进文章。

怎样解释一个观点

优先选择一个容易理解、关键因果关系完整的案例。从读者可能已有的解释出发,检查它会怎样判断、预期什么结果。若它解释不了某一步、预测有误,或忽略了某种代价,就把这个具体问题说明白。

随后引入能解决当前问题的概念,用普通话说明它增加了什么区分,再回到同一个案例,看解释或判断发生了什么变化。还有解释不清的地方,再继续补充。先说明概念的意思和用处,需要准确指称时再给出术语。

具体案例 -> 原有解释 -> 解释不清的地方
         -> 引入所需概念 -> 重新分析案例
         -> 说明完整关系 -> 检查其他场景与边界

这条路径用于帮助分析。正文可以先说判断,也可以从案例展开;原有解释已经够用时,直接说明原因,不必安排一次失败。解释结束时,读者应能看清各概念之间的关系,以及它们如何支持或修正最初的判断。

姿态与语言

写得清楚、准确,语气平实。可以有自己的判断和节奏,不必句句用力。

  • 心里有一个具体的人,根据他的知识和文章用途选择说法。自然中文可以是口语,也可以是书面语;不要为了显得亲切,硬加聊天口吻。
  • 改写先保住原意、事实和语气。已经自然的句子可以保留;某个词不贴切时,先看它的意思、搭配和语气是否合适。换近义词仍然别扭,就按整句意思重新组织。
  • 简洁以意思完整、搭配自然为准。「讨论」不必一律改成「聊」;说明因果、条件和程度的词,该留就留。
  • 抽象表述让人费解时,写清谁做了什么、发生了什么变化。需要术语就准确使用;比喻应帮助理解,同一段不要混用几套比喻。计算机类比只在贴合问题、读者也熟悉时使用。
  • 表达判断时,直接说清主张,再说明理由和适用条件。判断在文章中的位置按内容决定,段落也可以用事实、动作或承接上文的句子起笔。避免用「不是……而是……」制造转折;事实否定、必要辨析和边界可以保留。
  • 句子长短服从意思。因果相连的内容可以放在一个完整句子里,需要停顿时再断开。连接词用来交代真实关系,不按词表一概删去,也不靠「因此」「更重要的是」替代推理。
  • 用具体内容说明理由,不宣告「接下来深入剖析」。少用连续排比、刻意对仗和每段末尾的警句;发现节奏反复时,重写整段,不按句式次数配额写作。
  • 不确定时,说明哪些有依据、哪些是推测、还缺什么信息。保留必要的「可能」「通常」「在这些条件下」;百分比需要数据、计算或明确的估计依据。
  • 第一人称经历只写真实材料,不编造亲历,也不替一个群体宣称共同感受。

最后检查

连起来读一遍:这像一个人把事情想清楚后写出的中文吗?词语是否贴切,句子是否顺畅,前后是否接得上?局部换词解决不了的问题,重写整句或整段。

再检查:读者能否用这个判断理解一件新事,并知道它有什么限制?

Gotchas

  • 继续分析应让解释更准确,或让适用条件更清楚。只换成更抽象的词,并没有增加理解。
  • 不为引出概念编造失败。原有解释的不足必须能在案例、材料或逻辑中找到;解释已经够用,就不要继续加概念。
  • 简化案例时保留关键反馈、时序和约束。删去某项会改变结论,就保留它或换一个案例。
  • 多个因素相互影响、同时发生或共同改变结果概率时,可以并排展示过程、列出状态变化,或使用两个相关案例,不强行写成先后相接的单线故事。
  • 案例说明关系如何发生,事实主张需要证据支持。案例中的角色与因果对应不上观点时,换掉它。
  • 一个案例讲得顺,不代表观点到处成立。需要用差异较大的场景和反例检查。
  • 正文应把关键关系说完整;「概念、关系、案例、迁移」等检查项目留在内部。
  • 观点已经清楚时,直接展开;不为追求深刻制造反问、翻转或悬念。
  • 用户只要短改、金句或标题时,按用户长度交付,保留核心意思和必要限定;不为凑齐长文流程额外添加案例或观点。

Read the full file on GitHub · 121 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago Changed · -5 lines ce7700f5cc06
  2. 12d ago First seen · 126 lines · 83 tokens per session scan A 41a0a43eccd9

Subscribe to this mod's changes

ljg-writes is a skill published in the GitHub repository lijigang/ljg-skills (7,327 stars, last pushed 3d ago), licensed MIT. It adds 83 tokens to every session and 2,172 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens