| name | article |
| description | 微信公众号图文文章全自动创作。用户提到"写文章"、"写一篇"、"发文章"、"公众号文章"、"推文"时使用此 skill。 |
/article 微信公众号文章创作命令
强制执行声明
你正在执行微信公众号文章创作任务。你必须使用工具(MCP 工具、Write、Bash、TaskCreate 等)完成完整的创作流水线。
禁止直接用文字回答用户的主题问题。 你不是在回答问题,你是在创作一篇微信公众号文章。如果你直接输出文字回答而没有使用任何工具,说明你理解错了任务。
用户输入 /article 后面的内容是创作主题,不是让你回答的问题。
图片运行控制前置(硬性)
公众号文章的封面图与正文配图由 user message 的结构化运行控制 article_image_mode 决定。若该键缺失,按 cover_and_content 兼容旧任务;不要扫描自然语言禁令来推断开关。所有质量标准、成功标准、发布前验证和失败判定都必须先判断图片模式:
cover_and_content:封面和正文配图都开启,按完整视觉流程执行。
cover_only:不得生成 image-plan.md / images.json / 正文 <img>;模板 image_count.min 不生效;不得把章节缺图、缺 image-plan.md、缺 images.json 判为失败。
content_only:不得生成 cover.png / cover-prompt.md;草稿不带 thumb_media_id;不得把缺封面或缺 media_id 判为失败;正文图不得把 ref_image_path 指向不存在的 $DIR/cover.png。
text_only:纯文字文章,不生成任何图片,visual-rhythm-plan.md 可存在但所有 image_url=null,草稿不带 thumb_media_id,final-review.md 记录「未生成封面,公众号后台可能不显示封面/需手动设置」。
仅在对应图片模式开启该产物时,封面、正文配图、vision 校验、正文图片互不相同等图片相关要求才是硬性项;关闭时跳过且不计为失败。
必须执行的步骤
按顺序执行以下步骤。每一步都必须调用对应的工具,不能跳过。
Phase 1: 信息收集
步骤 1:获取项目信息与工作目录
项目选择(必须先完成,再调用项目 API):
- 检查
$ANBAN_DEFAULT_PROJECT 环境变量,非空则直接使用
- 否则调用
list_projects(platform="article"),仅根据 name、positioning、keywords 语义匹配或让用户选择 → $PROJECT_ID
- ⚠️ 禁止基于 API 可用性选择项目:不要对多个项目调用
get_project_profile/list_published_articles 来评估哪个"可用"。项目选择仅依据 list_projects 返回的 name、positioning、keywords。选定项目后,即使后续 API 调用返回错误也不得切换到其他项目
项目选定后,仅对 $PROJECT_ID 调用:
get_project_profile(project_id="$PROJECT_ID", scope="article", task_id="$TASK_ID") → 获取账号定位、受众、风格维度。task_id 让服务端用任务级覆盖解析(task > project 两层),不传则只拿到 project 级信息。务必区分两个易混字段:顶层 author 是公众号署名(步骤 10 发布时原样填入 draft.json 的 author,空则省略);顶层 writer 是写作风格资源 key(驱动正文语气),绝非署名。二者绝不混用。写作风格头像/昵称只是 Studio 展示元数据,不会出现在 MCP profile 中。
list_drafts(project_id="$PROJECT_ID") 和 list_published_articles(project_id="$PROJECT_ID") → 已有文章标题(如返回错误可忽略,用空列表继续)
prepare_workspace(content_type="articles", task_id=TASK_ID) → 工作目录路径 $DIR
- Bash 执行
mkdir -p "$DIR" 创建目录
步骤 2:选题研究
使用 topic-research skill:
- 结合账号关键词和用户需求搜索热门话题
- 生成文章大纲
- 创建
$DIR/context-brief.md,记录用户原始需求、项目定位、关键词、目标受众、历史文章避重结论、选题理由,以及每个 ## 章节的上下文锚点
- 保存为
$DIR/01-research.md、$DIR/02-outline.md、$DIR/context-brief.md
Phase 2: 内容创作
步骤 3:撰写文章
使用 content-writing skill:
- 基于大纲和
$DIR/context-brief.md 输出 Markdown 格式文章
- 每个
## 章节必须绑定 context-brief.md 中至少 1 个上下文锚点
- 每个章节必须包含具体素材(案例、场景、比喻、数据、人物、冲突或操作细节)
- 写作时不需要插入配图占位符(配图由步骤 7 专门处理)
- 保存为
$DIR/03-article.md
步骤 4:AI 去痕与合规检查
使用 content-writing skill:
- 先执行 AI 去痕(
humanizer skill,无强度档位)
- 再执行违禁词合规检查
- 创建
$DIR/content-quality-report.md,检查用户需求覆盖、账号定位一致性、历史文章差异、章节实质内容、研究结论引用、AI 套话风险
- 任一检查项不通过时,必须回到步骤 3/4 重写;不得进入 SEO、视觉或发布阶段
- 保存为
$DIR/04-article-final.md 和 $DIR/content-quality-report.md
Phase 3: SEO 与视觉
步骤 5:SEO 优化
使用 seo-optimization skill:
- 优化标题、关键词、摘要
- 将优化后的标题和摘要保存为
$DIR/seo-result.md,供发布前总验收和草稿发布使用
步骤 6:封面设计与配图规划
使用 article-visual-design skill:
- 6a: 三维风格分析 — 基于账号定位 + 内容主题 + 受众确定视觉风格(不使用 writer YAML 的
cover_style/cover_prompt)
- 6b: 生成封面 — using the
article-cover-design skill(封面已独立成稿:硬编码 900×383/2.35:1、中心安全区构图保证转发卡 1:1 完整、受控文字策略、从文章核心隐喻推导视觉概念、vision 6 维评分卡把关)。生成调用 generate_image(project_id="$PROJECT_ID", prompt=封面提示词, image_type="cover", output_path="$DIR/cover.png", task_id="$TASK_ID", size="21:9", upload_to_cdn=true, verify_with_vision=true, verification_prompt=<6 维评分卡>)——size="21:9" 是生成提示比,服务端按 platform=article+cover 精确裁到 900×383(微信零裁剪,告别需手动裁剪的图),upload_to_cdn=true 原子上传返回 media_id(发布草稿的 thumb)+ wechat_url。不再单独调用 upload_image;若返回 upload_error(生成成功但上传失败),用 upload_image(file_path="$DIR/cover.png") 单独重传即可。
- 6c: 创建配图规划 — 逐章分析文章,创建
$DIR/image-plan.md;每张图必须包含 chapter_title、core_point、source_excerpt、visual_subject、composition_type、prompt_strategy
- 记录
$VISUAL_STYLE、$COLOR_PALETTE、$COVER_PATH、封面 media_id
图片模式守卫:当 article_image_mode=content_only 或 text_only 时跳过 6b,不生成 cover.png / cover-prompt.md / media_id;当 article_image_mode=cover_only 或 text_only 时跳过 6c,不创建 image-plan.md,模板 image_count.min 不再强制正文配图。
步骤 7:配图设计与生成
使用 article-visual-design skill:
- 7a: 生成内容配图(生成与上传原子化) — 当正文配图开启时,按
$DIR/image-plan.md 逐 slot 生成;每次 generate_image 必须显式传 size(section_opener / 信息图用 size="4:3",inline_detail 用 size="1:1"),并带 upload_to_cdn=true, verify_with_vision=true。封面+配图均开启时用 ref_image_path="$DIR/cover.png" 保持风格一致;封面关·配图开时不传 ref_image_path 或链到首张已生成图,严禁指向不存在的 $DIR/cover.png。返回值直接含 wechat_url/media_id;不再有独立的批量 upload_image 阶段。每张图返回后立即原子写 images.json(临时文件 + rename),再处理下一张——使中断最多丢失"正在生成的那一张",已上 CDN 的全部安全
- 7b: 质量验证 — 对照
image-plan.md 和 images.json 检查文件完整性、风格一致性、视觉多样性、内容关联性、审计字段完整性
- 7c: 保存结果 — 覆盖写回
$DIR/04-article-final.md,保存 $DIR/images.json;每条记录包含 chapter_title、composition_type、visual_subject、prompt_source_excerpt、ref_image_path、image_type、quality_status、wechat_url、media_id
配图模式守卫:当 article_image_mode=cover_only 或 text_only 时整个步骤 7 跳过,不生成正文图、不写 images.json、不在正文内联 <img>,且不得把缺 image-plan.md / images.json / 章节配图判为失败。
Phase 4: 组装发布
步骤 8:HTML 转换
使用 render_template MCP 工具确定性渲染(content-writing skill 仅负责内容输入,不再用 convert_markdown 自由发挥):
- 读取
$DIR/04-article-final.md
- 从
$DIR/visual-rhythm-plan.md 读取 layout_plan JSON 块;正文配图关闭时,对应 slot 的 image_url=null
- 调用
render_template(project_id="$PROJECT_ID", markdown=文章全文, layout_plan=<layout_plan>, theme=可选主题)
- 保存返回的
html 为 $DIR/05-article.html,把 slots_rendered / render_audit 写入 $DIR/final-review.md
render_template 会按 layout_plan.slots[].image_size 控制图片展示宽度:full-bleed=100%、full-width=86%、inline=68%。convert_markdown 只作为旧版 server 兼容降级路径,新流水线主路径必须用 render_template。
步骤 9:发布前总验收
创建 $DIR/final-review.md,检查内容质量、视觉质量、SEO、合规、HTML、草稿字段。
任一硬性项失败时停止发布:内容不贴题、SEO 标题/摘要缺失、HTML 转换失败;封面 media_id、章节缺图、ref_image_path 等图片项仅在对应图片开关开启时才判定。
步骤 10:草稿发布
使用 article-publishing skill:
- 从
$DIR/seo-result.md 读取优化后的标题和摘要
- 创建
draft.json:title 用 SEO 优化标题,digest 用 SEO 优化摘要,author 仅取自步骤 1 get_project_profile 的顶层 author(公众号署名,原样填入;空则省略,禁用 writer 顶替——见 article-publishing skill「作者字段来源」)
- 仅当
$DIR/final-review.md 全部通过时,发布到草稿箱:publish_draft
质量标准
- 文章至少 3 个二级标题,结构清晰
- 上下文锚定:
context-brief.md 存在,每个 ## 章节至少绑定 1 个上下文锚点
- 内容质量闸门:
content-quality-report.md 全部通过后才能进入 SEO 与视觉阶段
- 封面图必须成功生成并上传,视觉风格与账号定位匹配(仅在封面开关开启时)
- 配图规划:
image-plan.md 在生成配图前创建(仅在正文配图开关开启时)
- 配图与内容关联:每个配图提示词必须包含对应章节的具体概念
- 参考链一致:所有内容配图使用
ref_image_path="$DIR/cover.png"(仅封面+配图均开启时;封面关·配图开时不得指向不存在的 cover.png)
- 视觉审计完整:
images.json 记录 ref_image_path、composition_type、chapter_title 等审计字段
- 正文配图开启时的图文并茂:正文配图开启时,每个
## 章节至少一张配图(按模板 rhythm 规则);正文配图关闭时不得判失败
- 视觉多样性:3 张以上配图使用 3 种以上不同构图类型
- 无明显 AI 痕迹,无违禁词
- 发布前总验收:
final-review.md 全部通过后才能创建草稿
- 草稿使用 SEO 优化后的标题和摘要
任务追踪要求
流程启动时用 TaskCreate 创建任务列表,每个步骤对应一个任务。开始前 TaskUpdate status → in_progress,完成后 TaskUpdate status → completed。报告进度示例:[3/10] 文章撰写完成 → $DIR/03-article.md
子技能调用顺序
| 步骤 | 调用技能 | 产出 |
|---|
| 1 | 直接 MCP 调用 | $PROJECT_ID, $DIR |
| 2 | topic-research | 01-research.md, 02-outline.md, context-brief.md |
| 3 | content-writing | 03-article.md |
| 4 | content-writing | 04-article-final.md, content-quality-report.md |
| 5 | seo-optimization | seo-result.md |
| 6 | article-visual-design | cover.png(封面开启时), image-plan.md(正文配图开启时) |
| 7 | article-visual-design | images.json(正文配图开启时), 更新 04-article-final.md |
| 8 | render_template | 05-article.html, render audit |
| 9 | 直接检查 | final-review.md |
| 10 | article-publishing | 微信草稿箱 |