NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-02-01M1HH1C5PTZHPDQEJNYTGM6QJ
Run Details
Model:
Qwen 3.8 Flash (Reasoning)
Test:
Bad Writing Habits
Scenario:
Fantasy: entering an ancient ruin
Duration:
2m 18s
Cost:
$0.006348
Provider:
Alibaba
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
100.00%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
74.03%
AI-ism word frequency
(details)
66.67%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
83.33%
Name drop frequency
(details)
47.54%
Narrator intent-glossing
(details)
96.10%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
51.35%
Sentence opener variety
(details)
40.40%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
17.58%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
85.8999%
Overall
Model input
System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4418" name="Nyx" aliases="Nyx, the Shadow, Nightwhisper" pronouns="they/them" species="Shade" storyRole="Wild Card"> <eyeColor>faintly glowing violet</eyeColor> <height>approximately 6'2" in solid form</height> <age>ageless</age> <form>humanoid silhouette of living shadow, can shift between solid and incorporeal</form> <voice>sounds like a whisper carried on the wind</voice> <description>A being of living shadow, existing between the mortal plane and the spaces between realms.</description> <backstory>Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643. They now exist as a Shade, bound to the mortal plane but able to slip between shadows.</backstory> </character> <character id="4424" name="Isolde Varga" aliases="Isolde, the Seer" pronouns="she/her" species="Half-Fae" storyRole="Oracle"> <eyeColor>pale lavender</eyeColor> <hair>silver, reaching her waist</hair> <height>5'5"</height> <age>300 years old</age> <appearance>ethereal, ageless</appearance> <speech>speaks in riddles</speech> <footprints>leaves no footprints when she walks</footprints> <compulsion>cannot lie (Fae compulsion) but can mislead</compulsion> <description>A Half-Fae seer exiled from the Fae Courts for sharing visions with mortals.</description> <backstory>She now lives in a hidden grove in Richmond Park, offering cryptic prophecies to those who seek her out.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <item id="2006" name="Fae-Forged Blade" aliases="the Fae blade, Isolde's gift" type="Weapon" origin="The Fae Courts"> <material>moonsilver</material> <shape>slender, leaf-shaped dagger</shape> <temperature>always cold to the touch</temperature> <glow>faintly luminescent in moonlight</glow> <power>can cut through magical wards; particularly effective against demons</power> <givenTo>given to Aurora by Isolde as a gift</givenTo> <description>A weapon of the Fae Courts, rare and highly coveted.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the fantasy genre. A small group enters an ancient, otherworldly place for the first time. The environment is alien and wondrous. Describe their exploration — what they see, hear, and feel as they move deeper. Include moments of discovery, unease, and wonder. Let the world-building emerge through the characters' experience rather than exposition. Use the codex entries above as your world reference for characters, setting, and lore. Only include the prose of the scene without any markdown or commentary. </instructions>
Model response
Messages
Meta
AI
Winter solstice pressed the afternoon
thin over Richmond Park.
Frost lay on the path
in patches, each one edged by a thread of smoke that moved without wind.
Aurora kept to the middle
of the gravel, hands deep in her coat, and counted the times the Heartstone pendant knocked against her breastbone.
The crimson stone had gone
warm twice before they left the city, warm enough to make her expect a burn.
Nyx walked beside her, mostly
as a shape cut from the low sun. At moments the silhouette gathered muscle, shoulders, height, a mouth that looked like a seam, then lost itself again.
Violet light moved behind the
seam when they looked toward the trees. Nyx’s mouth moved. “Stop staring. The shadows will ask why you feed them.”
Isolde had stopped ahead at
a ring of oaks. The trees were not healthy, not in the sense a council would write down, and their trunks stood flat-sided like stones.
Moss had grown across them
in pale letters.
The half-Fae oracle stood in
the ring with her silver hair loose around her waist.
Her pale eyes were the
same colour as frost under a blue lamp.
She left no prints in
the snow around her boots. Rory’s breath fogged. “This is the grove?” Isolde turned one hand upward. “This is the mouth. The grove is the throat.”
Rory kept her hands in
her pockets. “Nice.”
The air inside the stone
ring
shimmered
, then parted. Through it, Rory saw flowers.
Winter had not entered that
place. White petals, violet bells, low blue stars of forget-me-nots carpeted a slope of green moss. Light came from nowhere obvious, golden and thick as syrup.
The smell hit after the
sight: wet honey, green stem, old rain, something sweet and rotten underneath. Nyx went solid enough to step forward. The shadow at their feet broke into thin threads, then reknit. Isolde’s voice carried no
warmth
. “Step where I step. The roots are awake. Some of them have opinions.” Rory crossed the last yard of frost. The threshold did not feel like a line under her shoes.
It felt like being swallowed
by a cold cloth. A second later the park’s distant traffic stopped. Birdsong replaced it, too clear, each call spaced as if performed by a careful musician. She checked her phone. The screen showed no signal, and the clock hands had gone slack, one pointing up, one pointing down, then both pointing at the standing stones. Nyx looked at the watch screen. “Time’s chewing its own tail here.” Isolde walked ahead between the flowers. Petals tracked her without bending, as if the flowers watched through their own petals. One blossom opened wider as Rory passed, showing a black centre like a pupil. The child-scar on her left wrist prickled when she pulled the blade from its pocket inside her coat. The moonsilver dagger
felt like a shard of frozen pond, and a
faint glow moved along the leaf-shaped edge even without moon. Rory pressed her thumb against the flat of the blade and waited. The glow rose, brighter, then
pulsed
once, as if it had heard something. Her voice came small. “What is it?” Isolde did not stop. “A door that has learned to dislike visitors.” The moss path widened into a clearing. At its far side, an oak had grown around a crack in the air. The crack ran from low branch to root, black and narrow, edged in amber light. The Heartstone pendant knocked hard against Rory’s ribs and heated.
She yanked the chain from
her shirt and stared. The deep crimson gemstone glowed as if a coal had been set behind it. Nyx’s form lost its shoulders and spread low to the ground, a smear of dark moving away from the light. “Hel.” Rory’s
stomach
dropped. Not fear only. Hunger. A sharp, empty pull that made the mouth water and the teeth ache. Isolde stood beside the seam, looking
not at it but through it
. “The Veil is thin. Winter solstice peels it like fruit skin.” Rory lifted the Fae blade. The moonsilver glowed against the amber edge of the crack.
She set the tip to
the seam. Ward-
silence
answered first, a pressure against her ears, then the blade sank through the black line as if through water and hot oil at once. The air split with a sound like glass cracking inside a loaf. Beyond the seam, Dymas opened. Amber sky spread overhead, low and warm, without sun or moon. Vineyards ran down black hills in long rows, heavy with fruit. Orchards bloomed in every shade of red, gold, purple. Gardens climbed the terraces beside houses with curved roofs and doors too large for people. The smell changed instantly. The grove’s green sweetness vanished under roast meat, sugar, bread, oil, wine, citrus, all layered in a warm gust that touched Rory’s face like a hand.
They stood at the edge
of a terrace path, high enough to see the valley. A table stretched down the slope, long as a railway train, covered in white cloth and dishes. Bowls, plates, spoons, silver knives, clay pots, trays of glazed fruit, loaves split with steam still rising, cups filled with dark liquid. No diners sat there. No chairs moved. A single bee, fat and copper-bright, flew from a honey pot to a plate and back again. Rory’s mouth went dry. “Feast.” Nyx’s voice came low. “Market. Feast is the lie.” Isolde stepped onto the path first.
Her footprints did not appear
in the red dust. “Dymas feeds everyone. Not everyone remains everyone.” Rory followed. The path was warm, fever-warm, and the red dust pressed around her trainers. The pendant cooled a little. The
warmth
did not leave, but it moved from the stone to her skin, a faint tide pulling toward the amber sky. Vines grew beside the path, tendrils curling around stone posts. Each bunch of grapes
pulsed
. The berries were black on the outside and red at the seam. One burst when a shadow passed. Juice ran down the stem and dripped onto a plate below the vine, where a fork stood stuck upright
as if waiting for a hand
. Nyx moved away from the vine, their feet lifting without touching the dust. “Touch nothing.” Rory stopped. “What does?” Nyx rose into a taller shape, but not solid.
Their face looked like an
ink drawing left in rain. “What it is.” They moved deeper. A row of garden gates appeared, each made from a different food material: bread crusts braided into iron, apple skins hardened and varnished, slabs of cheese carved with sigils, fish scales layered like roof shingles. The gates opened before they reached them. Not swung. Opened. The hinges made no noise. Beyond one gate, an orchard of pomegranates bowed low. The fruit had faces. Not human faces. Too many eyes. The eyes were shut. Rory looked away. A voice rose from below the terrace, singing. It was not one voice.
It was many, all holding
the same note. Words came through the amber air, too low to catch. The song had the rhythm of a knife on board. Rory tightened her hand on the blade. “Who cooks without hands?” Isolde’s eyes stayed fixed ahead. “Many people.” “Who are you inviting?” Isolde’s silver hair brushed the pomegranate rinds. “The question belongs to Dymas.”
They descended a stair cut
from a single loaf of stone, each step shaped like a slice. The lower path led through a kitchen garden where lettuces grew upright and folded their leaves like fans. Carrots
hung in the air
by their greens, roots swinging free of soil. Onions wept blue tears. The smell of garlic and rosemary struck so hard Rory coughed, and each cough came out tasting of black pepper. A pot bubbled at the edge of a fireless hearth. The pot was black iron and tall enough for a person. Inside, liquid turned over itself without flame.
It steamed in the shape
of hands, then collapsed. Rory leaned closer. The surface showed
not broth but reflections: a restaurant kitchen at night, golden lanterns
, a wok breathing fire, Yu-Fei Cheung’s hands flipping noodles, her mother’s voice saying dinner is ready, Evan’s door opening. She jerked back. The pot went still. Isolde stood beside a rack of drying herbs. “Do not taste the stories. This realm serves them with the meal.” Rory swallowed. Her mouth had gone dry. The crescent scar on her wrist itched again. “I didn’t choose a story.” Isolde’s gaze slid to Rory’s wrist. “Everyone eats with a mouth they did not choose.” Nyx slid along the hearthstone, then rose behind the pot with too much height. The shade peered into the liquid. The surface did not show Nyx.
Their violet eyes flickered, and
for the first time since the grove, their
whisper
lost its wind. “That is rude.” The garden path opened onto the banquet table’s far end. Up close, the food looked better than good. It looked wrong. A roast bird lay on a silver platter, skin golden, herbs stuffed tight.
Its head sat turned back
on the neck, eye open, beak curved around a sprig of sage. A wheel of cheese had a bite taken from its edge, then another bite, then another, arranged in a spiral around the rind. Bread loaves had
been sliced
and reassembled with their crumbs gone. Wine in glass cups climbed up the sides of the cups, slow as ivy, refusing to be poured. Rory stepped behind the table. The cloth warmed through her coat. She touched a small plate. A piece of fig rested there, split open, flesh red and black. The cut fruit bore a pale crescent scar, exactly like the one on her wrist. She pulled her hand back fast enough to knock a silver spoon. The spoon did not clatter. It sank into the fig’s juice with a soft hiss. The amber sky
flickered
, then steadied. The copper bee landed on the edge of her plate. Its wings stopped moving. One of its eyes looked at her. Isolde stood beside a long loaf shaped like a sleeping dog. “Dymas does not open for guests.” Rory lifted the Heartstone. The pendant’s glow had spread down the silver chain and set a red trail across her palm. She looked at the fig. “Then why does it know my name?” The bee opened its mouth.
Instead of a sting, a
tiny voice came out, thin as a thread of smoke. “More.” The word rolled across the banquet table. Every spoon lifted one inch from the plates. The wine climbed faster. From the valley beyond, the singing voices returned, closer now, and the sound of many feet moved between the vine rows. Rory stepped back from the table, Fae blade raised, its glow cold in the warm light. Nyx spread across the red dust behind her, solid shoulders vanishing into shadow. Isolde remained motionless among the food, her silver hair catching no movement from the air, her lavender eyes fixed on the place where the singing began. The first of the vineyard workers came into view at the edge of the tables: tall, flour-dusted, with long fingers and aprons stained to the colour of old roses. They carried cleavers, ladles, trays, knives. Their mouths were closed. Their stomachs moved beneath their coats, pushing and pulling, as if something inside them
was eating
without them. Nyx slid toward the seam they had cut. The amber air behind the portal had thickened, and the grove beyond looked green, still, and far away.
created_at
"2026-09-02T17:00:39.133Z"
9/2/2026, 5:00:39 PM
model
"qwen/qwen3.8-flash-20260826"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
897
moderation_latency
(null)
generation_time
132374
tokens_prompt
1763
tokens_completion
14201
native_tokens_prompt
1866
native_tokens_completion
13421
native_tokens_completion_images
(null)
native_tokens_reasoning
10853
native_tokens_cached
1792
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
num_fetches
(null)
web_search_engine
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"stop"
service_tier
(null)
usage
0.006347642
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))"
http_referer
(null)
request_id
"req-1788368439-EtM7wmeefppJXKhb4OJN"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1788368439-ovqujtUulHfybzFx6XIA"
upstream_id
"chatcmpl-8cd7a3b5-96c5-90c9-ac64-68c2a2cdddd5"
provider_responses
0
endpoint_id
"84b1e4a7-5aed-4464-818f-1994f0b4ee18"
id
"chatcmpl-8cd7a3b5-96c5-90c9-ac64-68c2a2cdddd5"
is_byok
false
latency
897
model_permaslug
"qwen/qwen3.8-flash-20260826"
provider_name
"Alibaba"
status
200
total_cost
0.006347642
cache_discount
0.000240128
upstream_inference_cost
0
provider_name
"Alibaba"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1925
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
74.03%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1925
totalAiIsms
10
found
0
word
"shimmered"
count
1
1
word
"warmth"
count
2
2
word
"pulsed"
count
2
3
word
"stomach"
count
1
4
word
"silence"
count
1
5
word
"flickered"
count
2
6
word
"whisper"
count
1
highlights
0
"shimmered"
1
"warmth"
2
"pulsed"
3
"stomach"
4
"silence"
5
"flickered"
6
"whisper"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"stomach dropped/sank"
count
1
1
label
"hung in the air"
count
1
highlights
0
"stomach dropped"
1
"hung in the air"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
171
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
171
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
198
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
35
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1925
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
1
unquotedAttributions
0
matches
(empty)
83.33%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
62
wordCount
1781
uniqueNames
12
maxNameDensity
1.24
worstName
"Rory"
maxWindowNameDensity
2.5
worstWindowName
"Rory"
discoveredNames
Richmond
1
Park
1
Heartstone
3
Rory
22
Fae
3
Dymas
1
Yu-Fei
1
Cheung
1
Evan
1
Nyx
12
Isolde
13
One
3
persons
0
"Rory"
1
"Dymas"
2
"Yu-Fei"
3
"Cheung"
4
"Evan"
5
"Nyx"
6
"Isolde"
7
"One"
places
0
"Richmond"
1
"Park"
globalScore
0.882
windowScore
0.833
47.54%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
122
glossingSentenceCount
5
matches
0
"looked like a seam, then lost itself agai"
1
"felt like being swallowed by a cold clo"
2
"felt like a shard of frozen pond, and a"
3
"as if waiting for a hand"
4
"looked like an ink drawing left in rain"
96.10%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
2
per1kWords
1.039
wordCount
1925
matches
0
"not at it but through it"
1
"not broth but reflections: a restaurant kitchen at night, golden lanterns"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
198
matches
0
"entered that place"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
84
mean
22.92
std
25.56
cv
1.115
sampleLengths
0
72
1
44
2
3
3
10
4
76
5
3
6
4
7
5
8
9
9
7
10
1
11
62
12
18
13
5
14
13
15
79
16
6
17
6
18
74
19
25
20
4
21
3
22
4
23
8
24
69
25
20
26
1
27
20
28
12
29
11
30
59
31
5
32
76
33
78
34
4
35
1
36
4
37
5
38
15
39
7
40
42
41
58
42
13
43
2
44
2
45
2
46
19
47
3
48
53
49
26
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
171
matches
0
"being swallowed"
1
"been sliced"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
1
totalVerbs
280
matches
0
"was eating"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
198
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1792
adjectiveStacks
0
stackExamples
(empty)
adverbCount
56
adverbRatio
0.03125
lyAdverbCount
4
lyAdverbRatio
0.002232142857142857
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
198
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
198
mean
9.72
std
6.54
cv
0.673
sampleLengths
0
9
1
19
2
24
3
20
4
13
5
19
6
12
7
3
8
10
9
9
10
21
11
8
12
15
13
13
14
10
15
3
16
4
17
5
18
9
19
7
20
1
21
9
22
5
23
6
24
15
25
10
26
17
27
7
28
11
29
5
30
13
31
7
32
11
33
9
34
8
35
15
36
4
37
25
38
6
39
6
40
6
41
14
42
14
43
18
44
22
45
12
46
13
47
4
48
3
49
4
51.35%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
10
diversityRatio
0.3383838383838384
totalSentences
198
uniqueOpeners
67
40.40%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
2
totalSentences
165
matches
0
"Too many eyes."
1
"Instead of a sting, a"
ratio
0.012
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
28
totalSentences
165
matches
0
"Her pale eyes were the"
1
"She left no prints in"
2
"It felt like being swallowed"
3
"She checked her phone."
4
"Her voice came small."
5
"She yanked the chain from"
6
"She set the tip to"
7
"They stood at the edge"
8
"Her footprints did not appear"
9
"Their face looked like an"
10
"They moved deeper."
11
"It was not one voice."
12
"It was many, all holding"
13
"They descended a stair cut"
14
"It steamed in the shape"
15
"She jerked back."
16
"Her mouth had gone dry."
17
"Their violet eyes flickered, and"
18
"It looked wrong."
19
"Its head sat turned back"
ratio
0.17
17.58%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
146
totalSentences
165
matches
0
"Winter solstice pressed the afternoon"
1
"Frost lay on the path"
2
"Aurora kept to the middle"
3
"The crimson stone had gone"
4
"Nyx walked beside her, mostly"
5
"Violet light moved behind the"
6
"Nyx’s mouth moved."
7
"Isolde had stopped ahead at"
8
"The trees were not healthy,"
9
"Moss had grown across them"
10
"The half-Fae oracle stood in"
11
"Her pale eyes were the"
12
"She left no prints in"
13
"Rory’s breath fogged."
14
"Isolde turned one hand upward."
15
"Rory kept her hands in"
16
"The air inside the stone"
17
"Winter had not entered that"
18
"Light came from nowhere obvious,"
19
"The smell hit after the"
ratio
0.885
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
165
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
81
technicalSentenceCount
3
matches
0
"At moments the silhouette gathered muscle, shoulders, height, a mouth that looked like a seam, then lost itself again."
1
"Ward-silence answered first, a pressure against her ears, then the blade sank through the black line as if through water and hot oil at once."
2
"Their stomachs moved beneath their coats, pushing and pulling, as if something inside them was eating without them."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
0
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
0
85.8999%