Wechat Content Studio
微信公众号内容工作室 — 融合卡兹克写作风格(四层自检)+ 完整发布流水线(封面+发布+验证+追踪)+ 横纵分析法调研。从选题到发布的全链路工具。触发:写公众号文章、写稿子、帮我研究一下、深度调研、发布草稿箱。 Skill: Wechat Content Studio Owner: luis1213899 Summary: 微信公众号内容工作室 — 融合卡兹克写作风格(四层自检)+ 完整发布流水线(封面+发布+验证+追踪)+ 横纵分析法调研。从选题到发布的全链路工具。触发:写公众号文章、写稿子、帮我研究一下、深度调研、发布草稿箱。 Tags: automation:1.1.0, content:1.1.0, draft:1.1.0, four-layer-check:1.1.0, hv-analysis:1.1.0, khazix:1.1.0, latest:1.1.0, latest wechat workflow gzh image2:0.1.2, publish:1.1.0, wechat:1.1.0, writing:1.1.0 Version history: v0.1.2 | 2026-07-08T12:09:38.844Z
Rank
62
Safety
84
Downloads
1.3k
Updated
Oct 10, 2026
Version
0.1.2
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.3K downloadsadoption · observed Oct 10, 2026
- Latest release
- 0.1.2release · observed Jul 8, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17dx8tkck6b2b3d3capmeyfmx84mj9a:wechat-studio-kh- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-wechat-studio-kh/snapshot"
Documentation
CLAWHUB
83,962 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
--- name: wechat-content-studio description: "End-to-end WeChat Official Account article studio for Chinese公众号内容. Use when asked to write, test, package, typeset, generate covers for, publish, or verify WeChat articles or drafts. Enforces the full workflow: H/K/R topic check, article archetype, L1-L4 writing self-check, confirmed gpt-image-2 cover generation via LuisClaw relay, gzh-design HTML typesetting and validation, server-aware publishing, and draft verification. Applies even to test drafts or 'just run it once' requests." --- # Wechat Content Studio Use this skill to produce and publish 微信公众号 articles with the same full workflow every time. Treat test drafts, smoke tests, and temporary articles as real publishing work. ## Core Rule Do not skip steps because the user says “试试”, “跑一遍”, “随便写一篇”, or “测试一下”. The article may be shorter, but the workflow remains complete. ## Required Workflow 1. Write the article. - Run H/K/R topic judgment: Happy, Knowledge, Resonance. - Pick one archetype: investigation, product experience, phenomenon analysis, tool sharing, or methodology sharing. - Write in a short-paragraph, human, first-person公众号 style. - Save a self-check record using `assets/templates/selfcheck-template.md`. - Run L1-L4 checks: banned words and punctuation, style consistency, content quality, human feeling. 2. Generate the cover. - Read `references/image2-policy.md`. - Use WeChat cover ratio `2.35:1`; default cover size is `1504x640`. - Use the project `image2-workflow.ps1 -Mode Draft` first. - Ask the user to confirm the prompt. - Only after confirmation, run `image2-workflow.ps1 -Mode Generate`. - Use `OPENAI_BASE_URL=https://luisclaw.cloud/v1` and `model=gpt-image-2`. 3. Typeset the body. - Use the local `gzh-design` skill. - Read the `gzh-design` SKILL.md before typesetting. - Generate a clean `<section>...</section>` HTML fragment. - Run `validate_gzh_html.py`; `ERROR` and body half-width punctuation `WARNING` must be zero. - Run `wrap_preview.py`. 4. Publish. - Prefer `publish-via-server.ps1`. - For gzh-design output, publish with `-ArticlePath <article.md> -HtmlPath <clean.html>`. - Run preflight before publishing. - After publishing, verify the returned `Media ID` with `-VerifyOnly` or `verify-draft.ps1`. ## Writing Rules - Start from a concrete event, not a macro trend. - Use short paragraphs and conversational rhythm. - Avoid these phrases: `说白了`, `意味着什么`, `这意味着`, `本质上`, `换句话说`, `不可否认`, `综上所述`, `总的来说`, `首先`, `其次`, `最后`. - Avoid Chinese body punctuation `:`, `——`, straight double quotes, and Chinese double quotes when the house style says to use corner quotes or no quotes. - Use exact tool names such as Codex, OpenClaw, gzh-design, image2, and gpt-image-2. ## Publishing Safety - Never package or write real AppSecret, API keys, server IPs, SSH users, account names, or logs into deliverables. - Never publish if preflight fails. - Never republish when draft ver
_meta.json
{
"ownerId": "kn75g2sw7ssvtwkxyw4pce8t3d84mna2",
"slug": "wechat-studio-kh",
"version": "0.1.2",
"publishedAt": 1783512578844
}references/image2-policy.md
# image2 Cover Policy All WeChat article covers in this workflow use image2, model `gpt-image-2`, through the relay API: ```text OPENAI_BASE_URL=https://luisclaw.cloud/v1 model=gpt-image-2 ``` Rules: - WeChat article covers must be horizontal `2.35:1` images. Default size: `1504x640`. - Cover prompts must explicitly say WeChat cover, `2.35:1`, horizontal composition, and mobile preview safe area. - Do not use a vertical poster such as `1024x1536` as an article cover. Vertical images are only for body promo posters or social sharing assets and must be labeled separately. - Do not call `https://api.openai.com/v1` for covers in this workflow. - Do not downgrade to `gpt-image-1`, `gpt-image-1.5`, `dall-e-3`, or another image model. - Read `OPENAI_API_KEY` from the environment only. - Do not write keys into scripts, Markdown, logs, command history, or packaged files. - Prefer proxy: ```text HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 ``` The cover workflow is confirmation-based: 1. Draft prompt with `image2-workflow.ps1 -Mode Draft`. 2. Show the prompt to the user. 3. Generate only after confirmation, using `-Size 1504x640` unless the user explicitly asks for a non-cover asset.
references/workflow.md
# Wechat Content Studio Workflow ## 1. Article Create an article Markdown file with frontmatter: ```markdown --- title: 文章标题 cover: ./output/imagegen/article-cover.png --- ``` Create a separate self-check file. Record: - H/K/R topic judgment. - Article archetype. - AI role boundary. - L1-L4 checks. Run a simple scan for banned terms and punctuation before continuing. ## 2. Cover WeChat article covers use a fixed `2.35:1` horizontal ratio. Default size is `1504x640`; vertical poster sizes are for body promo images only and must not replace the article cover. Draft first: ```powershell .\image2-workflow.ps1 -Mode Draft -Request "公众号文章封面,主题是..." -Slug "article-cover" ``` After user confirmation: ```powershell .\image2-workflow.ps1 -Mode Generate ` -PromptFile .\output\imagegen\prompts\article-cover.prompt.txt ` -Out .\output\imagegen\article-cover.png ` -Size 1504x640 ``` ## 3. gzh-design Typesetting Use the `gzh-design` skill and its theme components. For high-density workflow, methodology, operations, or internal memo articles, `橄榄手记` is usually a good default. For product analysis or strong opinions, choose a more suitable theme from `theme-index.md`. Validate: ```powershell python -X utf8 C:\Users\26240\.codex\skills\gzh-design\scripts\validate_gzh_html.py .\article_排版_主题.html ``` Generate preview: ```powershell python -X utf8 C:\Users\26240\.codex\skills\gzh-design\scripts\wrap_preview.py .\article_排版_主题.html ``` Proceed only when validation reports no errors or warnings. ## 4. Publish Preflight: ```powershell .\publish-via-server.ps1 -PreflightOnly -ArticlePath .\article.md -HtmlPath .\article_排版_主题.html ``` Publish: ```powershell .\publish-via-server.ps1 -ArticlePath .\article.md -HtmlPath .\article_排版_主题.html ``` Verify: ```powershell .\publish-via-server.ps1 -VerifyOnly -KnownDraftMediaId "MEDIA_ID" ``` Success condition: ```text DRAFT_EXISTS Articles: - 文章标题 ``` ## 5. Common Failures - `invalid media_id`: clear WenYan upload cache and retry once. - `access_token is invalid or not latest`: clear WenYan token cache and retry once. - `40164 invalid ip`: do not retry blindly. Sync WeChat backend IP whitelist and local `credentials/wechat.json`. - Existing draft found: do not republish unless the user explicitly wants a replacement.
assets/examples/workflow-discipline-article.md
--- title: 我被一键发布教育了一次 cover: ./output/imagegen/workflow-discipline-cover.png --- # 我被一键发布教育了一次 前两天,我做了一件看起来特别小的事。 我写了一篇测试文章。 然后顺手把它发进了公众号草稿箱。 如果只看结果,这件事挺顺。 文章有了。 草稿也有了。 脚本还跑通了。 但我回头一想,心里其实有点不踏实。 因为那个过程里,有一个动作很危险。 我把「试一下」听成了「可以先绕开正式流程」。 坦率的讲,这个毛病太常见了。 我们做自动化的时候,很容易被一个词骗过去。 试试。 随便跑跑。 先看看链路通不通。 听起来都很轻。 但内容发布不是本地打印一行日志。 它一旦真的撞到平台接口,就不是玩具动作了。 草稿箱里会多一篇文章。 素材库里会多一张图片。 日志里会多一个 Media ID。 微信后台会记住你这次请求。 如果你没有把这些东西当成正式动作,它们就会反过来教育你。 我这次就是这样。 一开始,我的想法很简单。 先写一篇短稿,证明发布链路能跑。 于是我直接写了 Markdown。 用了旧封面。 跑了预检。 再推到草稿箱。 流程确实跑通了。 但这件事有个问题。 它证明了脚本能跑,却没有证明工作流是对的。 这两个东西完全不一样。 脚本能跑,只说明机器执行了一串命令。 工作流是对的,说明这串命令前后的人、内容、素材、校验和平台状态都被照顾到了。 差别就在这里。 一个是能不能动。 一个是该不该动。 ## 最容易出事的地方,是大家都觉得没事 我以前很喜欢一键按钮。 尤其是那种看起来很潇洒的按钮。 点一下。 封面上传。 正文渲染。 草稿创建。 验证完成。 控制台一片绿色。 说真的,这种感觉很爽。 但现在我有点警惕这种爽感。 因为一键按钮如果没有门禁,它就不是效率工具。 它只是一个很快的风险放大器。 公众号发布尤其明显。 它不像本地构建失败了,删掉缓存重来就行。 它连着微信接口。 连着素材上传。 连着草稿箱。 连着 IP 白名单。 也连着你对读者的第一印象。 你以为自己只是在跑测试。 平台那边可不会这么理解。 它只知道你发起了一次真实请求。 所以我现在越来越觉得,内容工作流里最重要的不是自动化。 最重要的是停顿。 该停的时候能停下来。 发现 IP 不对,就别继续。 发现封面还没确认,就别继续。 发现正文没排版校验,就别继续。 发现草稿已经存在,就别继续。 这些停顿看起来会让流程变慢。 但它们其实是在帮你省掉后面更贵的返工。 ## 写作也不能被当成占位符 这次还有一个问题更隐蔽。 我把文章当成了测试材料。 只要能发出去,好像就够了。 但公众号文章不是接口请求体。 它不是随便塞进去的一段字符串。 它有标题,有开头,有情绪,有节奏,也有读者打开以后那几秒钟的判断。 读者不会管你是不是在试流程。 他只会觉得,这篇东西值不值得继续看。 这也是为什么写文章本身必须进工作流。 选题要先过一遍。 它有没有好奇心。 有没有信息量。 有没有共鸣。 这篇文章的题材,其实就是一次很小的翻车复盘。 Happy 不算强,但它有一点反差。 明明是为了验证自动化,却暴露出自动化不能乱用。 Knowledge 是有的。 它能把写作、封面、排版、发布和验证之间的关系讲清楚。 Resonance 也有。 因为很多人都踩过这种坑。 嘴上说只是试试,手上却已经动了正式环境。 所以它至少是一个及格选题。 文章原型也很明确。 它不是教程。 不是工具清单。 更像是一次方法论分享。 我把自己刚踩到的坑拿出来,拆给你看。 不是为了证明流程有多复杂。 而是为了说明,为什么有些复杂是必要的。 我有时候觉得,成熟的工作流都有一点反人性。 人性想省事。 工作流偏要你确认。 人性想先跑了再说。 工作流偏要你先检查。 人性觉得这次只是测试。 工作流偏要把测试也当成正式动作的一部分。 这听起来有点烦。 但也正是这种烦,让系统开始可靠。 ## 封面不是装饰,它是发布流程的一部分 封面这件事也一样。 很多时候,我们会觉得封面只是配图。 临时找一张能用的图,先把流程跑通就行。 但公众号里,封面就是入口。 它不是正文的附属品。 它是读者看到文章前的第一块信息。 所以这个项目里才把封面单独拎出来。 不用旧图凑合。 不用别的模型降级。 也不把 API key 写进脚本。 先出提示词草稿。 人确认以后,再调用中转站的 gpt-image-2。 这个确认动作不是形式主义。 它是在问一件很朴素的事。 这张图,真的代表这篇文章吗。 如果文章讲的是工作流纪律,封面就不该是一张随便的科技背景。 它应该让人一眼看出,里面有发布、有门禁、有检查、有从混乱到秩序的过程。 不要文字。 不要 logo。 不要乱七八糟的界面。 画面要像一次编辑部里的发布前复盘。 桌面上有稿纸,有检查清单,有草稿箱的隐喻,有一盏灯。 这比直接拿旧封面靠谱得多。 因为素材也在表达。 素材不能只负责填空。 ## 排版校验,是给公众号编辑器准备的安全带 正文排版也不是可有可无。 Markdown 看起来很干净。 但微信公众号编辑器不是 Markdown 编辑器。 它吃进去的是富文本。 很多样式如果没有按平台脾气写,粘贴进去就会丢。 有些标签会被过滤。 有些属性会被剥掉。 有些半角标点在正文里看着也很突兀。 所以 gzh-design 那一步不能跳。 它要把文章变成可粘贴的 HTML。 所有样式内联。 所有文字节点包进 span leaf。 再跑校验脚本。 ERROR 清零。 正文半角标点 WARNING 清零。 然后再生成带复制按钮的预览页。 这一步听着很工程。 但它服务的其实是阅读体验。 排版不是为了好看而好看。 它是在帮读者分层。 哪里是主线。 哪里是提醒。 哪里是结论。 哪里只是过渡。 如果没有这一步,文章可能也能发出去。 但读起来会散。 尤其是这种讲流程的文章,如果排版没有层次,读者很快就会觉得自己在看说明书。 我不想让它变成说明书。 我想让它像一个人坐下来,把刚刚踩到的坑讲清楚。 ## 真正的一键,是前面每一步都不偷懒 再往后说发布。 发布脚本本身现在已经更稳了。 它会先看本机出口 IP。 如果本机不在白名单,就切到服务器出口。 它会检查凭证是不是占位符。 它会查上一条草稿还在不在。 如果草稿已经存在,就短路,不重复发布。 这些都是好设计。 但好设计也怕人绕开。 人一旦说「这次就算了」,流程就开始漏水。 所以这次要把规则写死。 写文章要走写作工作流。 封面要走 image2 确认式工作流。 正文要走 gzh-design 排版和校验。 发布要走预检和草稿验证。 哪怕只是测试稿,也一样。 测试稿可以短。 但不能假。 测试流程可以快。 但不能跳。 我现在对一键发布的理解也变了。
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/luis1213899/skills/wechat-studio-kh",
"sourceUrl": "https://clawhub.ai/luis1213899/skills/wechat-studio-kh",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T17:32:00.051Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-wechat-studio-kh/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-wechat-studio-kh/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T17:32:00.051Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.3K downloads",
"href": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceUrl": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T17:32:00.051Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.2",
"href": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceUrl": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-08T12:09:38.844Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-wechat-studio-kh/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-wechat-studio-kh/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.2",
"description": "补齐示例封面和工作流说明:公众号文章封面统一为 2.35:1 横图,默认 1504x640;示例封面和提示词已同步更新。",
"href": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceUrl": "https://clawhub.ai/luis1213899/wechat-studio-kh",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-08T12:09:38.844Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
