Immersive Poetry Page logo

Immersive Poetry Page

Community
zlbigger
immersive-poetry-page

Turn any Chinese classical poem, ci, qu, or prose-poem into a cinematic, immersive scroll-driven webpage with historically and emotionally appropriate AI-generated imagery, line-by-line interpretation, visual storytelling, responsive design, and browser QA. Use when the user supplies ancient Chinese poetry and asks for an atmospheric page, interactive appreciation experience, visual interpretation, educational poem website, or image-led literary presentation.

Overview

Publisherzlbigger
Repositoryimmersive-poetry-page
Skill nameimmersive-poetry-page
Stars
73
Forks
26
Bundled files
9
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 9 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by zlbigger on GitHub. Read the source before you install it.

Installation

Install the Immersive Poetry Page AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zlbigger/immersive-poetry-page/tree/main/skills/immersive-poetry-page
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zlbigger/immersive-poetry-page.git /tmp/immersive-poetry-page
mkdir -p .claude/skills
cp -r /tmp/immersive-poetry-page/skills/immersive-poetry-page .claude/skills/immersive-poetry-page
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Immersive Poetry Page in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Immersive Poetry Page on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Immersive Poetry Page is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Immersive Poetry Page

Create a complete webpage, not a mockup. Preserve the poem exactly, generate a coherent image set, implement scroll-driven scene transitions, explain the poem clearly, build the project, and visually inspect it.

Non-negotiable quality bar

  • Treat imagery as the poem's emotional world, not decoration.
  • Prefer cinematic realism, high-end historical photography, crafted diorama realism, or restrained ink-inspired cinematography according to the poem. Never default to low-poly, cartoon, plastic-toy, or generic “ancient style.”
  • Use one visual bible across every generated image: same geography, characters, era, palette, materials, weather, camera language, and time progression.
  • Keep image files free of text, calligraphy, logos, seals, signatures, and watermarks. Add typography in HTML.
  • Never replace or overwrite an existing poetry page unless the user explicitly asks. Create a new route/page and link the pages.
  • State textual variants instead of silently “correcting” the user's poem.

Required workflow

1. Inspect the project

Identify the framework, build scripts, existing pages, design system, dev-server state, and dirty files. Reuse the current stack. For Vite multi-page sites, add a new HTML entry and configure build.rollupOptions.input when needed.

2. Build the literary scene map

Read references/poetry-analysis.md. Produce internally:

  • verified title, author, era, genre/ci tune;
  • 5–8 visual beats based on imagery, action, time, and emotional turns—not equal line counts;
  • for every beat: original text, plain meaning, core images, technique, emotional function, and proposed scene;
  • the overall arc, such as landscape → history → hero → self → release.

Use the supplied text verbatim in the page. If a common textual variant matters, mention it in explanatory copy without derailing the experience.

3. Choose an art direction

Read references/image-direction.md. Select a visual form from the poem itself:

  • intimate travel, village, still life → realistic handcrafted diorama or macro historical photography;
  • war, rivers, mountains, political history → large-scale prestige historical cinema;
  • dream, myth, celestial, highly metaphorical work → restrained painterly cinema with physically credible light;
  • quiet philosophical poem → minimal photographic landscape with negative space.

Default to a hero plus one image per major beat. Six to eight total images usually balances immersion, consistency, and load time.

4. Generate and persist the image set

Use the built-in ImageGen path through the imagegen skill. Issue one generation call per distinct asset; do not use one generic prompt for all images.

Generate the hero first. Each later prompt must explicitly match the hero's world design, characters, geography, lighting, material realism, lens language, and color grade. Reserve negative space on the side where page copy will sit.

After generation:

  1. Persist all selected images inside the project, normally public/generated/<poem-slug>/.
  2. If built-in results are not present under ~/.codex/generated_images, use: python scripts/extract_imagegen_results.py --session <rollout.jsonl> --count <N> --out-dir <dir> --names hero,scene-1,...
  3. Create a contact sheet and inspect all images together.
  4. Reject or repair images with style drift, accidental text/seals, wrong era, malformed focal subjects, or mismatched recurring characters.
  5. Preserve PNG masters and create web JPEG/AVIF/WebP derivatives where available. Aim for roughly 250–600 KB per 1672×941 JPEG.

Do not integrate uninspected generated assets.

5. Implement the webpage

Read references/page-pattern.md. Prefer the bundled files in assets/page-template/ as the starting point when the project has no stronger existing pattern.

Required page anatomy:

  1. Hero: title, author/era, a defining line, a short invitation, and a scroll cue.
  2. One full-viewport section per visual beat.
  3. Each section: original line(s), literal meaning, close reading, and one compact visual device such as keywords, contrast, verb rhythm, emotional scale, or timeline.
  4. Closing interpretation: genre/tune, structure, imagery, techniques, emotional arc, and central meaning.
  5. Navigation between poetry pages when more than one exists.
  6. A narration control. Use the supplied or project-provided audio asset, attempt autoplay, and always keep an accessible play/pause switch because browsers commonly block audible autoplay.

Use a fixed image stage with two overlapping texture planes or image layers. Crossfade when the active section changes; add only subtle zoom or pointer parallax. The image is the protagonist—keep cards translucent, readable, and smaller than half the viewport on desktop.

Do not use paid video generation unless the user explicitly asks. A high-quality image sequence with crossfades is the default.

6. Responsive and accessible behavior

  • Use semantic headings, sections, buttons, and navigation.
  • Keep the full focal subject visible on phones; prefer contain with a blurred full-bleed backdrop when a crop would destroy meaning.
  • Support prefers-reduced-motion by disabling smooth scrolling, parallax, and long fades.
  • Maintain readable contrast without dimming the artwork into obscurity.
  • Avoid loading all PNG masters; serve compressed derivatives.
  • Give the narration button a visible text label, aria-pressed, keyboard focus styling, and a local error state. Do not hide the control merely because autoplay failed.

7. Verify the result

Run the production build. Then use a real browser to inspect:

  • hero after assets finish loading;
  • at least two middle sections after the crossfade settles;
  • closing interpretation;
  • one mobile viewport;
  • narration source availability, autoplay fallback, and play/pause state;
  • console warnings/errors.

The page fails QA if the generated images are not visibly switching, cards cover the main subjects, text is clipped, the page remains on a loading screen, or the imagery feels unrelated to the poem.

8. Deliver

Report:

  • the local/page URL;
  • source files changed;
  • image asset directory;
  • contact sheet path;
  • prompt-set path;
  • narration asset URL or path;
  • build and browser-QA result;
  • that built-in ImageGen was used.

Keep the dev server running when the user wants to review locally.

Bundled resources

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Immersive Poetry Page AI skill do?

Turn any Chinese classical poem, ci, qu, or prose-poem into a cinematic, immersive scroll-driven webpage with historically and emotionally appropriate AI-generated imagery, line-by-line interpretation, visual storytelling, responsive design, and browser QA. Use when the user supplies ancient Chinese poetry and asks for an atmospheric page, interactive appreciation experience, visual interpretation, educational poem website, or image-led literary presentation.

Why use Immersive Poetry Page on TypingMind?

Because you install it once and use it with any model. Immersive Poetry Page is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Immersive Poetry Page in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zlbigger/immersive-poetry-page/tree/main/skills/immersive-poetry-page. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Immersive Poetry Page?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Immersive Poetry Page?

As many as you like. As long as a model supports skills, you can use Immersive Poetry Page with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Immersive Poetry Page AI skill free?

Yes. It is published on GitHub by zlbigger under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇