NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-18-01KM07J8DV2DWH7FEB0JJD3NH9
Run Details
Model:
GPT-5.4 Nano
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
19.4s
Cost:
$0.005646
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
87.97%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
69.92%
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)
0.00%
Name drop frequency
(details)
0.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)
43.54%
Em-dash & semicolon overuse
(details)
92.84%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
39.84%
Sentence opener variety
(details)
54.87%
Adverb-first sentence starts
(details)
40.58%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
20.58%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
91.67%
Useless dialogue additions
(details)
96.15%
Dialogue tag variety (said vs. fancy)
(details)
76.8208%
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
The Raven’s Nest wore its
dimness like a second skin. Green neon bled over the entrance and reached in through the doorway, painting the grime on the window frames the colour of stolen emeralds. Inside, soot-dark beams held up the low ceiling.
The air tasted of citrus
cleaner and old spirits.
Maps and black-and-white photos crowded
the walls—thin paper oceans, cities with cigarette smudges, faces frozen mid-laugh or mid-alarm.
Aurora Carter pushed inside and
let the door click shut behind her.
She shook rain from the
shoulders of her jacket.
The sound of it—small beads
scattering—cut through the bar’s muffled music.
She stood for half a
second, eyes bright and restless, taking in the room like she had done it a hundred times without ever learning to stop noticing it.
She didn’t head for the
middle of the place. She moved along the perimeter, where the shadow held steady and the conversations stayed small.
Her delivery shift had ended
hours ago, and her shoes still carried the ache of London streets.
She loosened her scarf at
the throat and
scanned
for the
familiar
shape of the man behind the counter. Silas Blackwood wasn’t behind it. She felt the absence first. Then she saw him.
He stood near a corner
that used to be empty, leaning
slightly
—his old knee reminding him it still had opinions. Grey-streaked auburn hair sat neat on his head, and the trimmed beard made his face
look
cut from something sturdier than it had years ago.
He wore a plain shirt
under his jacket, sleeves rolled as if he might step into a conversation and take it apart. On his right hand, a silver signet ring caught the neon and held it for a moment.
His eyes found her and
didn’t flinch. Aurora’s steps slowed.
Her fingers tightened around the
strap of her bag.
She stared, then made herself
move. She didn’t walk
quickly
.
She walked like she had
somewhere to be and enough patience to get there. Silas pushed off the wall and came toward her.
His limp kept time with
his stride.
He looked at her the
way people used to—like he
measured
the distance between who you were and who you might become. “Aurora,”
he said, and the name
landed solid on the floorboards. Rory. Laila. Malphora. Names her friends had used in the wild years.
Her mother’s voice when she’d
been small.
Her own name when she’d
signed forms and pretended it was only paperwork. Silas said Aurora like it was a promise he hadn’t cashed in yet. Aurora stopped just out of reach of his hands. The space between them felt too wide and too narrow at the same time. “You’ve got the timing of a spymaster,” she said. The sentence came out sharper than she planned.
Her blue eyes narrowed, taking
in every change and every stubborn
familiar
thing—the same calm, the same watchful gaze. “I walked in and you appear like a bad habit.” Silas’s mouth tugged at one side. It wasn’t a grin, not exactly. It
looked like a man who had held onto jokes
and stopped using them. “You always did talk first,” he said. “Even when you had no right to.” Aurora scoffed. It broke more than it softened. She looked at his ring again, the silver catching green light. “You still dress like a man who knows who’s listening.” “I own a bar,” Silas replied, voice even. “People listen anyway.” Someone laughed at the other end of the room. A glass clinked. Aurora heard it and felt, for a second, like she’d fallen into a memory she didn’t own. “What—” She stopped. She swallowed and tried again, slower. “What are you doing here?” Silas glanced past her shoulder,
as if checking the room for an angle that wouldn’t show up in his face
. “I run The Raven’s Nest.” Aurora stared at him. The neon made his hazel eyes
look
darker than she expected. “You ran away to London,”
she said, and the words came with a weight she hadn’t asked them to carry
. “You said you’d be back in Cardiff for a proper pint and you disappeared. I wrote letters.” Silas’s gaze hardened, just enough to show he remembered. “You sent letters?” “I sent letters.” Her voice climbed toward anger and found only strain. “You didn’t answer.” Silas lifted a hand and touched the signet ring, slow, thumb rubbing the smooth edge. “I kept you off my trail,” he said. “It cost me.” Aurora leaned forward like she could shake the explanation out of him. Her hair fell over her shoulder, straight and black, and the rain in it dried into a sheen. “Cost you? Silas, I lost years. I lost—” Her throat tightened. She cut the sentence before it reached for something too personal. Silas watched her like he could read the places she refused to name. “I’m here now,” he said. “Now,” Aurora repeated. She looked down, not because she needed to, but because her hands had
started to
shake. She forced them still by tightening the strap of her bag. The small crescent scar on her left wrist tugged at her attention when she adjusted her sleeve. It
felt like an old echo
. “You
look
like someone who survived his own mistakes.” Silas’s eyes
flickered
to her wrist and back up. His expression changed in a way she didn’t have a word for. Concern dressed as caution. “You
look
like someone who learned to keep moving,” he said. Aurora’s laugh came out thin. “Keep moving. That’s what everyone calls it when they don’t want to call it running.” Silas stepped closer, and the bar’s smell of whiskey and citrus cleaner clung to him. He didn’t offer a hand. He didn’t need to. Their proximity made the years between them heavy enough to press on her ribs. “Rory,” he said, quieter now. “You came back.” Aurora blinked. “I didn’t— I live in London.” Silas’s
eyes narrowed
. “You came back to my orbit. That’s what I meant.” Aurora’s jaw tightened. “You talk like I’m a message you intercepted.” Silas held her gaze. “You were always a message.” The words landed and stayed. Aurora didn’t like what they did to her memory. She didn’t like how the past sat between them like an object neither of them wanted to pick up. She turned her head
slightly
and took in the bar behind him. The maps on the wall looked older than the building itself. A black-and-white photograph near the end of the room showed a group of men outside a doorway in Prague. The date beneath it
was smudged
. Aurora’s skin tightened. “Prague,” she said without meaning to. Silas followed her glance to the photo. His shoulders eased down a fraction, like he’d been bracing for a different kind of blow. “It wasn’t supposed to go like that,” he said. Aurora stared at him. “It didn’t go like that because you did what you always did. You made a plan. You left everyone else to bleed in the gaps.” Silas didn’t interrupt. His
silence
didn’t feel defensive. It felt like he’d already heard the accusation in his head for years and kept it pinned there. “Aurora,” he began, and she snapped her eyes back to him. “Don’t use my name like that,” she said. “You used to use it when you wanted me to trust you.” “I wanted you alive,” Silas replied. The words carried less heat than she expected, which made them worse. “I didn’t know how to do that without disappearing.” Aurora’s mouth went dry. She
tried to
swallow and found she couldn’t. “It’s funny,”
she said, and the humour sounded wrong on her tongue
. “I spent years believing you’d chosen something noble. Like you’d sacrificed yourself for the greater good. I never thought you’d do it because you didn’t know how to stay.” Silas’s gaze stayed steady. “You don’t know what I knew.” “I know what I felt.” Aurora’s voice shook now, and she hated it. She steadied it by forcing her shoulders back. “I felt you leave. I felt you cut the rope and let me swing until I hit the floor.” Silas’s face shifted—small movements, tiny betrayals of emotion. The corner of his mouth tightened. His eyes stayed hard but something behind them softened. “I didn’t cut you loose,” he said. “I cut myself off.” Aurora looked at him like the difference mattered. It didn’t, not to the girl she’d been. It didn’t to the woman she had become. “You always loved technicalities,” she said. Silas’s breath came out through his nose. “You always loved a fight.” Aurora’s stare dropped to his knee. The limp didn’t hide. It marked him in the open, like a scar someone had decided to let stay visible. “What happened to your leg?” she asked. It came out gentler than she intended. The question surprised her as it left her mouth. Silas’s eyes followed hers. He adjusted his
weight
on the floorboards, and the movement made the injury speak again. “Knee injury from an old operation,” he said. He kept it plain. No drama. “I kept walking anyway.” Aurora felt the urge to turn away, because sympathy
felt like betrayal of her anger
. She refused it. “And you didn’t tell me,” she said. “You didn’t even tell me you were hurt.” Silas held her gaze. “What would you have done with it?” Aurora let out a short breath. “I would’ve worried.” “That’s exactly why I didn’t tell you,” Silas replied. Aurora stared at him, then laughed once, the sound flat. “So you decided my worry was a liability.” “I decided your worry would turn into action,” he said. “And action would get you killed.” Aurora’s hands clenched. She pictured herself in Cardiff, older than she had been back then, the letters she’d written with shaking fingers. She pictured London’s streets, the nights she had waited for answers that never arrived. She pictured her ex, the one she hadn’t named in years, the way fear had taught her how to keep her back straight and her voice quiet. “Evan,” she blurted. Silas’s eyes sharpened. “You had a relationship with Evan.” Aurora froze. She hadn’t meant to say the name aloud to him. The name still
tasted like metal in her mouth
. Her delivery shoes squeaked
slightly
as she shifted her
weight
. “You said you disappeared,” Silas continued. “But you didn’t disappear from my reports. I saw what he did to you.” Aurora’s chest tightened so hard it hurt. “You saw.” “I saw enough,” Silas said. Aurora’s voice dropped to a near
whisper
. “How would you know anything about it?” Silas didn’t
look
away. His signet ring glinted again as he moved his hand
slightly
. “Because you weren’t as hidden as you thought.” Aurora’s anger returned, bright and clean. “So while I bled in
silence
, you watched from a distance and kept your hands off the rope.” Silas’s expression didn’t change, but his shoulders carried the truth of the argument. “I watched. I didn’t know how to stop him without bringing trouble to you.” “That’s your habit,” Aurora said. “You’re always thinking about the consequences for everyone else, then you leave yourself out of the math.” Silas took in a slow breath and let it out. He stepped back, just a fraction, and looked at her from a new angle, like he had decided the conversation needed room. “Do you remember the night by the docks?” he asked. Aurora blinked. Her mind flashed to a cold winter air, the smell of river water, and the way she’d been twenty and furious at the world. Silas’s younger face. Her laughter. Her belief they’d always find each other again. “I remember you telling me I had a talent for reading people,” she said. Silas’s eyes softened for the first time. “You did. You read me wrong, though.” Aurora’s throat tightened. “How?” Silas nodded toward her bag. “You flinch when someone gets too close.” Aurora didn’t move. The accusation wasn’t new, but it still landed like a hook. “I flinch because I learned to,” she said. “You left. That taught me something too.” Silas leaned against the bar now, closer to the maps. His limp made him careful. He looked tired in a way she hadn’t seen before, like the years had finally sat down beside him. “You weren’t the first friend I lost,” Silas said. “You were the one I couldn’t lose twice.” Aurora stared at him, and the bar’s noise thinned. She felt it—the thread of regret he carried, the kind that didn’t ask to be forgiven, only acknowledged. “You could’ve come clean,” she said. Silas looked at her and held her blue-eyed stare until she couldn’t pretend she didn’t understand what he’d do next. “If I came clean,” he replied, “you would’ve
tried to
fix it. You would’ve dug into whatever I left behind. You always dug.” Aurora’s jaw tightened. “You think that’s a crime.” “I think it’s brave and stupid in the same breath,” Silas said. “And it gets people killed.” Aurora swallowed. She hated how much she wanted to argue, because part of her already knew he’d been right. She took a breath and asked, “What did you want from me?” Silas’s gaze dropped to her wrist again. The scar sat there like a small signature. He didn’t touch it. He didn’t need to. “I wanted you to live your life,” he said. “Not the life I dragged you toward when we were kids.” Aurora’s eyes stung. She blinked it away. She refused to let him
see
her soften. “You didn’t drag me,” she said. “You warned me. You told me how to spot traps. Then you walked into one and left me outside it.” Silas’s mouth tightened. His eyes
looked like they carried old weather
. “I walked into it,” he said. “I didn’t know the cost would still follow me.” Aurora watched him struggle with the words in his face. The Spymaster persona fell away, and a man remained—one who had learned how to keep secrets so long they had
started to
live inside him. “You’ve changed,”
Aurora said, and the observation sounded like a verdict
. Silas shook his head. “I’ve aged. That’s all.” “That isn’t all,” she replied. He looked at her like he wanted to disagree. He didn’t. He let the truth sit between them. “What did you become?” Aurora asked. Her voice went quieter. She didn’t reach for comfort. She reached for clarity. Silas’s eyes
flickered
to the green neon outside the window. Then back to her. “I became the kind of man who built a place where people could talk without knowing they were telling me things,” he said. “I retired from the field. I didn’t retire from the habit.” Aurora nodded
slowly
. “You turned your guilt into a business.” Silas’s eyes sharpened. “You think it’s guilt.” Aurora’s laugh came out with less bite. “Isn’t it?” Silas leaned forward
slightly
. His ring caught the light again. “I didn’t do it to punish myself.” “And what did you do it for?” Aurora pressed. Silas’s gaze held hers. “Because I missed you.” The words hit like a slap because she had never given him permission to say them. Aurora’s face tightened. Anger returned automatically, protecting the hurt underneath. “You missed me,” she repeated. “Years?” Silas nodded once. “Years.” Aurora stared at him for a long moment. The bar’s atmosphere didn’t change. The music didn’t swell. No one turned to
look
at them. The world kept carrying its own
weight
, indifferent to their reunion. “Then why didn’t you write?” Aurora demanded. Silas’s lips parted, then closed. He looked away, briefly, toward the maps on the wall, as if some answer lay tucked in the corner of a photograph. “I couldn’t,” he said at last. “Not without making you target practice.” Aurora’s fingers twitched. She wanted to reach out and hit him, then she wanted to drag him into the hidden room behind the bookshelf just to
see
if it still held the same secrets. Her mind fought itself. She kept her feet planted anyway. “So you let me suffer,” she said. Silas’s expression hardened. “I let you survive.” Aurora’s eyes flashed. “Those aren’t the same thing.” Silas studied her. The
tension
between them tightened like a wire drawn too far. “Do you still live above Silas’ bar?” he asked
suddenly
. Aurora blinked. “What?” His tone didn’t shift, but his question carried something else—something sharp beneath the plain words. Silas’s gaze
flicked
to her bag, then to the floor. “I heard you had a place. I heard you work at the restaurant.” Aurora’s chest tightened. She didn’t like the
implication
that he knew her now. Not through gossip. Through channels. “I don’t owe you updates,” she said. Silas nodded. “You don’t.” Aurora leaned in, eyes bright enough to cut. “Then stop acting like you already know where my life sits.” Silas’s face didn’t flinch. He looked at her steadily, like he held her anger in his palms and decided not to squeeze. “I’m not acting,” he said. “I’m standing in front of you.” Aurora’s breath came out slow. For a second, the room felt too small for the years that had stacked up between them. She could almost hear the girl she used to be, the one who believed in reunions, asking why she had never gotten closure. She forced herself back to the present. She looked at him properly again—grey-streaked auburn, beard neat, limp obvious, ring still on his right hand like a stubborn token. She looked at the man in front of her and saw the choices that had turned into scars. “You picked this place,” she said. Silas’s eyes rose. “I built it.” Aurora’s lips pressed together. She felt the urge to ask more questions—about Prague, about Evan, about what he’d hidden and what he’d carried. She didn’t trust herself with more.
If she opened too many
doors, she’d walk through them and never return.
Instead, she asked the one
thing that kept her feet on the floor. “Are you going to disappear again?” she asked. Silas held her gaze. His signet ring caught the neon and went bright, then dark, like a heartbeat. “No,” he said. “Not if you don’t make me.” Aurora stared. Her anger didn’t evaporate. It shifted, rearranging itself into something heavier—
something like grief with edges
. “Don’t make it sound like I have a say,” she said. Silas’s face tightened. He looked almost angry at the
implication
, then he softened into restraint. He nodded once. “You always had a say,” he said. “You just never had the information.” Aurora’s throat tightened. She
hated that he
sounded sincere. She
hated that the
sincerity
felt like it came too late
. She shifted her bag strap higher on her shoulder. The motion tugged her sleeve, and the crescent scar on her left wrist peeked out from the cuff before she pulled fabric over it again. Silas watched the gesture. He didn’t comment, but his eyes held the memory of what her
silence
covered. Aurora took a slow breath and looked around the bar—the maps, the photos, the dim corners—and she understood why the walls felt crowded. Every picture looked like a story someone had refused to tell out loud. She leaned closer to Silas, voice low enough that it kept its urgency. “Tell me what you came back with,” she said. “Tell me why you stood here when I walked in.” Silas’s eyes
flickered
. The bar’s lights hummed.
Somewhere near the back, laughter
rose and fell, then settled into conversation. He didn’t move away. He didn’t offer a smile to make it easier. He lifted his chin toward the dark stretch behind the bookshelf area, where the wall looked plain unless you had learned where to
look
. Aurora followed his gaze, and the air in her chest tightened all over again.
created_at
"2026-03-18T10:23:51.754Z"
3/18/2026, 10:23:51 AM
model
"openai/gpt-5.4-nano-20260317"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
478
moderation_latency
(null)
generation_time
18958
tokens_prompt
1094
tokens_completion
5304
native_tokens_prompt
982
native_tokens_completion
4360
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.0056464
router
(null)
provider_responses
0
endpoint_id
"0c835f2e-c18d-4e8c-b245-e1e3bd08b97f"
id
"resp_0d7ed05833a659ba0169ba7d37d4008193b4d094460a0ab836"
is_byok
false
latency
211
model_permaslug
"openai/gpt-5.4-nano-20260317"
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-1773829431-umb7Otlqi6avyIPGoFzC"
upstream_id
"resp_0d7ed05833a659ba0169ba7d37d4008193b4d094460a0ab836"
total_cost
0.0056464
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
60
adverbTagCount
1
adverbTags
0
"he asked suddenly [suddenly]"
dialogueSentences
130
tagDensity
0.462
leniency
0.923
rawRatio
0.017
effectiveRatio
0.015
87.97%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
3325
totalAiIsmAdverbs
8
found
0
adverb
"slightly"
count
5
1
adverb
"quickly"
count
1
2
adverb
"slowly"
count
1
3
adverb
"suddenly"
count
1
highlights
0
"slightly"
1
"quickly"
2
"slowly"
3
"suddenly"
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)
69.92%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
3325
totalAiIsms
20
found
0
word
"scanned"
count
1
1
word
"familiar"
count
2
2
word
"measured"
count
1
3
word
"weight"
count
4
4
word
"echo"
count
1
5
word
"flickered"
count
3
6
word
"silence"
count
3
7
word
"whisper"
count
1
8
word
"tension"
count
1
9
word
"flicked"
count
1
10
word
"implication"
count
2
highlights
0
"scanned"
1
"familiar"
2
"measured"
3
"weight"
4
"echo"
5
"flickered"
6
"silence"
7
"whisper"
8
"tension"
9
"flicked"
10
"implication"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"eyes widened/narrowed"
count
2
highlights
0
"eyes narrowed"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
304
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
2
hedgeCount
3
narrationSentences
304
filterMatches
0
"look"
1
"see"
hedgeMatches
0
"started to"
1
"tried to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
374
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
31
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
3310
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
65
unquotedAttributions
1
matches
0
"Instead, she asked the one thing that kept her feet on the floor."
0.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
122
wordCount
2444
uniqueNames
12
maxNameDensity
2.25
worstName
"Aurora"
maxWindowNameDensity
5
worstWindowName
"Silas"
discoveredNames
Raven
1
Nest
1
Carter
1
London
2
Blackwood
1
Rory
1
Aurora
55
Silas
55
Prague
2
Cardiff
1
Spymaster
1
Evan
1
persons
0
"Raven"
1
"Nest"
2
"Carter"
3
"Blackwood"
4
"Rory"
5
"Aurora"
6
"Silas"
7
"Evan"
places
0
"London"
1
"Prague"
2
"Cardiff"
globalScore
0.375
windowScore
0
0.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
163
glossingSentenceCount
11
matches
0
"looked like a man who had held onto jokes"
1
"as if checking the room for an angle that wouldn’t show up in his face"
2
"felt like an old echo"
3
"felt like he’d already heard the accusa"
4
"felt like betrayal of her anger"
5
"tasted like metal in her mouth"
6
"looked like they carried old weather"
7
"sounded like a verdict"
8
"something like grief with edges"
9
"felt like it came too late"
10
"looked like a story someone had refused t"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
3310
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
374
matches
0
"hated that he"
1
"hated that the"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
167
mean
19.82
std
13.86
cv
0.699
sampleLengths
0
10
1
59
2
61
3
60
4
5
5
9
6
84
7
7
8
36
9
38
10
11
11
32
12
13
13
23
14
46
15
26
16
14
17
29
18
11
19
29
20
14
21
25
22
15
23
37
24
12
25
15
26
26
27
52
28
13
29
5
30
62
31
25
32
11
33
20
34
38
35
8
36
8
37
13
38
11
39
9
40
33
41
48
42
3
43
6
44
23
45
9
46
29
47
26
48
11
49
20
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
304
matches
0
"was smudged"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
522
matches
(empty)
43.54%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
16
semicolonCount
0
flaggedSentences
13
totalSentences
374
ratio
0.035
matches
0
"Maps and black-and-white photos crowded the walls—thin paper oceans, cities with cigarette smudges, faces frozen mid-laugh or mid-alarm."
1
"The sound of it—small beads scattering—cut through the bar’s muffled music."
2
"He stood near a corner that used to be empty, leaning slightly—his old knee reminding him it still had opinions."
3
"He looked at her the way people used to—like he measured the distance between who you were and who you might become."
4
"Her blue eyes narrowed, taking in every change and every stubborn familiar thing—the same calm, the same watchful gaze."
5
"Silas’s face shifted—small movements, tiny betrayals of emotion."
6
"She felt it—the thread of regret he carried, the kind that didn’t ask to be forgiven, only acknowledged."
7
"The Spymaster persona fell away, and a man remained—one who had learned how to keep secrets so long they had started to live inside him."
8
"His tone didn’t shift, but his question carried something else—something sharp beneath the plain words."
9
"She looked at him properly again—grey-streaked auburn, beard neat, limp obvious, ring still on his right hand like a stubborn token."
10
"She felt the urge to ask more questions—about Prague, about Evan, about what he’d hidden and what he’d carried."
11
"It shifted, rearranging itself into something heavier—something like grief with edges."
12
"Aurora took a slow breath and looked around the bar—the maps, the photos, the dim corners—and she understood why the walls felt crowded."
92.84%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2468
adjectiveStacks
1
stackExamples
0
"neat, limp obvious, ring"
adverbCount
102
adverbRatio
0.041329011345218804
lyAdverbCount
17
lyAdverbRatio
0.006888168557536467
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
374
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
374
mean
8.85
std
5.88
cv
0.665
sampleLengths
0
10
1
24
2
8
3
9
4
18
5
12
6
9
7
11
8
29
9
9
10
15
11
17
12
19
13
5
14
5
15
4
16
20
17
25
18
22
19
17
20
7
21
3
22
9
23
6
24
4
25
14
26
9
27
7
28
22
29
11
30
1
31
1
32
1
33
9
34
7
35
13
36
13
37
9
38
14
39
9
40
8
41
19
42
10
43
6
44
6
45
14
46
7
47
7
48
2
49
6
39.84%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
38
diversityRatio
0.14705882352941177
totalSentences
374
uniqueOpeners
55
54.87%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
4
totalSentences
243
matches
0
"Then she saw him."
1
"Then back to her."
2
"Instead, she asked the one"
3
"Somewhere near the back, laughter"
ratio
0.016
40.58%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
109
totalSentences
243
matches
0
"She shook rain from the"
1
"She stood for half a"
2
"She didn’t head for the"
3
"She moved along the perimeter,"
4
"Her delivery shift had ended"
5
"She loosened her scarf at"
6
"She felt the absence first."
7
"He stood near a corner"
8
"He wore a plain shirt"
9
"His eyes found her and"
10
"Her fingers tightened around the"
11
"She stared, then made herself"
12
"She didn’t walk quickly."
13
"She walked like she had"
14
"His limp kept time with"
15
"He looked at her the"
16
"he said, and the name"
17
"Her mother’s voice when she’d"
18
"Her own name when she’d"
19
"Her blue eyes narrowed, taking"
ratio
0.449
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
231
totalSentences
243
matches
0
"The Raven’s Nest wore its"
1
"The air tasted of citrus"
2
"Maps and black-and-white photos crowded"
3
"Aurora Carter pushed inside and"
4
"She shook rain from the"
5
"The sound of it—small beads"
6
"She stood for half a"
7
"She didn’t head for the"
8
"She moved along the perimeter,"
9
"Her delivery shift had ended"
10
"She loosened her scarf at"
11
"Silas Blackwood wasn’t behind it."
12
"She felt the absence first."
13
"He stood near a corner"
14
"He wore a plain shirt"
15
"His eyes found her and"
16
"Aurora’s steps slowed."
17
"Her fingers tightened around the"
18
"She stared, then made herself"
19
"She didn’t walk quickly."
ratio
0.951
20.58%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
1
totalSentences
243
matches
0
"If she opened too many"
ratio
0.004
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
93
technicalSentenceCount
1
matches
0
"He stood near a corner that used to be empty, leaning slightly—his old knee reminding him it still had opinions."
91.67%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
60
uselessAdditionCount
4
matches
0
"he said, and the name landed solid on the floorboards"
1
"she said, and the words came with a weight she hadn’t asked them to carry"
2
"she said, and the humour sounded wrong on her tongue"
3
"Aurora said, and the observation sounded like a verdict"
96.15%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
55
fancyCount
7
fancyTags
0
"Aurora repeated (repeat)"
1
"she blurted (blurt)"
2
"Silas continued (continue)"
3
"She took (take)"
4
"Aurora pressed (press)"
5
"she repeated (repeat)"
6
"Aurora demanded (demand)"
dialogueSentences
130
tagDensity
0.423
leniency
0.846
rawRatio
0.127
effectiveRatio
0.108
76.8208%