Prose Coach
Prompt used for the lightweight General Coach observation.
Releases
Install NovelAI scripts: scope and permissionsPermissions and compatibility are declared by the uploader. Uploaded script code is not automatically security-audited or tested by this platform. Script owners can delete releases.
v1.6.62
0600a662c5502383...Changelog
As a document got larger, this script got slower, way slower. Fixed that! Thank goodness, really.
Author-declared permissions
No permissions declared by the uploader.
v1.6.61
872282e0a3968360...Changelog
It is better about not grabbing up two separate lines at once.
Author-declared permissions
No permissions declared by the uploader.
v1.6.60
4b977a4353c8797f...Changelog
Refactor pass to cut out some of the buildup over time.
Author-declared permissions
No permissions declared by the uploader.
v1.6.59
67b14f2066c0b9af...Changelog
In the config of the script, you can now say how many paragraphs around the text to look. The default is 1, the current behavior, examine the paragraph you're in.
2: current + previous paragraph
3: previous + current + next
4: two previous + current + next
Continues alternating backward, then forward
Maximum: 9 paragraphs
More context, maybe less mistakes, but more tokens/time being used. Weigh the prose and cons.
Pun intended.
Author-declared permissions
No permissions declared by the uploader.
v1.6.58
cec65662d497ba45...Changelog
Now sends lorebooks along with the context as needed, so maybe less hallucinations.
Author-declared permissions
No permissions declared by the uploader.
v1.6.56
517ef88d3d0b2659...Changelog
The coaching lines can now be turned off.
The buttons at the top now wrap automatically.
Author-declared permissions
No permissions declared by the uploader.
v1.6.55
48be96192fce5ab0...Changelog
Oops, quiet crash fixed.
Author-declared permissions
No permissions declared by the uploader.
v1.6.53
609046cf62cfdfe4...Changelog
I patched Prose_Coach.naiscript so every api.v1.generate(...) request now goes through a shared generateWithBudgetWait(...) helper.
That helper:
counts uncached input tokens with api.v1.script.countUncachedInputTokens(...)
checks api.v1.script.getAllowedInput() and api.v1.script.getAllowedOutput()
waits with waitForAllowedInput() / waitForAllowedOutput() until both budgets are sufficient
only then calls api.v1.generate(...)
I routed all current generation paths through it:
SDT coaching
SDT cluster coaching
tag coaching
adverb coaching
passive coaching
general coach sub-calls
general revision coaching
Author-declared permissions
No permissions declared by the uploader.
v1.6.52
7923051a219ad529...Changelog
Dialogue-boundary handling was reworked across SDT, tags, adverbs, and passive detection so quoted speech is excluded much more aggressively.
The detector pipeline was refactored toward a dialogue-first model:
sentence parsing now preserves offsets and quote state
shared sentence analysis uses source positions and source-line context instead of trying to rediscover sentence placement from text matches
quote-less dialogue continuation fragments are now filtered by parser state plus line-level quote parity
The old repeated per-detector rescanning was consolidated into a shared analysis pass, which improved refresh speed.
Manual Refresh was restructured:
it now returns quickly and runs heavy work on a timer tick
it shows in-progress feedback immediately
the general coach step is deferred so detector results land sooner
Refresh UI feedback was added:
button state changes while running
immediate Refreshing analysis... toast
completion and failure toasts remain
In short: 1.6.52 is the dialogue-leak reduction and refresh-responsiveness build.
Author-declared permissions
No permissions declared by the uploader.
v1.6.51
1030996d846aff01...Changelog
Prodded it to be better still about dialogues, and a bit smarter about coaching.
Author-declared permissions
No permissions declared by the uploader.
v1.6.49
2fe283b16c1479eb...Changelog
Finish hunting down where dialogue leaks into detection.
Author-declared permissions
No permissions declared by the uploader.
v1.6.48
f189f84b3c1d8a9d...Changelog
Fix fix. Stop detecting speech, dang it.
Author-declared permissions
No permissions declared by the uploader.
v1.6.46
aa8686720103d96c...Changelog
It's better at tracking dialogue and thus less false positives.
Author-declared permissions
No permissions declared by the uploader.
v1.6.45
73cc474ff3a4272b...Changelog
More soft targets for Adverbs and SDT tags. They won't immediately trigger a squeal, but it's more ways for it to scan for and notice when they're bunching up.
Author-declared permissions
No permissions declared by the uploader.
v1.6.44
a3cee92f3912c730...Changelog
Looks for more SDT tags.
Author-declared permissions
No permissions declared by the uploader.
v1.6.43
ad99655d388e2af2...Changelog
- Added a shared stripBBCode() helper.
- splitIntoSentences() now sentence-splits on BBCode-stripped text, so tags like [i]...[/i] stop confusing boundary detection.
- getNarration() now strips BBCode before it decides what counts as narration vs dialogue.
Author-declared permissions
No permissions declared by the uploader.
v1.6.41
0171ea4bfa573f24...Changelog
The meaningful changes are:
- detectTagFlags() now recognizes narration sentences adjacent to dialogue, so patterns like "Leave." He sighed. no longer get skipped.
- coachGeneral() now actually honors general_prompt config before falling back to the hardcoded three-call behavior.
- General-coach generation now uses state.config.temperature instead of a hardcoded 1.0.
- The top-level behavior comment now matches reality: the script can edit the document when replace features are used.
Author-declared permissions
No permissions declared by the uploader.
v1.6.39
a4b3e424a181b5b2...Changelog
- Sentence splitting no longer flattens paragraphs together.
- Show-don’t-tell clusters cannot group flags across \n.
- Cluster rewrite prompts cannot pull context past a linebreak.
- General “specific line to strengthen” rewrite now receives only one selected line of context, not the whole analysis window.
Author-declared permissions
No permissions declared by the uploader.
v1.6.38
a0b41cb9fb42a952...Changelog
Now also looks for passive voice. It tries to be more confident before bothering you here since it really isn't sure. Will not be done automatically ever.
Author-declared permissions
No permissions declared by the uploader.
v1.6.37
89844643226dd0ef...Changelog
Now looks for adverbs (-ly words, quickly, strongly, etc.) and advises how to strengthen the verb/words instead of using them. Allows replace, auto replace, retry and all the other goodies already present.
Author-declared permissions
No permissions declared by the uploader.
v1.6.35
5605805e2a4a2f20...Changelog
Bug fix, the auto buttons weren't actually usable... oops.
Author-declared permissions
No permissions declared by the uploader.
v1.6.33
f1d7c57c6c04e3ae...Changelog
Okay, so, you like the changes. What if you just want them without the clicking? Turn on auto replace! Enjoy the problems just erasing themselves quietly. Will pause and wait if quota runs out, but will get it done eventually.
Author-declared permissions
No permissions declared by the uploader.
v1.6.31
8583945e8e3395ad...Changelog
Now it clusters problems if close together, and can replace them all too! In theory. Enjoy!
Author-declared permissions
No permissions declared by the uploader.
v1.6.27
45b2643482c21bdf...Changelog
Now adds scores/priorities to what it finds, low, medium, high, so you know what you're facing. Should have less false-positives.
Author-declared permissions
No permissions declared by the uploader.
v1.6.23
a3a2942185e5f3f6...Changelog
There is now a handy auto-scan button to make it stop auto-scanning without visiting any option pages.
Author-declared permissions
No permissions declared by the uploader.
v1.6.20
6e8f85597f2ad9e7...Changelog
Bugfixes and such.
Author-declared permissions
No permissions declared by the uploader.
v1.6.19
e355b81acb8d3a50...Changelog
Behavior changed in the replace path:
If the entire replaced range was already marked ai, the full replacement is now marked ai.
If the replaced range was human/prompt or mixed, the existing diff behavior remains: carried-over words stay human/prompt, newly introduced words are marked ai.
Author-declared permissions
No permissions declared by the uploader.
v1.6.18
69bd22147e23cb91...Changelog
When using the replace action, any original text the user has made that is used again in the generated text will be marked as 'edited' instead of 'ai', since you made that, not the AI. We got your back.
Author-declared permissions
No permissions declared by the uploader.
v1.6.17
bcedb9740b922a51...Changelog
When highlighting text and asking for advice, you can now replace and also retry what you get for more happiness!
Author-declared permissions
No permissions declared by the uploader.
v1.6.8
6936b961f8ec038d...Changelog
On a failed generation, get a retry button.
Author-declared permissions
No permissions declared by the uploader.
v1.6.7
e07221cbcc7dc6dc...Changelog
1.6.7 -- You can now RETRY anywhere you're thinking about 'is this quite right to put in?'
Author-declared permissions
No permissions declared by the uploader.
v1.6.5
33899471f0eda902...Changelog
You can now click the advice part of the coach and get more pointed advice(with find/replace button if you like it!)
Author-declared permissions
No permissions declared by the uploader.
v1.6.3
c0d520a9f6a8855f...Changelog
The varied coach actually works now, oops.
Author-declared permissions
No permissions declared by the uploader.
v1.6.0
4498f3a6af0b6c66...Changelog
How about a bigger general coach? That's what your getting. How the flow is, where weaknesses are seen, and a general look at the overall story.
Author-declared permissions
No permissions declared by the uploader.
v1.5.5
e9e89b19a18d0f52...Changelog
It's better at detecting dialogue and the many sentences that live within and thus should not be scanned for filler.
Author-declared permissions
No permissions declared by the uploader.
v1.5.4
b97f8902bee1ae12...Changelog
detectTagFlags was scanning the entire raw sentence for tag verbs, including everything inside the quotes. So "Miss Octavia said I needed more practice" — the said inside the reported speech — matched EXPLANATORY_TAG_VERBS and triggered a false flag.
The fix applies the same getNarration() stripping that SDT detection already used: extract only the non-dialogue portions of the sentence, then scan those for tag verbs. A real attribution tag like he said, shrugging will still get caught because said and shrugged appear in the narration outside the quotes. But said buried inside quoted speech is now invisible to the detector.
Author-declared permissions
No permissions declared by the uploader.
v1.5.3
43b4087e0e575716...Changelog
When you replace, it will update the changed text as AI generated, since it will be.
Author-declared permissions
No permissions declared by the uploader.
v1.5.2
1b2c71b59fbdfc6b...Changelog
It now offers a direct replace button if you want to go ahead and replace with the found answer.
Author-declared permissions
No permissions declared by the uploader.
v1.5.0
38470f6dbd37e153...Changelog
Selection extraction — was using sectionId >= fromId && sectionId <= toId which only works if IDs happen to be sequential. Now uses findIndex to locate the from/to sections by identity in the document-ordered array, then iterates by array position. Works regardless of how NovelAI assigns IDs.
Prompt framing — context menu selections now get the original multi-paragraph prompt ("identify 1-2 specific sentences...") with 500 token budget, while auto-detected single-sentence flags keep the targeted single-sentence prompt with 300 tokens. Previously both used the single-sentence prompt, which is why multi-paragraph selections were getting confused responses.
Author-declared permissions
No permissions declared by the uploader.
v1.4.1
9e9710c493f4d0d1...Changelog
Oops, bugfix.
Author-declared permissions
No permissions declared by the uploader.
v1.4.0
ba197ac263dfe54a...Changelog
Three categories now in the SDT panel, each with its own icon and prompt:
🔭 filter verb — perception routed through awareness (felt, heard, realized) — prompt pushes toward direct sensory experience
📢 telling word — evaluative adjectives (terrifying, miserable) — prompt pushes toward specific evocative detail
⚡ reaction tell — named reactions (yelped, flinched, relief, dread) — prompt pushes toward body language and physical sensation without naming the reaction
Author-declared permissions
No permissions declared by the uploader.
v1.3.0
dcc673b6fb7c239a...Changelog
When making a suggestion, it won't suggest the dang word that got it flagged in the first place.
Author-declared permissions
No permissions declared by the uploader.
v1.1.0
5c0b9286203fd35b...Changelog
Initial release: Prompt used for the lightweight General Coach observation.
Author-declared permissions
No permissions declared by the uploader.