AI agent skill
智汇AI 内容引擎 SKILL V6.0
<!-- © 2026 IHUI AI (智汇AI) · 版权所有者: 李春川 (Li Chunchuan) · https://aizhs.top Provenance-watermarked. 未授权商用可被溯源追责 (Apache-2.0 须保留本声明与 NOTICE)。 [IHUI-AI-PROVENANCE]: -->
·
When to use this skill
Use 智汇AI 内容引擎 SKILL V6.0 when an AI agent needs a reusable SKILL.md workflow for this job: <!-- © 2026 IHUI AI (智汇AI) · 版权所有者: 李春川 (Li Chunchuan) · https://aizhs.top Provenance-watermarked. 未授权商用可被溯源追责 (Apache-2.0 须保留本声明与 NOTICE)。 [IHUI-AI-PROVENANCE]: -->
When not to use it
Skip 智汇AI 内容引擎 SKILL V6.0 when the task is outside the coding category, or when a more specific skill in this directory already covers the same workflow with clearer triggers.
How to install
- Personal install: create ~/.claude/skills/ai-skill-v60/SKILL.md (and any bundled scripts) so Claude Code, Claude Desktop, and compatible agents can load it in every project.
- Project install: commit the same folder at .claude/skills/ai-skill-v60/ so teammates get the skill with the repo.
- Restart the agent session after copying files so it re-scans the skills directory, then ask for the task in words that match the skill description.
What this skill does
<!-- © 2026 IHUI AI (智汇AI) · 版权所有者: 李春川 (Li Chunchuan) · https://aizhs.top Provenance-watermarked. 未授权商用可被溯源追责 (Apache-2.0 须保留本声明与 NOTICE)。 [IHUI-AI-PROVENANCE]: -->
---
name: 'content-engine' description: '智汇AI内容引擎 — 公众号双号日更+口播8篇日更的自动化Skill。覆盖:热点拉取→选题分配→公众号文章生成(Markdown→HTML排版)→口播文案生成→发布→记忆更新。触发词:写文章/写口播/选题/发布/日更/排期/热点' version: '6.15' date: '2026-07-11' ---
# 智汇AI 内容引擎 SKILL v6.0
> **权威参考**:`公众号/AGENTS.md`(项目级最高权威,本文件为执行手册) > 详细长期规则见 `REFERENCE.md`(按需加载) > CSDN适配规则见 `CSDN-GUIDE.md`(按需加载) > 开头钩子/标题公式见 `HOOKS-LIBRARY.md`(按需加载) > 口播稿规则见 `~/.qoderworkcn/skills/koubo-daily/SKILL.md` > 已发布记录(口播)见 `口播稿/koubo/已发布内容记忆.json` > 已发布记录(公众号)见 `公众号/wechat-article-system/已发布内容记忆.json` > > **按需加载参考文件(不每次全量加载):** > > - 爆款实测模板/SEO/数据反馈/系列化/跨平台/情绪工程等 → `REFERENCE.md` > - CSDN改写工作流/广告防御/GEO内CSDN防御 → `CSDN-GUIDE.md` > - 开头钩子模板/标题公式/情绪词库 → `HOOKS-LIBRARY.md`
---
## ★★ 写作第一原则:必须像真人深度思考手写(永久硬规则·最高优先级)
> **铁律:每一篇文章读起来必须像一个有血有肉的人,深度思考后亲手写出来的。不允许有一点AI写的味道和感觉。**
这不是"避免几个AI词"的问题,是整体质感的要求:
- **有"我"的存在感**:全文必须有作者本人的判断、体感、情绪。"我关注这个行业快3年了""说实话,这条新闻让我意识到""说点个人判断"——这些不是装饰,是灵魂。没有"我"的文章=AI文章。 - **口语化≠不专业**:说人话、像跟朋友聊天一样讲事情,但每句话背后有真实的信息量和思考深度。"翻译成大白话""打个比方""什么概念?"这些口语标记是真人写作的证据,必须保留。 - **有情绪波动**:真人写文章会激动、会意外、会扎心、会无奈。"没想到""让人意外的是""说实话我越看越觉得"——这些情绪标记让文章有温度。AI写不出真正的情绪。 - **有不完美的真实感**:真人写作会有口语化的转折("但话说回来""不过有个问题")、会有自我纠正("等等,这里我说的不准确")、会有主观偏见("我个人更看好XX")。太工整、太面面俱到、太客观中立=AI味道。 - **禁止"上帝视角"**:AI文章最大的特征是站在高处俯瞰一切、什么都知道、什么都分析到位。真人写作是从自己的视角出发,有认知边界,有"我不确定的地方",有"我只说我知道的"。 - **info_card/建议段落**:口语化亲切的建议语气完全没问题,像朋友给你出主意一样写。但禁止"帮你XX"推销句式、禁止"避坑指南"营销标签、禁止"收藏起来"社交CTA——这些是触发词问题,不是语气问题。
**自检方法**:写完文章后,大声读一遍。如果听起来像一个人面对面跟你聊天、分享他的发现和判断——过关。如果听起来像一篇报告、一份分析、一个新闻稿——打回重写。
---
## ★ 受众对齐铁律(永久硬规则·最高优先级)
> **一句话判断标准:你妈/你对象/你学员家长能不能看懂、想不想转发?**
公众号文章的读者是**普通人**——上班族、学生、家长、退休老人、自由职业者。 **不是**程序员、**不是**投资人、**不是**AI从业者。
### 选题判断3秒法则
拿到任何选题,3秒内回答:
1. **这个选题跟普通人有什么关系?** → 答不上来就换选题 2. **普通人看到这个标题会不会点进来?** → 不会就换标题 3. **普通人看完会不会转发给朋友?** → 不会就改角度
### 选题红线(永久禁止)
- ❌ 纯技术拆解(向量数据库、推理加速框架、API架构设计) - ❌ 纯开发者工具评测(IDE、编程框架、代码编辑器) - ❌ 纯行业战略分析(融资、IPO、商业布局、生态位) - ❌ 纯参数对比(模型跑分、吞吐量、延迟指标)
### 选题绿灯(鼓励方向)
- ✅ AI工具实操(普通人拿来就能用的) - ✅ AI影响解读(对普通人工作/学习/生活/教育的影响) - ✅ AI避坑指南(普通人容易踩的坑、容易交的智商税) - ✅ AI+教育 / AI+副业/职场 / AI热点人话解读
### 角度转换公式
同一个热点,必须从普通人角度切入:
- ❌ "DSpark推理加速框架技术分析" → ✅ "AI回答越来越快了,背后原因跟你有什么关系" - ❌ "Claude Code Hook玩法" → ✅ "我用AI每天省2小时,就靠这3个自动设置" - ❌ "GPT-5.6的150万上下文" → ✅ "AI一次能读4本《三体》了,对你意味着什么"
### 与口播稿选题打通
- 每周选题统一规划:口播讲短视频版,公众号写同一话题的深度长文版 - 口播稿中数据好的话题(播放量>500),优先写成公众号长文 - 两者互相导流
---
## ★ 双模板工作流
> **核心:根据选题类型自动选择写作模板,不是所有文章都用同一个公式。**
### 模板选择决策树
``` 拿到选题后,按顺序判断:
0. 【天花板评估】(不过不写) ├─ 受众面 ≤ C级 → 放弃(除非有S级事件加持) ├─ 受众面 B级 + 无具体新闻事件 → 放弃 └─ 受众面 A/S级 或 B级+有事件 ↓
1. 有没有独家实测权限? ├─ 有 → 用【爆款实测模板】 └─ 没有 ↓
2. 是不是大模型/AI工具的重大更新? ├─ 是 + 有对比数据 → 用【爆款实测模板】 └─ 否 ↓
3. 是不是普通人关心的热点? ├─ 是 → 用【内容公式v2】 └─ 否 → 放弃这个选题 ```
### 两个模板的适用场景对比
| 维度 | 爆款实测模板 | 内容公式v2 | | ------------ | -------------------------------- | ------------------------------ | | **选题类型** | 大模型更新/AI工具实测/国产vs海外 | 普通人痛点/热点解读/避坑指南 | | **内容特点** | 有独家数据、跑分对比、价格表 | 有方法步骤、场景代入、行动建议 | | **读者收获** | 选型决策依据 | 立刻能用的方法 | | **篇幅** | 2000-3000字 | 1500-2500字 |
### 爆款实测模板的4个硬性条件(必须同时满足)
1. **信息稀缺性** — 灰度/内测/首发/独家权限 2. **自带热点词** — 产品名有搜索流量 3. **对比冲突** — 国产vs海外、新vs旧、便宜vs贵 4. **实用价值** — 读者看完能直接用
**任一条件不满足 → 退回用【内容公式v2】**
### 受众对齐铁律的例外说明
实测文章会包含技术参数和跑分数据,但通过以下方式保持可读性:每个数据绑定具体场景、用大白话解释术语、突出成本对比、给出明确选型建议。
**判断标准不变:** 普通人能不能看懂、想不想转发?
---
## ★★ 内容公式v2(核心策略)
> **一句话总结:从"新闻分析"转向"问题→解决"。你不是记者,你是朋友。**
### 爆款内容5步公式
1. **钩子(前3句)**:个人见闻或具体场景,让读者觉得"这说的就是我" 2. **问题**:这件事跟普通人有什么关系?影响你的钱包/工作/孩子/时间? 3. **解决**:具体方法、步骤、避坑指南——读者看完能立刻行动 4. **冲击**:真实数据、反转、意外发现——让人"哇"的瞬间 5. **收尾**:一句话总结 + 转发理由("转给你那个正在XX的朋友")
### 选题来源(优先级排序)
1. **抖音数据验证**:口播稿中播放量>500的话题 → 立刻写成公众号深度版 2. **普通人痛点**:赚钱/省钱/避坑/教育焦虑/求职/副业 3. **热点人话解读**:大事件用普通人能懂的话讲清楚 → 24小时内发 4. ~~纯技术分析~~ → **永久禁止**
### 选题天花板评估(动笔前第一关,不过不写)
**动笔前必须回答3个问题(30秒内):**
**① 受众面有多宽?** S级(全人群) > A级(大群体) > B级(垂直群体) > C级(小众)。底线:B级以下不做。
**② 有没有具体新闻事件?** 有事件=有紧迫感=有流量。没有事件=流量封顶。
**③ 标题有没有"非点不可"的冲动?** 好文章标题≠爆款标题。爆款=具体事件+故事+情绪让人非点不可。
**⚠️ 铁律:受众面B + 无事件 = 不做。不管validate能拿多少分。**
### 写作前自检(动笔前30秒)
- [ ] 这个话题,我妈/我对象/我学员家长关心吗? - [ ] 标题有具体数字吗?有情绪词吗?有好奇心缺口吗? - [ ] 文章里有"我"吗? - [ ] 读者看完能立刻做一件事吗? - [ ] 读者会转发给谁?为什么?
### 流量满分预检(动笔前必做)
**① 品牌名预埋(流量预测·传播力)**
- validate.py规则:标题+前1000字内必须出现至少1个知名品牌名 - 品牌名清单:GPT / OpenAI / Claude / Anthropic / Google / Gemini / Apple / Meta / Microsoft / Nvidia / SpaceX / Tesla / 百度 / 阿里 / 腾讯 / 华为 / 字节 - lead段写完立即检查
**② 情感词分布(传播力·情感共鸣)**
- 全文需含≥3个情感冲击词:震惊 / 意外 / 没想到 / 真相 / 揭秘 / 竟然 / 居然 / 后背发凉 / 颠覆 / 反转 - 按section分布:lead段1个、第1章1个、第2-3章1个、结尾1个
**③ 身份词分布(传播力·身份信号)**
- 全文需含≥3种不同身份词:普通人 / 上班族 / 学生 / 家长 / 宝妈 / 打工人 / 毕业生 / 职场人 / 创业者 / 自由职业者
### AI味清零预检(写作中持续规避)
**AI味计算规则(validate.py,必须≤2%):**
- 强AI词(句首,权重1.0):需要指出的是 / 值得注意的是 / 综上所述 / 总而言之 / 换言之 / 不难发现 / 由此可见 / 从某种意义上说 / 毋庸置疑 / 显而易见 - 弱AI词(句首,权重0.3):这一 / 这种 / 这样 / 这些 - 对称句式(权重0.3):不仅是…更是 / 一方面…另一方面 / 既…又 / 不是…而是 / 首先…其次…最后 / 既…也
**写作铁律(3条禁令):**
1. **禁止句首强AI词**:用"我认为""说白了""其实""问题是"等口语化过渡替代 2. **禁止句首弱AI词**:把"这些"换成具体名词,或调整语序让"这些"不出现在句首 3. **对称句式全文≤1处**:用"其实是…""关键在于…""问题出在…"等不对称表达
---
## ★★ 标题生成工作流
> **核心原则:生成≥5个候选标题,自动打分,选最优。**
### 生成流程
1. **确定核心卖点**:这篇文章最吸引人的1个信息点 2. **套用标题公式**(详见 `HOOKS-LIBRARY.md`),生成5个候选 3. **自动打分**:用validate.py的标题吸引力评分(0-10分) 4. **选最优**:取分数最高的标题
### 标题7要素检查(目标10/10)
- [ ] **具体数字(+2)**:标题必须含阿拉伯数字 - [ ] **情绪触发(+2)**:必须含情绪词(翻车/坑/骗局/扎心/打脸/真相/套路/陷阱/智商税等) - [ ] **好奇心缺口(+2)**:问号/竟然/居然/才知道/秘密/但…发现/结果/其实/真相 - [ ] **对比反转(+1)**:但/却/竟然/居然/原来/结果/没想到 - [ ] **身份锚定(+1)**:普通人/上班族/学生/家长/打工人/毕业生 - [ ] **行动暗示(+1)**:方法/技巧/教程/指南/攻略/怎么/如何/避坑/省/赚 - [ ] **长度适中(+1)**:20-30字
**铁律:7项必须全部命中,缺任何一项标题打回重写。**
---
## ★★ 开头钩子工作流
> **核心原则:前200字必须命中≥5种钩子类型。详细模板见 `HOOKS-LIBRARY.md`。**
### 7种钩子类型(validate.py检测,每种+2分)
1. 个人故事:我(去/试/用/发现/看到)、(上周/昨天/前几天) 2. 对话引用:跟我说、(问/告诉/喊)我 3. 数据冲击:\d+[%%]、(暴涨/暴跌/翻倍/腰斩)、\d+倍 4. 直接提问:(你/大家)...(知道/有没有/想过/觉得) 5. 场景代入:(想象/假设/如果你/当你/每次) 6. 争议声明:(其实/事实上/说实话/直说了)、(很多人/大部分人) 7. 反常识:(不是/并非)...(而是/其实)、(反而/恰恰相反)
**铁律:前200字命中≥5种。问号+1分,对话引号+1分,上限10分。**
### 开头禁忌
- ❌ "随着AI技术的不断发展..." / "众所周知..." / "今天我们来聊聊..." / "XX公司近日发布了..."
### 开头信息密度上限
命中≥5种钩子时,每句话≤30字,钩子之间必须有叙事连接,不能硬拼。
---
## ★★ 流量优化工作流
> **公众号流量=曝光×点击×读完×互动。每一层都要优化。**
### 副标题/摘要
- ≤35字,1句话,必须有好奇心缺口 - 禁止关键词堆砌,必须用具体数据或反差制造悬念
### 爆款三要素
**要素1:情绪峰值设计(动笔前必做)** — 4个情绪锚点:冲击(开头)+扎心(中段)+顿悟(后段)+温度(结尾)。必须用具体的人和事承载。
**要素2:截图时刻(每篇≥1个)** — 放在highlight组件里,3条件至少满足2个:有数字、有态度、有身份。
**要素3:信息缺口(禁止模板化悬念桥)** — 禁止"不过XX还不是最X的"模板,必须用具体的人/事/数字制造好奇心。
### 结尾互动三件套(CSDN安全版)
1. **评论引导**:提具体问题(❌"评论区说说/聊聊/告诉我") 2. **分享引导**:给具体分享理由(❌"收藏起来""转发给") 3. **复访引导**:给下次来看的理由(❌"点个关注""下周")
### 流量预测评分要素(validate.py第12项,≥6/10通过)
| 维度 | 分值 | 强制要求 | | ------ | ----- | -------------------------- | | 时效性 | 0-2分 | 前2段lead至少1个时效词 | | 冲突性 | 0-3分 | 前2段lead至少1个冲突词 | | 共鸣度 | 0-3分 | 前2段lead至少1个共鸣词 | | 稀缺性 | 0-1分 | 选题不重复即可 | | 传播力 | 0-1分 | 标题或前1000字必须有品牌名 |
**前2段lead最低要求**:时效性词≥1 + 冲突性词≥1 + 共鸣度词≥1 + 品牌名≥1 = 4个维度全覆盖
### ⚠️ validate满分 ≠ 流量保证
validate.py衡量"算法友好度",不是"读者想不想点"。选题天花板在动笔前决定80%的流量上限。
---
## ★★ 选题验证工作流
> **核心原则:写完再发不如验证完再写。选题不对,写得再好也没人看。**
### 选题验证5步法
**第0步:天花板评估(30秒)**
- 受众面 ≥ B级 / 有具体新闻事件 / 标题有点击冲动 - **铁律:受众B + 无事件 = 不做**
**第1步:需求验证**
- 抖音搜索相关视频播放量TOP3 ≥ 1万 - 微信搜一搜有相关热搜词 - 知乎热榜关注>1000、回答>50 - **信源覆盖**:上述热榜均登记在 `lib/all_sources.py` 的 `cn_hot` 段(与口播稿共用同一份注册表),验证时直接按注册表逐源核对,避免漏源。
**第2步:差异化验证**
- 微信搜一搜看前10篇,角度不能雷同 - 别人都写跑分→你写价格算账;别人写技术→你写对普通人的影响
**第3步:时效性验证**
- 热点类:24小时内发;常青类:任何时间;周期类:匹配时间节点
**第4步:转发潜力验证**
- "读者看完会转发给谁?" 答案必须清晰具体
### 选题验证速查表
| 检查项 | 通过标准 | | ------------------ | ------------------------ | | **受众面** | **≥ B级** | | **事件驱动** | **有具体新闻事件** | | **点击冲动** | **标题念出来朋友想追问** | | 抖音相关视频播放量 | TOP3 ≥ 1万 | | 同角度文章数量 | 前10篇中 ≥ 3篇角度不同 | | 时效窗口 | 热点24h内 / 常青随时 | | 转发对象明确 | 能说出具体身份 |
---
## 选题前置规则(永久硬规则)
**写公众号文章前必须先查 `公众号/wechat-article-system/已发布内容记忆.json`**:
1. 读取`published`数组,提取所有已发布文章的`title`、`topic`、`keywords` 2. 新选题不得与已发布文章重复或高度相似 3. 如有重复,必须更换选题方向 4. 文章发布后,必须将新文章元数据追加到`published`数组 5. 如遇审核未通过等教训,必须将经验记入`lessons_learned`数组
---
## 一、总览
本Skill是「智汇AI」全媒体内容生产的核心引擎:
| 内容线 | 账号 | 产量 | 输出格式 | | -------------------------- | -------------------- | ------------------------ | ------------- | | 公众号(单账号) | **普通人AI实操指南** | **3-5篇/周(质量优先)** | Markdown→HTML | | 口播×8「智汇AI社区丨李总」 | AI+教育实操干货 | 8条/天 | MD |
---
## 二、每日工作流程(公众号端)
### Step 1:拉取热点
> **信源注册表(2026-07-16 全网扩展·与口播稿共用同一份)**:`lib/all_sources.py`(共 88 个信源、9 大类:X官方/国内官方/国际国内媒体/开发者社区/论文/中文热榜/视频平台/聚合)。更新须同步复制至 `口播稿/koubo/工具脚本/all_sources.py`,两份同一份信源。
```powershell $UA = "Mozilla/5.0 aihot-skill/0.2.0" $headers = @{"User-Agent" = $UA} $resp = Invoke-RestMethod -Uri "https://aihot.virxact.com/api/public/items?mode=selected&take=80" -Headers $headers $resp.items | ForEach-Object { "$($_.publishedAt) | $($_.source) | $($_.title)" } ```
> X 官方/国内官方/媒体/中文热榜/视频平台真实动态需经 WebFetch 抓官方账号(Python 直连被 Cloudflare/登录墙挡),见 `lib/all_sources.py` 各信源 `url`。
### Step 2:选题分配 + 搜图
| 分配 | 角度要求 | | ---------------- | -------------------------------------------------------------------------- | | 公众号(单账号) | 偏工具/实操/创业经验 + 行业/资本/战略,落脚到"我怎么做的+这背后的商业逻辑" | | 口播①-⑧ | 每条独立热点,落脚到"孩子教育/家长认知" |
**去重检查**:对比 `MEMORY.md` §五 + `已发布内容记忆.json` + 当天口播选题
### Step 3:排版为HTML — 公众号路径(摸鱼绿固定工作流)
文章Markdown写完后,**一律走统一流水线 `publish_pipeline.py`**(禁止分步裸跑 renderer / validate / push):
```bash cd wechat-article-system python publish_pipeline.py --md output/文章标题.md --title "文章标题" --digest "摘要" \ --cover output/images/sec1.jpg --images output/images # 加 --dry-run 只跑 渲染+自检门禁+重点组件检查+DOCX构建,不推送(用于本地验证) ```
该脚本内部顺序(硬结构,不可跳过):
1. `lib/moyu_green_renderer.md_to_moyu_green_html` 生成摸鱼绿主题HTML(官方 emerald 13组件,纯内联,微信可用) 2. **门禁A·22项自检**:可读性=100/传播力=10/开头钩子≥9/GEO=100/原创度=100/AI味≤2/风险=0,未过直接中止 3. **门禁B·重点组件检查**:渲染HTML必须含足够多重点颜色组件(金句卡/提示块/引用块/代码块/小标题/有序列表 + 绿色加粗≥5处),不足直接中止——这是"文章无重点标注"的根因防护 4. `build_gpt56_sol.build_docx` 构建摸鱼绿DOCX(全标记兼容) 5. 验证DOCX内嵌图片≥6(4正文+2文末) 6. 上传图片+封面→按标题删除旧草稿→创建新草稿推送到草稿箱
### Step 3b:DOCX生成(美化版)+ CSDN通用md导出
**每篇文章都必须生成摸鱼绿排版的 DOCX 文件**(不仅限于CSDN发布),且必须是"美化版":
1. **生成DOCX(必做,已由 `publish_pipeline.py` 自动执行)**:使用 `build_gpt56_sol.py` 的 `build_docx()`(**v5 极致美化版**,已参数化,禁止再手写 builder.py) - 摸鱼绿色彩体系(官方 emerald,**禁止Material绿**):绿色章节编号 `#059669` + 左边条引用块 + 关键词绿色加粗 `#059669` + 编辑按语浅绿底 `#F0FDF4` + 编辑按语绿色左边框 `#059669` - **必须含以下美化要素(v5 极致美化铁律,缺一不可)**: - 独立封面页(emerald 顶部+底部装饰条 + 栏目标签「深度解读 · 智汇AI」徽章底块 + 大标题 + 副标题 + 分页符;**禁止渲染元信息行「智汇AI社区 · 日期 · 公众号「智汇AI」」,用户明确说不该出现在文章里**) - **「本文导读」目录页**:封面后独立一页(不同首页,无页眉),列出各章节编号+标题,顶格不缩进,形成杂志目录感 - 页眉品牌「智汇AI · 深度解读」+ 页脚页码(`PAGE` 字段 **+ `NUMPAGES` 总页数**) - 图片下方居中灰色斜体说明文字(caption,9pt) - 正文首行缩进 2 字符(中文排版规范) - 章节前 emerald 分割细线 + 放大编号标题(29px 编号 + 竖条 + 大标题,杂志感) - **引用块大引号装饰**:浅灰底 `#F9FAFB` + emerald 虚线左边框 + 段首「"」大引号符号 - **提示块/编辑按语做成卡片盒**:emerald 左粗竖条 `#059669` + 浅绿边框 `#BBF7D0` + 浅绿底 `#F0FDF4` - **金句卡**:浅绿底 `#ECFDF5` + 虚线边框 `#BBF7D0` + 黄色点睛下划线 `#FDE68A` + 段首「"」大引号 - 代码块顶部语言标签条(深色 `#0F172A` 底 + mac 三色圆点)+ 代码正文 `#1E293B` 底 浅色字 - **图片相框感**:浅灰细边框 `#E5E7EB` + 轻微阴影 - 文末 emerald 渐变关注引导横幅 + 点赞/关注图(**严禁用表格 table 包裹**:部分平台/笔记工具无法识别表格内图片导致丢失;改为两张图各占一个独立居中段落上下排列) - 全标记兼容:`### 小标题`/`> 引用`/`:::oneliner`/`:::tip`/` ``` `/`1. 有序列表`/`==高亮==`/`**加粗**`/`行内代码` - 输出文件命名:`{文章标题}.docx`(**必须用标题原文、不加任何装饰后缀**,例:`AI删光了创业者的硬盘,3个普通人避坑真相.docx`) 2. **导出 CSDN 通用 md(必做,已由 `publish_pipeline.py` 自动执行)**:使用 `export_csdn_md.py` - 公众号 md 含 `:::`/`==` 等 CSDN 不支持语法,发 CSDN 前**必须**转成通用版(否则用户没法直接发) - 转换规则:`:::oneliner`/`:::quote`→引用;`:::tip`/`:::warning`/`:::note`→引用+加粗标签;`==高亮==`保留(CSDN支持);图片→占位URL + 文末配图清单;跳过公众号点赞/关注图 - 输出:`{文章标题}.md`,直接给用户发 CSDN 用
> **注意**:不是每篇都发CSDN。含具体平台名的实操文建议只发公众号;技术工具类/实测类文章适合双发。CSDN 发文需用户自行把图片上传到 CSDN 图床并替换 URL(文末已附清单)。
### Step 3.5:内容自检(validate.py + fact_check.py)
在排版前或排版后,对文章Markdown内容运行自检:
```python # 22项内容自检 python lib/validate.py output/文章.md
# 事实核查 python lib/fact_check.py # 基于文章内容的事实核查 ```
### Step 4:发布
#### 4a. 图片上传微信图床(发布前必做,不可跳过)
文章HTML中的本地图片在微信服务器上无法访问,**必须**先上传到微信图床获取CDN链接,再替换HTML中的本地路径:
```python import sys, re, os; sys.path.insert(0, 'lib') from wechat_publish import upload_image
html_path = 'output/文章.html' with open(html_path, encoding='utf-8') as f: html = f.read()
# 提取所有本地图片路径 img_paths = re.findall(r'src="([^"]+)"', html) url_map = {} for local_path in img_paths: abs_path = os.path.join(os.path.dirname(os.path.abspath(html_path)), local_path) abs_path = os.path.normpath(abs_path) if os.path.exists(abs_path): wx_url = upload_image(abs_path) # 返回URL字符串,不是dict if wx_url and isinstance(wx_url, str) and wx_url.startswith('http'): url_map[local_path] = wx_url
# 替换HTML for local_path, wx_url in url_map.items(): html = html.replace(local_path, wx_url) with open(html_path, 'w', encoding='utf-8') as f: f.write(html) ```
> **铁律:不上传图片直接发布 = 文章中图片全部空白。每次发布前必须执行此步骤。**
#### 4b. 公众号发布
- **自动发布**:`python lib/wechat_publish.py publish output/文章.html "文章标题"` - 需先配置.env中的`WECHAT_APP_ID`/`WECHAT_APP_SECRET` - 服务器IP必须在公众号后台IP白名单中 - 封面图必须用`upload_permanent_media(path, 'thumb')`上传获取media_id - **留言默认开启**(`need_open_comment: 1`),无需手动设置 - **赞赏功能**:在公众号后台「赞赏功能」中开通,文章发布后手动开启 - **手动发布**:浏览器打开gzh-design预览页 → 复制到微信编辑器粘贴
#### 4c. 文末固定元素(gzh-design主题自带,无需额外插入)
摸鱼绿主题的 **footer-cta组件(13a)** 已自带点赞/在看/转发SVG图标三连区,**不需要**额外插入`assets/images/点赞.jpg`图片。
**禁止**插入`assets/images/公众号置底.png`(含二维码,会被微信判定为营销内容导致限流)。
> **禁止**在文章footer中写"信源:xxx"行。数据来源在正文中引用即可,文末不单独列出。
#### 4d. CSDN + 多平台
- **CSDN(自动)**:`python lib/csdn_publish.py auto output/文章.md "标签1,标签2"` - **CSDN(手动)**:上传DOCX文件 → 按CSDN编辑器流程发布 - **多平台同步(备选)**:Wechatsync浏览器插件 → 一键同步到31个平台
### Step 5:发布后清理 + 记忆更新
- 清理:output/内HTML+DOCX+MD+images/目录+构建脚本 - 保留:output/目录本身 + assets/ + lib/ - 记忆更新同前 - 卫生检查:`python 口播稿/koubo/project_hygiene.py`
---
## 三、公众号文章质量检查清单(精简版)
> **每项:检查项 + 通过标准。详细规则见前文各章节和参考文件。**
### 最高优先级3项(不过直接打回重写)
> **★★★ 满分铁律(2026-07-11 用户强制指令,永久固化)★★★** > 用户原话:"未达到满分 怎么能停下来交付给我呢 这个问题请彻底杜绝 不允许再发生" > 以下三项不仅"通过",必须冲到**满分**才允许向用户交付: > > - 可读性必须 = **100/100**(术语密度≤3/千字 + 0个未解释术语 + ≥3处类比) > - 传播力必须 = **10/10**(身份信号≥3 + 情感共鸣≥3 + 实用价值≥5 + 分享触发≥2) > - 开头钩子必须 ≥ **9/10**(前200字命中≥4种钩子类型 + 提问式/对话式加分) > > **满分校验门禁(交付前必做)**: > > 1. 跑完22项自检后,**逐项核对**第15/16/19项分数 > 2. 任何一项未达满分(可读性<100 / 传播力<10 / 开头钩子<9)→ **禁止交付,立即打回重写** > 3. 交付前必须在聊天框明确展示这三项分数,不允许只说"全部通过" > 4. 配图必须用Pillow `Image.verify()` 验证完整性 + 用python-docx `inline_shapes` 计数≥3张真实嵌入 > 5. 修复方向参考: > - 术语密度超标 → 把TECH_JARGON_TERMS里的词替换成"AI助手/AI程序"等口语化表达,给"参数"加"你可以把参数理解为AI的'脑容量'"类比 > - 开头钩子不足 → 前200字必须命中:个人故事(我去/我看到/一位朋友)+对话引用(朋友给我发消息说:...)+数据冲击(\d+倍/暴涨)+场景代入(想象一下/如果你)+争议声明(真相/事实)+提问式(?)+反常识(反而/越是...越) > - 传播力不足 → 增加身份信号词(普通人/上班族/家长/创业者)+情感共鸣词(没想到/竟然/后背发凉)+实用价值词(省钱/避坑/方法/技巧/指南)+分享触发词(收藏/提醒/记得)
> **★★★ 完整交付清单(2026-07-11 用户强制指令,永久固化)★★★** > 用户原话:"文章最后有个编者按 三个字的标题 什么意思啊 你搞错了吧 ... 点赞.jpg 关注.jpg 图片怎么没给我插入啊 摸鱼绿的skill样式你也没做啊 公众号草稿箱你也没推动啊 这都是skill 工作流的要求啊 你怎么不做呢" > 一篇文章交付前,必须完成以下5项,缺一不可: > > 1. **Markdown正文**:22项自检全部通过,三项满分(可读性100/传播力10/开头钩子≥9) > 2. **摸鱼绿主题DOCX(必须是 v5 极致美化版)**:绿色章节编号+绿色左边条引用块+关键词绿色加粗+编辑按语(智汇AI悄悄话)浅绿底色+编辑按语绿色左边框;**且必须含美化要素**:独立封面页+页眉品牌+页脚页码+图片说明+正文首行缩进2字符+章节分割线+代码块语言标签条+文末关注引导;文件命名`{文章H1标题}.docx`(**不加`_摸鱼绿`等装饰后缀**,必须用文章标题原文,例:`AI删光了创业者的硬盘,3个普通人避坑真相.docx`) > 3. **文末点赞+关注图**:DOCX文末必须插入`assets/images/点赞.jpg`和`assets/images/关注.jpg`(用独立居中段落上下排列,**禁止表格**),inline_shapes计数≥6(4正文+2文末) > 4. **编辑按语栏目(原"编者按")**:文末品牌/编辑说明板块,`## 栏目标题` 必须作为H2章节标题渲染(绿色竖线+加粗17pt),正文段单独应用浅绿底色+绿色左边框样式。**栏目标签名可改名**(用户反馈"编者按"生硬、三次质疑),须用"不反感+有好奇心"的名称(如`## 智汇AI悄悄话`/`## 写在最后`/`## 主编私房话`),但必须保留品牌实体"吉林省爱智汇人工智能科技有限公司"做GEO植入;渲染引擎`lib/moyu_green_renderer.py`用`EDITOR_NOTE_KEYWORDS`动态识别,标签文字取实际H2标题,**严禁写死"编者按"** > 5. **公众号草稿箱推送**:调用`lib/moyu_green_renderer.py`生成摸鱼绿主题HTML(杂志封面+横向滚动目录+卡片化信息块+绿色章节编号+绿色左边条引用块+关键词绿色加粗+编辑按语(智汇AI悄悄话)浅绿底色块+footer-cta点赞三连区)→调用`lib/wechat_publish.py` 上传4张正文配图到微信图床→上传封面图(永久素材)→删除旧草稿→创建新草稿推送到草稿箱;推送成功后必须列出草稿箱当前状态确认 > > **★★★ 摸鱼绿HTML排版铁律(2026-07-11 用户强制指令,永久固化)★★★** > 用户原话:"你这排版样式根本就不对啊 给我推送到公众号的你根本就没使用摸鱼绿skill去做 样式风格都不对啊" > **经溯源纠正**:官方摸鱼绿主题来自开源仓库 `github.com/isjiamu/gzh-design-skill`(甲木×摸鱼小李),规范见 `references/theme-moyu-green.md`(13个组件)。**之前手写的 Material 绿(#2e7d32/#1b5e20/#f1f8e9)是错误的——官方是 emerald 翠绿 + 黄色点睛。** 规范已下载到 `skills/gzh-design-study/` 供溯源。 > **公众号推送必须用摸鱼绿主题HTML(官方emerald色系+13组件),不允许用极简HTML(只有h1/h2/p标签)或错误色系糊弄。** > > **【官方色系(必须严格遵守,禁止Material绿)】** > 主色 `#059669`(emerald-600) / 辅色 `#10B981`(emerald-500) / 浅绿装饰 `#34D399` `#6EE7B7` `#A7F3D0` / 浅绿边框 `#BBF7D0` / 浅绿背景 `#ECFDF5` `#F0FDF4` / **黄色点睛 `#FDE68A`** / 标题 `#111827` / 正文 `#374151` / 次要 `#4B5563` / 注释 `#6B7280` `#9CA3AF` / 分隔 `#D1D5DB` / 浅边框 `#E5E7EB` / 浅灰背景 `#F3F4F6` `#F9FAFB`;正文字号 **14px**、行高 **1.9**、字间距 **0.5px**、最大宽 **677px**、内容边距 **0 20px** > > **【WeChat 兼容铁律(样式不丢的前提)】** > 公众号平台**不支持** `<style>`/`<script>`、CSS class/id、`position`、`float`、`@keyframes`、`display:grid`;**支持**内联`style`、`display:flex`、`linear-gradient`、`border-radius`、`box-shadow`。所有装饰性空元素(圆点/渐变线/竖线)内部必须放 `<span leaf=""><br></span>` 占位,否则微信会剥掉样式。高亮挂外层`<span>`,不要把`font-size`/`border-bottom`打在`<strong>`上。 > > **【13 组件(缺一不可,源自官方 theme-moyu-green.md)】** > > 1. 全局容器 max-width:677px 2. 杂志封面 cover-breaking(顶部标签+划线旧认知+主标题绿色高亮+底部品牌渐变条) 3. 横向滚动目录 toc-scroll(PART 01/02/03 + PART /// 写在最后,首卡绿底) 4. 章节标题 chapter-title(大号编号+PART+竖线+中文标题+英文副标题) 5. 正文段落 paragraph(14px/1.9/两端对齐,关键词自动绿色下划线`#A7F3D0`) 6. 行内样式:绿色加粗`#059669` / 绿色下划线`#A7F3D0`(默认关键词) / 黄色渐变高亮`#FDE68A` / 代码标签`#F3F4F6` 7. 内容标签组 STEP/CASE/SKILL/TOOL 8. 代码块 prompt-block/cmd-block 9. 引用 quote-box(灰虚线框)/oneliner-card(金句卡)/subtitle-highlight 10. 提示 green-tip/green-info(浅绿底`#F0FDF4`+绿边框`#BBF7D0`) 11. 布局 pill-list/flow-cards/three-col-cards/timeline/table/ordered-list 12. 图片 image(圆角卡片+说明) 13. footer-cta 互动三连(SVG图标点赞/在看/转发 + THANKS FOR READING) > > **排版引擎**:`lib/moyu_green_renderer.py`(已按官方规范重写,主函数 `md_to_moyu_green_html(md_text, cover=None, title=None, digest=None)`,输出**纯内联HTML**,微信可用) > **统一发布入口/推送脚本**:`publish_pipeline.py`(渲染→门禁A→门禁B→DOCX美化→CSDN导出→上传图片+封面→删旧草稿→推新草稿→列草稿箱状态,一条命令);底层 `push_moyu_green_draft.py` 仍保留但优先用流水线 > **官方仓库**:`github.com/isjiamu/gzh-design-skill`(已下载规范到 `skills/gzh-design-study/` 供溯源对照) > > **动画说明**:微信平台过滤 `<style>`/`@keyframes`,故**推送版HTML不含动画**(纯内联,微信内静态但组件/配色/布局与官方完全一致);如需本地看动效,用 `gen_preview.py` 临时生成 `*_预览.html` 在浏览器查看,**交付完成后即从 output 删除、不永久留存**(见下方「Output 目录清理铁律」),避免与 `{标题}.html` 形成"两个 html"混淆。
> **★★★ 文章源文件必须自带结构化标记(2026-07-11 用户强制指令,永久固化)★★★** > 用户第八次反馈的根因:之前源md几乎没用结构化标记(仅3处加粗、2处高亮),导致即使引擎支持13组件也渲染不出重点颜色区分。 > **硬规则**:写公众号文章时,正文必须主动使用以下标记,否则交付物就是"没标注的平铺文本": > > - `:::oneliner 一句话说透 金句 :::` → 金句卡(居中虚线+黄下划线) > - `:::tip 标签 内容 :::` / `:::warning` / `:::note` → 提示块(浅绿底`#F0FDF4`+绿左竖条`#059669`+类型标签) > - `> 引用句` → 引用块(灰底`#F9FAFB`+虚线边框) > - ` ```bash 命令 ``` ` → 深色代码块(`#1E293B`) > - `### 小标题` → 黄高亮小标题(`#FDE68A`) > - `1. 2. 3.` → 绿圆圈有序列表 > - `**关键词**` → 绿色加粗(自动`#059669`);`==高亮==` → 黄色高亮;`` `代码` `` → 代码标签 > > **交付前验证(门禁B,脚本自动拦截)**:渲染HTML必须含 ≥3 个重点块(oneliner/tip/quote/code/subtitle/ordered 合计)+ ≥5 处绿色加粗,否则 `publish_pipeline.py` 直接中止并提示补标记。
> **★★★ 固定发布工作流(唯一入口,禁止分步裸跑,2026-07-11 固化)★★★** > 之前反复出错(样式不全/未满分就推送/残留Material绿/动画误解)的根因是"分步手工操作+靠自觉"。现已固化: > > - **唯一发布入口**:`wechat-article-system/publish_pipeline.py`(渲染→门禁A→门禁B→DOCX→推送,一条命令) > - **门禁A(满分自检)**:跑 `lib/validate.py` 22项,三项满分(可读性100/传播力10/开头钩子≥9)+GEO100+原创100+AI味≤2+风险0,未过绝不推送 > - **门禁B(重点组件)**:渲染HTML重点颜色组件不足直接中止,逼作者在写作阶段就加标记 > - **草稿箱幂等**:先按标题删除旧草稿再创建,重复跑不会堆积重复草稿 > - **CSDN通用md导出**:流水线默认执行 `export_csdn_md.py` 生成 `{标题}.md`(公众号自定义语法→通用Markdown),供用户发CSDN;`--no-csdn` 可关 > - **预览动效(不留存 output)**:微信静态是平台限制(过滤`<style>`),浏览器看动效用 `gen_preview.py` 临时生成 `*_预览.html` 查看,**交付后即从 output 删除、不永久留存**,避免与 `{标题}.html` 形成"两个 html"混淆 > - **永久禁止**:自写 Material 绿(`#2e7d32`/`#1b5e20`/`#f1f8e9`)、自写极简HTML、跳过 validate 直接推送、使用 `validate_gzh_html.py`/`wrap_preview.py`/`md_to_docx.mjs`/`builder.py`/`csdn_publish.py` 等已废弃工具 > > **★★★ Output 目录清理铁律(2026-07-11 用户第十三反馈"别留两个混淆")★★★** > 用户原话:"html md格式文件为什么给我在Output里留存了两个 以后如果要生成另外一个 就要把之前历史无用的给删掉 别让我搞混" > 每篇文章在 `output/` 只保留**一套清晰不重叠的交付物**,禁止留存历史无用版本让用户混淆: > > - **源 md 不在 output**:写作源/流水线输入 `{标题}.md` 统一放 `wechat-article-system/articles/` 目录(与交付物物理隔离,避免和 `{标题}{标题}.md` 形成"两个 md"混淆) > - **output 只留「交付三件套 + images」**:`{标题}.html`(推送草稿箱) · `{标题}.docx`(文档交付) · `{标题}.md`(发CSDN) · `images/`(配图,推送后由微信URL替换本地路径) > - **预览动效 html(`{标题}_预览.html`) 不永久留存于 output**:只是本地看动效的辅助文件,用 `gen_preview.py` 临时生成查看;交付完成后即从 output 删除,避免与 `{标题}.html` 形成"两个 html" > - **生成新版本前先清旧版**:每次重新生成某产物(如重新跑流水线出新版 docx/html)前,先删除同标题旧的同名文件,绝不累积多版本 > - **严禁**在 output 留存"极简html/旧版html/调试草稿"等过渡文件;绝不允许出现两个同名 html 或两个重名 md 并存
| # | 检查项 | 通过标准(对齐validate.py) | | --- | -------- | --------------------------------------------------------------------------------------------------------------------------------------- | | 15 | 可读性 | **必须=100/100**(满分铁律):术语≤3个/千字 + 每个术语200字内有通俗解释 + ≥3处类比 | | 16 | 传播力 | **必须=10/10**(满分铁律):身份信号≥3种 + 情感共鸣≥3处 + 实用价值≥5个 + 分享触发器≥2处 | | 17 | 受众对齐 | **≤5个偏离词**:禁用架构设计/技术路线/底层实现/跑分/吞吐量/融资/IPO/赛道/护城河/ToB/ToC/SaaS/开发者/程序员/ROI/DAU/战略布局/闭环/赋能等 | | 19 | 开头钩子 | **必须≥9/10**(满分铁律):前200字命中≥4种钩子类型 + 提问式加分 + 对话式加分 |
### 核心硬指标(全部必须通过)
| # | 检查项 | 通过标准 | | --- | ------------ | ----------------------------------------------- | | 9 | 原创度 | =100% | | 10 | AI味 | **≤2%**(强AI词0 + 弱AI词句首0 + 对称句式≤1处) | | 11 | 平台审核风险 | =0%(营销词+推荐语+违规短语+绝对化用语归零) | | 12 | 流量预测 | **≥6/10**(时效2+冲突3+共鸣3+稀缺1+传播1) | | 13 | GEO优化 | =100/100 | | 14 | 标题质量 | 3条件全通过(点击冲动+具体利益点+长度≤35字) |
### 内容质量检查
- [ ] 字数达标:1500-3500字(工具实测2000-3000,日常科普1500-2500,深度可至3500) - [ ] 配图≥3张,全部真实无水印,**禁止AI生成配图** - [ ] 嵌入图数 ≥ 字数/1000 - [ ] 标题有冲击力,不含"深度""重磅"等low词 - [ ] 定位铁律:只写给普通人,禁止商业逻辑/ROI/融资/IPO/ToB/ToC等 - [ ] 开篇钩子:前3句必须抓住一个普通人的具体痛点 - [ ] 每章有个人分析/判断,不是纯罗列 - [ ] Markdown/HTML格式输出,文件名用**文章H1标题原文、不加任何装饰后缀**(如`AI删光了创业者的硬盘,3个普通人避坑真相.md`/`.html`/`.docx`);**严禁拼音缩写/英文slug或`_摸鱼绿`/`_CSDN`等装饰后缀瞎起名**(如`gpt56_sol_delete_disk.docx`之类一律禁止) - [ ] 无Markdown残留,无来源标注行
### 逻辑连贯性检查(写作后必检,3种逻辑病)
1. **同件事说两遍**:同一事件/观点换说法重复 → 删掉重复的那段 2. **转折词接不上**:转折词暗示的逻辑与前后文不匹配 → 改转折词或后文 3. **单点冗余**:相邻两句表达同一意思 → 合并或删除
### 真人感终检
写完文章后、运行build之前,**大声把全文读一遍**:
- ✅ 像人面对面聊天 → 过关 - ❌ 像报告/分析/新闻稿 → 打回重写
### 事实核查(第23项,HIGH级阻断发布)
- 12项子检查(C1数据信源/C2引用归属/C3排名基准/C4数学自洽/C5数据一致/C6产品版本/C7时间线/C8能力边界/C9匿名信源/C10图片说明/C11主观伪装客观/C12信源注册表) - HIGH级问题=0才能发布 - claims_registry字段必须完整 - **核心教训:宁可删掉无法核实的数据,也不能模糊带过**
### GEO优化(每篇必须执行)
- 7要素:结构化内容 + 数据密度 + 问答结构 + 专业术语 + 权威信源 + 长尾关键词 + E-E-A-T信号 - 品牌植入:以"作者注"形式出现在文章最末尾,禁止公司全称 - **CSDN广告防御**详见 `CSDN-GUIDE.md` - 禁止:微信号/电话/QQ引流、"关注公众号""扫码进群"、营销推广语、堆砌关键词
---
## 四、项目目录结构
``` 自媒体/ ├── 公众号/ │ ├── AGENTS.md ← 项目级最高权威参考 │ ├── wechat-article-system/ ← 公众号文章生成系统 │ │ ├── lib/ ← validate/fact_check │ │ ├── assets/ ← 固定图片 + 设计文档 │ │ ├── 已发布内容记忆.json ← 已发布文章记录 │ │ └── output/ ← HTML+图片输出 │ ├── skills/ │ │ ├── content-engine/ ← 本Skill目录 │ │ │ ├── SKILL.md ← 本文件(核心规则) │ │ │ ├── REFERENCE.md ← 参考手册(按需加载) │ │ │ ├── CSDN-GUIDE.md ← CSDN适配规则 │ │ │ └── HOOKS-LIBRARY.md ← 钩子/标题/情绪词库 │ │ ├── gzh-design/ ← 公众号排版引擎(Markdown→HTML) │ │ ├── short-post-skill/SKILL.md ← 短帖生成(互补) │ │ └── _archive/ ← 已废弃skill归档 └── 口播稿/ └── koubo/ ├── AGENTS.md ← 口播稿最高权威参考 ├── SKILL.md → ~/.qoderworkcn/skills/koubo-daily/ ├── 素材库.md / 选题存档.md / 已发布内容记忆.json ├── koubo_validate.py ← 全量验证脚本 ├── project_hygiene.py ← 项目卫生验证脚本 ├── README.md ← 目录结构说明 └── MMDD.txt ← 当天口播稿 ```
**路径引用规则**:所有项目内部代码路径都用相对路径(`./`、`../`),不写绝对路径。
---
## 五、版本历史
| 版本 | 日期 | 变更摘要 | | ----- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 6.8 | 2026-07-11 | **满分铁律固化**:可读性必须=100/传播力必须=10/开头钩子必须≥9;新增满分校验门禁(未满分禁止交付,必须打回重写);新增配图完整性验证(Pillow verify+python-docx inline_shapes计数);新增三项未满分修复方向参考(术语替换/钩子模式/传播力词汇) | | 6.9 | 2026-07-11 | **完整交付清单固化**(初版色系曾误记Material绿,已于6.11纠正为emerald):新增5项强制交付清单(Markdown满分+摸鱼绿DOCX+文末点赞关注图+编辑按语章节标题渲染+草稿箱推送);推送脚本后统一为`publish_pipeline.py`;inline_shapes计数≥6验证 | | 6.10 | 2026-07-11 | **摸鱼绿HTML排版铁律固化**:用户反馈"推送到公众号的根本没用摸鱼绿skill 样式风格都不对";新增`lib/moyu_green_renderer.py`摸鱼绿HTML排版引擎(**13组件**:杂志封面+横向滚动目录+H2绿色竖线标题+正文段落+加粗关键词+行内代码+图片块+编辑按语浅绿底色块+footer-cta点赞三连区);新增`push_moyu_green_draft.py`一键推送脚本(生成摸鱼绿HTML+上传图片+删除旧草稿+推送新草稿);废除极简HTML推送方式 | | 6.14 | 2026-07-11 | **DOCX 两处永久禁令(用户第十二反馈)**:①封面元信息行「智汇AI社区 · 日期 · 公众号「智汇AI」」**禁止渲染**(用户说不应出现在文章里),封面只保留栏目标签+大标题+副标题+装饰条;②文末点赞/关注图**严禁用表格(table)包裹**(部分平台/笔记工具无法识别表格内图片导致丢失),改为两张图各占一个独立居中段落上下排列。`build_gpt56_sol.build_docx` 已改,验证:tables=0、封面元信息命中=0、InlineShapes=7 | | 6.15 | 2026-07-11 | **Output 目录清理铁律(用户第十三反馈续)**:用户先嫌"两个 html"已删 `_预览.html`;后追问"那.md文件呢"——发现 output 仍有"源md + `{标题}.md`"两个 md 同名混淆。彻底解决:源 md 移出 output 到 `wechat-article-system/articles/`(流水线 `--md` 默认指向 articles),output 只留「交付三件套 + images」(`{标题}.html`/`{标题}.docx`/`{标题}.md`/`images/`),预览 html(`_预览.html`)仍不永久留存;生成新版本前先删同标题旧文件绝不累积。已改 publish_pipeline.py 默认 `--md`、SKILL 第564行(四件套→源md隔离+交付三件套)、本表 6.15 说明 | | 6.16 | 2026-07-12 | **渲染器致命 bug 修复(用户第十六反馈"优化到极致了吗"触发的真物理审计)**:发现 `moyu_green_renderer.md_to_moyu_green_html` 的 `render_cover` 写死接收 dict,但 `publish_pipeline.push_draft` 传的是封面图路径字符串,导致 `c.get('tags',...)` 抛 `AttributeError: 'str' object has no attribute 'get'`,整个 HTML 渲染**静默失败退化为无封面/无目录的简化版**。门禁脚本因只检查"是否有 #059669",通过了虚假门禁。修复:主函数开头对 `cover` 做类型判断(`isinstance(cover, str)` → 用 title+digest 构造 cover dict),并 import time。**同步修 CSDN 导出**:`export_csdn_md` 之前写"保留 `==高亮==`",实测仍残留 1 处,转为 `==x==` → `**x**` 加粗(CSDN 部分编辑器不识别 ==)。**新增铁律**:①门禁不能只看计数,必须用物理审计(实际渲染产物 grep 关键样式串);②渲染器 main 函数任何字段访问必须先做类型判断;③推送成功不等于"草稿在微信后台渲染正确"——必须用户最终到后台目验 | | 6.17 | 2026-07-12 | **重头物理审计挖出 9 个真问题(用户第十七反馈"从头检查一遍")**:(1) 配图查重路径 bug:`_load_published_memory` 用 `dirname(md_path)` 找 articles/已发布内容记忆.json,永远找不到;第 22 项独立走自己的路径同样找不到,**31张图可被重复使用无任何拦截**。修:改走 BASE 根目录 + 兼容老路径 + 第 22 项也走 _load。(2) `articles/` 残留旧源 md 没随 output 一起清。(3) 根目录 3 个废弃脚本无引用:`gen_preview.py` / `push_moyu_green_draft.py` / `push_to_draft.py`,挪到 `_archive/` + 删 `push_to_draft.py`(MEMORY 明令禁止)。(4) `.wechat_token_cache.json` 含明文 access_token,未在 `.gitignore`,加白名单防泄露。(5) `.env` 配了两套账号但流水线只读 WECHAT_APP_ID,加 `--account A/B` 参数切换。(6) SKILL 宣传"Step3.5 内容自检(validate.py + fact_check.py)"但流水线**根本没调 fact_check**,等死代码。补集成:渲染后调 `gate_fact_check`,C1-C11 HIGH 阻断,C12 注册表降级为警告(auto_extract 自动建表)。(7) 流水线 argparse 默认值还是旧文章"AI删光了硬盘…",删旧 md 后 dry-run 就崩。改 `--md/--title/--digest/--cover` 为 required。(8) `fact_check.fact_check` 返回的 issue 字段是 `check` 不是 `code`,我代码用 `code` 找字段导致 C12 漏排。修:用 `i.get('check')`。(9) 已发布记忆顶层结构含 `version/description/last_updated/changelog/published/blacklist_topics/image_registry/lessons_learned`,17 篇已发布。**新增铁律**:所有门禁字段访问必须先看 fact_check 实际返回结构,不能凭印象。**根目录脚本现仅 3 个**:`publish_pipeline.py` / `build_gpt56_sol.py` / `export_csdn_md.py`,无任何混淆。 | | 6.13 | 2026-07-11 | **DOCX 深度美化到极致(用户第十一次反馈)**:`build_gpt56_sol.build_docx` 升级 **v5 极致美化版**(在 v4 基础上补:①封面 emerald 顶/底装饰条+栏目标签徽章底块;②独立「本文导读」目录页(不同首页无页眉);③引用块大引号装饰(段首「"」+emerald虚线左条);④提示块/编辑按语卡片盒(emerald左粗条+浅绿边框#BBF7D0+浅绿底#F0FDF4);⑤金句卡(浅绿底#ECFDF5+虚线边#BBF7D0+黄下划线#FDE68A+大引号);⑥代码块深色标签条#0F172A+mac三色圆点;⑦图片相框感(#E5E7EB细边框+阴影);⑧文末emerald渐变横幅;⑨页脚总页数NUMPAGES)。验证:83段落/7图,封面✓导读✓页眉✓页脚PAGE+NUMPAGES✓首行缩进29✓caption4✓大引号5✓emerald系底纹/边框齐全。已固化进交付清单铁律 | | 6.12 | 2026-07-11 | **DOCX美化 + CSDN导出固化(用户第九次反馈后)**:①`build_gpt56_sol.build_docx` 升级 v4 美化版(独立封面页+页眉品牌+页脚页码+图片说明+正文首行缩进2字符+章节分割线+代码块语言标签条+文末关注引导),保留全标记兼容与emerald色系;②新增`export_csdn_md.py`把公众号自定义语法md转CSDN通用版(:::→引用/==保留/图片占位+清单/跳过点赞关注图),输出`{标题}.md`;③`publish_pipeline.py`集成CSDN导出(默认开,--no-csdn可关);④完整交付清单补"DOCX必须是美化版"硬要求 | | 6.11 | 2026-07-11 | **彻底杜绝固化(用户第八次反馈后)**:①渲染引擎补全13组件(原仅6,缺小标题/金句卡/引用块/提示块/代码块/有序列表);②新增`publish_pipeline.py`统一流水线,把"22项满分自检门禁+重点颜色组件门禁+DOCX构建+草稿推送"固化成硬结构,未过门禁绝不推送;③修掉DOCX图片路径重复嵌套bug(md引用`images/x.jpg`相对output目录,原误拼为`output/images/images/`导致正文图丢失,InlineShapes从2→6);④修`:::quote`误渲染为金句卡、`:::oneliner`前缀丢失两个语义bug;⑤写作阶段硬规则:源md必须自带结构化标记(oneliner/tip/quote/code/###/有序列表),否则门禁B拦截;⑥修正SKILL.md历史中Material绿残留(#2e7d32/#1b5e20/#f1f8e9)与"9大组件"措辞,对齐真实工具链(publish_pipeline.py / build_gpt56_sol.py / gen_preview.py / lib/validate.py),标记`validate_gzh_html.py`/`wrap_preview.py`/`md_to_docx.mjs`/`builder.py`/`push_to_draft.py`为已废弃 | | 6.7 | 2026-07-10 | Step 3b更新:每篇文章都必须生成摸鱼绿排版DOCX文件(不仅限于CSDN),文末必须插入点赞.jpg+关注.jpg;DOCX生成使用docx skill的md_to_docx.mjs --cjk或自定义Python脚本 | | 6.6 | 2026-07-10 | 4c更新:footer-cta组件(13a)自带SVG三连图标,不再插入点赞.jpg图片;禁止插入公众号置底.png(二维码=营销限流);builder.py不再需要 | | 6.5 | 2026-07-10 | 默认排版主题切换为摸鱼绿(moyu-green):杂志封面+横向滚动目录+卡片丰富+信息密度高;文末禁止放二维码置底图(营销限流),仅保留点赞三连图;Step 3新增默认主题指定 | | 6.4 | 2026-07-10 | Step 4重写为4子步骤:4a图片CDN上传(铁律,upload_image返回URL字符串)+4b公众号发布(留言默认开启need_open_comment=1)+4c文末固定元素(点赞三连图+公众号置底图,builder.py v3自动追加)+4d CSDN多平台;删除文章footer信源行;builder.py v3重建(Markdown→validate→HTML,文末自动插入assets/images/点赞.jpg+公众号置底.png) | | 6.3 | 2026-07-10 | 新增csdn_publish.py CSDN自动发布(逆向内部API+HMAC签名+图片上传+草稿/发布,零依赖);Step 3b重写为双模式(自动发布+DOCX上传);Step 4新增CSDN自动+Wechatsync备选 | | 6.2 | 2026-07-10 | 新增wechat_publish.py自动发布路径(Step 4);MCP Server存储层sqlite3→sql.js纯JS迁移(消除Windows原生编译依赖) | | 6.1 | 2026-07-10 | 排版引擎切换:DOCX(builder.py)→gzh-design(Markdown→HTML);移除builder.py/template.py/wechat_render.py依赖;新增validate_gzh_html.py+wr
Intended uses
- Use 智汇AI 内容引擎 SKILL V6.0 when this documented workflow matches the task.
Related skills
Related skills in this directory, for comparison before you install another skill.
coding
Act as a Patient, Non-Technical Android Studio Guide
A reusable prompt for asking an AI assistant to work as Act as a Patient, Non-Technical Android Studio Guide.
coding
Add Ave Record
The main workflow for this repo. Adds one new AVE record end to end.
coding
Add Backend
Guide for adding a backend (Rust or Python) to the agent-sec-core security middleware. Use when creating new backends, integrating Rust or Python code into the security middleware, or extending with new backend actions.
coding
Agent Device
Drive iOS and Android devices for the Expensify App - testing, debugging, performance profiling, bug reproduction, and feature verification. Use when the developer needs to interact with the mobile app on a device.