story-cover

story-cover is a skill for Codex from zenstory-ai/oh-story-dsh. It costs 93 tokens per session (2,880 once invoked), scanned A, a copy of story-cover, MIT.

A tool for creating novel covers from a book title, author name, genre, and style. It generates a cover image with the title and author credit included.

In plain words
What is it for?
Use it to create a new novel cover, optionally based on a reference image, and save the result to a chosen folder.
Why use it?
It removes the need to design a cover manually or assemble the text and artwork separately. It can also prepare an upload-sized version for a target publishing platform.

Skill for Codex

Written for Codex: reads $CODEX_HOME. Also seen: mentions Codex; built for openclaw.

Good fit Use it to create a new novel cover, optionally based on a reference image, and save the result to a chosen folder.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zenstory-ai/oh-story-dsh/story-cover
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zenstory-ai/oh-story-dsh --skill story-cover
Clone the repo
git clone --depth 1 https://github.com/zenstory-ai/oh-story-dsh

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for story-cover

README.md
[![agentmods](https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-cover/github.svg)](https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-cover)
Your own site
<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-cover"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-cover/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for story-cover

Your own site · 80×15
<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/story-cover"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/story-cover.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,880 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.02880
Opus 5.5 $0.00037 $0.01152
Sonnet 5.5 $0.00019 $0.00576
Haiku 4.5 $0.00009 $0.00288

Measured 8d ago against content hash 78bb12754981, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

story-cover scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

metadata: {"openclaw":{"requires":{"env":["GPT_IMAGE_API_KEY"],"bins":["curl","jq","base64"]},"primaryEnv":"GPT_IMAGE_API_KEY","source":"https://github.com/zenstory-ai/oh-story-claudecode"}}
Origin

This is a copy

100% identical to story-cover — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

packages/knowledge/oh-story/skills/story-cover/SKILL.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

story-cover:小说封面生成

根据书名和题材生成包含书名、笔名的完整封面,让读者一眼看出题材和氛围。


生成通路

  • Codex 内置(优先):当前 Codex CLI 会话可调用 $imagegen / image_gen 时,直接调用工具生成并保存,无需 OPENAI_API_KEY 或 GPT_IMAGE_API_KEY,不运行 curl。
  • API 回退:仅在会话没有内置工具或用户明确指定 API 时使用,需要 GPT_IMAGE_API_KEY;环境变量和命令在 references/api-fallback.md,走这条通路时再读。工具缺失不等于 Codex 订阅不支持生图;内置调用失败时先报告错误,不静默切换到可能收费的 API。

生成流程

Step 1:收集信息

先找当前书:项目根 .active-book 指向项目内现有目录时就是当前书;否则从项目根往下最多 4 层找(跳过 . 开头的目录、node_modules、拆文库/、对标/),含 追踪/、正文/、设定/ 子目录或 正文.md、设定.md 文件的是书目录,找到多本时请作者选择。有 正文/ 或 设定/ 子目录的是长篇,有 正文.md 或 设定.md 的是短篇。找到后读:

  • 长篇:设定/题材定位.md「基本信息」的书名、题材类型、目标平台、核心梗;
  • 短篇:设定.md「基本信息」的标题、目标平台、目标情绪,以及「一句话梗概」「题材招式」。

已有字段不再问;笔名不在这些文件里,每次都要问。没有书目录或缺项时,用宿主可用的提问方式一次问齐:书名、笔名、目标平台。

书名和笔名是封面必需信息:缺任一时先请作者补全,不得编造或留空。

选填:参考图 REF_IMAGE(本地路径或 URL)、风格偏好;参考图的用法见 Step 4。

保存位置:有书目录时存到 {书目录}/封面/,不用问;没有书目录时用 ./covers/{书名}/封面/。下文 BOOK_DIR 指 封面/ 的上一层。

按目标平台定比例和上传尺寸:番茄上传 600×800,比例 3:4,出图比例不符时平台再次裁剪可能切掉书名或笔名;其他平台按竖版 2:3 交付,作者给出平台上传像素时按该尺寸导出。各平台的画风关键词见 references/cover-styles.md「平台风格」。

Step 2:题材判定

在 references/cover-styles.md 的「风格库」里选一个题材:

  1. 有「题材类型」(长篇)或梗概、题材招式(短篇)时,按内容选风格库中最接近的一节。
  2. 没有,或对不上风格库任何一节(如年代、种田、无限流、电竞)时,用书名(必要时简介)对照「题材推断规则」:只命中一个题材就用它;命中多个按该表下方的优先级取一;都没命中先用「都市」。
  3. 第 2 条推断出的题材,在 Step 4 给作者看方案时一并说出来,作者可以改。

Step 3:构建提示词

提示词 = 文字层 + 风格层 + 画面层。设计指令用英文,书名和笔名保留作者提供的原文。所选题材的字体、标签、色彩、人物、背景、光效都在「风格库」同一节里查。

文字层:GPT-Image-2 可直接渲染中文。书名在上方居中,用该题材的书名字体;笔名在下方居中,用该题材的笔名字体。笔名要和书名风格呼应、清晰可读而不抢焦点:

  • 大小用 small;位置 at bottom center,与画面底部留出间距;
  • 必须带一种装饰:线条、边框、小图标或光效;
  • 颜色与背景形成对比但不刺眼。

风格层:目标平台在「平台风格」表里有对应时,取它的关键词串;没有对应(如黑岩、红果、小程序)时省掉这一层,只靠题材风格。

画面层:题材的风格标签、人物、背景、色彩、光效,加上一种构图(见「构图变体」)。

完整提示词模板(唯一一份,示例和改版都按它拼):

Chinese web novel cover design, [平台风格].
Title text '{书名}' at top center in [书名字体].
Author name '{笔名}' at bottom center in [笔名字体].
[题材风格标签]. [构图关键词]. [人物描述]. [背景描述].
[色彩指令]. [光效指令].
Professional book cover, high detail digital painting, portrait [平台比例:番茄=3:4,默认=2:3] ratio, keep title and author name inside the central safe area away from edges (inner ~85%), no watermark

Read the full file on GitHub · 149 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed · -179 lines 78bb12754981
  2. 12d ago Changed · -9 lines 8c7e205b9b02
  3. 1mo ago Changed · +9 lines 9b1feb85506a
  4. 1mo ago First seen · 328 lines · 93 tokens per session scan A 2b3ecdd28867

Subscribe to this mod's changes

story-cover is a skill published in the GitHub repository zenstory-ai/oh-story-dsh (629 stars, last pushed today), licensed MIT. It adds 93 tokens to every session and 2,880 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to story-cover, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

story-cover

An image-generation workflow for creating novel covers with the book title and author name included. It determines a likely genre and style from the book information, then uses GPT-Image-2 to create the cover.

uu201/character-arc · 77 tokens

figma-generate-design

Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma. Triggers: 'write to Figma', 'create in Figma from code', 'push page to Figma', 'take this app/page and build it in Figma', 'create a screen', 'build a landing page in Figma', 'update the…

Devin-AXIS/iPolloWork · 192 tokens

figma-use

MANDATORY prerequisite — you MUST invoke this skill BEFORE every usefigma tool call. NEVER call usefigma directly without loading this skill first. Skipping it causes common, hard-to-debug failures. Trigger whenever the user wants to perform a write action or a unique read action that requires JavaScript execution in…

Devin-AXIS/iPolloWork · 114 tokens

figma-code-connect

Creates and maintains Figma Code Connect template files that map Figma components to code snippets. Use when the user mentions Code Connect, Figma component mapping, design-to-code translation, or asks to create/update .figma.ts or .figma.js files.

Devin-AXIS/iPolloWork · 57 tokens

figma-generate-library

Build or update a professional-grade design system in Figma from a codebase. Use when the user wants to create variables/tokens, build component libraries, create individual components with proper variant sets and variable bindings, set up theming (light/dark modes), document foundations, or reconcile gaps between…

Devin-AXIS/iPolloWork · 146 tokens

figma-implement-motion

Translates Figma motion and animations into production-ready application code. Use when implementing animation/motion from a Figma design — user mentions "implement this motion", "add animation from Figma", "animate this component", provides a Figma URL whose node is animated, or when getdesigncontext returns motion…

Devin-AXIS/iPolloWork · 81 tokens