下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/inroad--safety-slogans-pic.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @inroad/safety-slogans-pic。根据最近重要节假日、节气、主题日等,生成化工安全生产的安全口号宣传海报
阅读全文 (展开查看完整说明)
概述
Safety Poster Generator (化工厂安全口号宣传画生成器)
🚀 快速使用指南(首次使用必读)
怎么触发本 skill?
直接说一句人话即可,模型会自动加载本 skill 并按工作流执行。例如:
"生成一张安全宣传画"
"做一张中秋节海报"
"快到处暑了出一张安全提醒图"
"为全国消防日做宣传画"
"班组群里发个安全口号图"
不指定节日会怎样?
skill 会自动从"今天 ± 7 天"窗口内匹配最近的节点(按 安全主题日 > 法定节假日 > 节气 > 一般主题日 优先级)。比如今天 8/20,自动选中 8/23 处暑;今天 6/3,自动选中 6 月全国安全生产月。
可以指定节日吗?
可以。直接说"做一张中秋的"、"出一张消防日(11/9)的",skill 会按你指定的节日走,不复检 7 天窗口。
可以提供哪些可选信息?
| 信息 | 怎么说 | 效果 |
|---|---|---|
| 指定口号 | "口号用'平安是福'" | 用你给的口号代替随机抽 |
| 指定主题色 | "用红色系" / "用 gold 主题" | red/orange/green/blue/gold/purple/teal/brown 8 套 |
| 部门名/班组名 | "副标题加'化工一车间 HSE 班组'" | 海报底部居中显示带装饰圆点 |
| 企业 LOGO | 给图片路径 | 自动放左下 |
| 真实二维码 | 给图片路径 | 自动放右下白底圆角框 |
| 单张口号变对仗双行 | 用 / 分隔:"中秋月明 / 巡检灯明" | 自动分两行居中 |
不提供这些信息会怎样?
不会出现占位方块——只画用户实际提供的内容。未提供副标题/LOGO/二维码时,画面更干净、口号更聚焦。
输出格式
- 尺寸:1080×1350 PNG(朋友圈竖图最佳比例 4:5)
- 位置:默认保存到当前工作区
.workbuddy/目录 - 文件名:
safety_poster_<节日>_<时间戳>.png
想再调整怎么办?
直接说:
- "换一句口号" / "再随机一条"
- "换成红色系"
- "改成对仗双行"
- "做一张中秋的、做一张消防日的"(一次要多张)
- "重出一张构图不同的"
- "这次加上 LOGO 和二维码"
一次完整对话示例
用户:生成一张中秋海报,副标题加"化工二车间"
AI:自动调用 skill:①匹配中秋(用户指定)→ ②抽口号"中秋月明 / 巡检灯明"→ ③ImageGen 生成化工厂中秋夜背景图 → ④脚本合成带"化工二车间"副标题的海报 → ⑤输出 1080×1350 PNG
AI:海报已生成 →
present_files直接预览
注意事项
- AI 文生图会消耗约 5-10 credits / 张(系统会自动调 ImageGen 工具)
- 当前环境优先 doubao/Seedream MCP 工具(若可用),否则回退 Hunyuan ImageGen 并开启
revise: true提升质量 - 中文字符不依赖 AI 直接生成(会乱码),而是 AI 出背景图 + Pillow 叠加文字的两步法
- 同一天多次调用会随机出不同口号,避免发图"撞图"
- 节气/农历节日按近 5 年公历近似估算;用户给具体日期则优先用用户值
目的
为化工厂安全员 / 班组 / HSE 部门自动产出贴合"近期节日 / 节气 / 主题日"的安全生产宣传画,便于在企业微信群、班组群、朋友圈等场景做日常安全宣贯。生成的图片满足:
- 节日感:画面氛围、配色、主元素贴合当前 / 即将到来的节日
- 专业感:化工厂装置、储罐、管道、员工 PPE 等场景元素
- 随机性:每次生成的安全口号不同,避免发图"撞车"
- 文字融合:通过"先 AI 生背景图 + 后 Python PIL 叠加排版"的两步法,把口号、节日标签、副标题、二维码占位自然融合到画面里(不依赖 AI 直接出图,避免中文字符乱码)
何时使用
触发词举例:
- "生成一张安全生产宣传画"
- "做一个节气的安全提醒图"
- "快到 XX 日了,出一张海报"
- "班组群里要发个安全提醒图"
- "化工厂 XX 节海报"
- 用户说"按当前最近节日生成宣传画"或类似
- 用户明确指定"为 XX 节/XX 日生成宣传画"
何时不要使用
- 用户想要通用商业海报、PPT、产品宣传图 → 用其他 skill
- 用户只想纯文案的"安全口号"(不需要图片) → 直接给文字
- 用户要做完整的 PPT 报告 → 用 tencent-pptx
- 用户要 SVG/HTML 交互页面 → 用 show_widget
工作流(5 步)
Step 1 · 选定节日 / 节气 / 主题日
读取 references/holidays-calendar.md,在"今天 ± 7 天"窗口内查找候选节点,按以下权重择优:
- 安全类主题日 (消防日 / 防灾减灾日 / 安全月 / 急救日 / 工作安全日 / 交通日) — 最高
- 法定节假日 (春节 / 元宵 / 清明 / 劳动 / 端午 / 中秋 / 国庆 / 元旦)
- 24 节气 (按 ±3 天窗口匹配)
- 一般国际主题日 (环境日 / 地球日 / 水日 / 妇女节 / 植树节等)
- 回退:6 月 → "全国安全生产月";其他月份 → 通用主题"安全生产 人人有责"
输出确定的:
festival_name(e.g., "全国消防日")festival_date_text(e.g., "11月9日" 或 "正月初一")scene_keywords(e.g., "消防演练 灭火器 119 横幅 员工穿防火服") — 取自日历文件"海报画面建议"列theme_color(e.g., "orange" / "red" / "green") — 按节日性质映射
主题色映射规则:
| 节日性质 | 主题色 |
|---|---|
| 春节 / 元旦 / 国庆 / 中秋 / 重阳 | red / gold |
| 元宵 / 七夕 | purple |
| 清明 / 端午 / 寒食 | brown |
| 消防日 / 防灾减灾日 / 安全生产月 | orange / green |
| 急救日 / 工作安全日 / 交通日 | blue / orange |
| 节气·春夏 | teal / green |
| 节气·秋冬 | brown / gold |
| 环境日 / 地球日 / 水日 | green / blue |
| 建党 / 军人 | red / gold |
| 禁烟日 | orange |
Step 2 · 抽取随机安全口号
读取 references/safety-slogans.md,按节日类别从对应 G 子分类 + A 通用池加权随机抽取一条:
- 安全类节日:G.安全主题日 → E.应急与救援 → A.通用
- 法定节假日:G 对应节日子分类
- 节气:G.节气类 → A.通用
- 一般主题日:A.通用 + 相应专业类
将口号按是否含 / 处理为单行 / 双行(脚本中 / 是分行符)。
注意:每次必须真随机,必要时调用 random.choice 或 LLM 自带 shuffle,避免"每次都抽到第一条"。
Step 3 · 生成化工厂 + 节日主题背景图(AI)
使用 ImageGen 工具生成背景图,严禁在 prompt 中要求 AI 直接生成中文字(AI 不会中文,将出现乱码方块)。
模型优先级(当前环境探测):
- 若环境内有 doubao / Seedream / 高质量文生图 MCP 工具(如未来出现的
doubao_image/seedream_*工具),优先调用之——doubao 系列对中文工业场景理解更深、画面更生动。 - 否则回退到内置
ImageGen(Hunyuan 系列)。必须开启revise: true,让 Hunyuan 自动润色 prompt 以接近 doubao 级质量。 - 调用时务必设置
size: "1024x1536"(竖图,最接近 4:5)、quality: "high"、output_dir指向<workspace>/.workbuddy/。
提示词设计原则(避免画面"呆板"):
- 动感构图:低角度英雄视角 (low-angle hero shot)、非对称三分构图 (asymmetric rule of thirds)、前景+中景+远景三层景深
- 生动人物:员工"mid-stride walking"、"dynamic gestures"、"pointing at gauges"、"holding clipboard",禁止"static standing pose"
- 氛围光影:黄金时刻 (golden hour)、体积光 (volumetric light rays)、镜头眩光 (subtle lens flare)、大气雾霭 (atmospheric haze)、上升的蒸汽 (rising steam from pipes)
- 微动效暗示:motion blur on moving workers、steam wisps、subtle particles
- 风格融合:从纯"flat illustration"升级为"stylized editorial illustration with painterly textures, bold brushwork, semi-realistic depth"——保留插画风格但有质感层次
- 节日氛围关键词:必须把节日氛围词融入环境元素(如春节→red lanterns hanging on control room eaves;消防日→red fire-safety banners along pipeline rack;处暑→autumn leaves drifting, workers in fresh autumn coveralls)
ImageGen 提示词模板(请按当前节日替换场景与元素块):
A vertical cinematic poster illustration (portrait 4:5) of a chemical plant
with dynamic low-angle hero composition and rule-of-thirds asymmetry.
[SCENE_KEYWORDS with ACTIVE POSES]. Foreground: one worker in mid-stride
walking toward viewer wearing hard hat, safety goggles, autumn coveralls,
holding a clipboard and pointing at a pressure gauge. Midground: tall
distillation columns, white spherical storage tanks, complex silver pipeline
rack with valves and gauges, faint rising steam wisps from vents.
Background: silhouette of cooling towers, a flare stack with subtle flame
glow on the horizon, [FESTIVAL_ATMOSPHERE elements]. Lighting: golden hour
warm sunlight raking from the left, volumetric light rays through steam,
subtle lens flare, atmospheric haze creating depth, soft bokeh on far
background. Style: stylized editorial illustration with painterly textures,
bold brushwork, semi-realistic depth, high dynamic range coloring, rich
saturated [PRIMARY_COLOR] and warm gold palette with cool shadow accents.
Highly detailed, cinematic, propaganda-poster-meets-magazine-cover quality.
CRITICAL: NO text, NO letters, NO words, NO numbers, NO signage, NO labels,
NO Chinese characters, NO English text anywhere in the image. Leave a clean
empty negative-space area in the LOWER one-third (bottom 33%) with darker
gradient for text overlay — no objects, no people in that zone.将 [SCENE_KEYWORDS with ACTIVE POSES] 替换为 Step 1 选出的画面关键词,并强制写成动作姿态描述(如"firefighters in motion pulling hose, worker in mid-stride checking extinguisher" 而非"firefighters standing")。[FESTIVAL_ATMOSPHERE elements] 替换为节日氛围词(如"red lanterns strung between pipe supports, autumn leaves drifting"),[PRIMARY_COLOR] 替换为主色英文(red / orange / green / blue / gold 等)。
关键约束:
- 必须显式写 "NO text, NO letters, NO words, NO numbers, NO signage, NO labels, NO Chinese characters, NO English text"
- 必须显式留出 "clean empty negative-space area in the LOWER one-third"
- 必须有动感构图 (low-angle / asymmetric / dynamic poses)
- 必须有氛围光影 (golden hour / volumetric light / steam wisps)
- 必须包含 "chemical plant / distillation columns / storage tanks / workers in PPE"
- 调用 ImageGen 时必须设
revise: true(让 Hunyuan 润色以提升质量)
将生成的图保存到工作区临时路径(如 <workspace>/.workbuddy/bg_<timestamp>.png)。
Step 4 · 合成最终宣传画
调用 scripts/generate_poster.py:
python "<skill_dir>/scripts/generate_poster.py"
--bg "<background.png>"
--slogan "<slogan from Step 2>"
--festival "<festival_name>"
--date "<festival_date_text>"
--theme "<theme_color>"
[--subtitle "<部门名/单位名>"]
[--logo "<logo图片路径>"]
[--qrcode "<二维码图片路径>"]
[--qr-placeholder]
--out "<workspace>/safety_poster_<timestamp>.png"自适应布局规则(脚本已内置):
- 用户未提供
--subtitle→ 不画副标题(口号下移、留白更少) - 用户未提供
--logo→ 不画 logo 占位 - 用户未提供
--qrcode且未加--qr-placeholder→ 不画二维码占位 - 仅当用户明确想要"扫码关注"占位时,加
--qr-placeholder - 当 logo 存在时,副标题自动靠左以避开 logo
顶部节日标签 (左上角):透明背景文字,不做实心胶囊。
- 文字色按图片对应位置平均色自适应选择:以主题 primary 为基底色相,根据局部亮度(luminance >= 140 / < 140)反向调整为深色 / 浅色版本,保持与主题色协调同时确保高对比
- 加 9 方向多偏移软阴影,保证任何背景下都可读
- 前置主题 accent 色装饰小圆点(与画面整体配色呼应)
- 自适应示例:夜间月图 → 浅米色文字;白天蓝天 → 深色文字
可选参数:
--logo <path>:左下角企业 logo--qrcode <path>:右下角真实二维码(无则画占位方框 + "扫码关注")--no-qr-placeholder:完全去掉二维码区域--font <path>:指定中文字体;默认自动探测 Windows/macOS/Linux 系统字体
Step 5 · 输出与交付
- 把生成的海报绝对路径回显给用户
- 用
present_files工具展示给用户预览 - 询问用户是否需要:换口号 / 换配色 / 指定某个具体节日 / 加 logo / 加真二维码 / 调整副标题
资源清单
references/holidays-calendar.md
中国法定节假日、24 节气、重要国际主题日(含安全相关)的完整日历,按月份组织,附"节日 + 化工厂安全场景"的画面建议。skill 在 Step 1 必须读它。
references/safety-slogans.md
60+ 条化工厂安全生产口号,分 7 大类:通用 / 设备工艺 / 操作规程 / PPE / 应急救援 / 危化品 / 节日专属。Step 2 随机抽取。
scripts/generate_poster.py
基于 Pillow 的海报合成器。在 AI 生成的背景图上叠加:
- 顶部节日胶囊标签
- 底部渐变带(文字可读性)
- 大字号口号(带阴影 + 主色下划线)
- 副标题(带装饰圆点)
- 左下 logo + 右下二维码占位
支持 8 套主题色(red/orange/green/blue/gold/purple/teal/brown)。输出 1080×1350 PNG(适合朋友圈竖图)。
重要提示(执行时遵守)
- 两步法是硬性要求:先 ImageGen 出无字背景图,再用 Python 叠加文字。AI 不会写中文,直接让 ImageGen 写中文必然失败。
- 每次必须重新随机口号,同一天内多次调用也要不同(避免"撞车")。
- 节气 / 农历节日日期要当场推算,参考日历文件中"节气速查"和"农历节日公历换算提示"。用户没指定具体日期时,skill 自助从 ±7 天窗口匹配。
- Pillow 已默认安装在 WorkBuddy 托管 Python 环境中。若脚本提示缺 Pillow,执行:
C:Usershchen-hw.workbuddybinariespythonversions3.13.12python.exe -m pip install Pillow
- 中文字体自动探测:优先用 Windows 自带 msyh.ttc / msyhbd.ttc(雅黑),无需用户指定。
- ImageGen 不可用时 的降级:用占位 SVG / 渐变纯色作为背景图(脚本本身仍可正常工作),告知用户"AI 背景图暂不可用,已使用纯色背景"。
- 不要把
references/下的 markdown 内容塞进最终海报——那只是 skill 的内部参考资料。
输出样例(一次完整调用的产物)
假设今天是 11 月 7 日,匹配到 11 月 9 日全国消防日:
- 节日:全国消防日,11月9日
- 主题色:orange
- 场景关键词:消防演练、灭火器、119 横幅、员工穿防火服
- 随机口号(应急与救援类):"消防演练 一秒救命"
- 副标题(用户可选):"化工一车间 HSE 班组"
- 输出文件:
<workspace>/safety_poster_20261107_143022.png