Skip to content

About

用冯唐说理散文的语言结构写中文长文的 Codex Skill。从约 100 万字语料量化提取结构机制,含自检工具。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fengtang-style

一个 Codex Skill:用冯唐说理散文的语言结构写中文长文与文案。

这个 skill 解决什么问题

不是模仿冯唐的腔调,也不是复读他的金句。它提取的是结构和节奏:

  • 全文只有一个可证伪的判断,结论前置不铺垫
  • 单句成段占 38%~53%(五种文体一致),一段只装一个判断
  • 段落起手句比段内其余句短 6~13 字
  • 问句密度按文体分档:议论 4.89 次/千字,随笔 2.59,文评 2.74
  • 比喻密度按文体分档:议论 0.9,随笔 2.6,文评 3.0,小说 3.3(他写议论文时几乎不用比喻)
  • 收口不用"综上所述",用引语或回扣
  • 形式达标不等于逻辑通:判断句不许循环定义,三足各自独立成立,每个设问都要被正面回答

数据来源

从七本书约 100 万字正文里量化提取,并作六组对照:

语料 汉字数 性质
《金线》《成事心法》 219,388 议论体
《三十六大》《活着活着就老了》 222,787 随笔体
《活着活着就老了》卷一/卷二 +《如何成为一个怪物》独有篇目 82,981 文评体(书评与人评)
小说合集(已剔除混入的散文) 429,690 叙事体(对照)
《成事》冯唐白话点评 37,259 短评体(对照)
《成事》曾国藩文言原文 14,900 真文言(对照)

多本 EPUB 之间存在大量重叠(《三十六大》87% 也收在小说套装里),所以分组前先用 12 字滑窗指纹做了跨书去重,重复段落只计一次。

参考区间由 tools/calibrate.py 用分位数标定:把语料切成长约 1500 字的窗口,取各项指标的 p10~p90 作为"合格区间"、中位数作为"典型值"。

完整实测数据与方法见 references/language.md。

目录结构

.
├── SKILL.md                  流程主干:六条硬机制 + 五步写作流程 + 红线
├── references/
│   ├── structure.md          骨架模板、递进关系、开头与收尾句式库
│   ├── language.md           全部量化指标、句式规范、词汇与标点规范
│   ├── logic.md              表达逻辑:判断句检测、三足独立性、设问兑现、非法衔接
│   ├── anti-patterns.md      油腻六形态、结构性失败、逻辑性失败、诚实边界
│   ├── checklist.md          四遍自检清单(逻辑遍 / 结构遍 / 语言遍 / 油腔遍)
│   └── examples.md           三组 before/after + 一篇通过自检的完整范文
├── tools/
│   ├── check_style.py        自检工具:议论/随笔双模式,输出合格区间、典型值与逻辑告警
│   ├── calibrate.py          参考区间标定:用语料窗口的分位数推出合格区间
│   ├── extract_epub.py       语料提取(EPUB → 纯文本,含印刷行回流与重复段清理)
│   ├── style_stats.py        语料量化分析(六组语料对照 + 跨书去重)
│   └── pattern_mining.py     句式与结构模式挖掘
├── demo/                     示范稿与校准样本(含版权原文,已 gitignore)
└── corpus/                   原书与提取文本(含版权内容,已 gitignore)

用法

把稿子写好之后跑一次自检:

python3 ~/.codex/skills/fengtang-style/tools/check_style.py demo/焦虑不是情绪问题.md          # 议论模式
python3 ~/.codex/skills/fengtang-style/tools/check_style.py 我的随笔.md 随笔                  # 随笔模式

它会输出每一项指标的实测值、合格区间(语料窗口 p10~p90)和典型值(同文体中位数),并扫描油腻词、鸡汤句式、学术腔三类红线词。"合格"判合不合格,"典型"判像不像。

重新跑语料分析(需要先把 EPUB 放进 corpus/):

python3 tools/extract_epub.py corpus/*.epub
python3 tools/style_stats.py
python3 tools/pattern_mining.py
python3 tools/calibrate.py

再补一本书时,先做三步体检

新书不要直接丢进分析,先体检,否则脏数据会污染分位数标定(《如何成为一个怪物》就是这样被查出来的):

  1. 看提取质量。 extract_epub.py 会打印两行体检信息——硬换行回流章节数(扫描版 EPUB 的一行一个 <p> 排版会被自动粘回自然段)和删除重复段落(扫描稿常见的成块重复)。回流数为 0 而段落长度中位数只有 20 多字,说明这本书的排版没被识别,需要先查 XHTML 结构。
  2. 查跨书重叠。 本批 EPUB 之间大量互相收录(《三十六大》87% 也收进小说套装,《如何成为一个怪物》与《活着活着就老了》重叠约四成)。做法是用段首 40 字做指纹两两比对:重叠超过 20% 的书,进分析前必须去重,否则同一段文字会被统计两次。
  3. 定分组。 看这本书是议论、随笔、还是书评文评。若属于已有分组,并入即可;若是新文体,在 style_stats.py 与 calibrate.py 里新增一组并重标分位数,再决定是否值得为它单列一个自检模式。判断标准是窗口分位数是否真的分得开——《文评体》标定下来与随笔体几乎重合,所以没有单列模式。

安装到 Codex

ln -s "$(pwd)" ~/.codex/skills/fengtang-style

版权说明

corpus/ 与 demo/校准样本/ 存放原书与原文摘录,仅供本地分析,不上传、不传播,已在 .gitignore 中排除。 references/ 中的所有示例均为原创改写,不使用原文大段引用。

本仓库分发的是方法与派生数据——六组语料的统计量、分位数、句式规律,以及分析这些数据的工具代码。统计量是事实性数据,不含原作表达。复现分析需要你自备语料,放进 corpus/ 后按上面的命令跑。

本技能使用「冯唐」之名仅为说明其风格来源,属指示性使用,与作者本人无关,未获其授权或背书。

许可

MIT License,见 LICENSE。可自由使用、修改、分发,包括商用。

About

用冯唐说理散文的语言结构写中文长文的 Codex Skill。从约 100 万字语料量化提取结构机制,含自检工具。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages