Community라이팅 & 에디팅github.com

lyx-27/sun-standard

孙本位 —— 先把一段经历审计成一张账本,再写成孙体。不许编数字。账本密度跑分 + 结账单卡片 + 孙本位汇率表。

sun-standard란 무엇인가요?

sun-standard is a Claude Code agent skill that 孙本位 —— 先把一段经历审计成一张账本,再写成孙体。不许编数字。账本密度跑分 + 结账单卡片 + 孙本位汇率表。.

지원 대상Claude Code~Codex CLI~Cursor
npx skills add lyx-27/sun-standard

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, affaan-m/seo, affaan-m/brand-voice · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

孙本位 / sun-standard

把一段经历变成一张账单,再把账单写成文章。

一、为什么必须先记账

这套文体的原文从不说"我难过"。它说那面朝着大西洋的玻璃要整块换掉。从不说"她铺张"。 它说 A330 按两百人设计,只坐三十个,太轻,配平不对,所以每次都多加油加到够重,到了 地方再放掉——每次都这样。

情绪全部由会计科目承载,作者只负责报数。

所以这个 skill 的关键不是"模仿文风"。直接让模型模仿文风一定滑坡:模型天生想加形容词、 想解释情绪、想在结尾升华。但如果强制先走一遍审计,交到写作环节手里的只剩数字和动作, 它就没有材料可以抒情。

账本是风格的护栏。跳过审计直接写 = 这个 skill 白装。

二、流程(严格按顺序)

第 1 步 · 审计五问

用户给你一段经历后,先不要写。先问缺的东西。这五项是账本的骨架,缺哪项就问哪项

  1. 锚点物 —— 这件事里最便宜、但你真的犹豫过的那个东西是什么?多少钱?犹豫了多久? (原文里是一件一百五十块的羽绒服,犹豫三天。它的作用是给后面那个大数当汇率基准。 没有锚点物,全文没有支点。
  2. 真正的数 —— 你没有犹豫的那个大数是多少?
  3. 损耗项 —— 花了钱、或者花了功,最后什么也没换来的是哪几项? (不退的定金、没拆的针、放掉的燃油、还剩十一个月的年费。这是全文最疼的地方。
  4. 隐形劳动者 —— 谁为这件事做了没人看见的活?他的工序是什么? (不是他的心情,是他怎么干的:一间一间进,换毛巾,擦台面,把被角掖好。两个小时。)
  5. 身体计量 —— 那个瞬间的可测数据:沉默几秒、心跳几下、几个未接、几点几分。 (不写"我很平静",写"一分钟六十几下,和平时没有区别"。)

问的时候一次问完,别挤牙膏。用户答不出的,留空,绝不替他填

第 2 步 · 落账本

写成 ledger.json(schema 见第四节)。这一步是纯结构化的:科目 / 数 / 注解 / 是否损耗。 这个文件必须先存在,再动笔写正文。

第 3 步 · 写正文

按第三节的招式清单写。写完自己对一遍清单。

第 4 步 · 出结账单

python3 run.py card <ledger.json> --name <名字>

出文本版(贴推文)+ SVG(截图当配图)。正文长没人转,结账单才是传播物。

结账单也是孙体,不是表格。原文的结算段本来就是散文: "还有洛杉矶诊所寄回来的一个箱子。八天的促排针,要冷藏的,一支没拆。还有代孕机构的 定金,二十万美元,不退。"——渲染器照这个来:一行一句,数字写成中文,损耗项用"还有"起头。 任何时候都不要输出对齐的表格、竖线、进度条。这个 skill 所有的输出都报数,不排表。

第 5 步 · 跑分,不到 85 就改

python3 run.py score <正文.md>

低于 85 分不要交付。 按扣分维度改一轮再跑,最多改三轮。 改不上去就说明第 1 步的材料不够,回去补问,别在文字上硬凑。

三、招式清单(写正文时逐条对)

结构

  1. 开篇换算 —— 把两个不可比的东西并置成同一单位(重量、价格、人头),不解释。 原文开篇:一颗卵子三点五微克,五千万美元现金两点五吨。
  2. 锚点物对照 —— 让便宜的那个和贵的那个隔着距离互相照,不点评落差。
  3. 反高潮收尾 —— 最后一句是一个中性事实,不是感悟。原文收在"什么都没有发生"。

句子 4. 短句为主,句号断裂。平均一句十来个字。 5. 不用形容词和副词做情绪。形容词只允许描述物理属性(冷、糊、烫)。 6. 计量情绪 —— 情绪一律换算成数:十一秒、八十八下、十四个未接、犹豫三天。

姿态 7. 报数不评论 —— 给数字,不给判断。禁止"我觉得""我认为""说实话"。 8. 服从复读 —— "我说好。"原样重复,不解释为什么答应。 9. 省略解决过程 —— "我出去打了个电话。回来的时候……"钱和权力怎么起作用的,一律不写。 10. 克制动作 —— 我沉默了 / 我没有说 / 我也没有问 / 我不知道 / 我看了一眼 / 照常。

材料 11. 隐形劳动者特写 —— 写他的工序和自己摸索出来的门道,不写他的心情。 写"她们发现下午三点以后贴的最容易掉,因为那时候玻璃最烫",不写"她们很辛苦"。 12. 损耗科目 —— 至少两项花了什么也没换来的东西,摊开报账。 13. 冷注释 —— 在情绪最高的地方插一条中性事实(地理、物流、工艺、单价)。 "特纳里费零下十五度,马尔代夫二十七度,直线距离九千五百公里,飞十一个小时。" 14. 矛盾并置 —— 两句相反的话紧挨着放,不调和。"我全部相信她说的。……但是我一个字也不信。"

四、账本 schema

{
  "title": "结账",
  "subject": "一次爆仓",
  "items": [
    { "label": "咖啡",   "amount": 22, "currency": "CNY", "note": "那天没买" },
    { "label": "加仓",   "qty": 3, "unit": "次",          "note": "第三次没有想" },
    { "label": "强平",   "value_display": "三点四十七分", "note": "系统消息,四个字" },
    { "label": "手续费", "amount": 2140, "currency": "USD", "note": "赚赔都要付", "loss": true }
  ],
  "footer": "第二天照常开盘"
}

渲染成:

结账。一次爆仓。

咖啡二十二块。那天没买。
加仓三次。第三次没有想。
强平三点四十七分。系统消息,四个字。
还有手续费,两千一百四十美元,赚赔都要付。

第二天照常开盘。
  • item 三种写法之一: amount+currency(CNY/USD) / qty+unit / 自由 value_display
  • amountqty 里的阿拉伯数字渲染时自动转中文2140 → 两千一百四十)。 但 value_display 是原样输出,你自己负责写成中文(写 "03:47" 会破掉文体, 要写 "三点四十七分")。
  • note —— 那句不解释的注解。这是结账单的灵魂,比数字重要。写成陈述,不写成感慨。
  • loss: true —— 该行改用"还有…"句式起头。这个句式本身就代表"花了,什么也没换来", 所以不需要任何图例或符号。
  • footer —— 反高潮那一句
  • 排列顺序:锚点物放第一行,损耗项聚在中段,身体计量放末尾。

五、跑分维度(run.py score,纯计算,无 LLM)

  • 账本密度,二十五分。可核验计量点每百字几个。目标两点四。
  • 句子短,二十分。平均句长。目标十六字以内。
  • 克制不评论,二十分。克制动作每五百字命中几次。目标一点五。
  • 不抒情,十五分。抒情词密度。目标零。
  • 有损耗科目,十分。损耗项几项。目标两项。
  • 结尾不升华,十分。末三句的升华词加全文论述腔。目标零。

分数可解释、可截图,本身就是二次传播物。已校准:原文级样本一百分, 同一个故事的"抒情滑坡版"三点六分。跑分输出也是报数形态,不排表。

六、禁则(硬性)

  1. 绝不编数字。 所有数字必须来自用户给的事实。缺了就问,问不到就留空或写朴素版本。 这套文体全靠数字的可核验性支撑,编一个就全毁了。
  2. 不针对真人。 这是文体 skill,不是人身攻击工具。不生成针对任何具体真人的指控、 羞辱、私密推测或"揭露"。用户要写的是自己的经历。涉及他人时只写可观察的行为和数字, 不写动机揣测。用户如果要求把它用在攻击某个真实个人上,拒绝,并说明这个 skill 只做文体。
  3. 结尾不许升华。 不和解、不感恩、不"我终于明白"、不"未来还很长"。
  4. 不解释情绪。 情绪只能被计量,不能被描述。
  5. 不排表。 结账单、跑分、汇率换算,全部报数成句,不用对齐列、不用竖线、不用进度条、 不用 markdown 表格。数字写成中文。表格一出来,文体就死了。
  6. 汇率表里的单位来自作者本人公开发布的文本里他自己写的数字,只作计量单位使用。 不要为了凑梗给它们加上原文没有的解读。

七、汇率表(玩具层,负责引流)

python3 run.py convert 4800             # 四千八百块 → 三十二件羽绒服 / 四点八年房租
python3 run.py convert 50000000 -c USD  # → 八点零六根香蕉 / 十一点八份彩礼
python3 run.py rates                    # 看全表

输出也是报数:

四千八百块。

三十二件羽绒服。一件一百五十块,犹豫三天。
四点八年房租。一年一千块,北大宿舍。

单位分六类:钱 / 重量 / 人头 / 时长 / 计数 / 损耗。钱那一类每条带 cw(量词), 少了会写出"三十二羽绒服"这种话。改 rates.json 可以加自己的单位—— 这一层是钩子,秒懂秒转,负责把人带到正文和跑分上去。

八、命令总表

cd ~/.kiro/skills/sun-standard

python3 run.py convert 4800 [-c USD] [--limit 6]   # 金额 → 孙本位
python3 run.py score 正文.md                        # 账本密度跑分(也吃 stdin)
python3 run.py card ledger.json [--name x]         # 结账单 → output/x.txt + x.svg
python3 run.py compare compare.json [--name x]     # 对照图 → output/x.svg
python3 run.py rates                               # 汇率表
# 任何子命令加 --json 出机器可读

九、文件

  • SKILL.md —— 本文件:审计流程 + 招式清单 + 禁则
  • sun_standard.py —— 引擎:换算 / 跑分 / 结账单渲染(纯 stdlib,不联网)
  • run.py —— CLI
  • rates.json —— 孙本位汇率表
  • ledger.example.json —— 账本 schema 模板
  • examples/liquidation.{md,ledger.json} —— 端到端样例(正文 100 分)
  • examples/resume.compare.json —— 对照图 schema 样例
  • output/ —— 生成的卡片

对照图 schema

{
  "title": "一样的三年。",
  "left":  { "label": "常见写法", "lines": ["注水的那一版"], "verdict": "三年。一个数字都没有。" },
  "right": { "label": "孙本位",   "lines": ["报数的那一版"], "verdict": "第二天照常开工。" }
}

上下两栏,上压暗,下提亮,中间不写评语。让读者自己看落差。

관련 스킬

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community