mufeng-bilingual-storybook
Create visually reviewed Chinese and English picture-book PDFs from Markdown stories.
Skill by ichangyou
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ichangyou-mufeng-bilingual-storybook
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, testing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mufeng-bilingual-storybook/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf- Your home directory (~)
What's inside
- Skill name
mufeng-bilingual-storybook- Description
- Create visually reviewed Chinese and English picture-book PDFs from Markdown stories. Use for scene planning, bilingual narration, reference-guided illustrations, page-level QA, revisions and PDF assembly in Codex or Claude Code with a configured image tool.
- License
- MIT
- Compatibility
- Codex and Claude Code. Python 3.10+, Pillow, pypdfium2, Chinese fonts and a configured image/vision tool.
- Instructions
- 487 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (11)
- README.md
- SKILL.md
- openai.yaml · agents/
- icon.png · assets/
- platforms.md · references/
- product-overview.md · references/
- revision-release.md · references/
- usage.md · references/
- workflow.md · references/
- mufeng_storybook.py · scripts/
- test_mufeng_storybook.py · tests/
SKILL.md (first lines)
# Mufeng Bilingual Storybook
## Resource Paths
Set the shell variable `SKILL_DIR` to the directory containing the **loaded** `SKILL.md` before running the commands below. Resolve supporting paths from that directory, not the working directory or a fixed user/platform installation path. `$SKILL_DIR` is a shell variable you set, not a host-provided macro.
## Image Tool Selection
Read [references/platforms.md](references/platforms.md) before generating artwork.
Prefer Codex built-in `image_gen` when available. In Claude Code, use an explicitly
configured image skill/tool with generation, reference-image and editing support.
Do not switch providers automatically. The helper itself does not call an image API.
If no image tool is configured, complete the scene/prompt plan and report the missing
dependency; do not claim that illustrations or final PDFs were produced.
For Codex, the default image source is `${CODEX_HOME:-$HOME/.codex}/generated_images/`.
For another configured image tool, set `MUFENG_IMAGE_ROOT` to its dedicated, actual
output directory. Import the exact PNG produced by the call and keep all quality gates.
## Image Persistence Rule
The helper script does not generate artwork. It only prepares deterministic
scene, prompt, manifest, generation-task, progress, and PDF layout files.
`--prompts-only` and `--dry-run` must never be described as having produced
final illustrations.
Treat these files as the generation contract:
- `manifest.json`: frozen scene plan and `plan_sha256`
- `generation_tasks.json`: stable task IDs, exact prompts, expected filenames,
exact reference paths/hashes, local reference payload bytes, current
filesystem status, and concurrency mapping mode
- `reference_manifest.json`: the hash-locked reference subset used by this
output, when scenes use references
- `quality_gate.json`: append-only candidate QA decisions bound to task,
candidate hash, scene QA-contract hash, and reviewer
- `progress.jsonl`: append-only timing and failure events
- `candidates/<task-id>/<sha256>.png`: project-local, unapproved artwork
- `qa_reports/<task-id>/<sha256>.json`: frozen structured visual reviews
- `pdf_validation.json`: final PDF hashes, page count, footers, and preview root
Use the selected image tool directly, one call per attempt. Record
`generation_started` immediately before the call and `generation_returned` or
`generation_failed` immediately after it. For a new quality-gated final
manifest, import the call-scoped persisted PNG with `--import-candidate`, never
`--import-image`. The candidate command requires a complete start/return event
pair, validates provenance and PNG bytes, and copies the attempt into the
project-local candidate area. It does not make the image PDF-eligible.
Open each candidate at original detail with the image-viewing tool, compare it
against that task's exact reference images, and fill the emitted QA template.
Use the actual reviewer identity, not the pending template value.
Record the report with `--qa-report ... --candidate-sha256 ...`. Only a report
whose verdict is `pass` and whose every required check is `pass` atomically
promotes the candidate to the exact final `images/` filename. A failed report
archives the bytes and returns a reason-targeted retry prompt.
Always resume from the existing manifest with `--resume`; never re-infer scenes
from possibly changed Markdown. A non-symlink, decodable, non-placeholder PNG
at the exact expected project path is complete and must be skipped without
touching it. Missing, corrupt, truncated, symlinked, or dry-run placeholder
files remain pending.
The helper refuses `generation_started` when that task already has a valid
project PNG. After each successful or skipped import,
`generation_tasks.json` is refreshed immediately; a later `--resume` still
revalidates all files independently.
Require a valid `plan_sha256` for manifest v2 and later. For a pre-v2 manifest, migrate
once with `--resume --migrate-legacy-manifest --prompts-only`; never silently
adopt a hashless manifest.
If the selected tool displays an image but exposes no readable persisted PNG,
stop and report the persistence failure. Do not substitute screenshots, placeholders
or SVGs for artwork. Immediately import each attempt into the project-local candidate
area, verify the copy, then proceed to the next image. A configured source directory
and timing events bound the import; they do not independently prove which provider
created the image. Report the actual tool and call evidence separately.
## Reference Traffic Control
Store each adopted reference inside the story or series project. For a series,
pass its root with `--reference-root` so every chapter uses one shared ID/hash
catalog instead of silently creating chapter-local identities. The helper
maintains the library at `<reference-root>/.mufeng-storybook/references/`:
- `master/`: byte-for-byte original copies protected by a SHA-256 contract
- `upload/`: metadata-stripped RGB JPEG proxies, longest edge at most 1024px,
quality 85
- `catalog.json`: the project-wide ID-to-hash contract
This is a hash lock, not an OS-level immutable flag. If an existing ID's source
bytes change, the helper refuses the change; use a new ID deliberately.
Scene-plan `references` must contain stable IDs from `--reference-spec`.
Duplicates are rejected and each scene has a hard maximum of three references;
prefer two. For Codex ImageGen, pass only that task's exact `referenced_image_paths`
from `generation_tasks.json` and omit `num_last_images_to_include`. Never use master originals or rejected attempts as canonical references,
or attach the whole project or implicit conversation images. An inspected
project-local candidate may be an explicit localized-edit target; it does not
become an approved identity/style reference.
`reference_payload_bytes` and progress field
`local_reference_payload_bytes` are local file-size accounting, not measured
network traffic. They exclude multipart/base64 overhead, retries, client-added
context, downloads, cloud sync, and other Codex sessions. Do not promise a
200–500MB total from these numbers.
## Revision And Release Workflow
Read [references/revision-release.md](references/revision-release.md) for an
existing chapter, any single-page change, or final PDF delivery.
- Freeze scene meaning and bilingual captions first. Run `--preflight-text`
before artwork generation. Resolve overflow by editing narration without
losing story facts; never silently truncate captions or shrink fonts.
- For an otherwise approved image with a local defect, use a localized ImageGen
edit. Pass the inspected project-local original as the edit target alongsideFrom ichangyou/mf-ai-skills, MIT.
More from ichangyou/mf-ai-skills
- 0.603score
mufeng-wechat-publish-full
ichangyou
Use when publishing articles to WeChat Official Account (微信公众号), including tasks that involve SEO/GEO-friendly Markdown metadata, professional article…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-app-builder
ichangyou
Use when turning a product idea into an implementation-ready app project for Codex or Claude Code, when a new iOS/macOS/web/backend project needs PRD, MVP…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-materials-to-wechat-publish
ichangyou
Use when source materials in a directory, such as notes, drafts, transcripts, screenshots, outlines, or code snippets, need to be turned into a professional…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-stock-research
ichangyou
Educational stock research skill for market analysis and financial study.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-app-opportunity
ichangyou
Mine App Store public data (category charts, app details, ratings, icons, screenshots, keyword search results and 1-2 star reviews) to find what users…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-blog-writing
ichangyou
Chinese technical blog writing for mufeng.blog with Joey's tone, clear problem-solution structure, concise explanations, minimal code only when necessary, and…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-visual-regression
ichangyou
Visual regression testing for iOS apps (UIKit or SwiftUI).
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-app-naming
ichangyou
Generate and clear names for an iOS/macOS app: brainstorm candidates, then screen each through a five-step check (App Store name collisions, USPTO and TMview…
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
mufeng-dankoe-writing
ichangyou
深度长篇写作风格指南,模仿 Dan Koe 的写作风格。当用户请求创作长篇文章、博客文章、深度内容、思想领袖类文章,或明确要求使用挑衅性、对话式、深度思考的写作风格时触发。适用于创建需要深度阐述观点、挑战传统思维、提供系统化框架的内容。关键词触发:**长篇文章、深度写作、Dan Koe…
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
mufeng-app-icon
ichangyou
设计、重做或精修 App icon(应用图标),默认面向 iOS/iPadOS。基于真实产品与品牌提出可视方向,精修核心图形,制作多尺寸预览,按目标 Xcode/系统适配并验证。用于“设计 Appicon”“优化应用图标”“做深色图标”;页面 UI、操作图标和独立 logo 设计不属于本 skill。
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
mufeng-ios-design
ichangyou
优化或设计原生 iOS App 的 SwiftUI/UIKit 界面、App icon 与原创 logo。读取真实项目上下文,比较设计方向,统一规范,按范围实现并检查实际运行结果。适用于“优化这个 iOS 页面”“设计 App 图标”“设计品牌标志”;纯上线审计或截图差异检测使用对应专项 skill。
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
mufeng-logo
ichangyou
设计、重做或精修原创品牌 Logo,包括图形标、字标与图文组合。读取真实品牌上下文,比较可视方向,精修图形与字距,交付真实矢量源及小尺寸、单色和反白检查。用于“设计 logo”“制作字标”“优化品牌标志”;App icon、页面 UI 与完整品牌战略不属于默认范围。
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 5, 2026 (23 days ago)
- Last release
- Jun 12, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ichangyou/mf-ai-skills
- Website
- mufeng.blog
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ichangyou
- 0.603score
mufeng-app-builder
ichangyou
Use when turning a product idea into an implementation-ready app project for Codex or Claude Code, when a new iOS/macOS/web/backend project needs PRD, MVP…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-visual-regression
ichangyou
Visual regression testing for iOS apps (UIKit or SwiftUI).
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-app-naming
ichangyou
Generate and clear names for an iOS/macOS app: brainstorm candidates, then screen each through a five-step check (App Store name collisions, USPTO and TMview…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-ios-app-opportunity
ichangyou
Mine App Store public data (category charts, app details, ratings, icons, screenshots, keyword search results and 1-2 star reviews) to find what users…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-blog-writing
ichangyou
Chinese technical blog writing for mufeng.blog with Joey's tone, clear problem-solution structure, concise explanations, minimal code only when necessary, and…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
mufeng-materials-to-wechat-publish
ichangyou
Use when source materials in a directory, such as notes, drafts, transcripts, screenshots, outlines, or code snippets, need to be turned into a professional…
SkillAFreshness: A★ 2Claude Code +9
Cite this page
mufeng-bilingual-storybook skill. Agent Mart. https://agentmart.dev/skills/ichangyou-mufeng-bilingual-storybook (last updated 2026-10-24)