一键导入
pw-image-generation
AI 图像生成和处理工作流。通过提示词生成图像,支持文生图、图生图、批量生成、图床管理、长图合并、PPT 打包。核心特性是逐张确认生成,避免浪费 API 额度。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
AI 图像生成和处理工作流。通过提示词生成图像,支持文生图、图生图、批量生成、图床管理、长图合并、PPT 打包。核心特性是逐张确认生成,避免浪费 API 额度。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
嵌入式 C 代码风格助手, 基于 51 单片机教学项目的代码规范。默认使用蛇形命名 (snake_case), 可选驼峰命名。用于创建符合嵌入式开发规范的项目结构, 优化代码风格, 提供硬件驱动模板。适用于 51 单片机、STM32 等嵌入式 C 项目开发。
为文章内容生成精美封面图的专用工具。 核心功能: - 分析文章内容并自动选择最适合的视觉风格 - 生成手绘风格的高质量封面图片 - 支持 19 种预设风格 (elegant, blueprint, bold-editorial 等) - 支持多种宽高比 (2.35:1 电影感, 16:9 宽屏, 1:1 方形) - 自动提取核心主题并生成标题文字 使用时机: - 用户明确要求 "生成封面图"、"创建文章封面"、"制作封面" - 用户提供文章内容并需要配图 - 用户需要为博客、公众号、社交媒体制作封面 不适用场景: - 用户只是询问如何制作封面 (提供建议即可) - 用户需要编辑现有图片 (使用图片编辑工具) - 用户需要生成非封面类型的图片 (使用通用图片生成工具)
通过逆向工程的 Gemini Web API 进行文本和图像生成。 核心能力: - 文本生成: 使用 Gemini 模型生成文本响应 - 图像生成: 从文本提示生成图像并保存到本地 - 视觉输入: 支持参考图像进行图生图或图生文 - 多轮对话: 通过 sessionId 保持上下文连续性 使用时机: - 需要生成高质量 AI 图像时 (封面图、配图、插画等) - 需要 Gemini 模型进行文本生成时 - 需要基于参考图像生成变体或描述时 - 作为其他技能 (pw-cover-image、pw-redbook-image) 的图像生成后端 不适用场景: - 需要官方 API 支持和稳定性保证的生产环境 - 对 API 变更敏感的关键业务流程 - 需要批量高频调用的场景 (可能触发限流) 重要提醒: - 首次使用需要用户同意免责声明 - 需要 Google 账号认证 (自动打开浏览器登录) - 在中国大陆需要配置代理访问 - 这是非官方 API, 可能随时失效
发布内容到微信公众号的自动化工具。 核心功能: - 图文发表: 多图配文模式, 支持最多 9 张图片 - 文章发表: 完整 Markdown 格式化, 保留样式和排版 - 自动化流程: 使用 Chrome CDP 自动登录、填充、发布 - 智能压缩: 标题和内容超限时自动压缩 - 主题支持: 文章发表支持 default、grace、simple 三种主题 使用时机: - 用户明确要求 "发布到微信公众号"、"发送到公众号" - 用户提供 markdown 文件或内容需要发布 - 用户需要批量发布图文内容 不适用场景: - 用户只是询问如何发布 (提供建议即可) - 用户需要编辑现有公众号文章 (手动操作) - 用户需要发布到其他平台 (使用对应平台工具)
将文章内容拆解为小红书风格的系列配图。支持从 URL、文件或文本生成封面图、内容图和结尾图,自动创建提示词并调用图片生成工具。
基于 PPT 模板生成新内容。PDF 自动转图片 → 分析模板风格 → 拆分文章内容 → 生成提示词 → AI 生图 → 打包 PPTX。
| name | pw-image-generation |
| description | AI 图像生成和处理工作流。通过提示词生成图像,支持文生图、图生图、批量生成、图床管理、长图合并、PPT 打包。核心特性是逐张确认生成,避免浪费 API 额度。 |
核心理念: 分析风格 → 设计提示词 → 用户确认 → 生成图像,避免额度浪费
图像生成:
图像处理:
适用场景:
不适用场景:
分析风格 → 设计提示词 → 安装依赖 → 配置API → 确认生成 → 保存图像
↓ ↓ ↓ ↓ ↓ ↓
风格文件 提示词文件 node-fetch secrets.md 逐张确认 images/
所有脚本位于 ~/.claude/skills/pw-image-generation/scripts/ 目录中。
Agent 执行说明:
SKILL_DIR${SKILL_DIR}/scripts/<script-name>.ts${SKILL_DIR} 替换为实际路径可用脚本:
| 脚本 | 功能 | 参数 |
|---|---|---|
generate-image.ts | 生成图像 (逐张确认) | [输出目录] |
upload-image.ts | 上传图片到图床 | <图片路径> |
delete-image.ts | 管理图床图片 | list|delete <索引>|delete-all |
merge-to-long-image.ts | 合并为长图 | <图片目录> <输出文件> |
merge-to-pptx.ts | 打包为 PPT | <图片目录> <输出文件> |
analyze-image.ts | 分析图像风格 | <图像URL或路径> |
mkdir my-image-project && cd my-image-project
cp -r ~/.claude/skills/pw-image-generation/config.example ./config
cp ~/.claude/skills/pw-image-generation/references/.gitignore.template ./.gitignore
# 编辑 config/secrets.md 自定义 API 密钥(可选)
mkdir -p prompts
cp ~/.claude/skills/pw-image-generation/references/prompt-templates/提示词模板.md ./prompts/我的提示词.md
vim ./prompts/我的提示词.md
参考 references/style-library.md 选择合适的风格。
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
脚本会逐张询问确认,避免浪费额度。
命令:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts [输出目录]
参数说明:
[输出目录]: 可选,指定图像保存目录,默认为 ./images工作流程:
prompts/ 目录下的所有提示词文件确认选项:
y (yes): 生成当前图像n (no): 跳过当前图像,继续下一张q (quit): 退出生成流程示例:
# 使用默认输出目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 指定输出目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts ./my-images
命令:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts <图片路径>
参数说明:
<图片路径>: 必需,要上传的本地图片文件路径功能特性:
.upload-history.json示例:
# 上传单张图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/参考图.png
# 上传后会返回:
# - 图片 URL (用于提示词中的 image_url)
# - 删除链接 (保存在历史记录中)
输出示例:
上传成功!
图片 URL: https://iili.io/xxx.png
删除链接已保存到 .upload-history.json
命令:
# 列出所有上传的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# 删除指定索引的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete <索引>
# 删除所有图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
参数说明:
list: 列出所有上传记录delete <索引>: 删除指定索引的图片 (索引从 0 开始)delete-all: 删除所有图片功能特性:
示例:
# 查看上传历史
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# 输出:
# 0: 参考图.png - https://iili.io/xxx.png (2024-01-15)
# 1: 配图1.png - https://iili.io/yyy.png (2024-01-16)
# 删除索引为 0 的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete 0
# 删除所有图片 (会要求确认)
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
详细说明见 references/图床上传.md
命令:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts <图片目录> <输出文件>
参数说明:
<图片目录>: 必需,包含要合并的图片的目录<输出文件>: 必需,输出的长图文件名功能特性:
依赖要求: 需要安装 ImageMagick:
brew install imagemagick
示例:
# 合并 images 目录下的所有图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./images 长图.png
# 指定其他目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./my-images 合集.jpg
使用场景:
命令:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts <图片目录> <输出文件>
参数说明:
<图片目录>: 必需,包含要打包的图片的目录<输出文件>: 必需,输出的 PPT 文件名功能特性:
示例:
# 打包 images 目录下的图片为 PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images 配图.pptx
# 指定其他目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./my-images 展示.pptx
使用场景:
命令:
# 从 URL 分析
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <图像URL>
# 从本地文件分析
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <本地路径>
参数说明:
<图像URL或路径>: 必需,要分析的图像 URL 或本地文件路径功能特性:
analysis/ 目录示例:
# 分析在线图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts https://example.com/image.jpg
# 分析本地图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts ./template/参考图.png
使用场景:
my-image-project/
├── config/
│ └── secrets.md # API 配置(可选)
├── template/ # PDF 模板图片
├── prompts/ # 提示词文件
├── analysis/ # 风格分析(可选)
├── images/ # 生成的图像
└── .gitignore
pw-image-generation/
├── SKILL.md # 本文件(核心文档)
├── config.example/ # 配置模板
│ ├── README.md # 配置说明
│ └── secrets.md # API 配置模板
├── references/ # 参考文档
│ ├── .gitignore.template # Git 忽略文件模板
│ ├── 图床上传.md # 图床上传指南
│ ├── style-library.md # 风格库(9种预设风格)
│ └── prompt-templates/
│ └── 提示词模板.md # 提示词模板
└── scripts/
├── analyze-image.ts # 分析图像风格
├── generate-image.ts # 生成图像(支持确认和跳过)
├── upload-image.ts # 上传图片到图床
├── delete-image.ts # 管理和删除图床图片
├── merge-to-long-image.ts # 合并长图
└── merge-to-pptx.ts # 打包为 PPT
问题: 图像生成失败或返回错误
可能原因:
解决方案:
# 检查配置文件
cat config/secrets.md
# 验证提示词格式
cat prompts/提示词.md
# 测试网络连接
curl -I https://api.openai.com
# 查看详细错误信息 (脚本会自动显示)
问题: 上传图片到图床失败
可能原因:
解决方案:
# 检查文件是否存在
ls -lh ./template/图片.png
# 检查文件大小
du -h ./template/图片.png
# 如果文件过大,压缩图片
# 使用 ImageMagick 压缩
convert ./template/图片.png -quality 85 -resize 2000x2000\> ./template/图片_compressed.png
问题: 合并长图时报错 "ImageMagick not found"
可能原因:
解决方案:
# macOS 安装
brew install imagemagick
# 验证安装
convert --version
# 如果仍然失败,检查 PATH
which convert
问题: 生成 PPT 时报错或 PPT 无法打开
可能原因:
解决方案:
# 检查图片目录
ls -la ./images
# 检查图片格式 (支持 jpg/png/gif/webp)
file ./images/*.png
# 确保输出目录存在
mkdir -p ./output
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images ./output/配图.pptx
问题: 生成的图像与提示词描述不符
可能原因:
解决方案:
# 不好的提示词
一张图片
# 好的提示词
水彩风格,温馨的咖啡馆场景,柔和的光线,暖色调,手绘质感
# 使用风格库
参考 references/style-library.md 选择合适的风格描述
问题: 批量生成过程中意外中断
可能原因:
解决方案:
n 选项跳过不需要的图像问题: 配置文件不生效或找不到
可能原因:
解决方案:
# 复制配置模板
cp -r ~/.claude/skills/pw-image-generation/config.example ./config
# 检查配置文件
cat config/secrets.md
# 配置文件格式示例
# API_BASE_URL=https://api.openai.com/v1
# API_KEY=sk-xxx
根据不同使用场景选择合适的图像尺寸:
| 场景 | 比例 | 推荐像素 | 说明 |
|---|---|---|---|
| 文章配图 | 16:9 | 1920×1080 | 高清标准, 适配大屏阅读 |
| 公众号封面 | 2.35:1 | 900×383 | 微信官方推荐尺寸 |
| 小红书封面/配图 | 3:4 | 1242×1660 | 小红书推荐, 适配 iPhone 屏幕 |
| X 文章封面 | 5:2 | 1500×600 | X Articles 官方推荐 |
| 论文配图 | 16:9 | 1920×1080 | 高清标准 |
补充说明:
使用建议:
size: 1920x1080 或 aspect_ratio: 16:9基本原则:
推荐结构:
[风格] + [主体] + [场景] + [氛围] + [技术细节]
示例:
水彩风格,一只可爱的小猫,坐在窗台上,温暖的午后阳光,柔和的色彩,手绘质感
参考资源:
references/style-library.md: 9 种预设风格references/prompt-templates/提示词模板.md: 提示词模板推荐步骤:
避免浪费:
n 选项跳过不需要的图像q 选项及时退出上传参考图:
# 1. 上传参考图到图床
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/参考图.png
# 2. 复制返回的 URL
# 3. 在提示词中使用
# image_url: https://iili.io/xxx.png
# prompt: 类似风格的场景,保持色调和构图
注意事项:
目录结构建议:
my-image-project/
├── config/ # 配置文件 (不提交到 git)
├── template/ # 参考图片
├── prompts/ # 提示词文件
│ ├── 01-封面.md
│ ├── 02-内容1.md
│ └── 03-内容2.md
├── images/ # 生成的图像
│ ├── 01-封面.png
│ ├── 02-内容1.png
│ └── 03-内容2.png
└── output/ # 最终输出 (长图/PPT)
命名规范:
提高生成速度:
节省 API 额度:
检查清单:
常见问题:
config/secrets.md 是可选的脚本使用 Bun 运行,无需本地安装依赖:
# 直接运行,Bun 会自动处理依赖
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
系统要求:
查看 config.example/secrets.md 了解配置选项:
可配置项:
API_BASE_URL: API 基础 URL (默认: OpenAI API)ANALYSIS_MODEL_ID: 图像分析模型 (默认: gpt-4-vision-preview)GENERATION_MODEL_ID: 图像生成模型 (默认: dall-e-3)API_KEY: API 密钥 (必需)配置示例:
# config/secrets.md
API_BASE_URL=https://api.openai.com/v1
ANALYSIS_MODEL_ID=gpt-4-vision-preview
GENERATION_MODEL_ID=dall-e-3
API_KEY=sk-your-api-key-here
Skill 提供 9 种预设风格,保证图像风格一致性:
查看 references/style-library.md 了解每种风格的详细说明和使用场景。
当用户请求生成图像时:
场景 1: 文章配图
# 1. 创建项目
mkdir article-images && cd article-images
# 2. 准备提示词
mkdir prompts
# 创建 prompts/01-封面.md, 02-配图1.md 等
# 3. 生成图像
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 4. 合并长图 (可选)
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./images 长图.png
场景 2: PPT 配图
# 1. 创建项目
mkdir ppt-images && cd ppt-images
# 2. 准备提示词 (按页面顺序命名)
mkdir prompts
# 创建 prompts/01-标题页.md, 02-内容1.md 等
# 3. 生成图像
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 4. 打包为 PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images 配图.pptx
场景 3: 图生图
# 1. 上传参考图
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/参考图.png
# 2. 在提示词中使用返回的 URL
# prompts/01-类似风格.md:
# image_url: https://iili.io/xxx.png
# prompt: 类似风格的场景,保持色调和构图
# 3. 生成图像
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 生成图像
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts [输出目录]
# 上传图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts <图片路径>
# 管理图床
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete <索引>
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
# 合并长图
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts <图片目录> <输出文件>
# 打包 PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts <图片目录> <输出文件>
# 分析图像
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <图像URL或路径>