Skip to content
Content
Skill

/verse-craft

This skill should be used when the user asks to "write a poem", "write a limerick", "write a sonnet", "haiku", "villanelle", "ballad", "song lyrics", "a song for my character", "a rhyme", "rhyming couplets", "does this scan", "check the meter", "fix the rhythm of this poem",

From plugin
story-skills
37524 skills

Claude Code

$ npx -y skills add danjdewhurst/story-skills --skill verse-craft --agent claude-code

SKILL.md

verse-craft.SKILL.md
name: verse-craft
description: This skill should be used when the user asks to "write a poem", "write a limerick", "write a sonnet", "haiku", "villanelle", "ballad", "song lyrics", "a song for my character", "a rhyme", "rhyming couplets", "does this scan", "check the meter", "fix the rhythm of this poem", "rhyme scheme", "iambic pentameter", "a prophecy in verse", "a nursery rhyme", "rhyming picture book", or wants verse written, scanned, or revised, whether inside a story project or as a standalone poem. NOT for accidental rhymes in prose (use line-editing) or permissions for quoting someone else's poem or song lyrics (use editorial-review).

Verse Craft

Overview

Write, scan, and revise verse: fixed forms such as the limerick, sonnet, haiku, and villanelle; ballads and song lyrics; rhyming picture-book text; and verse that lives inside a story (a character's song, a prophecy, a skipping rhyme). Every claim that a line scans is shown, not asserted: the agent marks the stresses, counts the syllables, and labels the rhyme scheme so the author can check the work. The author's poem is the standard; propose changes, do not rewrite it wholesale.

Prerequisites

None. A standalone poem needs no project: save it where the user asks, as a plain `.md` file. Verse that belongs to a story needs the story project, `story.md` (POV, tone, era), and the file of the character who speaks or sings it.

When to Use

  • Writing a new poem, limerick, song, or rhyme in a given form
  • Checking whether an existing poem scans or keeps its rhyme scheme
  • Fixing meter, forced rhymes, or padded lines in a draft poem
  • Verse inside a story: a character's song, a riddle, a prophecy, an epigraph

the author writes themselves

  • Rhyming text for a picture book (plan the spreads with `adaptation`,

write and scan the verse here)

  • NOT for unintended rhymes or jingles in prose (use `line-editing`)
  • NOT for permissions when quoting another writer's poem or lyrics (use

`editorial-review`)

  • NOT for a poetry collection as a story project: the CLI checks fiction

entities, so keep a collection as plain files and do not run `story init` for it

Hard Rules

  • Never say a line scans without showing its stresses (or, in another

language's tradition, what that tradition counts). Mark them as in `references/meter-and-scansion.md`.

  • Never pad a line to fill the meter ("did go", "so very", "oh", "all

alone and lone"). Rewrite the line instead.

  • Never invert natural word order to land a rhyme ("the sea so blue I

wade into" for "I wade into the blue sea") unless the author's style already does it on purpose.

  • Never reproduce copyrighted lyrics or poems, even a stanza. Allude or

write something original in the same form; send permission questions to `editorial-review`.

  • Never rewrite the author's poem wholesale without explicit permission.

Propose line-level fixes with a reason each.

  • Verse a character writes sounds like that character, not like a

competent poet. A clumsy character's poem can be clumsy on purpose; say so rather than fixing it.

Workflow

1. Mode and constraints

1. Work out the mode: **write** new verse, **critique** a poem, **fix** a poem's meter or rhyme, or **story verse** that sits inside a chapter. 2. Pin the constraints, asking only for what the request leaves open: form, meter, rhyme scheme, line and stanza count, refrain, subject, tone, and any words that must appear. `references/forms.md` gives each form's rules; state the ones you are following. 3. For story verse, read `story.md` (era, setting, tone), the speaker's character file (voice notes, `voice-words`, `voice-avoid`, education), and the chapter it goes in. Verse must not state canon the project does not already hold: no new names, history, or world rules, and no small facts either (how long something has gone on, what goods come in, who signs for what). Comic verse reaches for these to fill a line or land a rhyme. Before drafting, list the facts the verse may use (names, objects, habits, running jokes the project states) and take every detail from that list. 4. Settle the language. For story verse it is `language` in `story.md` (a missing field means `en`); for a standalone poem, ask if the request leaves it open. Write and scan in that language's own tradition: syllabic (French, Spanish, Italian), quantitative (Classical Greek, Latin, Arabic), mora-based (Japanese), or tonal (Classical Chinese) verse is not measured in English feet. See "Verse in other languages" in `references/meter-and-scansion.md` and "Rhyme in other languages" in `references/rhyme.md`. The forms, examples, and forced-rhyme tells in the references are English; adapt them, and say when you cannot scan a tradition reliably. 5. For English, ask which accent the verse is scanned in when it matters (British and American stress differ on words such as *address*, *garage*, *cigarette*), and which dialect the rhymes must work in.

2. Draft

1. Draft for sense first: every line must say something a reader would say in prose. Then fit the meter. 2. Choose rhyme words that carry meaning; build the line toward the rhyme rather than bolting the rhyme on. See `references/rhyme.md` for forced rhymes and the rhymes readers have seen too often. 3. Keep the syntax natural. Read each line as a sentence: if nobody would say it that way, rewrite it.

3. Scan

Scan every line, including the author's lines in critique mode. Show a scansion table (format in `references/meter-and-scansion.md`) with the stress pattern, syllable count, and rhyme letter for each line, and mark each departure from the meter as **deliberate** (a trochee at the line start, a feminine ending) or a **fault** (a stress that falls on a weak syllable, a missing or extra beat).

When the user asks for the poem only, still scan every line and check the rhyme scheme before answering, then

Read more
@danjdewhurst
Ships withstory-skills

Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins.

Stars on GitHub

Momentum

stars in total
375
Star history of danjdewhurst/story-skills on GitHub, a chart by star-history.com

Other skills on story-skills.

adaptation

adaptation

This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…

chapter-writing

chapter-writing

This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue…

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli11d33k
@iofficeai@iofficeaiInstall Skill

Questions about verse-craft.

Which coding agents can use verse-craft?
verse-craft installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.