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.
npx skills add Cerlancism/wenyan.skill --skill wenyangit clone --depth 1 https://github.com/Cerlancism/wenyan.skillWrote 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.
[](https://agentmods.dev/skills/cerlancism/wenyan.skill/wenyan)<a href="https://agentmods.dev/skills/cerlancism/wenyan.skill/wenyan"><img src="https://agentmods.dev/badge/skills/cerlancism/wenyan.skill/wenyan/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.
<a href="https://agentmods.dev/skills/cerlancism/wenyan.skill/wenyan"><img src="https://agentmods.dev/badge/skills/cerlancism/wenyan.skill/wenyan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00154 | $0.03460 |
| Opus 5 | $0.00077 | $0.01730 |
| Sonnet 5 | $0.00031 | $0.00692 |
| Haiku 4.5 | $0.00015 | $0.00346 |
Grade A, and why
wenyan 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 11d 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.
How it starts
The opening of the file, as written. The whole thing — 295 lines — stays where its author put it; the contents beside it link to each section on GitHub.
文言編程術
文言者,以古漢語文法編程,編譯至JS/Python/Ruby。代碼如古文。
職
助撰、讀、調試、編譯文言代碼。能:
- 依規格或偽代碼撰新文言程式
- 文言↔JS/Python/Ruby雙向譯
- 讀編譯輸出或錯誤訊息以調試
- 以自然語言釋文言代碼
- 遷移既有TS/JS/Python/Ruby代碼庫至文言
速查
撰文言前,先熟此要。詳見references/。
型
| 型 | 關鍵字 | 值 |
|---|---|---|
| 數值 | 數 |
三, 一百二十, 三點一四 |
| 字串 | 言 |
「「text」」(雙角括號) |
| 布爾 | 爻 |
陽(true), 陰(false) |
| 數組 | 列 |
1起始! |
| 對象 | 物 |
鍵值對 |
| 自動 | 元 |
編譯器推斷型 |
宣告
吾有一數。曰三。名之曰「x」。 // var x = 3
吾有一言。曰「「hello」」。名之曰「s」。 // var s = "hello"
吾有一爻。曰陰。名之曰「b」。 // var b = false
吾有一列。名之曰「arr」。 // var arr = []
吾有一物。名之曰「obj」。 // var obj = {}
有數五十。名之曰「n」。 // var n = 50(簡寫)
多變量宣告:
吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。
重賦值:
昔之「x」者。今「y」是矣。 // x = y
流程控制
若「x」大於「y」者。 // if (x > y) {
⋯⋯
也。 // }
若非。 // else {
⋯⋯
也。
為是十遍。⋯⋯云云。 // for (i=0; i<10; i++) {...}
恆為是。⋯⋯云云。 // while (true) {...}
凡「arr」中之「item」。⋯⋯云云。 // for (var item of arr) {...}
乃止。 // break
比較:大於、不大於、小於、不小於、等於、不等於
算術
加「x」以「y」。 // x + y
減「x」以「y」。 // x - y
乘「x」以「y」。 // x * y
除「x」以「y」。 // x / y
除「x」以「y」。所餘幾何。 // x % y
注意:加X以Y→X+Y,加X於Y→Y+X(於反序)
邏輯
夫「a」「b」中有陽乎。 // a || b
夫「a」「b」中無陰乎。 // a && b
變「x」。 // !x(取反)
術(函數)
定義:
吾有一術。名之曰「fn」。欲行是術。必先得一數。曰「x」。乃行是術曰。
加「x」以一。名之曰「result」。
乃得「result」。
是謂「fn」之術也。
調用:
施「fn」於「arg」。 // fn(arg)
施「fn」於「a」於「b」。 // fn(a, b)——自動柯里化!
返回:
乃得「x」 // return x
乃得矣 // return(末表達式)
乃歸空無 // return(空)
棧式嵌套調用
夫入棧,取N以施「fn」出N項調fn:
夫「a」。夫「b」。夫「c」。取二以施「f」。取二以施「g」。名之曰「result」。
// result = g(a, f(b, c))
棧特殊變量:
其→最近無名結果(兼清棧)噫→棄/清無名棧
列(1起始!)
充「arr」以四。以二。 // arr.push(4, 2)
銜「a」以「b」。 // a.concat(b)
夫「arr」之一。 // arr[0](1起始→JS 0起始)
夫「arr」之其餘。 // arr.slice(1)
夫「obj」之「「key」」。 // obj["key"]
夫「arr」之長。 // arr.length
What ships with it
3 files 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.
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.
- 11d ago First seen · 295 lines · 154 tokens per session scan A c3163299ec4c
wenyan is a skill published in the GitHub repository Cerlancism/wenyan.skill (2 stars, last pushed 4mo ago), licensed MIT. It adds 154 tokens to every session and 3,460 once invoked, about $0.0008 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-31.
Other skills, from other repositories
chat-sdk
Build multi-platform chat bots with Chat SDK (chat npm package). Use when developers want to (1) Build a Slack, Teams, Google Chat, Discord, Telegram, GitHub, Linear, or WhatsApp bot, (2) Use Chat SDK to handle mentions, direct messages, subscribed threads, reactions, slash commands, cards, modals, files, or AI…
agentscope-java
Expert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or…
csv
CSV data processing — view, filter, convert, merge tabular data. Zero barrier — use with x-cmd, Python, or awk. Use for "csv", "data", "table", "spreadsheet", "conversion".
golang-testing
Production-ready Golang tests — table-driven tests, testify suites and mocks, parallel tests, fuzzing, fixtures, goroutine leak detection with goleak, snapshot testing, code coverage, integration tests, idiomatic test naming. Use when writing or reviewing Go tests, choosing a testing approach, setting up Go test CI…
tsv
TSV data processing — view, filter, convert tab-separated data. Zero barrier — use with x-cmd, awk, or Python. Use for "tsv", "tab-separated", "data", "conversion".
golang-benchmark
Golang benchmarking, profiling, and performance measurement. Use when writing, running, or comparing Go benchmarks, profiling hot paths with pprof, interpreting CPU/memory/trace profiles, analyzing results with benchstat, setting up CI benchmark regression detection, or investigating production performance with…