Gimi Illustration
GiMi-Xiaomi/gimi-illustration-skill
Multi-style illustrations from Chinese article text (配图 / illustration): quirky sketch, warm storybook, product proposal; OR custom IP enrollment (自定义 IP / 录入 IP / 上传形象 / 新建 IP).
Splits a plain English story into a numbered list of SCENES — each scene being one moment that gets exactly one illustration AND one narration clip downstream.
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hassancs91/claude-image-generation scene-splitter --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/scene-splitter .claude/skills/scene-splitter && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .claude/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitterType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hassancs91/claude-image-generation scene-splitter --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/scene-splitter .agents/skills/scene-splitter && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .agents/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hassancs91/claude-image-generation scene-splitter --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/scene-splitter .cursor/skills/scene-splitter && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .cursor/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hassancs91/claude-image-generation.git --path .claude/skills/scene-splitter--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hassancs91/claude-image-generation scene-splitter --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/scene-splitter .gemini/skills/scene-splitter && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .gemini/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hassancs91/claude-image-generation scene-splitterInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/scene-splitter .github/skills/scene-splitter && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .github/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hassancs91/claude-image-generation --skill scene-splitter -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hassancs91/claude-image-generation scene-splitter --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-image-generation.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/scene-splitter .opencode/skills/scene-splitter && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scene-splitter" agent skill from https://github.com/hassancs91/claude-image-generation/tree/main/.claude/skills/scene-splitter into .opencode/skills/scene-splitter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scene-splitter", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scene-splitterSplits a plain English story into a numbered list of SCENES — each scene being one moment that gets exactly one illustration AND one narration clip downstream.
Scene Splitter is an agent skill from hassancs91/claude-image-generation. Splits a plain English story into a numbered list of SCENES — each scene being one moment that gets exactly one illustration AND one narration clip downstream. The first step of the AI Storybook pipeline. Tuned for beginner-level stories (short sentences, ~8-12 scenes), with a per-scene length cap so each scene fits one phone screen without scrolling. Use this skill whenever the user wants to split a story into scenes, prepare a story for the storybook pipeline, break a story into pages/panels, or produce a…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Text to speech and voice, Plain language and style rules and Image generation. It works with Storybook and Adobe Illustrator. The repository describes itself as: Connect Claude to image generation with Agent Skills. Three levels: a zero-cost code-based design engine, a Three.js 3D renderer, and a real diffusion model on Cloudflare. Plus… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f533831. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scene Splitter loads about 2.3k tokens when it runs. Until then it costs about 243 tokens; SKILL.md has 1,155 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from hassancs91/claude-image-generation at commit f533831, republished under its MIT licence (© hassancs91). 1,155 words, ~2,318 tokens.
.claude/skills/scene-splitter/SKILL.md (or your agent's skills folder).Takes a plain English story and produces a numbered list of scenes — each scene being one moment that gets exactly one illustration and one narration clip downstream.
This is the upstream spine of the AI Storybook pipeline. Splitting once here and feeding both the illustrator and the narrator from the same {slug}_scenes.json keeps everything in lockstep: image N pairs with audio N pairs with paragraph N. No drift, no negotiation between skills.
The user has an English story and wants to prepare it for the illustration + narration pipeline. Common phrasings: "split this into scenes", "break this into pages", "prepare this story for the storybook", "make scenes for illustration".
The skill does NOT apply to:
A scene is a single moment that fits one illustration. Operationally, a new scene starts at any of:
Scenes are deliberately short and many. The storybook player renders one scene at a time, and the text MUST fit on a phone screen without scrolling. That drives the hard length cap below.
This pipeline targets beginner readers. The cap is screen-fit-driven, not API-driven:
| Level | Per-scene hard cap | Target scene count |
|---|---|---|
| beginner (default) | 240 characters | 8–12 scenes |
The cap is the number of characters in a single scene's text. Keep most scenes well under it (~120–180 chars reads best on a phone). To scale this pipeline up for longer/harder stories, raise the cap and the target count here — nothing downstream needs to change.
^[a-z0-9-]+$, max 60 chars). Examples: "The Little Cloud" → the-little-cloud; red_balloon.md → red-balloon.{slug}."Walk the story in order. At each candidate boundary, decide: new scene or extend the current one? Use the boundary rules above. When unsure, prefer MORE scenes — it's easier to merge two at the gate than to retroactively split one.
For each scene, capture the exact text from the source. The splitter chooses BOUNDARIES, not content — do not reword, summarize, or rewrite the author's prose. (If a sentence must be trimmed to fit the cap, that's an author decision — surface it at the gate, don't silently edit.)
For each scene, populate:
index — 1-basedrole — cover for scene 1, closing for the last scene, body for everything elsepanel_type — one of establishing | action | reaction | detail (drives framing variety downstream):establishing — wide, sets the place. Good for scene 1 and any location change.action — something is happening; dynamic composition.reaction — close on a character's face/feeling.detail — tight on one object or element.text — the exact story text for this scene (no title prefix on scene 1 — see below)char_count — character count of textscene — location/setting in 2–4 words (e.g. "sunny meadow", "cozy kitchen")characters — array of named characters present in this momentmood — emotional tone in 1–3 words (e.g. "warm, curious")dominant_action — what happens in this moment, in one sentence (the illustrator turns this into the image prompt)Title handling for the cover scene (LOCKED). The story's title (the # Heading on line 1) MUST NOT appear in scenes[0].text. The player shows the title in the header and builds a dedicated cover page from the first illustration (with the spoken title clip); scene 1's text then renders as its own story page. If the title were left in scenes[0].text it would show up twice (header + as scene 1's paragraph). Strip it from scene 1's text and store it at the top level instead:
{
"story_slug": "the-little-cloud",
"story_title": "The Little Cloud",
"target_level": "beginner",
"language": "en",
"total_scenes": 9,
"scenes": [
{
"index": 1,
"role": "cover",
"panel_type": "establishing",
"text": "High in the sky lived a little cloud named Pip.",
"char_count": 47,
"scene": "wide blue sky",
"characters": ["Pip"],
"mood": "gentle, bright",
"dominant_action": "A small white cloud drifts alone in a big blue sky."
}
]
}Reconstruction check. Concatenate story_title + "\n\n" + scenes[*].text (single spaces between scenes) and verify it reconstructs the original story. The title goes at the front because it was stripped from scenes[0].text. If even one word is missing or duplicated, abort and report which boundary is broken — do NOT proceed to the gate with broken reconstruction.
Length-cap check. For every scene, verify char_count ≤ 240. If any scene is over cap:
OVERSIZED — needs author trim rather than force-splitting on a non-boundary.Show the user the proposed scene list in a compact table (so 10+ scenes fit on screen). Columns: index · role · panel_type · mood · char_count · first ~60 chars + ellipsis · dominant_action.
Below the table, prompt:
Scene plan ready — review and approve before I write scenes.json. Reply:
goto commitmerge N Mto combine two adjacent scenessplit Nto split a scene further (I'll propose where)edit Nto fix one scene's metadatafix N <reason>for free-form feedback (e.g.fix 7 too long, split before "but then")redoto restart with a different approach
If the user issues a change, apply it, re-run Stage 3.5 validation, and re-show the gate. Loop until go.
This gate is where human taste enters: it costs nothing now, but a wrong boundary means a wrong image AND a wrong audio clip downstream.
Write {slug}_scenes.json to the working directory stories/{slug}/. Confirm in one line: "Wrote {slug}_scenes.json — N scenes, ready for the illustrator and narrator."
story-illustrator and story-narrator. Both accept {slug}_scenes.json and skip their own splitting, so the image for scene N and the audio for scene N stay aligned by index.{slug}_part_NN.png; audio filenames are {slug}_part_NN.mp3, where NN is the zero-padded scene index. The publisher pairs them by that index.merge at the gate.© hassancs91, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/scene-splitter of hassancs91/claude-image-generation.
Open the folder on GitHubat commit f533831
Scene Splitter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scene Splitter this skillhassancs91/claude-image-generation | 102 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Gimi IllustrationGiMi-Xiaomi/gimi-illustration-skill | 703 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Screen Demo Productioncalesthio/generative-media-skills | 197 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Wedding Video Guided Wizardaaronyi97/wedding-video-guided-wizard | 310 | — | ~1k | Automated safety check: Pass | MIT | |
| Document Illustratorop7418/Document-illustrator-skill | 599 | — | ~1.6k | Automated safety check: Notes | MIT | |
| Hbg Life SimulationMr-funny/hbg-life-simulation | 141 | — | ~5.8k | Automated safety check: Pass | MIT |
GiMi-Xiaomi/gimi-illustration-skill
Multi-style illustrations from Chinese article text (配图 / illustration): quirky sketch, warm storybook, product proposal; OR custom IP enrollment (自定义 IP / 录入 IP / 上传形象 / 新建 IP).
calesthio/generative-media-skills
Provider-independent workflow for producing terminal, IDE, documentation, browser, desktop, and application demonstration videos.
aaronyi97/wedding-video-guided-wizard
Guide a creator through a real couple's custom wedding video, from a shareable story intake card and Kimi writing pack through narration, external GPT image prompts, image-to-video packs, music and…
op7418/Document-illustrator-skill
基于文档内容自动生成配图。AI 智能分析文档结构,归纳核心要点, 为每个主题生成符合特定风格的配图。支持封面图生成和自定义图片比例。
Mr-funny/hbg-life-simulation
Create Chinese HBG “模拟人生 / 人生副本” narrative videos with a consistent comic IP, a rapid multi-life opening, continuous natural-speed narration, synchronized short captions, dense static manga…
HM-RunningHub/OpenClaw_RH_Skills
Generate images, videos, audio, and 3D models via RunningHub API (420 endpoints) and run any RunningHub AI Application (custom ComfyUI workflow) by webappId.
hassancs91/claude-image-generation
Generate PNG images by building a real Three.js 3D scene and capturing one frame headlessly — no image model involved.
hassancs91/claude-image-generation
Final step of the AI Storybook pipeline. An agent skill from hassancs91/claude-image-generation.
hassancs91/claude-image-generation
Generate an image from a text description using Cloudflare Workers AI (the flux-1-schnell model).
hassancs91/claude-image-generation
Generate a polished PNG graphic from a text prompt and an aspect ratio.
hassancs91/claude-image-generation
Generates one expressive narration MP3 per scene for an English storybook, using the ElevenLabs MCP (texttospeech).
Works with
Categories
Splits a plain English story into a numbered list of SCENES — each scene being one moment that gets exactly one illustration AND one narration clip downstream. Scene Splitter is an agent skill from hassancs91/claude-image-generation. Splits a plain English story into a numbered list of SCENES — each scene being one moment that gets exactly one illustration AND one narration clip downstream.
Scene Splitter fits situations like: the user wants to split a story into scenes; prepare a story for the storybook pipeline; break a story into pages/panels; produce a scenes spine for the illustrator and narrator.
Run `npx skills add hassancs91/claude-image-generation --skill scene-splitter -a claude-code`. Or copy the skill folder (.claude/skills/scene-splitter in hassancs91/claude-image-generation) into .claude/skills/scene-splitter in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hassancs91/claude-image-generation --skill scene-splitter -a codex`. Or copy the skill folder (.claude/skills/scene-splitter in hassancs91/claude-image-generation) into .agents/skills/scene-splitter in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hassancs91/claude-image-generation --skill scene-splitter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scene-splitter, .gemini/skills/scene-splitter, .github/skills/scene-splitter and .opencode/skills/scene-splitter in your project.
SKILL.md names no scripts, command-line tools or credentials: Scene Splitter is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Scene Splitter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Scene Splitter: Gimi Illustration (GiMi-Xiaomi/gimi-illustration-skill, 703 stars), Screen Demo Production (calesthio/generative-media-skills, 197 stars), Wedding Video Guided Wizard (aaronyi97/wedding-video-guided-wizard, 310 stars) and Document Illustrator (op7418/Document-illustrator-skill, 599 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hassancs91 (a GitHub user) maintains it in hassancs91/claude-image-generation, which has 102 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on August 18, 2026.
Source: hassancs91/claude-image-generation on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.