feedback-triage
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback", "reader notes", "beta feedback", "readiness check", or wants to collect, reconcile, and act on external reader feedback for a s
Install
npx skills add https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install danjdewhurst-story-skills@llmmart
git clone https://github.com/danjdewhurst/story-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole danjdewhurst/story-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Feedback Triage
Overview
Process alpha/beta reader feedback as a structured, reconcilable workflow:
collect per-reader feedback files, hold all revision until the round is
complete, synthesize convergent/divergent/single-reader findings into a
decision record with a readiness verdict, and hand a concrete revision plan
to the revision-continuity skill.
Prerequisites
A story project with at least one drafted chapter (or a complete draft) that
readers have read. Verify story.md exists in the project root.
When to Use
- Starting a feedback round (recruiting readers, sending chapters out)
- Recording feedback as it arrives
- Synthesizing a completed round into decisions
- NOT for revising the manuscript (use
revision-continuitywith the synthesis's revision plan) - NOT for the agent's own critique of the draft (use
revision-continuityaudits; reader feedback is external input)
Workflow
1. Set up the round
- Decide the round scope: which chapters readers get (
chapters-readrange) and how many readers (2–4 per round is typical; one reader is a data point, not a round). - Create the round folder:
feedback/round-{N}/. - For each expected reader, create a stub file from
references/feedback-template.mdatfeedback/round-{N}/{reader-kebab}.mdwith frontmatter filled in and the body sections empty. The stub list is the round's checklist.
2. Collect feedback (the discipline)
- As each reader's notes arrive, record them in their file using the template. Quote or closely paraphrase; do not editorialize yet.
- Run the canon check on each problem note: verified against the bible, contradicts canon (usually a setup problem — note the canon file), or outside canon scope. Record the result in the file.
- Do NOT revise until all feedback for the round is in. Revising on partial feedback optimizes for the first reader and invalidates the others' reads. If a reader is late, either wait or formally close the round without them (note it in the synthesis) — never silently proceed on a partial set.
3. Synthesize
Only when every expected reader file is collected:
- Read all reader files for the round.
- Sort every finding into exactly one category:
- Convergent — ≥2 readers agree independently. Strongest signal; becomes a revision item by default.
- Divergent — readers disagree. Adjudicate: check both sides against canon and premise, record which side wins and why.
- Single-reader — one reader only. Weigh by specificity: specific + canon-verifiable → investigate or accept; vague + taste-based → usually decline.
- Declined-with-reason — explicitly rejected, with a recorded reason referencing canon, premise, genre contract, or craft principle.
- Write
feedback/round-{N}/synthesis.mdusingreferences/synthesis-template.md, including the frontmatter readiness verdict:ready|needs-revision|not-ready. - Build the numbered revision plan with concrete file targets.
4. Hand off the revision plan
- Present the synthesis summary and readiness verdict to the user.
- If the verdict is
needs-revisionornot-ready, hand the revision plan to therevision-continuityskill for execution. The synthesis is the input; revision-continuity owns the edits. - If the verdict is
ready, the round is closed — proceed to the next round, the next drafting stage, or export.
Conventions
- Feedback lives under
feedback/round-{N}/;{N}is a plain integer (round-1,round-2). - Reader files use kebab-case reader ids:
feedback/round-1/maria-chen.md. - Every feedback file and the synthesis carry YAML frontmatter
(
reader,round,chapters-read,overall-verdict/readers,readiness). - Findings are quoted or closely paraphrased from readers, never invented. If a note is ambiguous, mark it ambiguous in the file rather than resolving it silently.
- Declined findings always carry a recorded reason. A synthesis with unexplained rejections is incomplete.
- Bidirectional discipline: when synthesis creates or resolves
continuity/questions/entries (reader confusion often reveals clarity gaps), update those files too.
CLI Maintenance
Use the Story CLI when it is available. If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually.
After creating or updating feedback files and synthesis:
story reindex .
story links .
story validate .
story continuity .
Reference Files
references/feedback-template.md- Per-reader feedback file template with frontmatter (reader,round,chapters-read,overall-verdict) and canon-check disciplinereferences/synthesis-template.md- Round synthesis template: convergent/divergent/single-reader/declined-with-reason categories, readiness verdict, revision plan
Files (story-skills)
-
references
-
feedback-template.md 1.8 KB
# Reader Feedback Template Copy this template to `feedback/round-{N}/{reader-kebab}.md` for each reader in each feedback round. `reader-kebab` identifies the reader (their name or a label like `alpha-reader-1`); `{N}` is the round number. ```yaml --- reader: "{Reader name or label}" round: {N} chapters-read: "{e.g. 1-12, or all}" overall-verdict: "{loved it | liked it with reservations | mixed | didn't connect}" --- # Feedback — {Reader} (Round {N}) ## Overall Impression {2-4 sentences: what the reader felt about the manuscript as a whole.} ## What Worked - {Specific things the reader liked, with chapter or scene references} ## Problems ### {Problem title} (Ch {N}) - **What the reader said:** {quote or close paraphrase} - **Where:** {chapter/scene reference} - **Canon check:** {verified against the bible | contradicts canon — see note | outside canon scope} - **Severity (reader's):** {blocking | major | minor | nit} ## Questions Raised - {Questions the reader asked that the manuscript should answer — these are candidate `continuity/questions/` entries or signs of a clarity gap} ## Suggested Changes - {Concrete changes the reader proposed — record as proposals, not decisions} ``` ## Canon check discipline Before a reader's note enters synthesis, check it against the story bible: - **Verified:** consistent with canon; the note is about craft or clarity. - **Contradicts canon:** the reader's expectation conflicts with established canon — usually means a *setup* problem (canon wasn't conveyed), not a canon problem. Note which file establishes the canon fact. - **Outside canon scope:** the reader wants a different book (different genre, different theme). This is a `declined-with-reason` candidate. Never "fix" canon to satisfy a reader note without user approval — that is a story decision, not a maintenance fix. -
synthesis-template.md 3.6 KB
# Synthesis Template Write the round synthesis to `feedback/round-{N}/synthesis.md` only after every expected reader file for the round is collected. The synthesis is the decision record: which notes become revision work, which are adjudicated, and which are declined with a recorded reason. ```yaml --- round: {N} readers: [{reader-1-kebab}, {reader-2-kebab}, ...] readiness: needs-revision # ready | needs-revision | not-ready --- # Synthesis — Round {N} ## Readiness Verdict **{ready | needs-revision | not-ready}** — {one sentence: why} - `ready`: no blocking or major convergent issues; proceed to the next stage (next round, or export). - `needs-revision`: convergent or adjudicated issues require a revision pass before the next round. Lists the revision plan below. - `not-ready`: structural problems (broken premise, failed arc, pervasive confusion) require developmental rework, not a polish pass. ## Convergent Findings (≥2 readers agree) | Finding | Readers | Chapters | Canon check | Action | |---------|---------|----------|-------------|--------| | {One-line finding} | {a, b} | {Ch N} | {verified / setup-gap} | {Fix planned} | Convergent findings are the strongest signal: two independent readers tripping on the same spot means the manuscript, not the reader, is at fault. These become revision items by default. ## Divergent Findings (readers disagree) | Finding | For (readers) | Against (readers) | Adjudication | Action | |---------|---------------|-------------------|--------------|--------| | {One-line finding} | {a} | {b} | {Which side, and why — cite canon, craft, or intent} | {Fix / decline} | Adjudication rules: - Check both sides against the bible and the premise. Canon and theme outrank taste. - A 2-vs-1 split is convergent (see above), not divergent. - When genuinely 1-vs-1 with no canon tiebreak, prefer the reader whose overall verdict was more positive — they engaged more deeply — or ask the user. Record who decided. ## Single-Reader Findings | Finding | Reader | Severity | Weight | Action | |---------|--------|----------|--------|--------| | {One-line finding} | {a} | {major/minor} | {accept / investigate / decline} | {...} | Weigh single-reader findings by specificity: a specific, locatable note ("the alibi in Ch 9 contradicts the timeline") outranks a vague one ("the middle dragged"). Specific + canon-verifiable = investigate or accept. Vague + taste-based = usually decline. ## Declined with Reason | Finding | Reader(s) | Reason for declining | |---------|-----------|----------------------| | {One-line finding} | {a} | {e.g. contradicts premise; outside genre contract; reader wanted a different book} | Every declined finding needs a recorded reason. "The author disagrees" is not a reason. Reasons reference canon, premise, genre contract, or craft principle. ## Revision Plan Numbered, actionable items for the revision pass, each with file targets: 1. {What changes} — targets: {chapter/scene/entity files} 2. ... Hand this plan to the `revision-continuity` skill for execution. ``` ## Synthesis checklist - [ ] Every expected reader file for the round is collected (no synthesis on a partial set — see the discipline rule in `SKILL.md`) - [ ] Each finding appears in exactly one category - [ ] Every convergent finding has an action (fix or explicitly deferred) - [ ] Every divergent finding has a recorded adjudication with a reason - [ ] Every declined finding has a recorded reason (not just disagreement) - [ ] The readiness verdict matches the findings (blocking convergent issues cannot coexist with `ready`) - [ ] The revision plan lists concrete file targets for each item
-
-
SKILL.md 5.4 KB
--- name: feedback-triage description: This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback", "reader notes", "beta feedback", "readiness check", or wants to collect, reconcile, and act on external reader feedback for a story project. --- # Feedback Triage ## Overview Process alpha/beta reader feedback as a structured, reconcilable workflow: collect per-reader feedback files, hold all revision until the round is complete, synthesize convergent/divergent/single-reader findings into a decision record with a readiness verdict, and hand a concrete revision plan to the `revision-continuity` skill. ## Prerequisites A story project with at least one drafted chapter (or a complete draft) that readers have read. Verify `story.md` exists in the project root. ## When to Use - Starting a feedback round (recruiting readers, sending chapters out) - Recording feedback as it arrives - Synthesizing a completed round into decisions - NOT for revising the manuscript (use `revision-continuity` with the synthesis's revision plan) - NOT for the agent's own critique of the draft (use `revision-continuity` audits; reader feedback is external input) ## Workflow ### 1. Set up the round 1. Decide the round scope: which chapters readers get (`chapters-read` range) and how many readers (2–4 per round is typical; one reader is a data point, not a round). 2. Create the round folder: `feedback/round-{N}/`. 3. For each expected reader, create a stub file from `references/feedback-template.md` at `feedback/round-{N}/{reader-kebab}.md` with frontmatter filled in and the body sections empty. The stub list is the round's checklist. ### 2. Collect feedback (the discipline) 1. As each reader's notes arrive, record them in their file using the template. Quote or closely paraphrase; do not editorialize yet. 2. Run the **canon check** on each problem note: verified against the bible, contradicts canon (usually a setup problem — note the canon file), or outside canon scope. Record the result in the file. 3. **Do NOT revise until all feedback for the round is in.** Revising on partial feedback optimizes for the first reader and invalidates the others' reads. If a reader is late, either wait or formally close the round without them (note it in the synthesis) — never silently proceed on a partial set. ### 3. Synthesize Only when every expected reader file is collected: 1. Read all reader files for the round. 2. Sort every finding into exactly one category: - **Convergent** — ≥2 readers agree independently. Strongest signal; becomes a revision item by default. - **Divergent** — readers disagree. Adjudicate: check both sides against canon and premise, record which side wins and why. - **Single-reader** — one reader only. Weigh by specificity: specific + canon-verifiable → investigate or accept; vague + taste-based → usually decline. - **Declined-with-reason** — explicitly rejected, with a recorded reason referencing canon, premise, genre contract, or craft principle. 3. Write `feedback/round-{N}/synthesis.md` using `references/synthesis-template.md`, including the frontmatter readiness verdict: `ready` | `needs-revision` | `not-ready`. 4. Build the numbered revision plan with concrete file targets. ### 4. Hand off the revision plan 1. Present the synthesis summary and readiness verdict to the user. 2. If the verdict is `needs-revision` or `not-ready`, hand the revision plan to the `revision-continuity` skill for execution. The synthesis is the input; revision-continuity owns the edits. 3. If the verdict is `ready`, the round is closed — proceed to the next round, the next drafting stage, or export. ## Conventions - Feedback lives under `feedback/round-{N}/`; `{N}` is a plain integer (`round-1`, `round-2`). - Reader files use kebab-case reader ids: `feedback/round-1/maria-chen.md`. - Every feedback file and the synthesis carry YAML frontmatter (`reader`, `round`, `chapters-read`, `overall-verdict` / `readers`, `readiness`). - Findings are quoted or closely paraphrased from readers, never invented. If a note is ambiguous, mark it ambiguous in the file rather than resolving it silently. - Declined findings always carry a recorded reason. A synthesis with unexplained rejections is incomplete. - Bidirectional discipline: when synthesis creates or resolves `continuity/questions/` entries (reader confusion often reveals clarity gaps), update those files too. ## CLI Maintenance Use the Story CLI when it is available. If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually. After creating or updating feedback files and synthesis: ```shell story reindex . story links . story validate . story continuity . ``` ## Reference Files - **`references/feedback-template.md`** - Per-reader feedback file template with frontmatter (`reader`, `round`, `chapters-read`, `overall-verdict`) and canon-check discipline - **`references/synthesis-template.md`** - Round synthesis template: convergent/divergent/single-reader/declined-with-reason categories, readiness verdict, revision plan
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.