story-cover

story-cover is a skill for Codex from zenstory-ai/oh-story-dsh. It costs 93 tokens per session (4,917 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 or $CODEX_HOME. Also seen: names the AskUserQuestion tool; 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 4,917 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.04917
Opus 5 $0.00046 $0.02459
Sonnet 5 $0.00019 $0.00983
Haiku 4.5 $0.00009 $0.00492

Measured 12d ago against content hash 2b3ecdd28867, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, 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 12d 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 · 328 lines

How it starts

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

story-cover:小说封面生成

你是小说封面设计师。根据书名和题材,调用 GPT-Image-2 一次性生成包含书名和作者名的完整封面。

核心原则:封面是读者的第一印象,一眼传达题材和氛围。


生成通路

  • Codex 内置(优先):当前 Codex CLI 会话可调用 $imagegen / image_gen 时,直接生成并落盘;计入 Codex 通用用量,无需 OPENAI_API_KEYGPT_IMAGE_API_KEY,也不运行 curlstory-cover 自行调用工具,不让用户另开命令。
  • API 回退:仅在会话没有内置工具或用户明确指定 API 时使用,需要 GPT_IMAGE_API_KEY。工具缺失不等于 Codex 订阅不支持生图;内置调用失败时先报告错误,不静默切换到可能收费的 API。

输出参数与 API 回退环境变量

变量 必填 默认 说明
GPT_IMAGE_API_KEY API 回退必填 OpenAI 或兼容代理的 API Key;Codex 内置通路不用
GPT_IMAGE_BASE_URL https://api.openai.com/v1 兼容代理时改这个
GPT_IMAGE_MODEL gpt-image-2 仅在测试新模型时覆盖
GPT_IMAGE_SIZE 1024x1536 API 回退的目标比例提示(番茄 3:4→768x1024,默认 2:3→1024x1536)。官方 gpt-image-2 认任意 16 倍数尺寸(比例≤3:1),但很多中转代理会忽略 size、按预设返回约 2:3(已实测)——平台尺寸不靠它,由「导出平台上传尺寸」步骤兜底
UPLOAD_SIZE 平台固定上传像素(番茄 600x800);设置后由「导出平台上传尺寸」步骤居中裁剪+缩放出上传版(不变形、不依赖出图尺寸)
BOOK_DIR 输出目录,建议 ./covers/<书名>
REF_IMAGE 参考图本地路径或 URL;内置通路先把图片载入会话,API 回退走 images/edits 图生图

生成流程

Step 1:收集信息

必填:书名、作者名(笔名)、目标平台、输出目录 BOOK_DIR(建议 ./covers/<书名>;API 回退用环境变量,内置通路直接使用当前任务值) 选填:参考图 REF_IMAGE(本地路径或 URL,设置后切换到图生图)、风格偏好、尺寸

书名和笔名是封面必需信息:缺任一必须先用 AskUserQuestion 问用户补全,不得编造或留空。

按目标平台定封面尺寸:番茄上传 600×800 是 3:4(不是 2:3),出图比例不对、平台二次裁剪就会切掉书名/笔名。

平台 上传尺寸 比例 生成 GPT_IMAGE_SIZE(尽量)
番茄小说 600×800 3:4 768x1024
其他平台(默认竖版) 按平台规格 2:3 1024x1536

内置通路把目标比例写进提示词;API 回退再 export GPT_IMAGE_SIZE(很多代理会忽略、返回约 2:3)。平台有固定上传像素时设置 UPLOAD_SIZE(番茄 600x800)。平台尺寸最终由「导出平台上传尺寸」步骤居中裁剪+缩放保证,不依赖实际出图尺寸。 平台与题材风格见 references/cover-styles.md

Step 2:题材判定

扫描书名(必要时简介)中的关键词,对照 references/cover-styles.md 的「题材推断规则」表选定题材。

  • 单题材命中 → 直接采用
  • 多题材命中 → 按优先级取一:仙侠 > 西幻 > 古言 > 现言 > 都市 > 悬疑 > 科幻 > 历史 > 灵异 > 轻小说
  • 零命中 → 默认 都市

Step 3:构建提示词

提示词 = 文字层 + 风格层 + 画面层,全部用英文编写。

Read the full file on GitHub · 328 lines

Files

What ships with it

1 file 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. 12d 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 (338 stars, last pushed yesterday), licensed MIT. It adds 93 tokens to every session and 4,917 once invoked, about $0.0005 per session on Opus 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

dsh-web-skin-developer

Build a new skin for the dsh-web skin collection (DSH Web GUI) and publish it into the Skin Center — the first-level settings section — scaffold with scripts/dsh-skin-new, author the v2 skin.json manifest plus skin.css token remap (pure asset directory, no package.json, no build step), validate with scripts/dsh-skin…

zhu1090093659/dsh-web · 120 tokens

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