← All projects

sunti

Writing skill: love letters, accountant-style

Tang Yijia (Tom)

Category
AI & MCP
Platform
Claude skill
License
MIT
Languages
Chinese

A Claude skill that writes love letters in the language of accounting: one viral Chinese prose style, reverse-engineered into 12 rules you can check.

Web demoAnnotated reader: one rule highlighted
Web demoThe sample essay and the twelve rules

Try it in your browser

This page shows the skill's 12 rules next to the repo's blind-test sample essay, which I annotated by hand. No AI is called here; the self-check at the bottom runs simple string heuristics in your browser. The essay stays in Chinese, because the skill writes Chinese.

孙体 = 精确的数字 + 克制的钞能力 + 不解释的沉默 + 他者的细节 + 复沓的短句 + 一个不肯落泪的叙事者。

Sunti = exact numbers + restrained spending power + unexplained silence + other people’s details + repeated short lines + a narrator who will not cry.

Emotion never appears directly. It is converted into weight, money, days, counts, distance, heart rate. — translated from SKILL.md

  • 12enforceable rules
  • 8self-check items
  • 0exclamation marks

Annotated reader

Left: the repo’s blind-test sample essay, 我的机械键盘 (“My Mechanical Keyboard”), split into its 31 paragraphs. Right: the 12 rules. Pick a rule to see which passages use it; pick a passage to see which rules it uses. The small numbers after each passage are its rule numbers.

The essay stays in Chinese — this is a skill for writing Chinese. Rule names come from README.en.md; the definitions are translated from SKILL.md. I tagged each passage by hand against those definitions, so treat the tags as one reading, not data from the repo. Rule 2 (one-sentence paragraph) is counted automatically from sentence-ending punctuation.

我的机械键盘

Blind-test sample · the model had read only SKILL.md · fictional characters

一颗PBT键帽的重量,一点五克。 1 · 2

一台白露的铝合金机身,二点四公斤。 1 · 2 · 3

2021年10月3日,白露开团。限量三百台,工期九十天。我排到两百七十一号。 10

定金一千二,尾款三千六。我在凌晨十二点零四分付掉定金,比设的闹钟晚了四分钟。 5

老周说,尾款出货前补。 2 · 11

我说好。 2 · 4 · 11

他在群里发车间的视频。CNC铣一个机身要六个小时,阳极氧化再要两天。 3 · 5

他说,白色难做,废品率四成。 2 · 11

我说好。 2 · 4 · 11

跟团的赠品先到了,一把塑料拔键器,成本三块钱。我把它压在显示器底座下面。 9

九十天到了。键盘没有到。 4

2022年4月11日,群公告说延期。氧化厂在中山,封了。 10

我说好。 2 · 4 · 11

2022年9月,有人在群里发老周的病历照片。胃癌,二期。定金拿去交了住院费。 3 · 10

我全部相信。 2 · 8

但是我一个字也不信。 2 · 8

三百个人里,追问的有两百多个。我不在里面。我没有问过一句。 7

2023年1月9日,群解散了。解散前的最后一条消息,是一个问号。 10

那年我用拔键器把旧键盘的键帽拆下来,洗了一遍,又一颗一颗装回去。 2 · 9

2024年6月,我去了一趟东莞长安镇。代工厂在三楼,卷帘门锁着。 10

门口的保安在吃饭。 2 · 6

他说,机器年前就搬走了。 2 · 6 · 11

他说,里面还剩一托盘壳子,白色的,没人来拿。 2 · 6 · 11

我没有上楼。我也没有问能不能上去看。 7

回程的高铁上,我算了一笔账。定金一千二,两年活期利息六十块,来回车票四百一十六。 5

后来闲鱼上出现过一台白露,编号七十七,标价两万四。挂了十一天,下架了。 3

我每天还在用那把三块钱的拔键器。塑料卡口松了,夹不住键帽,一拔就滑。 3 · 9

我没有换。 2 · 9

2026年1月,老周的账号更新了一次头像。黑色的,什么都看不清。我没有发消息。 7 · 10

凌晨一点的长安镇,三楼的卷帘门后面,一托盘白色的机身摞在货架上。 2 · 12

键盘没有到。 2 · 4 · 12

How the blind test was run

According to the repo’s README and the note at the top of the sample: the tester model read only SKILL.md and never the source novel, chose its own subject, used fictional characters, passed all 8 self-check items, and the text was not edited by a human.

That one essay is the whole of the published evidence — there is no larger set or control. The README’s showcase is passage 23, “里面还剩一托盘壳子,白色的,没人来拿” (“there’s still a pallet of cases inside, white ones, nobody came for them”), written by a model that had never seen the novel’s “the register says occupied.”

Measured with this page’s naive counter: 16 of 31 paragraphs (52%) are single sentences — over the self-check’s 50% bar, but under the 60% that rule 2 itself states. Passage 26 also uses 后来 (“later”) once. Both are marked in the annotations.

Self-check

Section 5 of SKILL.md lists 8 checks to run before delivering a piece. The mechanically checkable parts are below as naive in-browser heuristics: paste Chinese text and results update as you type. These are plain string rules — no model is called — so expect false positives and misses. Items marked “manual” need a human reader.

Paste some text and the per-item results appear here.

How to use the skill

Claude Code: clone it into your skills folder

git clone https://github.com/TomEageer/sunti ~/.claude/skills/sunti

Then tell Claude:

Write “My Noise-Cancelling Headphones” in Sunti style.

No Claude Code? Paste SKILL.md into any capable model — the skill is plain text with zero dependencies. It writes in Chinese.

Input: one unattainable object (a person, a job offer, a flat, a cat) plus a few exact numbers.

The writing flow in SKILL.md

  1. Object: one thing you can’t have.
  2. Ledger: list 8–15 believable numbers, at least one pair for the opening couplet.
  3. Refrains: choose 2–3 short skeleton sentences.
  4. Cheap object: pick one worthless old thing and plan its three appearances.
  5. Structure: numeric couplet → origin → time together → the turn → the reckoning → empty-shot ending.
  6. Cut: every adjective, exclamation mark, direct feeling and explanatory clause. Then cut again.

Boundaries: literary parody and fan-fiction only — not for impersonating real people or making claims about them. This clause ships inside SKILL.md.

The novel 我的女友景甜 (My Girlfriend Jing Tian) belongs to its author; neither the repo nor this page contains it, beyond the short example lines the repo itself quotes. The sample essay is original to the repo. Code and docs MIT.