NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-06-01KK1J7EDD0NVY896EX5ZH25ZD
Run Details
Model:
GPT-5.4
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
1m 5s
Cost:
$0.041215
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
92.64%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
55.86%
AI-ism word frequency
(details)
100.00%
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)
97.22%
Missing dialogue indicators (quotation marks)
(details)
100.00%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
52.65%
"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)
52.38%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
86.76%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
53.57%
Useless dialogue additions
(details)
0.00%
Dialogue tag variety (said vs. fancy)
(details)
86.3697%
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> <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> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the horror genre. A character is alone in a strange, isolated place at night. They came here for a reason, but something feels off from the moment they arrive. The wrongness builds slowly — sounds that shouldn't be there, things that move at the edge of vision, a growing certainty that they are not alone. Build tension through restraint, not through gore. Use the codex entries above as your world reference for the character and setting. Only include the prose of the scene without any markdown or commentary. </instructions>
Model response
Messages
Meta
AI
Aurora slipped through the last
gap in the iron railings and dropped into wet grass, her boots sinking with a soft kiss of mud.
Richmond Park stretched around her
in long black swathes, the sort of dark that swallowed shape and depth and left only hints behind. Behind her, the city still existed in pieces: a faint wash of amber sky, a distant siren, the low drone of a road. Ahead, the trees stood close and mute.
She pulled her phone from
her coat pocket and checked the time. 11:47. No signal.
The screen reflected her face
for a second—bright blue eyes, black hair caught by the wind, jaw set hard enough to ache—before it went black again. “Brilliant.”
Her breath smoked out in
front of her.
October cold had got its
teeth into the park.
She zipped her coat to
the throat and touched the pendant under her jumper through habit more than belief.
The Heartstone rested against her
sternum, warm already. Not body heat. A separate
warmth
. A
pulse
.
That was why she had
come. Three nights running, the pendant had heated in her sleep until it woke her. Not enough to burn. Enough to insist.
Tonight it had gone hot
while she
was folding
takeaway menus at the Golden Empress, and Yu-Fei had looked up from the till and narrowed her eyes. “You’re pale.” “Long day.”
Yu-Fei had glanced at Rory’s
chest as if she could see through wool and skin to the red stone beneath. “Then don’t go where the long day wants you.” Aurora had laughed then. A thin, false thing. She did not laugh now.
She knew where she was
heading.
Eva had once dragged her
through Richmond Park on a bright spring afternoon to show her a line of old oak stones hidden off the path. “Bit Blair Witch,”
Eva had said, standing on
one and pretending to cast a spell. Aurora had rolled her eyes. There had been bluebells then, and dog walkers, and children shrieking over ice cream. Safe things. Tonight, the paths looked wrong. Too narrow. Too pale. The shadows between the trees looked poured rather than cast. She walked anyway. Grass brushed her calves. Branches clicked overhead.
Somewhere to her right, deep
in the dark, something gave a single cough. Deer, she told herself. Park full of them. Massive, antlered things that could skewer you if they felt rude enough. Real danger. Useful danger. Better than the shapeless kind. The pendant gave another
pulse
. Heat spread through her chest and faded. “Fine,” she muttered. “Lead on.” Her voice went nowhere. The trees took it and did not throw it back.
She cut off the main
path and moved into the copse where Eva had brought her. Damp leaves dragged at her boots. The smell changed as she went—less open earth, more rot and cold bark, then something sweet threaded through it, floral and out of season. Wildflowers.
She stopped and crouched, brushing
gloved fingers through low growth. Petals. Soft. Fresh. “No chance.” The flowers crowded beneath the trees in pale knots—white and violet and a blue so clear it looked lit from within. In torchlight they would have looked cheerful. Under moonlight they
looked like open eyes
. Aurora straightened.
Her shoulders had climbed up
near her ears. She forced them down. The standing stones appeared one by one as she moved deeper in. Ancient oak pillars, half tree, half monument, each thick as a small car, roots curled above ground like knuckled fists.
Their bark had split with
age into black seams.
She could not remember them
seeming this tall before. Could not remember them leaning. The pendant burned hot.
She stepped closer to the
nearest stone. The air changed at once. Not warmer. Denser. Like stepping into a room after someone had shut all the windows.
Her ears gave a tiny
painful pop. “Right,” she whispered. “That’s not normal.” Something answered. Not a voice. A sound. Thin and high and distant, like laughter stretched until it became a whine. Aurora turned on the spot. Trees. Stones. Flowers. Nothing else. “Fox,”
she said, and hated how
small the word sounded. The whine came again.
It moved this time, crossing
behind her from left to right. Not through the air. Through the ground.
She felt it in the
arches of her feet.
She backed away from the
stone. The pressure in the air eased by a hair. The pendant cooled.
Her first sensible thought arrived
late and unwelcome: leave. She could go back the way she came, climb the railings, get a night bus if any still ran, and spend the rest of the night under three duvets with every light in the flat on. In the morning she could tell herself she had overworked, underslept, let an odd bit of jewellery and a patch of old trees get into her head.
Then the pendant thudded once
against her chest, hot as a coal, and all the hairs rose on her arms. Aurora looked down. A deep crimson glow seeped through her jumper in a thin, living line. “Of course.” She took another step towards the stones. This time she crossed between two of them. No dramatic flash. No thunder. No curtain of magic. The world simply slipped. The city hum died behind her as if a door had shut. The dark changed colour. The grass underfoot turned springy and lush. Flowers spread out in a wide clearing ahead, riotous and wrong, blooming in dense beds of gold, blue, white and red despite the season, despite the hour. Their scent hung thick enough to taste. The trees around the clearing stood silver-barked and still, every trunk smooth as bone. Aurora stopped dead. The Grove. She had not believed in it, not
really
, not in the part of her mind that balanced facts and dates and train times. She had filed every impossible thing from the last months into a temporary drawer marked deal with later. That drawer now burst open. Moonlight pooled in the centre of the clearing. The grass there looked combed. Nothing stirred.
Then a petal drifted past
her face. There was no wind. She turned to watch it fall. Ten more petals lifted from the flowers. Twenty. They rose in a loose spiral,
not up but around, circling an empty point in the air
. Aurora took one careful step back. A shape
flickered
at the edge of her sight. She spun left. Nothing. On her right, something moved again. Tall. Pale. She faced it and found only a stand of white foxgloves nodding in
silence
. “No,”
she said aloud, her voice firmer this time
. “No, you don’t get to do that.” The clearing listened. She dug her nails into her palms through her gloves and forced herself to breathe low and slow. Panic had a taste. Tin and old pennies. She knew it too well from other rooms, other nights, another kind of trap. She would not feed it. “A portal,” she said, because facts still mattered. “That’s what you do. Near a Hel portal.” The pendant answered with heat. She
scanned
the clearing for any break in the air, any distortion, any place where the flowers bent the wrong way. The moonlight made liars of shadows. Every patch of silver looked solid until she stared at it. Every dark patch
looked like depth
. Somewhere behind her,
very
close, something inhaled. Aurora froze. The breath came again. Slow. Wet at the edges. Her neck prickled. She turned inch by inch. Nothing stood behind her.
Just the ring of silver
trees and the narrow gap between two trunks where she had entered. She stared at that gap. It looked smaller now. Further away. A third breath touched the back of her coat collar. She
lurched
forward and whipped round so fast her boot skidded. Her torch beam from the phone flashed wild over flowers, trunks, grass. No one. Her
pulse
knocked at her throat. “This is funny to you?” The words flew out sharp. Angry. Easier than fear. The petals still circled in the centre of the clearing. Their motion had tightened. Faster now. The empty space inside the spiral had darkened into a knot, a hole no wider than a plate. The edges
shimmered
. Aurora felt the pendant flare against her chest in answer. There. Portal. She took one step towards it. A child laughed. Not distant this time.
Just beyond the trees to
her left. Clear as glass. High. Brief. Aurora’s breath stopped. Another laugh answered from the right. Then one behind her. She did not turn. She knew better now. She stared at the forming dark in the centre of the petals and spoke through clenched teeth. “If there’s someone there, come into view.” The left side of the clearing rustled. Flowers bowed. A pale shape slipped between the tree trunks, low to the ground and fast. Too long for a fox. Too smooth for a deer. It vanished the moment she focused on it. On the right, something rose upright behind a silver trunk. A narrow shoulder. A hand. No. Not a hand. Branches. Only branches. The laugh came again, right beside her ear. Aurora flinched and slapped a hand over the pendant through her jumper. Heat bit into her palm. The crimson glow burst brighter, enough to stain the front of her coat red. The spiral of petals in the clearing shuddered. The dark centre widened to the size of a dinner plate. Inside it, there was no reflection of moon or flower. Only depth. The laughter stopped. Silence hit hard. Every flower in the clearing bent at once, all their faces turned towards Aurora. Her mouth went dry. “Nope.” She backed away. The flowers remained fixed on her.
Even the closed buds had
angled their stems. A soft pattering began around the ring of trees. Footsteps. Bare feet on grass. Many of them. Circling. Never entering the light. Aurora turned
slowly
, tracking the sound. Nothing crossed into view. The silver trunks stood clean and empty. The patter continued, one circuit, then another, then faster until it became a restless skimming around the clearing’s edge. She had the mad thought that if she looked up, she would find faces in the branches watching through leaves. She did not look up. “Fine,” she breathed. “Fine. In, out. Grab what I need. Leave.” What she needed remained unclear, but standing still had become impossible. The dark opening in the centre of the petals
pulsed
now, not with light but with absence, each
pulse
tugging at the warm stone on her chest. She edged towards it. The circling
footsteps
slowed. One stopped directly behind her. Aurora shut her eyes for half a second, opened them, and kept walking. The grass changed texture under her boots near the centre. Softer. Damp. Not dew. The smell of flowers soured there, turning metallic and stale, like coins left in water. The portal’s edge
trembled
. Its darkness looked thick enough to touch. She crouched, one hand braced on her knee, and leaned close. Cold breathed from it. Deep cold. Ancient, dry, empty. Something moved inside. Not emerged. Moved. Far below, as if beneath black ice. Aurora jerked back. A voice rose from the hole, low and cracked, the sound of someone speaking through a throat full of dust. “Laila.” No one had called her that in months. Her
stomach
clenched so hard she folded over. Not fear alone. Recognition. The old name landed with the
weight
of a hand on the back of her neck. The voice came again, nearer. “Laila.” Aurora stared into the dark. Her own reflection did not stare back. Another face almost did. Pale blur. Dark eyes. Gone before it formed. Behind her, the ring of unseen feet resumed,
not circling now but stepping inward through the flowers, slow
and deliberate, blades whispering under their tread. Aurora rose at once and reached for the pendant, dragging it free from beneath her jumper. The Heartstone blazed in her fist, deep crimson under the moon, silver chain cutting across her knuckles. The glow washed over the nearest flowers. Their petals shrank from it. “Back off.” The words cracked across the clearing. The
footsteps
stopped.
created_at
"2026-03-06T12:33:44.374Z"
3/6/2026, 12:33:44 PM
model
"openai/gpt-5.4-20260305"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
411
moderation_latency
(null)
generation_time
64869
tokens_prompt
1038
tokens_completion
3139
native_tokens_prompt
916
native_tokens_completion
2595
native_tokens_completion_images
0
native_tokens_reasoning
0
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
usage
0.041215
router
(null)
provider_responses
0
endpoint_id
"9ff5625c-403f-4d7f-b895-58ac7295062c"
id
"resp_0d2704a6967598170169aac9a872288194925b7df4f7411ad8"
is_byok
false
latency
157
model_permaslug
"openai/gpt-5.4-20260305"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1772800424-IDiWTpH2CWkjKNMJoiEG"
upstream_id
"resp_0d2704a6967598170169aac9a872288194925b7df4f7411ad8"
total_cost
0.041215
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
7
adverbTagCount
1
adverbTags
0
"she said aloud [aloud]"
dialogueSentences
24
tagDensity
0.292
leniency
0.583
rawRatio
0.143
effectiveRatio
0.083
92.64%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2039
totalAiIsmAdverbs
3
found
0
adverb
"really"
count
1
1
adverb
"very"
count
1
2
adverb
"slowly"
count
1
highlights
0
"really"
1
"very"
2
"slowly"
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)
55.86%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2039
totalAiIsms
18
found
0
word
"warmth"
count
1
1
word
"pulse"
count
4
2
word
"flickered"
count
1
3
word
"silence"
count
2
4
word
"scanned"
count
1
5
word
"lurched"
count
1
6
word
"shimmered"
count
1
7
word
"footsteps"
count
3
8
word
"pulsed"
count
1
9
word
"trembled"
count
1
10
word
"stomach"
count
1
11
word
"weight"
count
1
highlights
0
"warmth"
1
"pulse"
2
"flickered"
3
"silence"
4
"scanned"
5
"lurched"
6
"shimmered"
7
"footsteps"
8
"pulsed"
9
"trembled"
10
"stomach"
11
"weight"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
271
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
271
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
288
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
36
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2036
ratio
0
matches
(empty)
97.22%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
9
unquotedAttributions
1
matches
0
"Deer, she told herself."
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
37
wordCount
1963
uniqueNames
11
maxNameDensity
0.92
worstName
"Aurora"
maxWindowNameDensity
2
worstWindowName
"Aurora"
discoveredNames
Park
3
Heartstone
2
Golden
1
Empress
1
Yu-Fei
2
Rory
1
Richmond
2
Aurora
18
Eva
3
Grove
1
Flowers
3
persons
0
"Heartstone"
1
"Yu-Fei"
2
"Rory"
3
"Aurora"
4
"Eva"
5
"Flowers"
places
0
"Park"
1
"Golden"
2
"Richmond"
globalScore
1
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
124
glossingSentenceCount
2
matches
0
"looked like open eyes"
1
"looked like depth"
52.65%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
3
per1kWords
1.473
wordCount
2036
matches
0
"not up but around, circling an empty point in the air"
1
"not with light but with absence, each pulse tugging at the warm stone on her ch"
2
"not circling now but stepping inward through the flowers, slow"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
288
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
119
mean
17.11
std
17.93
cv
1.048
sampleLengths
0
77
1
41
2
1
3
52
4
6
5
48
6
2
7
2
8
29
9
13
10
68
11
19
12
3
13
49
14
12
15
5
16
14
17
57
18
3
19
2
20
35
21
14
22
55
23
4
24
34
25
6
26
2
27
18
28
10
29
10
30
31
31
6
32
12
33
9
34
63
35
20
36
16
37
2
38
7
39
8
40
13
41
71
42
3
43
2
44
46
45
15
46
7
47
4
48
37
49
9
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
271
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
2
totalVerbs
310
matches
0
"was folding"
1
"was heading"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
4
semicolonCount
0
flaggedSentences
3
totalSentences
288
ratio
0.01
matches
0
"The screen reflected her face for a second—bright blue eyes, black hair caught by the wind, jaw set hard enough to ache—before it went black again."
1
"The smell changed as she went—less open earth, more rot and cold bark, then something sweet threaded through it, floral and out of season."
2
"The flowers crowded beneath the trees in pale knots—white and violet and a blue so clear it looked lit from within."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1969
adjectiveStacks
0
stackExamples
(empty)
adverbCount
75
adverbRatio
0.03809040121889284
lyAdverbCount
8
lyAdverbRatio
0.004062976130015236
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
288
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
288
mean
7.07
std
6.29
cv
0.889
sampleLengths
0
24
1
23
2
23
3
7
4
12
5
1
6
2
7
26
8
1
9
8
10
9
11
19
12
8
13
3
14
3
15
2
16
6
17
14
18
4
19
3
20
27
21
2
22
2
23
20
24
9
25
4
26
4
27
5
28
6
29
26
30
15
31
5
32
14
33
2
34
5
35
2
36
2
37
10
38
3
39
4
40
3
41
13
42
4
43
4
44
12
45
2
46
2
47
5
48
5
49
7
52.38%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
28
diversityRatio
0.37282229965156793
totalSentences
287
uniqueOpeners
107
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
10
totalSentences
213
matches
0
"Somewhere to her right, deep"
1
"Then the pendant thudded once"
2
"Then a petal drifted past"
3
"Somewhere behind her, very close,"
4
"Just the ring of silver"
5
"Just beyond the trees to"
6
"Then one behind her."
7
"Too long for a fox."
8
"Too smooth for a deer."
9
"Even the closed buds had"
ratio
0.047
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
58
totalSentences
213
matches
0
"She pulled her phone from"
1
"Her breath smoked out in"
2
"She zipped her coat to"
3
"She did not laugh now."
4
"She knew where she was"
5
"She walked anyway."
6
"Her voice went nowhere."
7
"She cut off the main"
8
"She stopped and crouched, brushing"
9
"Her shoulders had climbed up"
10
"She forced them down."
11
"Their bark had split with"
12
"She could not remember them"
13
"She stepped closer to the"
14
"Her ears gave a tiny"
15
"she said, and hated how"
16
"It moved this time, crossing"
17
"She felt it in the"
18
"She backed away from the"
19
"Her first sensible thought arrived"
ratio
0.272
86.76%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
159
totalSentences
213
matches
0
"Aurora slipped through the last"
1
"Richmond Park stretched around her"
2
"She pulled her phone from"
3
"The screen reflected her face"
4
"Her breath smoked out in"
5
"October cold had got its"
6
"She zipped her coat to"
7
"The Heartstone rested against her"
8
"A separate warmth."
9
"That was why she had"
10
"Tonight it had gone hot"
11
"Yu-Fei had glanced at Rory’s"
12
"Aurora had laughed then."
13
"A thin, false thing."
14
"She did not laugh now."
15
"She knew where she was"
16
"Eva had once dragged her"
17
"Eva had said, standing on"
18
"Aurora had rolled her eyes."
19
"There had been bluebells then,"
ratio
0.746
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
213
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
67
technicalSentenceCount
2
matches
0
"Richmond Park stretched around her in long black swathes, the sort of dark that swallowed shape and depth and left only hints behind."
1
"Yu-Fei had glanced at Rory’s chest as if she could see through wool and skin to the red stone beneath."
53.57%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
7
uselessAdditionCount
1
matches
0
"she said aloud, her voice firmer this time"
0.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
7
fancyCount
4
fancyTags
0
"Eva had (have)"
1
"she muttered (mutter)"
2
"she whispered (whisper)"
3
"she breathed (breathe)"
dialogueSentences
24
tagDensity
0.292
leniency
0.583
rawRatio
0.571
effectiveRatio
0.333
86.3697%