diff --git a/README.md b/README.md index 1fa4fb3..3bd9d17 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,8 @@ skills/ 方法论来源(只借机制,不复制表达):[mp-article-writor](https://github.com/balabalabalading/huuuuuuho-skills/tree/main/skills/mp-article-writor)(MIT,类型路由 / 去模板化 / 语义保真)· [wechat-article-skills](https://github.com/aiworkskills/wechat-article-skills)(Apache-2.0,产出配额 / AI 味指纹 / 机器自检)。 +排版主题库直接引入:[gzh-design-skill](https://github.com/isjiamu/gzh-design-skill)(AGPL-3.0)的 6 套主题组件库、平台合规校验器与预览页脚本,存放于 `skills/le-wechat-article/references/themes/` 并适用其原协议(边界与修改声明见该目录 README)。 + 安全边界:不群发不发表、不做跨平台、微信凭证只走环境变量不进仓库。 ## 安装 @@ -83,4 +85,4 @@ mkdir -p ~/.codex/skills && ln -s <克隆路径>/skills/le-wechat-article ~/.cod ## License -[MIT](LICENSE) +[MIT](LICENSE),唯一例外:`skills/le-wechat-article/references/themes/` 目录及自 gzh-design-skill 引入的三个脚本(`validate_gzh_html.py` / `wrap_preview.py` / `component_lint.py`)与 `assets/preview-template.html` 适用 **AGPL-3.0**(原文见该目录 LICENSE)。 diff --git a/skills/le-wechat-article/README.md b/skills/le-wechat-article/README.md index 972b33a..85969f6 100644 --- a/skills/le-wechat-article/README.md +++ b/skills/le-wechat-article/README.md @@ -18,7 +18,7 @@ ## 交付物 -`article.md`(终稿)+ `article.html`(粘贴公众号用,3 骨架 × 4 色板可选)+ 审读报告摘要(含合规清零)+ 3 个标题候选与摘要 + 封面 brief(七步推导,可联动 ckm-banner-design 直接出图)。 +`article.md`(终稿)+ `article.html`(干净正文)+ `article_预览.html`(带「复制到公众号」按钮的预览页)+ 审读报告摘要(含合规清零)+ 3 个标题候选与摘要 + 封面 brief(七步推导,可联动 ckm-banner-design 直接出图)。排版默认走主题引擎(6 套实战主题组件库,HTML 过平台合规校验),轻稿可用 md2wechat 快档。 可选收尾:经官方 API 同步到公众号草稿箱(`scripts/publish_draft.py`,需已认证公众号 + `WECHAT_APP_ID`/`WECHAT_APP_SECRET` 环境变量 + IP 白名单;自动提交 2.35:1 与 1:1 封面裁剪框;首次用 `--check` 验证,`--dry-run` 预览计划)。 @@ -29,3 +29,5 @@ ## 致谢 方法融合自两个开源项目(仅借机制与方法,未复制表达):[mp-article-writor](https://github.com/balabalabalading/huuuuuuho-skills/tree/main/skills/mp-article-writor)(MIT)的类型路由、去模板化审读与语义保真;[wechat-article-skills](https://github.com/aiworkskills/wechat-article-skills)(Apache-2.0)的产出配额、AI 味指纹阈值与机器自检思想。 + +排版主题库(`references/themes/` 与配套校验/预览脚本)**直接引入**自 [gzh-design-skill](https://github.com/isjiamu/gzh-design-skill)(AGPL-3.0,甲木 Jiamu × 摸鱼小李)——该部分适用其原协议,本 skill 其余部分为 MIT,边界与修改声明见 [themes/README.md](references/themes/README.md)。 diff --git a/skills/le-wechat-article/SKILL.md b/skills/le-wechat-article/SKILL.md index ca511ed..1943511 100644 --- a/skills/le-wechat-article/SKILL.md +++ b/skills/le-wechat-article/SKILL.md @@ -49,7 +49,7 @@ description: > 画像还是空模板、或所选账号没有分节时,用其中的「首访问题」问用户一次,把答复写回该文件(此文件随本 skill 存放,属于个人资产);每个账号首次使用各问一次,之后不再重复问。事实卡留空则跳过,用户随时可补。画像与事实卡都不能覆盖类型路由、事实核查和真实性底线。 -**校准结果是固定停点(轻量)**:展示本次将采用的约束——该账号画像要点(定位/声音/文末块/排版骨架与主题色)、将取用的事实卡条目、敏感词要求——用户确认或调整后进第 3 步。画像早已填好、无新信息时也要展示:给用户当场临时调整的机会(如本文换主题色、跳过文末块),展示可精简为几行。 +**校准结果是固定停点(轻量)**:展示本次将采用的约束——该账号画像要点(定位/声音/文末块/排版主题)、将取用的事实卡条目、敏感词要求——用户确认或调整后进第 3 步。画像早已填好、无新信息时也要展示:给用户当场临时调整的机会(如本文换排版主题、跳过文末块),展示可精简为几行。 ### 第 3 步:大纲与图位 @@ -102,19 +102,26 @@ python3 scripts/check_article.py <文章目录>/article.md --type <主类型> ### 第 7 步:交付 -0. **图片生产(默认执行,用户明确不要图时才跳过)**:正文图位与封面按 [visual-production.md](references/visual-production.md) 生产——交给 ckm-banner-design,或 SVG 自绘 + 浏览器截图均可,满足 brief 验收点即可。信息位图上的文字**逐字取自文章**,主题色与排版骨架一致;可编辑源文件(SVG/HTML)随 PNG 一起保留在 `imgs/src/`。生成后把正文图位占位替换为 `imgs/<文件名>.png` 真实路径——**终稿不得残留 placeholder**(此时 check_article 不再加 `--allow-placeholder`)。 +0. **图片生产(默认执行,用户明确不要图时才跳过)**:正文图位与封面按 [visual-production.md](references/visual-production.md) 生产——交给 ckm-banner-design,或 SVG 自绘 + 浏览器截图均可,满足 brief 验收点即可。信息位图上的文字**逐字取自文章**,配色与所选排版主题一致;可编辑源文件(SVG/HTML)随 PNG 一起保留在 `imgs/src/`。生成后把正文图位占位替换为 `imgs/<文件名>.png` 真实路径——**终稿不得残留 placeholder**(此时 check_article 不再加 `--allow-placeholder`)。 -1. 排版转换(纯本地,零依赖)。骨架按文章类型选:工程(技术/教程)、杂志(叙事/访谈)、简报(更新/快讯);骨架与色板以**该账号**画像的「排版偏好」为默认: +1. 排版转换。默认走**主题引擎**——6 套实战主题组件库,融合自 gzh-design-skill(AGPL,见 [themes/README.md](references/themes/README.md))。主题以**该账号**画像的「排版偏好」为默认,按文章类型对照 [themes/theme-index.md](references/themes/theme-index.md) 的适用场景校准(教程/测评→摸鱼绿、深度观点→红白色系、设计科技→石墨极简、随笔→留白禅意、对比评测→摸鱼票据、内刊复盘→橄榄手记);选定后按 [themes/ENGINE.md](references/themes/ENGINE.md) 读该主题组件库 + 通用组件库装配 HTML,装配完**校验到全绿才算完成**: ```bash - python3 scripts/md2wechat.py <文章目录>/article.md --skeleton <工程|杂志|简报> --palette <靛蓝|松绿|黛紫|绛红> -o <文章目录>/article.html - # 不确定选哪个时先看对照页:--preview 生成三骨架 375px 样张,让用户挑 + python3 scripts/validate_gzh_html.py <文章目录>/article.html + # ERROR 与半角标点 WARNING 都要清零;不过则回装配修 + python3 scripts/wrap_preview.py <文章目录>/article.html <文章目录>/article_预览.html ``` - 输出的 HTML 全内联样式,全文复制粘贴进公众号编辑器即可用。 + 为账号定制全新风格:走 [themes/theme-generator.md](references/themes/theme-generator.md) 生成并登记(生成后跑 component_lint 到 0 ERROR)。 + + **轻稿快档**(简报类 <1500 字或用户明确要快时):用 md2wechat 确定性转换,跳过装配环节: + + ```bash + python3 scripts/md2wechat.py <文章目录>/article.md --skeleton 简报 --palette <靛蓝|松绿|黛紫|绛红> -o <文章目录>/article.html + ``` 2. 交付清单(一次给全): - - `article.md`(终稿)+ `article.html`(粘贴用)+ 审读报告摘要(采纳/驳回计数 + 合规清零 + 遗留风险) + - `article.md`(终稿)+ `article.html`(干净正文)+ `article_预览.html`(浏览器打开点「复制到公众号」即可粘贴)+ 审读报告摘要(采纳/驳回计数 + 合规清零 + 遗留风险) - **3 个标题候选**(混两种以上风格,注明各自打法,避开 style-rules 的禁用套路)+ digest 摘要(80–120 字) - **封面 brief**:按 [visual-production.md](references/visual-production.md) 七步推导产出——2.35:1 规格、主标题 4–7 字且在中央 1:1 安全区、短标题(分享卡用)、张力一句话、形态与媒介、避雷项。需要直接出图时把 brief 交给 ckm-banner-design 执行,产出按「345px 缩略回看」验收 - 图片状态:信息位/节奏位/实证位图是否就位;未生成的列出建议 @@ -162,6 +169,7 @@ python3 scripts/publish_draft.py <文章目录> --title "标题" --digest "摘 - 五类型路由与各类型结构:[article-types.md](references/article-types.md) - 公众号排版硬规则、标点规范、产出配额、标题规范:[style-rules.md](references/style-rules.md) - 审读手册(去模板化 + AI 味指纹 + 平台合规 + 语义保真):[review-playbook.md](references/review-playbook.md) +- 排版主题库与装配规则(6 主题 + 通用组件 + 引擎规则,AGPL 来源与协议边界):[themes/README.md](references/themes/README.md) · [theme-index.md](references/themes/theme-index.md) · [ENGINE.md](references/themes/ENGINE.md) - 作者画像(风格;个人层 + 分账号层,渐进填充):[author-profile.md](references/author-profile.md) - 常用事实卡(作者本人事实,渐进填充):[topic-facts.md](references/topic-facts.md) - 封面与插图生产方法(七步推导 + ckm-banner-design 联动):[visual-production.md](references/visual-production.md) diff --git a/skills/le-wechat-article/assets/preview-template.html b/skills/le-wechat-article/assets/preview-template.html new file mode 100644 index 0000000..20d7531 --- /dev/null +++ b/skills/le-wechat-article/assets/preview-template.html @@ -0,0 +1,82 @@ + + +
+ + +