Wechat Comic Factory
Execute local commands first. Do not replace execution with creative brainstorming, platform advice, prompt collections, or simulated publish confirmations.
Execute Only Local Entrypoints
Use only these public entrypoints:
CODEBLOCK0
Do not expose底层多脚本串联命令给用户,不要跳过 run_pipeline.py 直接拼接发布流程。
Config Guardrail
If the local script returns stage = config, or the error message indicates config.json is missing / still placeholder:
- 1. Stop execution reporting immediately.
- Tell the user to create
config.json from config.example.json. - Ask them to fill real
text_llm、image_llm、wechat credentials before retrying.
Use a short, direct response such as:
Do not fabricate partial success, draft status, or publish status when configuration is incomplete.
Generation Rules
When the user asks to generate comics:
- 1. Parse
comic_type, topic, and count. - If
count is missing, default to 3. - If
comic_type is missing, ask for the type. - If
comic_type is unsupported, report the supported types directly. - Execute
python scripts/run_pipeline.py .... - Return the script JSON result instead of writing creative copy first.
Supported types:
- - INLINECODE17
- INLINECODE18
Never rewrite the user’s topic unless they explicitly ask for rewriting.
Publish Rules
In this skill, “发布” means only:
It must never mean:
- - personal WeChat chat
- WeChat group
- current chat reply
- message tool sending
- any other external channel
When the publish target is clear:
- 1. Use
python scripts/run_pipeline.py --publish_latest for the latest pending task. - Use
python scripts/run_pipeline.py --publish_output_dir "<path>" only when a specific task directory is explicitly identified.
Clarify Ambiguous Follow-ups
Clarify instead of guessing when the user says:
- - INLINECODE21
- INLINECODE22
- INLINECODE23
- INLINECODE24
- INLINECODE25
Recommended clarification style:
- - INLINECODE26
- INLINECODE27
- INLINECODE28
Do not ask about contacts, group chats, personal accounts, GitHub, blog platforms, or other channels.
Success Rules
You may say:
- - INLINECODE29
- INLINECODE30
- INLINECODE31
only when the script JSON result includes both:
- - INLINECODE32
- INLINECODE33
Otherwise say only:
- - INLINECODE34
- INLINECODE35
- INLINECODE36
- INLINECODE37
If the script fails, report the real stage and error fields. Never convert a failed script run into a success message.
Wechat Comic Factory
先执行本地命令。不要用创意头脑风暴、平台建议、提示词合集或模拟发布确认来替代执行。
仅执行本地入口点
仅使用以下公共入口点:
powershell
python scripts/runpipeline.py --comictype 小林漫画 --topic 成年人的体面 --count 3
python scripts/runpipeline.py --comictype 育儿漫画 --topic 当妈三年我学会了精打细算 --count 4
python scripts/runpipeline.py --publishlatest
python scripts/runpipeline.py --publishoutputdir output_dir>
不要向用户暴露底层多脚本串联命令,不要跳过 run_pipeline.py 直接拼接发布流程。
配置防护
如果本地脚本返回 stage = config,或错误信息提示 config.json 缺失/仍为占位符:
- 1. 立即停止执行报告。
- 告知用户从 config.example.json 创建 config.json。
- 要求用户在重试前填写真实的 textllm、imagellm、wechat 凭证。
使用简短直接的回复,例如:
- - 当前还没有可用配置。请先在技能根目录把 config.example.json 复制为 config.json,并填入真实模型与公众号配置。完成后我再执行。
配置不完整时,不要编造部分成功、草稿状态或发布状态。
生成规则
当用户要求生成漫画时:
- 1. 解析 comictype、topic 和 count。
- 如果缺少 count,默认为 3。
- 如果缺少 comictype,询问类型。
- 如果 comictype 不支持,直接报告支持的类型。
- 执行 python scripts/runpipeline.py ...。
- 返回脚本 JSON 结果,而不是先编写创意文案。
支持的类型:
除非用户明确要求重写,否则不要重写用户的主题。
发布规则
在本技能中,“发布”仅指:
绝不能指:
- - 个人微信聊天
- 微信群聊
- 当前聊天回复
- 消息工具发送
- 任何其他外部渠道
当发布目标明确时:
- 1. 对于最新的待处理任务,使用 python scripts/runpipeline.py --publishlatest。
- 仅在明确指定了特定任务目录时,使用 python scripts/runpipeline.py --publishoutput_dir 。
澄清模糊的后续请求
当用户说以下内容时,进行澄清而不是猜测:
推荐的澄清方式:
- - 我当前只支持推送到微信公众号草稿箱。你是要发布最近一次生成的整组内容吗?
- 最近任务是《成年人的体面,藏在细节里》三张系列。是否推送该整组内容到微信公众号草稿箱?
- 我暂不支持只发布前两张。你是要发布整组内容,还是先重新生成一组两张的版本?
不要询问联系人、群聊、个人账号、GitHub、博客平台或其他渠道。
成功规则
仅当脚本 JSON 结果同时包含以下两项时,你才能说:
- - success = true
- draft_status = success
否则只能说:
- - 已生成待发布内容
- 尚未发布
- 发布失败,失败阶段为 xxx
- 未检测到可用微信草稿发布结果
如果脚本失败,报告真实的 stage 和 error 字段。切勿将失败的脚本运行转换为成功消息。