Story Multi-Perspective Review
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
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", "reader…
$ npx skills add danjdewhurst/story-skills --skill feedback-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install danjdewhurst/story-skills feedback-triage --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/danjdewhurst/story-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/feedback-triage .claude/skills/feedback-triage && 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 "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .claude/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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/danjdewhurst/story-skills/tree/main/skills/feedback-triageType 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 danjdewhurst/story-skills --skill feedback-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install danjdewhurst/story-skills feedback-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/feedback-triage .agents/skills/feedback-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .agents/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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 danjdewhurst/story-skills --skill feedback-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install danjdewhurst/story-skills feedback-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/feedback-triage .cursor/skills/feedback-triage && 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 "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .cursor/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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/danjdewhurst/story-skills.git --path skills/feedback-triage--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 danjdewhurst/story-skills --skill feedback-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install danjdewhurst/story-skills feedback-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/feedback-triage .gemini/skills/feedback-triage && 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 "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .gemini/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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 danjdewhurst/story-skills feedback-triageInstalls 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 danjdewhurst/story-skills --skill feedback-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/feedback-triage .github/skills/feedback-triage && 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 "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .github/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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 danjdewhurst/story-skills --skill feedback-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install danjdewhurst/story-skills feedback-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/feedback-triage .opencode/skills/feedback-triage && 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 "feedback-triage" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/feedback-triage into .opencode/skills/feedback-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feedback-triage", 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.
feedback-triageThis 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", "reader…
Feedback Triage is an agent skill from danjdewhurst/story-skills. 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", "reader readiness check", "review copy", "send the draft to readers", "share with readers who don't use GitHub", "triage the reader panel", or wants to collect, reconcile, and act on external reader feedback for a story project. NOT for running the simulated reader panel itself (use reader-panel), rounds with a professional editor…
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/feedback-template.md` and `references/synthesis-template.md`).
It sits in Writing & Content, covering Issue triage, Copy editing and proofreading and Creative writing and fiction. The repository describes itself as: Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c46163b. 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.
Shell commands in SKILL.md call:
gitnodeghFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Feedback Triage loads about 4k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 162 tokens; SKILL.md has 2,185 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 noted patterns worth knowing about, such as sudo or a known installer.
Look through it for private files (a `.env`, keys or credentials,`bunfig.toml` (which can run code) and `.env`, and a package script runs from the checkout's root. If no CLI is availabAutomated 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 danjdewhurst/story-skills at commit c46163b, republished under its MIT licence (© danjdewhurst). 2,185 words, ~4,030 tokens.
.claude/skills/feedback-triage/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
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.
revision-continuity with the
synthesis's revision plan)revision-continuity
audits; reader feedback is external input)reader-panel; this
skill synthesises the round it writes)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).
Create the round folder: feedback/round-{N}/.
Give readers a review copy they can open without a terminal. Build it from text you can get back, so the round can be rebuilt and old labels mapped later (step 2 of Collect). Save that text first:
Git project: work from the book's folder, the one that holds
story.md (cd there first), because -- . below means the
current folder. Check that .gitignore lists dist/ (story init
writes one that does; 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. 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 "Feedback round {N}" -- .
git tag feedback-round-{N}If the user declines the commit, never tag the last commit over an uncommitted tree: take a snapshot as below, or stop.
Project without git, or the user declined the commit: take a
snapshot with story snapshot feedback-round-{N} --path ..
Then build the stamped HTML copy from that text:
story build . --format html --stamp feedback-round-{N}Never push, and never move or delete a tag, without the user's
approval: a push to main can publish the manuscript through the
review-copy workflow below. The single-file HTML copy in dist/ has a table of
contents, the build stamp at the top, and a paragraph label beside every
paragraph (ch03-p12 is chapter 3, paragraph 12). A label is the
chapter and the paragraph's position in that build, not a permanent id:
any earlier edit in the chapter renumbers it, and story move changes
its chapter part. Ask readers to cite the label, the build stamp, and the
paragraph's first few words with each note.
GitHub review copy. This is the setup the other skills point to.
For a project on GitHub, offer the templates from the Story Skills
repository (https://github.com/danjdewhurst/story-skills,
templates/github/). The review-copy.yml workflow publishes the HTML
copy to GitHub Pages on each push to main, stamped with the date and
short commit, with a Note link beside every label (--note-url)
that opens the issue form prefilled with the label, build, and first
words. Like every build, it leaves out a matter page whose permission
is pending or unclear (warning permission-pending-left-out), so an
uncleared epigraph never reaches Pages; never add --include-pending
to the workflow. The ISSUE_TEMPLATE/manuscript-note.yml issue form asks readers
for the label, build, first few words, note type (typo or wording,
confusing, continuity, pacing, character, sensitivity or authenticity,
loved this, other), how much it affected their reading, and the note.
Before asking to copy them, warn that a public Pages site makes the
manuscript public unless the repository and Pages are private, and
confirm the visibility the user wants. Then copy them into the story
repository's .github/workflows/ and .github/ISSUE_TEMPLATE/ only
with the user's approval, and create a manuscript-note label first;
GitHub only applies existing labels.
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.
As each reader's notes arrive, record them in their file using the
template. Quote or closely paraphrase; do not editorialize yet. Keep
each note's paragraph anchor (ch03-p12) in its Where line; convert chapter
or page references from other formats to anchors when the location is
unambiguous. For notes filed through the issue form, fetch them with
gh issue list --label manuscript-note --state open --json number,title,body,author
and map the form's "How much did it affect your reading?" answer to the
template's severity: Made me want to stop reading is major (blocking
when several readers stopped at the same place), Pulled me out for a moment is minor, Barely noticed is nit, and a blank answer is
minor. A Typo or wording note with a blank answer is a nit unless
the reader says more.
Map old labels to the current text. When a note's build is older
than the manuscript, its label may point at a different paragraph now.
Resolve every label from the round in one run against the text the
round saved in step 1: the git tag (or the short commit in the note's
build stamp), or the snapshot of the same name when the project has no
git or the user declined the commit. A reader-panel round saved its
text the same way as panel-round-{N} instead of feedback-round-{N}.
git tag --list 'feedback-round-{N}' and story snapshot --list --path .
show which one the round has. Readers type labels into the issue form,
so before a label goes into the command, check that it is lower-case
letters, digits, and hyphens ending in -p and a number (ch03-p12,
front-epigraph-p1), and ask about any other. Quote each label:
story compare . --ref feedback-round-{N} --anchor 'ch03-p12' --anchor 'ch07-p4'For a snapshot, use --snapshot feedback-round-{N} in place of
--ref. Each line gives the current label: (text unchanged), or (edited, NN% similar) when the paragraph was revised (check it is the one the
reader meant). not found in the current text ("…") means the
paragraph was cut or rewritten past recognition: search the chapter for
the reader's quoted words, or the words shown, and mark the note
ambiguous if nothing matches. no such label means the label never
existed in that build: check the note's build and the reader's typing.
Record the current label in the Where line, keeping the reader's
original label in brackets. Sensitivity and authenticity reads use the same file shape;
see the editorial-review skill for commissioning them.
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.
Only when every expected reader file is collected. If the round's files
carry source: simulated, it is a panel round from the reader-panel
skill: follow "Simulated rounds" below as well.
feedback/round-{N}/synthesis.md using
references/synthesis-template.md, including the frontmatter readiness
verdict: ready | needs-revision | not-ready.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.ready, the round is closed — proceed to the next
round, the next drafting stage, export, or the submission skill.The reader-panel skill writes persona reads in this skill's file shape,
with source: simulated and persona in the frontmatter. A file without
source, or with source: human, is a human reader's. Synthesise a
panel round as usual, with these differences:
source: simulated in the synthesis frontmatter and
start the readiness line with "Simulated round:". Refer to the files by
persona ("the line-editor persona"), never as readers or beta readers.ready means. A simulated round's ready means ready for
human readers, nothing more. It never closes a book for submission or
publication; hand off to a human round, not to submission.editorial-review brief, never a finding that
a portrayal is fine.feedback/round-{N}/; {N} is a plain integer
(round-1, round-2).feedback/round-1/maria-chen.md.story build --format html
(ch03-p12) where available. Labels are paragraph positions in one
build, so tag and stamp each round's build, rebuild and resend the review
copy between rounds, and map an old label to the current text with
story compare . --ref <round-tag> --anchor '<label>' (or
--snapshot <round-name> when the round was saved as a snapshot; step
2.2) rather than reusing it after a revision.reader, round, chapters-read, overall-verdict / readers,
readiness). Simulated reads and their synthesis also carry
source: simulated; simulated reads carry persona.continuity/questions/ entries (reader confusion often reveals clarity
gaps), update those files too.Use the Story CLI when it is available. If story is not installed, use the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments. Use node <checkout>/bin/story.js instead only when the user names a Story Skills repository checkout or you are working in one. Write the script as an absolute path (resolve the fallback relative to this skill folder) and run it from the folder you would run story from, so . and other relative paths keep their meaning. Use Node, not Bun or a package script: Bun would load that folder's bunfig.toml (which can run code) and .env, and a package script runs from the checkout's root. 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 wordcount . --write
story check .references/feedback-template.md - Per-reader feedback file template with frontmatter (reader, round, chapters-read, overall-verdict, and source/persona for simulated reads), paragraph anchor citations, the review-copy note for readers, and canon-check disciplinereferences/synthesis-template.md - Round synthesis template: convergent/divergent/single-reader/declined-with-reason categories, readiness verdict, revision planEvery story skill follows the shared conventions in ../story-maintenance/references/conventions.md, resolved relative to this skill folder. Read it before creating, renaming, or linking story files. If that file is missing because this skill was installed without story-maintenance, the essentials are: kebab-case ids and filenames, YAML frontmatter on every story-project file, _index.md registry tables that story reindex rebuilds (never edit them by hand), bidirectional links between entities, characters for who is on the page and mentions for who is only referred to, status: deceased plus died-in: chapter-{NN} for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI).
© danjdewhurst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/feedback-triage of danjdewhurst/story-skills.
Open the folder on GitHubat commit c46163b
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in danjdewhurst/story-skills, which our catalogue first saw on October 7, 2026.
Feedback Triage 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 |
|---|---|---|---|---|---|---|
| Feedback Triage this skilldanjdewhurst/story-skills | 283 | 1 repos | ~4k | Automated safety check: Notes | MIT | |
| Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode | 7.4k | 3 repos | ~3k | Automated safety check: Pass | MIT | |
| Web Novel AI-Trace Removerzenstory-ai/oh-story-claudecode | 7.4k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| InkOS Story ReviewNarcooo/inkos | 10k | — | ~450 | Automated safety check: Pass | AGPL-3.0 | |
| Web Novel AI-Flavor Removeruu201/character-arc | 581 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Web Novel Polishing and De-AIuu201/character-arc | 581 | 1 repos | ~508 | Automated safety check: Pass | MIT |
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
zenstory-ai/oh-story-claudecode
Rewrites AI-sounding Chinese web novel text so it reads naturally, changing as little as possible and keeping plot, names and numbers intact.
Narcooo/inkos
Reviews chapters or manuscripts against the standard that fits their genre, audience and your own criteria, showing concrete issues and revising only when asked.
uu201/character-arc
Finds and rewrites AI-sounding passages in Chinese web novel text, changing as few words as possible while keeping plot, characters and names intact.
uu201/character-arc
Polishes AI-generated web novel text to remove machine-sounding patterns, with rewriting strategies, instruction templates, style techniques and before-and-after examples.
BingHanOfUESTC/open_agent_team
Calibrate Chinese genre-fiction prose against Boss-provided high-quality novel examples without copying source text, names, settings, or plot chains.
danjdewhurst/story-skills
This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a…
danjdewhurst/story-skills
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is the audiobook", "adapt to a screenplay"…
danjdewhurst/story-skills
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write…
danjdewhurst/story-skills
This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character…
danjdewhurst/story-skills
This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft", "write into the dark", "story kernel", "reconcile a chapter", "dead…
danjdewhurst/story-skills
This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this portrayal okay", "real people in my novel", "defamation", "can I use song…
Categories
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", "reader…. Feedback Triage is an agent skill from danjdewhurst/story-skills. 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", "reader readiness check", "review copy", "send the draft to readers", "share with readers who don't use GitHub", "triage the reader panel", or wants to collect, reconcile, and act on external reader feedback for a story project.
Feedback Triage fits situations like: asks to process beta reader feedback; alpha reader feedback; synthesize reader feedback; reader readiness check.
Run `npx skills add danjdewhurst/story-skills --skill feedback-triage -a claude-code`. Or copy the skill folder (skills/feedback-triage in danjdewhurst/story-skills) into .claude/skills/feedback-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add danjdewhurst/story-skills --skill feedback-triage -a codex`. Or copy the skill folder (skills/feedback-triage in danjdewhurst/story-skills) into .agents/skills/feedback-triage 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 danjdewhurst/story-skills --skill feedback-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/feedback-triage, .gemini/skills/feedback-triage, .github/skills/feedback-triage and .opencode/skills/feedback-triage in your project.
Going by SKILL.md and its folder, Feedback Triage needs the command-line tools its instructions call (git, node and gh).
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Feedback Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Feedback Triage: Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Web Novel AI-Trace Remover (zenstory-ai/oh-story-claudecode, 7.4k stars), InkOS Story Review (Narcooo/inkos, 10k stars) and Web Novel AI-Flavor Remover (uu201/character-arc, 581 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
danjdewhurst (a GitHub user) maintains it in danjdewhurst/story-skills, which has 283 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.
Source: danjdewhurst/story-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.