Skill: fengxiaodong28/guanrentang-writer (version 1.4.0)

--- name: guanrentang-writer version: 1.4.0 description: 观仁堂中医公众号文章生成器。写文章 + 自动配图一体化。当用户说"写文章"、"帮我写一篇"、"公众号文章"时自动触发。支持随机选题和固定主题（古法熏蒸推广、放假通知），生成符合观仁堂风格的中医养生文章，并自动配图。 --- # 观仁堂中医公众号文章生成器 **一站式完成**：选题 → 写文章 → 配图 → 输出成品 ## 配置 | 配置项 | 默认值 | 说明 | |-------|--------|------| | `output_dir` | `{当前工作目录}/articles` | 文章输出目录 | | `api_key` | 见下方优先级 | 智谱 API Key | | `skill_dir` | `~/.claude/skills/guanrentang-writer` | Skill 安装目录 | ### 输出目录设置 **方式一：使用默认路径** - 不指定时，自动输出到 `{当前工作目录}/articles/` **方式二：用户指定路径** - 对话中说 "输出到 ~/Desktop/my-article" 或 "保存到 ./output" - AI 会使用用户指定的路径 ### API Key 配置优先级 1. 环境变量 `ZHIPU_API_KEY` 2. `{skill_dir}/.env` 文件中的 `ZHIPU_API_KEY` ### 首次使用配置 **步骤 1**：获取智谱 API Key - 访问 [智谱开放平台](https://open.bigmodel.cn/) 注册并获取 API Key **步骤 2**：选择配置方式（二选一） | 方式 | 命令 | 说明 | |-----|------|------| | **方式一：环境变量** | 在 `~/.zshrc` 或 `~/.bashrc` 中添加 `export ZHIPU_API_KEY=your_key` | 全局可用，适合多个项目 | | **方式二：.env 文件** | 在 skill 目录下创建 `.env` 文件，内容为 `ZHIPU_API_KEY=your_key` | 仅此 skill 使用，已加入 .gitignore | > **执行前检查**：如果未配置 API Key，应提示用户选择上述方式之一配置后再继续 ## 固定素材 公众号文章开头和结尾需要固定图片（存放在 `{skill_dir}/assets/` 目录）： | 文件名 | 用途 | 说明 | |-------|------|------| | `header-decorative.jpg` | 开头装饰图 | 文章开头装饰性图片 | | `gufa-xunzheng-cover.jpg` | 古法熏蒸封面 | 古法熏蒸推广文章专用封面图 | | `holiday-notice-cover.jpg` | 放假通知封面 | 放假通知文章专用封面图 | | `ending-thanks.jpg` | 感谢图 | "您点的每个赞，我都认真当成了喜欢" + 中国传统元素 | | `ending-divider.jpg` | 分隔装饰图 | 感谢图后的装饰性分隔图 | | `ending-follow.png` | 关注引导图 | "关注我们" 引导图 | | `ending-qrcode.jpg` | 二维码图 | "微信扫一扫 关注该公众号" + 公众号二维码 | > **首次使用**：需要将这些图片放入 `{skill_dir}/assets/` 目录 ## 公众号图片尺寸规范 | 位置 | 推荐尺寸 | 比例 | GLM-Image size | 备注 | |------|---------|------|----------------|------| | 正文配图 | 1080×810 px | 4:3 | `1472x1088` | AI 生成 | | 食疗图 | 1080×1080 px | 1:1 | `1280x1280` | AI 生成 | | 开头装饰图 | - | - | - | **固定素材** | | 结尾系列图 | - | - | - | **固定素材**（4张） | > **注意**：GLM-Image 尺寸需为 32 的整数倍，范围 512-2048 ## 使用方式 | 用户说 | 效果 | |-------|------| | "帮我写一篇文章" | 自动选题，输出到默认目录 | | "写个春季养生的" | 指定主题，输出到默认目录 | | "随机写一篇" | 随机选题，输出到默认目录 | | "古法熏蒸" / "写个熏蒸广告" | 固定主题：古法熏蒸推广文章 | | "放假通知" / "写个放假通知" | 固定主题：放假通知（仅正文图片，用户提供） | | "输出到 ~/Desktop" | 使用指定输出目录 | | "保存到 ./my-articles" | 使用相对路径 | | "只写文章" | 写文章但不配图（草稿模式） | --- ## 执行流程 ### Step 1: 选题 1. 用户说"古法熏蒸"/"熏蒸广告" → **固定主题：古法熏蒸推广** 2. 用户说"放假通知"/"假期通知" → **固定主题：放假通知** 3. 用户指定其他主题 → 使用指定主题 4. 用户未指定 → 根据当前月份/节气自动选择（参考 STYLE.md 主题库） 5. 用户说"随机" → 从主题库随机选 **生成文件名**：使用日期前缀 + 文章标题（中文） - 格式：`YYYY-MM-DD-文章标题.md` - 例：`2026-03-22-清明养生：养肝明目，踏青防过敏.md` - 例：`2026-03-19-回南天祛湿大作战.md` - 图片目录：`images/文章标题/`（不带日期前缀） ### Step 2: 创建输出目录 ```bash # 创建文章和图片目录 mkdir -p "${OUTPUT_DIR}/images/${ARTICLE_TITLE}/" # 复制固定素材到输出目录 cp -r "${SKILL_DIR}/assets" "${OUTPUT_DIR}/" ``` > **注意**：`SKILL_DIR` 默认为 `~/.claude/skills/guanrentang-writer` ### Step 3: 写文章 + 智能标记配图位置 按照 `STYLE.md` 中的风格撰写文章： - 字数：1000-1500 字 - 结构：开头 → 原理 → 分点实操 → 注意事项 → 结尾 - 必须包含：中医理论 + 食疗方 + 穴位/注意事项 - 固定结尾语："您点的每个赞，我都认真当成了喜欢" **智能配图规则**（根据文章内容自动判断）： | 配图位置 | 触发条件 | 处理方式 | |---------|---------|----------| | **开头装饰** | 必有 | **固定素材**：header-decorative.jpg | | **原理配图** | 有"中医认为"/理论段落 | AI 生成：根据理论内容（如"肝主疏泄"→肝脏示意） | | **实操配图** | 每个实操要点后 | AI 生成：根据要点内容（穴位→穴位图，食疗→食材图） | | **食疗特写** | 有具体食疗方 | AI 生成：食疗方名称 + 主要食材 | | **结尾图** | 必有 | **固定素材**：使用已复制的 `assets/` 目录图片 | **配图数量控制**： - 1000 字文章：3-4 张 AI 图 + 1 张开头 + 4 张结尾 = 8-9 张 - 1200 字文章：4-5 张 AI 图 + 1 张开头 + 4 张结尾 = 9-10 张 - 1500 字文章：5-6 张 AI 图 + 1 张开头 + 4 张结尾 = 10-11 张 **文章中标记图片位置**（使用 .jpg/.png 格式）： ```markdown ![开头装饰](./assets/header-decorative.jpg) ## 正文开头 ... ![配图：{图片内容描述}](./images/{文章标题}/content-1.jpg) ## 理论原理 ... ![配图：{图片内容描述}](./images/{文章标题}/content-2.jpg) ## 食疗方推荐 ... ![食疗：{食疗方名称}](./images/{文章标题}/recipe.jpg) 您点的每个赞，我都认真当成了喜欢 ![结尾：感谢](./assets/ending-thanks.jpg) ![结尾：分隔](./assets/ending-divider.jpg) ![结尾：关注](./assets/ending-follow.png) ![结尾：二维码](./assets/ending-qrcode.jpg) ``` > **重要**： > - 内容配图（配图、食疗）使用 AI 生成，alt 文本描述图片内容用于生成 Prompt > - 开头和结尾图使用固定素材，路径为 `./assets/`（相对于文章目录） > - 图片不需要 `<center>` 标签，在微信编辑器中手动居中即可 ### Step 4: 保存文章草稿 保存文章到 `${OUTPUT_DIR}/YYYY-MM-DD-{文章标题}.md` - 文件名格式：日期前缀 + 文章标题（中文） - 图片目录：`images/{文章标题}/`（不带日期前缀） ### Step 5: 自动生成配图 **执行时机**：文章写完并保存后，立即开始配图 **自动化流程**： 1. **解析文章**：提取所有 `![类型：描述](路径)` 格式的图片标记 2. **生成 Prompt**：根据图片类型和描述自动生成 Prompt 3. **调用 API**：依次生成每张图片 4. **下载保存**：下载到对应路径 5. **更新进度**：每完成一张报告进度 **Prompt 自动生成规则**： ``` 图片标记格式： - 开头装饰：![开头装饰](路径) → 跳过（固定素材） - 配图：![配图：描述](路径) → 使用内容模板 + 描述内容 - 食疗：![食疗：名称](路径) → 使用食疗模板 + 食疗方名称 - 结尾：![结尾：感谢/分隔/关注/二维码](路径) → 跳过（已复制固定素材） 类型识别： - 开头装饰 → 跳过（使用 ./assets/header-decorative.jpg） - 配图 → AI 生成 - 食疗 → AI 生成 - 结尾：感谢 → 跳过（使用 ./assets/ending-thanks.jpg） - 结尾：分隔 → 跳过（使用 ./assets/ending-divider.jpg） - 结尾：关注 → 跳过（使用 ./assets/ending-follow.png） - 结尾：二维码 → 跳过（使用 ./assets/ending-qrcode.jpg） ``` **API 配置**： | 配置项 | 值 | |-------|-----| | Endpoint | `https://open.bigmodel.cn/api/paas/v4/images/generations` | | Model | `glm-image` | | API Key | 优先级：环境变量 `ZHIPU_API_KEY` > `{skill_dir}/.env` | **Prompt 模板**： | 图片类型 | 尺寸 | Prompt 模板 | |---------|------|------------| | 配图 | `1472x1088` | `中医养生插画，{描述内容}，新中式水墨插画风格，中国传统色（黛青、朱砂、米白），淡雅晕染效果，留白构图，温暖治愈氛围，适合微信公众号配图` | | 食疗 | `1280x1280` | `中式养生美食摄影，{食疗方名称}，陶瓷或木质器皿盛放，点缀中药材装饰，清新淡雅，养生氛围，暖色调，高清细节` | **生成命令**（curl）： ```bash # 1. 调用 API 生成图片 RESPONSE=$(curl -s -X POST "https://open.bigmodel.cn/api/paas/v4/images/generations" \ -H "Authorization: Bearer $ZHIPU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "glm-image", "prompt": "中医养生插画，春季养肝疏肝示意图，新中式水墨插画风格，中国传统色（黛青、朱砂、米白），淡雅晕染效果，留白构图，温暖治愈氛围，适合微信公众号配图", "size": "1472x1088" }') # 2. 提取图片 URL IMAGE_URL=$(echo "$RESPONSE" | jq -r '.data[0].url') # 3. 下载图片到本地 curl -s -o "${OUTPUT_DIR}/images/${ARTICLE_TITLE}/content-1.jpg" "$IMAGE_URL" ``` **错误处理**： | 错误类型 | 处理方式 | |---------|---------| | API 429 限流 | 等待 5 秒后重试，最多 2 次 | | API 其他错误 | 记录错误，跳过此图，继续下一张 | | 下载失败 | 重试 1 次，仍失败则跳过 | **间隔要求**：每张图片之间间隔 2 秒，避免触发限流 **进度报告**： ``` 🎨 配图进度：1/5 开头装饰（固定素材）✓ 🎨 配图进度：2/5 肝脏示意 ✓ 🎨 配图进度：3/5 枸杞菊花茶 ✓ 🎨 配图进度：4/5 太冲穴 ✓ 🎨 配图进度：5/5 结尾图（固定素材）✓ ``` ### Step 6: 输出结果 ``` ✅ 文章已完成！ 📄 文章: ${OUTPUT_DIR}/{文章标题}.md 🖼️ 配图: X/Y 张成功 📁 图片: ${OUTPUT_DIR}/images/{文章标题}/ 📁 素材: ${OUTPUT_DIR}/assets/ 📊 统计: XXX 字，X 个标题 ``` --- ## 完整执行示例 ```bash # 1. 设置变量 SKILL_DIR="$HOME/.claude/skills/guanrentang-writer" OUTPUT_DIR="${OUTPUT_DIR:-./articles}" ARTICLE_TITLE="春季养肝全攻略" # 2. 读取 API Key（优先级：环境变量 > skill 目录 .env） if [ -z "$ZHIPU_API_KEY" ] && [ -f "$SKILL_DIR/.env" ]; then source "$SKILL_DIR/.env" fi # 3. 检查 API Key 是否配置 if [ -z "$ZHIPU_API_KEY" ]; then echo "❌ 未配置 ZHIPU_API_KEY" echo "请在 $SKILL_DIR/.env 中配置：" echo " ZHIPU_API_KEY=your_api_key_here" exit 1 fi # 4. 创建目录 mkdir -p "${OUTPUT_DIR}/images/${ARTICLE_TITLE}/" # 5. 复制固定素材到输出目录 cp -r "$SKILL_DIR/assets" "${OUTPUT_DIR}/" # 6. 生成第一张配图（示例：春季养肝示意图） curl -s -X POST "https://open.bigmodel.cn/api/paas/v4/images/generations" \ -H "Authorization: Bearer $ZHIPU_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"glm-image","prompt":"中医养生插画，春季养肝疏肝示意图，肝脏与人体气机运行，新中式水墨插画风格，中国传统色（黛青、朱砂、米白），淡雅晕染效果，留白构图，温暖治愈氛围","size":"1472x1088"}' \ | jq -r '.data[0].url' \ | xargs -I {} curl -s -o "${OUTPUT_DIR}/images/${ARTICLE_TITLE}/content-1.jpg" "{}" # 7. 等待 2 秒 sleep 2 # 8. 生成下一张图... ``` --- ## 注意事项 1. 每张图片生成约需 10-20 秒，整篇文章配图约需 1-2 分钟 2. 如果配图失败，仍然输出文章，但提示"配图部分失败" 3. 文件名和目录名可使用中文，但建议避免特殊字符 4. 图片不需要 `<center>` 标签，复制到微信编辑器后手动居中即可 --- ## 文件结构 ``` {skill_dir}/ ├── SKILL.md # 本文件（执行指南） ├── STYLE.md # 写作风格指南 + 主题库 ├── .env # API Key（不提交） ├── .gitignore └── assets/ # 固定素材目录 ├── header-decorative.jpg # 开头装饰图 ├── gufa-xunzheng-cover.jpg # 古法熏蒸专用封面 ├── holiday-notice-cover.jpg # 放假通知专用封面 ├── ending-thanks.jpg # 感谢图（普通文章用） ├── ending-divider.jpg # 分隔装饰图 ├── ending-follow.png # 关注引导图 └── ending-qrcode.jpg # 二维码图 {output_dir}/ ├── {文章标题}.md # 生成的文章 ├── images/ │ └── {文章标题}/ # 文章配图（AI 生成） │ ├── content-1.jpg │ ├── content-2.jpg │ └── ... └── assets/ # 复制的固定素材 ├── header-decorative.jpg ├── gufa-xunzheng-cover.jpg ├── holiday-notice-cover.jpg ├── ending-thanks.jpg ├── ending-divider.jpg ├── ending-follow.png └── ending-qrcode.jpg ``` --- ## 固定主题文章：古法熏蒸 当用户说"古法熏蒸"、"熏蒸广告"、"写个熏蒸推广"时，触发此固定主题。 ### 文章特点 | 项目 | 说明 | |------|------| | **用途** | 医馆古法熏蒸服务推广 | | **字数** | 700-900 字 | | **风格** | 简洁明了，突出好处，软性推广 | | **配图** | 2-3 张 AI 生成 + 固定封面图 + 结尾图 | ### 文章结构 ``` 1. 开头（痛点切入：春困/冬寒/夏湿等季节痛点） 2. 中医原理解释（简短，1-2段） 3. 熏蒸好处（3-4点，每点1-2句） 4. 注意事项（温度、时间、禁忌人群） 5. 总结 + 推广语 ``` > **注意**：古法熏蒸文章**不需要**"您点的每个赞，我都认真当成了喜欢"这句文案，结尾直接用推广语收尾即可。 ### 必须包含的内容 1. **季节性切入点**： - 春季：春困、湿重、阳气升发 - 夏季：湿热、空调病、排毒 - 秋季：秋燥、收敛、养肺 - 冬季：寒气、手脚冰凉、驱寒 2. **熏蒸好处**（选3-4点）： - 祛湿排寒 - 疏通气血 - 舒缓放松 - 改善睡眠 - 养护皮肤 3. **注意事项**： - 温度：40-45℃ - 时间：15-20分钟 - 频率：每周1-2次 - 禁忌人群：高血压、心脏病、孕妇、皮肤破损者 4. **固定推广语**（结尾必加）： ``` 本医馆现新开展古法熏蒸服务，欢迎光临体验！ ``` ### 配图规则 | 配图位置 | 处理方式 | |---------|----------| | 开头装饰 | **固定素材**：header-decorative.jpg | | 专用封面 | **固定素材**：gufa-xunzheng-cover.jpg | | 原理配图 | AI 生成：熏蒸场景/气血循环示意 | | 注意事项 | AI 生成：熏蒸后护理场景 | | 结尾图 | **固定素材**：4张（感谢图、分隔图、关注图、二维码） | ### 配图标记示例 ```markdown ![开头装饰](./assets/header-decorative.jpg) ## 正文... ![古法熏蒸封面](./assets/gufa-xunzheng-cover.jpg) ## 熏蒸原理 ... ![配图：熏蒸场景](./images/{文章标题}/content-1.jpg) ## 注意事项 ... ![配图：熏蒸后护理](./images/{文章标题}/content-2.jpg) 本医馆现新开展古法熏蒸服务，欢迎光临体验！ ![结尾：感谢](./assets/ending-thanks.jpg) ![结尾：分隔](./assets/ending-divider.jpg) ![结尾：关注](./assets/ending-follow.png) ![结尾：二维码](./assets/ending-qrcode.jpg) ``` ### 参考文章 - https://mp.weixin.qq.com/s/rVBzz5YQbY-yr4rt-vmCtQ（冬季版） - https://mp.weixin.qq.com/s/m0sYk6cnRsro0yWqWPSCbg（春季版） --- ## 固定主题文章：放假通知 当用户说"放假通知"、"写个放假通知"、"假期通知"时，触发此固定主题。 ### 文章特点 | 项目 | 说明 | |------|------| | **用途** | 医馆放假公告 | | **字数** | 无正文，仅一张图片 | | **风格** | 简洁通知 | | **封面图** | 固定素材：holiday-notice-cover.jpg | | **正文图片** | 用户提供（包含放假日期信息） | ### 执行流程 **Step 1: 询问标题** 询问用户文章标题，或根据节日自动生成： - 春节 → "春节放假通知" - 元旦 → "元旦放假通知" - 清明 → "清明节放假通知" - 劳动节 → "劳动节放假通知" - 端午 → "端午节放假通知" - 中秋 → "中秋节放假通知" - 国庆 → "国庆节放假通知" **Step 2: 询问正文图片** > 由于每次放假日期不同，正文图片需要用户提供。 询问用户： ``` 请提供放假通知的正文图片（包含放假日期信息） ``` **Step 3: 生成文章** 文章内容极简，仅包含： ```markdown # {节日名称}放假通知 ![放假通知](./images/holiday-notice.jpg) ``` ### 配图规则 | 配图位置 | 处理方式 | |---------|----------| | 封面图 | **固定素材**：holiday-notice-cover.jpg | | 正文图片 | **用户提供**：包含放假日期信息 | ### 文件结构 ``` {output_dir}/ ├── YYYY-MM-DD-{节日名称}放假通知.md └── images/ └── holiday-notice.jpg # 用户提供的正文图片 ``` ### 注意事项 - **不需要**开头装饰图 - **不需要**AI 生成配图 - **不需要**结尾系列图（感谢图、分隔图、关注图、二维码） - 封面图使用固定素材，正文图片由用户提供 ### 参考文章 - https://mp.weixin.qq.com/s/2PyLUYX0iQUvjoJvvrKIuQ（春节版） --- ## 更新日志 ### v1.4.0 (2026-03-29) - 新增固定主题文章功能：放假通知 - 放假通知封面图使用固定素材，正文图片由用户提供 - 支持多种节日标题（春节、元旦、清明、劳动节、端午、中秋、国庆） ### v1.3.0 (2026-03-29) - 新增固定主题文章功能：古法熏蒸推广 - 添加古法熏蒸专用封面图 gufa-xunzheng-cover.jpg - 更新使用方式，支持"古法熏蒸"触发词 - 添加固定主题文章写作规范 ### v1.2.1 (2026-03-29) - 修复文档中的过时示例：移除封面图生成相关代码 - 更新 curl 示例为配图生成（非封面） - 更新进度报告示例（开头装饰替代封面） - 修复注意事项：移除封面相关提示 - 统一文件名格式说明（日期前缀 + 标题） ### v1.2.0 (2026-03-29) - 新增开头装饰图 `header-decorative.jpg` - 结尾图扩展为 4 张：感谢图、分隔图、关注图、二维码图 - 重命名素材文件，命名更清晰（thanks/divider/follow） - 更新配图数量控制（固定素材从 2 张增至 5 张） - 移除封面图生成（开头使用固定素材） - **优化 AI 配图风格**：新中式水墨插画风格，使用中国传统色（黛青、朱砂、米白） - **移除 `<center>` 标签**：图片在微信编辑器中手动居中即可 ### v1.1.0 (2026-03-22) - 修复 Step 编号错误 - 统一图片路径逻辑 - 添加 `skill_dir` 变量，解决路径占位符问题 - 添加草稿模式（"只写文章"不配图） - 优化文件结构说明 - 文件名添加日期前缀：`YYYY-MM-DD-文章标题.md` ### v1.0.0 - 初始版本


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)