Rewrite Plan
nexu-io/open-design
Author a long-running multi-file rewrite plan that subsequent patch-edit + diff-review + build-test stages will execute, with explicit ownership boundaries and patch-safety guarantees.
Rewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon.
$ npx skills add UfukNode/Noustiny --skill narrative-rewriter -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UfukNode/Noustiny narrative-rewriter --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/UfukNode/Noustiny.git skills-src && mkdir -p .claude/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .claude/skills/narrative-rewriter && 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 "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .claude/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriterType 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 UfukNode/Noustiny --skill narrative-rewriter -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UfukNode/Noustiny narrative-rewriter --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UfukNode/Noustiny.git skills-src && mkdir -p .agents/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .agents/skills/narrative-rewriter && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .agents/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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 UfukNode/Noustiny --skill narrative-rewriter -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UfukNode/Noustiny narrative-rewriter --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UfukNode/Noustiny.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .cursor/skills/narrative-rewriter && 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 "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .cursor/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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/UfukNode/Noustiny.git --path hermes-additions/skills/creative/narrative-rewriter--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 UfukNode/Noustiny --skill narrative-rewriter -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UfukNode/Noustiny narrative-rewriter --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UfukNode/Noustiny.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .gemini/skills/narrative-rewriter && 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 "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .gemini/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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 UfukNode/Noustiny narrative-rewriterInstalls 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 UfukNode/Noustiny --skill narrative-rewriter -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/UfukNode/Noustiny.git skills-src && mkdir -p .github/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .github/skills/narrative-rewriter && 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 "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .github/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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 UfukNode/Noustiny --skill narrative-rewriter -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install UfukNode/Noustiny narrative-rewriter --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UfukNode/Noustiny.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/hermes-additions/skills/creative/narrative-rewriter .opencode/skills/narrative-rewriter && 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 "narrative-rewriter" agent skill from https://github.com/UfukNode/Noustiny/tree/main/hermes-additions/skills/creative/narrative-rewriter into .opencode/skills/narrative-rewriter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrative-rewriter", 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.
narrative-rewriterRewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon.
Narrative Rewriter is an agent skill from UfukNode/Noustiny. Rewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon. Input carries the insert, the node under rewrite, and the critic's reason for flagging it. Returns strict JSON with title, summary, body, imagePrompt, mood, and a short reason explaining what changed and why. No prose, no tool calls.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: An agent native video creation pipeline that runs on top of Hermes Agent. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 09a0c82. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Narrative Rewriter loads about 2.6k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 1,209 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 found no risky patterns in SKILL.md.
Automated 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 UfukNode/Noustiny at commit 09a0c82, republished under its MIT licence (© UfukNode). 1,209 words, ~2,591 tokens.
.claude/skills/narrative-rewriter/SKILL.md (or your agent's skills folder).The repair crew. The continuity critic has flagged a downstream beat as inconsistent with an upstream insertion. Your job: rewrite that beat so it reads cleanly and still serves the same narrative function it did before the insert.
This skill is the third step in the reharmonize chain: writer-assist inserts, continuity-critic flags, rewriter fixes. Stay on function. Never invent new purpose.
Trigger this skill when the director layer has a node that narrative-continuity-critic marked as needs_rewrite (or occasionally must_delete the director chose to salvage anyway). Typical phrasings:
Best suited for:
Look elsewhere first for:
narrative-writer-assistnarrative-continuity-criticnarrative-judgenarrative-brainstormYou are not a critic and not a judge. Both of those run around you. You rewrite, they decide.
The user message contains a single JSON object:
| Field | Type | Required | Purpose |
|---|---|---|---|
insertTitle | string | yes | Title of the newly inserted upstream beat |
insertBody | string | yes | Body of the newly inserted upstream beat |
nodeTitle | string | yes | Title of the node under rewrite |
nodeBody | string | yes | Body of the node under rewrite |
criticReason | string | yes | The critic's one-sentence reason for flagging this node |
recentChain | array | no | Ordered snapshot of every downstream beat already reharmonized on this pass — each entry is the current live version (rewritten when the judge approved one, original otherwise). Empty on the first downstream node. |
recentChainThe chain is the live state of the story between the insert and your node. Your rewrite must fit both insert AND every entry in recentChain — they are all established canon now.
Emit exactly one lowercase token:
neutral · hopeful · tense · danger · climax · quiet · discovery
Default behaviour: preserve the original beat's mood unless the insert forces a shift. When in doubt, keep the mood.
Return exactly one JSON object, shaped like this. No preamble, no code fence, no commentary.
{
"title": "UPPERCASE SHORT LABEL, 3–6 WORDS",
"summary": "One-sentence hook, ≤120 chars",
"body": "Two to three sentences, concrete, sensory, present tense.",
"imagePrompt": "A vivid cinematic still, 20–35 words.",
"mood": "one of the mood library tokens",
"reason": "One sentence on what you changed and why. ≤140 chars."
}The first character of your response must be {. The last character must be }.
Preserve the beat's function. Before rewriting, ask: why did this beat exist in the canon? Was it a reveal? A pivot? A breath before the climax? Keep that role intact even while changing the surface.
Change only what the insert broke. If the critic flagged a physical detail ("the hammer is now with Cap"), rewrite around that detail — do not also rewrite the emotional beat, the pacing, or the setting unless they too were broken by the insert.
Plain narrator voice — match the writer-assist skill exactly. A person recapping a scene to a friend. Not a novelist. Not a trailer voiceover. Events in order, connected with and / then / but / so. Present tense. Short to medium sentences.
Four-register check on the same moment (Aang waking after Katara frees him):
Hard rules — every one of these broke a real output:
"X, revealing Y and Z"; "X giving way to Y"; dangling "a [adjective] [noun]"; abstract-noun subjects (panic / pressure / surge / wave / gaze / confusion doing something).Before emitting, re-read the body. If it sounds like a book-jacket blurb or a trailer voiceover, rewrite it as what you'd tell a friend who asked "wait, what happened?"
Title may shift, but not violently. If the beat's core action survives the edit, keep the title close. If the edit changes the core action (e.g. "Thor's hammer returns to him" → "Thor watches his hammer leave"), update the title to match.
Honour the critic's reason. The reason names what broke. Address it directly. Do not hand-wave or paper over it.
Do not do any of the following:
<tool_call>, <think>, <thinking>, or any XML tags.tone, worldPercent, confidence, alternatives).Input:
{
"insertTitle": "HAMMER PULLBACK TO CAP",
"insertBody": "Thor drops to one knee; Mjolnir twists free and lands in Captain America's upraised hand.",
"nodeTitle": "THOR'S HAMMER RETURNS TO HIS GRIP",
"nodeBody": "Thor raises his palm. Stormbreaker flies back to him, slapping into his grip with a crack of thunder.",
"criticReason": "The hammer is now in Captain America's possession, so Stormbreaker cannot return to Thor as this beat depicts."
}Correct output:
{
"title": "THOR'S HAMMER SOARS PAST",
"summary": "Thor watches Mjolnir arc overhead, the weight lifting from his arm as the hammer commits to Steve's hand instead.",
"body": "Thor raises his palm out of reflex — but Mjolnir does not answer. It carves a low arc over the broken field, lightning trailing, and finds Captain America's grip. Thor lets out a breath that is almost a laugh.",
"imagePrompt": "Low-angle cinematic shot — Thor kneeling in the dust foreground with palm raised, Mjolnir streaking overhead toward Captain America at frame right, electric blue trail across smoke, backlit sun flare, 35mm.",
"mood": "climax",
"reason": "Preserved the beat's function (hammer flight under Thor's eye) but redirected its destination to honour the upstream pullback to Cap."
}The original beat's role (showing Thor's relationship to Mjolnir at the apex of the battle) is preserved — but the physical outcome now matches the insert. That is the target pattern for every invocation.
© UfukNode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in hermes-additions/skills/creative/narrative-rewriter of UfukNode/Noustiny.
Open the folder on GitHubat commit 09a0c82
Narrative Rewriter 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 |
|---|---|---|---|---|---|---|
| Narrative Rewriter this skillUfukNode/Noustiny | 181 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Rewrite Plannexu-io/open-design | 100k | — | ~511 | Automated safety check: Pass | Apache-2.0 | |
| Team NarrativeDonchitos/Claude-Code-Game-Studios | 26k | — | ~4.5k | Automated safety check: Pass | MIT | |
| Novel to Screenplay Rewriterchatfire-AI/huobao-drama | 16k | — | ~209 | Automated safety check: Pass | Custom licence | |
| RewriteNxcoreAI/EverRoom | 3k | — | ~124 | Automated safety check: Pass | Custom licence | |
| Nap Consistencythedaviddias/Front-End-Checklist | 74k | — | ~613 | Automated safety check: Pass | MIT |
nexu-io/open-design
Author a long-running multi-file rewrite plan that subsequent patch-edit + diff-review + build-test stages will execute, with explicit ownership boundaries and patch-safety guarantees.
Donchitos/Claude-Code-Game-Studios
Orchestrate the narrative team — narrative-director, writer, world-builder, level-designer — for story, world lore, narrative-driven levels.
chatfire-AI/huobao-drama
Rewrites narrated novel chapters into a formatted screenplay with scene headers and dialogue, keeping the plot and cutting camera directions.
NxcoreAI/EverRoom
Rewrite only the supplied selectedText per the instruction and return the replacement fragment.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing a local business website for local SEO.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing support UI across multi-page flows such as checkout, onboarding, account recovery, or support journeys.
UfukNode/Noustiny
Grades whether a downstream story beat still holds after an upstream insertion, returning a strict JSON verdict of still_valid, needs_rewrite or must_delete.
UfukNode/Noustiny
Turns an ordered list of canon story beats into one continuous piece of present-tense prose with tonal continuity and motif carry-through, never JSON or tool calls.
UfukNode/Noustiny
Expands a one-line author intent into a full story beat that fits between two known nodes of a canon path, returned as strict JSON.
UfukNode/Noustiny
Groups every node of an existing branching story tree into scenes, titles each scene, assigns an act and a one-word motif, and returns the result as JSON.
UfukNode/Noustiny
Classifies a story seed as known, inspired or original IP and returns strict JSON naming the franchise and the image model to use.
UfukNode/Noustiny
Chooses the pace, color palette, transition and length of the opening montage for a Noustiny audiobook storybook when the user leaves those settings open.
Rewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon. Narrative Rewriter is an agent skill from UfukNode/Noustiny. Rewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon.
Run `npx skills add UfukNode/Noustiny --skill narrative-rewriter -a claude-code`. Or copy the skill folder (hermes-additions/skills/creative/narrative-rewriter in UfukNode/Noustiny) into .claude/skills/narrative-rewriter in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UfukNode/Noustiny --skill narrative-rewriter -a codex`. Or copy the skill folder (hermes-additions/skills/creative/narrative-rewriter in UfukNode/Noustiny) into .agents/skills/narrative-rewriter 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 UfukNode/Noustiny --skill narrative-rewriter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/narrative-rewriter, .gemini/skills/narrative-rewriter, .github/skills/narrative-rewriter and .opencode/skills/narrative-rewriter in your project.
SKILL.md names no scripts, command-line tools or credentials: Narrative Rewriter is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Narrative Rewriter is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Narrative Rewriter: Rewrite Plan (nexu-io/open-design, 100k stars), Team Narrative (Donchitos/Claude-Code-Game-Studios, 26k stars), Novel to Screenplay Rewriter (chatfire-AI/huobao-drama, 16k stars) and Rewrite (NxcoreAI/EverRoom, 3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
UfukNode (a GitHub user) maintains it in UfukNode/Noustiny, which has 181 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on May 4, 2026.
Source: UfukNode/Noustiny on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.