adaptation
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
This skill should be used when the user asks for a "simulated beta read", "reader panel", "persona read", "first read before my beta readers", "how would a genre reader react", "would a reader keep going", "pre-beta read", "mock beta readers", or wants structured persona reads
Claude Code
$ npx -y skills add danjdewhurst/story-skills --skill reader-panel --agent claude-code
Codex
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a codex -y
Cursor
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a cursor -y
Gemini CLI
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a gemini-cli -y
GitHub Copilot
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a github-copilot -y
OpenCode
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a opencode -y
Windsurf
$ npx skills add danjdewhurst/story-skills --skill reader-panel -a windsurf -y
name: reader-panel description: This skill should be used when the user asks for a "simulated beta read", "reader panel", "persona read", "first read before my beta readers", "how would a genre reader react", "would a reader keep going", "pre-beta read", "mock beta readers", or wants structured persona reads of a chapter range before human readers see it. NOT for real reader feedback (use feedback-triage), a paid sensitivity or authenticity read (use editorial-review), or the agent's own line edit (use line-editing).
Run structured persona reads of a chapter range and write each one as a feedback file in the shape `feedback-triage` already reads, so the existing triage flow takes over unchanged. The panel is a first read before human readers see the draft: it finds the problems a reader would trip on, so the human round spends its attention on what only people can tell you.
Every panel read is simulated. It is written by the agent, marked `source: simulated`, and never presented as feedback from a real reader.
A story project (`story.md` in the root) with the chapters in range drafted. The `feedback-triage` skill must be available for the synthesis.
a book as `ready` for submission or publication
only flags passages for a paid human reader (use `editorial-review`)
Each persona has a reference file listing what it reads for, what it never comments on, and how it rates severity. Load only the personas in the panel.
| Persona | File id | Reads for | Reference | |---------|---------|-----------|-----------| | Target-genre reader | `genre-reader` | Does the book deliver the genre's promises? Pacing sags, missing beats, broken conventions | `references/genre-reader.md` | | Line editor | `line-editor` | Sentence-level craft: POV slips and head-hopping, filter words, repetition, unclear antecedents, voice drift | `references/line-editor.md` | | Sensitivity reader | `sensitivity-reader` | Portrayals that need a human sensitivity or authenticity reader. Flags, never clears | `references/sensitivity-reader.md` | | Continuity-minded reader | `continuity-reader` | Facts, names, objects, timeline, and what each character can know at this point | `references/continuity-reader.md` | | First-page reader | `first-page-reader` | Would they keep going? The opening page, each chapter's first lines, and the last line before they could put it down | `references/first-page-reader.md` |
1. Ask the user for the chapter range (default: every drafted chapter) and which personas to run (default: all five). Take genre, form, POV, and tense from the `story context` output in step 2 (its Story essentials section), not from `story.md`, whose Synopsis may describe the ending. The genre reader needs the genre. Take `language` only from the Language contract in that same `story context` output: it is no spoiler, and every persona reads the book as a reader of that language would. 2. Pick the round number: the next `N` that is free under `feedback/` and not yet the name of a tag or snapshot `panel-round-{N}` (`git tag --list 'panel-round-*'` and `story snapshot --list --path .` list them). A panel gets its own round. Never add simulated reads to a round of human readers, so the human synthesis stays independent. 3. Save the text the panel will cite under the name `panel-round-{N}`, so `feedback-triage` can map its labels to a later draft with `story compare` once the chapters change:
`story.md` (`cd` there first), because `-- .` below means the current folder. Check that `.gitignore` lists `dist/` (add the line if it is missing), so earlier review copies stay out of the commit. Then run `git status --untracked-files=all -- .` and show the user what it lists: the copy is built from the working tree, but a tag points at the last commit, so uncommitted changes would make the two differ. Look through it for private files (a `.env`, keys or credentials, scanned documents): unless the user says to commit one, add it to `.gitignore` first. `.gitignore` does not untrack a file git already tracks, so also run `git ls-files -- .` and look for the same kinds of file: if one is listed, the commit below would include its changes, so stop and ask the user before committing. A tag holds only tracked files, so run `git ls-files --others --ignored --exclude-standard -- .` as well: if it lists a markdown file outside `dist/` and `.snapshots/`, or the cover or stylesheet `story.md` names, the build reads a file the tag would miss, so take a snapshot as below instead. Ask before committing and before tagging. With approval, commit the project folder only (skip the commit when the tree is already clean) and tag that commit:
git add -A -- .
git commit -m "Simulated reader panel round {N}" -- .
git tag panel-round-{N}If the user declines the commit, never tag the last commit over an uncommitted tree: take a snapshot as below, or stop. If `git tag` says the tag already exists, an earlier attempt saved this round: never move it; ask the user, or pick the next free `N`. Never push, and never move or delete a tag, without the user's approval.
file the build reads:** take a snapshot with `story snapshot panel-round-{N} --path .`.
4
Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins.
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue…
This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family…
This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft",…
This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this…
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round",…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…