NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-20-01KHY8AT2GQX653410MZY7BYH8
Run Details
Model:
Grok 4.1 Fast
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
50.1s
Cost:
$0.001765
Provider:
xAI
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)
34.33%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
99.98%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
83.33%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"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)
0.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)
96.15%
Sentence opener variety
(details)
0.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
58.54%
Subject-first sentence starts
(details)
36.50%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
41.67%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
85.0167%
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="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the literary fiction genre. Two old friends who haven't seen each other in years run into each other unexpectedly at a bar. One of them has changed significantly. Through their conversation and the tension between who they were and who they've become, reveal the weight of time and unspoken regret. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary. </instructions>
Model response
Messages
Meta
AI
Aurora pushed through the heavy
oak door of The Raven's Nest, the green neon sign above buzzing like a trapped hornet.
Soho's evening chill clung to
her coat, but inside, woodsmoke and spilled ale wrapped around her.
Walls sagged under pinned maps—faded
routes from forgotten wars—and black-and-white photos of stern faces stared down.
The place hummed low: a
couple murmured in a corner booth, glasses clinked behind the bar, jazz scratched from a corner speaker.
She scanned the room out
of habit, bright blue eyes cutting through the dim.
Shoulder-length black hair swung as
she shrugged off her coat, revealing the faded Golden Empress polo beneath.
Delivery shift done, flat upstairs
calling, but tonight she craved the bar's hush before bed.
Her wrist itched under the
sleeve, crescent scar a ghost
reminder
. The bartender limped into view, pouring a pint with steady hands. Grey-streaked auburn hair caught the low light, beard trimmed sharp. Silver signet ring glinted on his right hand as he slid the glass forward. Taller than she remembered, broader maybe, but the hazel eyes locked on hers and time cracked open. "Rory Carter."
His voice gravelled low, no
question in it. Pint paused mid-slide.
She froze, stool leg scraping
as she pulled it out. Six years. Last time, he'd been sharp-suited, no limp, slipping her an envelope of cash after Evan’s fists left bruises blooming. "Silas Blackwood. You own this now?"
He nodded once, eyes narrowing
as he wiped foam from the bar top. "Poured the first pint myself. What'll it be? On the house." "Whiskey. Neat." She slid onto the stool, elbows planting firm.
The bar's edge dug into
her forearms. Changed.
The man who'd ghosted her
through London's underbelly, pulling strings from shadows, now polished glasses with a rag. Limp from Prague, he'd said back then, but never detailed.
Now it defined him—left leg
dragging faint as he reached for the bottle.
He poured, amber liquid glugging
slow. Glass thunked down. "Heard you vanished after that mess with the ex. Eva rang me once. Said you bolted back to Cardiff." "Cardiff bolted me."
She lifted the glass, sipped
sharp burn. "Mum's lessons dried up, Dad's cases stacked endless. Needed London again. Flat upstairs still empty?" "Was." He leaned on the bar,
weight
shifting to his good leg. Ring tapped wood once. "Eva mentioned deliveries for Yu-Fei. Golden Empress treating you square?" "Fair." Smoke curled from his cigarette pack nearby; he didn't light one.
Her eyes flicked to the
photos behind him—one caught her: younger Silas, clean-shaven, arm slung over a man in desert fatigues. "You look... settled. No more shadows?" Laughter barked short, hazel eyes flicking away. "Shadows own the dark. I own the light now."
He straightened, poured himself a
finger of the same whiskey. "MI6 pension buys wood polish, not jets. You? Pre-Law star, top of Cardiff U. What dragged you to bikes and takeaways?"
She swirled the glass, ice
absent, liquid catching light like trapped fire. "Evan dragged first. Law chased after." Silence stretched, bar noise fading. A patron coughed, ordered gin. Silas served without breaking gaze. "You wrote once,"
he said, voice dropping
. "Postcard from the valleys. Said you'd finish the degree. Fight like your old man." "Brendan fights courtrooms. I fight traffic."
She traced the scar on
her wrist, sleeve riding up accidental. His eyes followed, lingered. "Still got that mark from the treehouse fall. Ten years old, you swore you'd sue gravity." "Eleven. And I climbed higher next day." Memories flooded: Cardiff summers, Silas visiting her father's firm on "consults." He'd taught her card tricks, lock picks with hairpins. Uncle Si, before the limp, before Prague. "You vanished too, after you pulled me out. No calls, no drops. Thought the ex got you." He sipped, throat working. "Prague got me first. Knee
shattered
on a rooftop. Brass cut the cord." Ring twisted on his finger, silver biting skin. "Opened this to keep busy. Contacts filter in. You needed space." "Space." Word hung bitter.
She downed the whiskey, heat
blooming chest. "Six years, Si. Eva said you asked after me. Why not find me?" Bar stool creaked as he shifted, limp more pronounced in the lean. "You fled for a reason. Evan’s type don't forget addresses." Hazel eyes hardened. "I handled him. Quiet. No cops, no trails." Her
pulse
jumped. Glass clinked down hard. "Handled?" "Left town. Canada-bound, last I heard."
He met her stare square
. "Regret that? Every dawn."
She exhaled slow, bar's maps
blurring. Old Silas would've grinned wolfish, spun a tale of shadows
dancing
. This one carried
weight
in his shoulders, grey streaks mapping losses. "I regret the postcard. Should've said thanks. You were the only one who saw." "Saw what?" Voice pitched low, patrons oblivious. "The bruises under sleeves. The calls I dodged." Fingers drummed the bar. "Thought law would fix me. Fix Dad's endless briefs, Mum's quiet tears. Ran instead." He reached across, stopped short of her hand. Ring gleamed. "Cardiff bred fighters. You climbed trees, picked locks. London's just another branch." "Not the same." Voice cracked faint; she straightened. "Delivery bags over briefs. Flat above a bar over lectures. Evan's ghost lingers. Yours does too." Jazz swelled, trumpet wailing loss. A couple laughed sharp nearby. Silas poured refills unasked, whiskey flowing like confessions. "Ghosts pay rent here," he said. "That back room? Bookshelf hides meetings. Old network trickles in. You upstairs again—helps." She glanced at the wall, maps whispering routes she'd never trace. "Helps you spy from a stool?" "Helps me watch doors." Limp dragged as he rounded the bar, vanished through swinging door to storeroom. Returned with a key, silver like his ring. "Flat's yours. No rent first month. Pay in stories." Key cold in her palm. Crescent scar itched twin. "Stories like Prague?" "Prague was rain and betrayal. Friend turned, bullet grazed. Limp's the souvenir." He tapped knee. "Regret pulling the trigger too late." She pocketed the key, eyes
tracing
his beard's new lines. "I regret not pulling mine on Evan. Law said wait for proof." "Proof lies bleeding." Words landed heavy. Bar emptied slow, last patrons stumbling out. Neon buzzed louder alone. Outside, rain pattered Soho streets. Inside, time pooled thick. "You changed," she said finally. "No more ghost. Just... this." "You changed." Counter-lean, hazel steady. "Eyes sharper. Hair shorter. But that scar—same daredevil." Daredevil. Word stung sweet. She stood, coat slung over arm. "Upstairs calls. Tomorrow's deliveries wait." He nodded, limped to the door, held it. Chill rushed in. "Rory. Time's thief, but thieves return." She paused threshold, rain misting face. "Some do." Door swung shut behind her. Stairs creaked underfoot to the flat above, key turning smooth. Whiskey warmed veins, but regret sat colder—
unspoken
bridges burned, rebuilt in glances. Silas wiped the bar below, ring catching light, maps watching silent. She dropped coat, sank onto bed. Window framed the Nest's sign, green glow pulsing. Six years gone, but Silas remained—limp and all, bar his anchor. Changed, yes. Steadier. She
traced
wrist scar, smiled thin. Tomorrow, she'd deliver, climb again. Ghosts paid rent, but fighters collected. Downstairs, Silas poured last whiskey, stared at her empty stool. Postcard yellowed in drawer, words faded: "Thanks, Uncle Si. Law next." Regret twisted like old knee. Time weighed pints heavy, but her return lightened the pour. Rain drummed roof. Jazz faded. Nest settled into night. Aurora woke to dawn grey, bag slung for Golden Empress runs. Stairs down, bar empty save Silas polishing glasses. Limp slower morning-stiff. "Coffee black," she said, sliding stool home. He poured, steam rising. "Shift starts?" "Yu-Fei waits." Mug warm in hands. Conversation flowed easy now—routes dodged, old locks picked in talk. "You ever miss the field?" she asked mid-sip. "Miss the run. Not the fall." Ring tapped mug. "You miss court?" "Miss the fight. Not the chains." Eyes met, blue on hazel. Tension eased, regret shared in silences. Patrons trickled in, day breaking. She rose, bag zipped. "See you tonight." "Count on it." Door chimed shut. Silas watched her bike vanish into Soho bustle. Changed, both. Time's
weight
lifted fraction—old friends reclaimed. But evenings brought depth. That night, bar fuller, she returned coat damp. "Busy roads?" He slid whiskey unasked. "Ghosts in traffic." Sat taller. "Tell me Prague full." He leaned close, voice for her ears. Rain lashed windows. "Budapest first, trail to Prague. Partner—Jakub—sold coords. Rooftop chase, knee buckled mid-leap. Bullet for him, limp for me." She nodded slow. "Evan sold trust. Fists for proof." Mirrors held truths. "Regret not ending it cleaner?" "Regret believing." Glass empty. "You?" "Believing brass."
Laughter shared, low
. Hidden room called later. Bookshelf swung on her nudge—key from pocket. Inside, maps newer, files stacked. "Network?" she asked. "Threads." He limped in, shut door. "Join?" Scar itched. "Deliveries first." Threads wove night. Regret
unspoken
faded in action—plans sketched, stories traded. Weeks blurred. Flat filled her touch: books law-tossed, bike parked. Bar wove them tight. One night, storm raged. Patrons fled early. They sat alone, whiskey halved. "You saved me twice," she said. "Cardiff visits, London pullout." "Family owes." Hazel softened. "Brendan asked once—keep eye." "Dad knew?" "Guessed." Ring spun. "Regret not sooner." She covered his hand brief. "Time thieves back." Storm broke dawn. Nest stood firm. Change settled: spy to owner, student to rider. Friends bridged years, regrets voiced in pours. She climbed bikes daily, but evenings Nest-bound. Silas limped less in rhythm. Unspoken lifted—
weight
shared, time reclaimed. Soho
pulsed
on.
created_at
"2026-02-20T19:27:23.74Z"
2/20/2026, 7:27:23 PM
model
"x-ai/grok-4.1-fast"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
872
moderation_latency
(null)
generation_time
49952
tokens_prompt
1094
tokens_completion
2827
native_tokens_prompt
1105
native_tokens_completion
3133
native_tokens_completion_images
0
native_tokens_reasoning
855
native_tokens_cached
151
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.00176485
router
(null)
provider_responses
0
endpoint_id
"9821aa0e-dce3-4c27-9716-161359123d0b"
id
"ef531b6f-ae15-71d1-0ddf-6cc68a509692"
is_byok
false
latency
452
model_permaslug
"x-ai/grok-4.1-fast"
provider_name
"xAI"
status
200
api_type
"completions"
id
"gen-1771615643-h8LcrCCeg4tdWdK9Eksy"
upstream_id
"ef531b6f-ae15-71d1-0ddf-6cc68a509692"
total_cost
0.00176485
cache_discount
0.00002265
upstream_inference_cost
0
provider_name
"xAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
36
adverbTagCount
1
adverbTags
0
"she said finally [finally]"
dialogueSentences
84
tagDensity
0.429
leniency
0.857
rawRatio
0.028
effectiveRatio
0.024
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1599
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
100.00%
AI-ism character names
Target: 0 AI-default names (16 tracked, −20% each)
codexExemptions
0
"Blackwood"
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
34.33%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1599
totalAiIsms
21
found
0
word
"chill"
count
2
1
word
"scanned"
count
1
2
word
"reminder"
count
1
3
word
"weight"
count
4
4
word
"flicked"
count
1
5
word
"silence"
count
1
6
word
"traced"
count
2
7
word
"shattered"
count
1
8
word
"pulse"
count
1
9
word
"dancing"
count
1
10
word
"tracing"
count
1
11
word
"unspoken"
count
3
12
word
"tension"
count
1
13
word
"pulsed"
count
1
highlights
0
"chill"
1
"scanned"
2
"reminder"
3
"weight"
4
"flicked"
5
"silence"
6
"traced"
7
"shattered"
8
"pulse"
9
"dancing"
10
"tracing"
11
"unspoken"
12
"tension"
13
"pulsed"
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
154
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
154
filterMatches
(empty)
hedgeMatches
(empty)
99.98%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
199
gibberishSentences
1
adjustedGibberishSentences
1
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
1
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
27
ratio
0.005
matches
0
"\"Mum's lessons dried up, Dad's cases stacked endless. Needed London again. Flat upstairs still empty?\""
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1567
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
15
unquotedAttributions
0
matches
(empty)
83.33%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
71
wordCount
1045
uniqueNames
34
maxNameDensity
1.05
worstName
"Silas"
maxWindowNameDensity
2.5
worstWindowName
"Silas"
discoveredNames
Raven
1
Nest
5
Golden
2
Empress
2
Pint
1
Evan
1
London
1
Prague
2
Ring
5
Silas
11
Cardiff
1
Uncle
1
Si
1
Word
2
Fingers
1
Jazz
2
Returned
1
Bar
3
Soho
4
Counter-lean
1
Daredevil
1
Regret
2
Conversation
1
Eyes
1
Tension
1
Sat
1
Laughter
2
Hidden
1
Scar
1
Hazel
2
Nest-bound
1
Changed
3
Limp
3
Glass
3
persons
0
"Raven"
1
"Nest"
2
"Empress"
3
"Pint"
4
"Evan"
5
"Ring"
6
"Silas"
7
"Uncle"
8
"Si"
9
"Word"
10
"Fingers"
11
"Jazz"
12
"Regret"
13
"Conversation"
14
"Eyes"
15
"Tension"
16
"Laughter"
17
"Scar"
18
"Hazel"
19
"Limp"
20
"Glass"
places
0
"London"
1
"Prague"
2
"Cardiff"
3
"Bar"
4
"Soho"
5
"Hidden"
globalScore
0.974
windowScore
0.833
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
73
glossingSentenceCount
0
matches
(empty)
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1567
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
199
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
79
mean
19.84
std
14.81
cv
0.746
sampleLengths
0
75
1
57
2
52
3
13
4
37
5
24
6
59
7
28
8
25
9
26
10
39
11
47
12
33
13
21
14
21
15
16
16
51
17
36
18
24
19
33
20
8
21
15
22
42
23
7
24
26
25
22
26
24
27
18
28
19
29
17
30
34
31
12
32
21
33
22
34
17
35
9
36
10
37
13
38
15
39
17
40
8
41
38
42
45
43
36
44
9
45
22
46
7
47
6
48
16
49
8
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
154
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
257
matches
(empty)
0.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
11
semicolonCount
2
flaggedSentences
12
totalSentences
199
ratio
0.06
matches
0
"Walls sagged under pinned maps—faded routes from forgotten wars—and black-and-white photos of stern faces stared down."
1
"Now it defined him—left leg dragging faint as he reached for the bottle."
2
"\"Fair.\" Smoke curled from his cigarette pack nearby; he didn't light one."
3
"Her eyes flicked to the photos behind him—one caught her: younger Silas, clean-shaven, arm slung over a man in desert fatigues."
4
"\"Not the same.\" Voice cracked faint; she straightened."
5
"Whiskey warmed veins, but regret sat colder—unspoken bridges burned, rebuilt in glances."
6
"Six years gone, but Silas remained—limp and all, bar his anchor."
7
"Conversation flowed easy now—routes dodged, old locks picked in talk."
8
"Time's weight lifted fraction—old friends reclaimed."
9
"Bookshelf swung on her nudge—key from pocket."
10
"Regret unspoken faded in action—plans sketched, stories traded."
11
"Unspoken lifted—weight shared, time reclaimed."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1068
adjectiveStacks
0
stackExamples
(empty)
adverbCount
17
adverbRatio
0.015917602996254682
lyAdverbCount
4
lyAdverbRatio
0.003745318352059925
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
199
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
199
mean
7.87
std
5.08
cv
0.645
sampleLengths
0
21
1
16
2
16
3
22
4
14
5
17
6
15
7
11
8
11
9
10
10
14
11
17
12
10
13
3
14
10
15
2
16
19
17
6
18
13
19
11
20
10
21
7
22
1
23
18
24
10
25
13
26
6
27
3
28
19
29
10
30
15
31
12
32
4
33
10
34
12
35
21
36
6
37
7
38
19
39
21
40
12
41
11
42
5
43
5
44
7
45
14
46
17
47
4
48
16
49
27
96.15%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
2
diversityRatio
0.5829145728643216
totalSentences
199
uniqueOpeners
116
0.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
0
totalSentences
137
matches
(empty)
ratio
0
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
41
totalSentences
137
matches
0
"She scanned the room out"
1
"Her wrist itched under the"
2
"His voice gravelled low, no"
3
"She froze, stool leg scraping"
4
"He nodded once, eyes narrowing"
5
"She slid onto the stool,"
6
"He poured, amber liquid glugging"
7
"She lifted the glass, sipped"
8
"He leaned on the bar,"
9
"Her eyes flicked to the"
10
"He straightened, poured himself a"
11
"She swirled the glass, ice"
12
"he said, voice dropping"
13
"She traced the scar on"
14
"His eyes followed, lingered."
15
"He sipped, throat working."
16
"She downed the whiskey, heat"
17
"Her pulse jumped."
18
"He met her stare square"
19
"She exhaled slow, bar's maps"
ratio
0.299
58.54%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
110
totalSentences
137
matches
0
"Aurora pushed through the heavy"
1
"Soho's evening chill clung to"
2
"Walls sagged under pinned maps—faded"
3
"The place hummed low: a"
4
"She scanned the room out"
5
"Shoulder-length black hair swung as"
6
"Delivery shift done, flat upstairs"
7
"Her wrist itched under the"
8
"The bartender limped into view,"
9
"His voice gravelled low, no"
10
"Pint paused mid-slide."
11
"She froze, stool leg scraping"
12
"He nodded once, eyes narrowing"
13
"She slid onto the stool,"
14
"The bar's edge dug into"
15
"The man who'd ghosted her"
16
"He poured, amber liquid glugging"
17
"Glass thunked down."
18
"She lifted the glass, sipped"
19
"He leaned on the bar,"
ratio
0.803
36.50%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
1
totalSentences
137
matches
0
"Now it defined him—left leg"
ratio
0.007
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
33
technicalSentenceCount
1
matches
0
"The man who'd ghosted her through London's underbelly, pulling strings from shadows, now polished glasses with a rag."
41.67%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
36
uselessAdditionCount
6
matches
0
"She slid, elbows planting firm"
1
"He leaned, weight shifting to his good leg"
2
"he said, voice dropping"
3
"She traced, sleeve riding up accidental"
4
"Memories flooded, Silas visiting her father's firm on"
5
"Laughter shared, low"
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
8
fancyCount
1
fancyTags
0
"Door chimed (chime)"
dialogueSentences
84
tagDensity
0.095
leniency
0.19
rawRatio
0.125
effectiveRatio
0.024
85.0167%