
Story Cover
Generates web novel covers with title and author text baked directly into the image using GPT-Image-2. Feed it a book title, author name, and target platform (like 番茄小说, 起点, or 晋江), and it analyzes the genre to build a comprehensive English prompt covering font styling, platform-specific visual treatments, and scene composition. The real work is in the prompt engineering: it maps genres to specific typography (golden brush calligraphy for xianxia, neon futuristic for sci-fi) and platform aesthetics (vibrant saturated for 番茄, dreamy pastels for 晋江). Saves you from hiring a cover designer for every draft, though you'll probably iterate a few times to get the text rendering right.
- skills.sh installs
- 11.5K
- GitHub stars
- 5.1K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add worldwonderer/oh-story-claudecode --skill story-cover --agent claude-codeInstalls into .claude/skills of the current project.
Files
story-cover:小说封面生成
根据书名和题材生成包含书名、笔名的完整封面,让读者一眼看出题材和氛围。
仅提示词模式:用户只要提示词,或 story-publish 选了仅提示词时,只做 Step 1-3,交付完整提示词,不需要生图工具、API Key 或输出目录;要封面图才继续 Step 4-6。由 story-publish 调用时,它传来的已确认书名、简介、笔名、平台和题材不再重问;结束时返回完整提示词原文,生图成功再附图片路径和质量检查结果,失败就说明原因。
生成通路
- 内置生图(优先):当前会话可调 Codex
$imagegen/image_gen或 Antigravitygenerate_image/image-generator时,直接调用生成并保存,无需OPENAI_API_KEY或GPT_IMAGE_API_KEY,不跑curl。 - API 回退:仅在无内置工具或用户指定 API 时使用,需
GPT_IMAGE_API_KEY;变量和命令见 references/api-fallback.md,走该通路再读。工具缺失不等于订阅不支持生图;内置失败先报错,不静默切到收费 API。
生成流程
Step 1:收集信息
先找当前书:项目根 .active-book 指向项目内现有目录时就是当前书;否则从项目根往下最多 4 层找(跳过 . 开头的目录、node_modules、拆文库/、对标/),含 追踪/、正文/、设定/ 子目录,或含 正文.md,或同时含 设定.md 与 小节大纲.md 的是书目录,找到多本时请作者选择。有 正文/ 或 设定/ 子目录的是长篇,其余为短篇。找到后读:
- 长篇:
设定/题材定位.md「基本信息」的书名、题材类型、目标平台、核心梗; - 短篇:
设定.md「基本信息」的标题、目标平台、目标情绪,以及「一句话梗概」「这篇用的套路」(旧书叫「题材招式」)。
已有或调用方传入的已确认字段不再问;笔名没有明确提供时才问。没有书目录或缺项时,用宿主可用的提问方式一次问齐缺少的书名、笔名、目标平台。
书名和笔名是封面必需信息:缺任一时先请作者补全,不得编造或留空。
选填:参考图 REF_IMAGE(本地路径或 URL)、风格偏好;参考图的用法见 Step 4。
保存位置:有书目录时存到 {书目录}/封面/,不用问;没有书目录时用 ./covers/{书名}/封面/。下文 BOOK_DIR 指 封面/ 的上一层。
Sponsors
Details
- Repository
- github.com/worldwonderer/oh-story-claudecode
- First seen
- May 16, 2026