NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-05-20-01KS25WMRJTWT8R82HXEMTV7X9
Run Details
Model:
Gemini 3.5 Flash (Reasoning, Minimal)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
11.3s
Cost:
$0.016971
Provider:
Google AI Studio
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
72.97%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
42.08%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
37.82%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
73.25%
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)
100.00%
Em-dash & semicolon overuse
(details)
94.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
44.44%
Sentence opener variety
(details)
50.51%
Adverb-first sentence starts
(details)
68.48%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
53.57%
Technical jargon density
(details)
0.00%
Useless dialogue additions
(details)
0.00%
Dialogue tag variety (said vs. fancy)
(details)
74.5708%
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="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. 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
Three deadbolts scraped open, one by one,
echoing
like gunshots in the narrow stairwell. Aurora swung the door back.
The scent of ozone, damp
wool, and expensive sandalwood immediately breached the threshold.
Lucien Moreau stood on the
top step.
Droplets of London rain clung
to his slicked-back platinum blond hair, catching the yellow light of the hallway bulb.
He leaned slightly on his
ivory-handled cane, his tailored charcoal suit immaculate despite the downpour raging outside on Brick Lane.
His heterochromatic eyes—one amber, one
a bottomless black—swept over her, taking in her oversized jumper and bare feet. "You changed your locks, Rory." "You didn't warn me you were coming, Lucien."
Aurora blocked the doorway, her
fingers gripping the edge of the frame.
Her heart hammered against her
ribs, a frantic rhythm she hated herself for harboring. "Actually, you didn't warn me about anything when you left for Marseille six months ago."
Lucien tilted his head, a
faint, wry smile tugging at the corner of his lips.
He lifted his cane an
inch, tapping the bronze tip against the floorboards. "May I come in? The weather in East London is particularly unforgiving tonight." "And if I say no?" "I would stand here and look pathetic until your stubbornness ran out."
Aurora scoffed, but she stepped
aside, dragging the door open wider. "You don't have a pathetic bone in your body."
Lucien glided past her, his
movements fluid, carrying that
effortless
grace that always made Aurora
feel
too loud, too clumsy, too human. He stepped into the cramped,
chaotic
warmth
of the flat. Ptolemy, the fat tabby cat, erupted from a pile of ancient scrolls on the armchair, let out a sharp mew of betrayal, and darted under the sofa. "Your companion remains a critic,"
Lucien murmured, resting his cane
against the bookshelf.
He peeled off his leather
gloves, placing them
precisely
beside a stack of old leather-bound texts on the coffee table. "Ptolemy has excellent judge of character."
Aurora locked the three deadbolts
with deliberate, heavy clicks. She leaned against the door, crossing her arms. "Why are you here, Luc? The supernatural underworld run out of secrets for you to broker?"
Lucien turned, his gaze anchoring
on her.
The amber eye seemed to
glow in the dim light of the flat, while the black eye swallowed the shadows. The playful banter bled from his posture, replaced by a
tension
that made the small room
feel
microscopic. "I came because I heard you were looking for me." "I was looking for answers,"
Aurora corrected, her voice dropping
. "I asked around the docks, yes. I left a message with your contact in Soho. That was three months ago. I stopped looking." "My father's family in Avaros decided to complicate my inheritance." Lucien took a step toward her. The floorboards didn't even creak beneath his leather shoes. "I could not send word without putting a target on your back. You must believe that." "I don't have to believe anything you say. That's the beauty of you walking out." Aurora walked past him into the tiny kitchen alcove, needing the physical distance. Her left hand
trembled
slightly
, her fingers brushing over the crescent-shaped scar on her wrist. "You're a fixer, Lucien. You fix things for money, for leverage, for power. But when things get messy between us, your first instinct is to disappear." "Is that what you think I did?" Suddenly, he was right there, standing at the edge of the kitchen counter. He hadn't made a sound, but his presence was a physical
weight
, pressing against her skin. The heat radiating off him defied the damp
chill
of the rain outside. "I think you found a situation you couldn't negotiate your way out of," Aurora said, looking up to meet his eyes. "You couldn't draft a contract for what happened the night before you left. So you ran." Lucien’s jaw tightened. A muscle jumped beneath his pale skin. For a second, the polished mask of the half-demon slipped, revealing the raw, volatile edge beneath. "We crossed a line, Rory." "We kissed, Lucien. We didn't declare war." "For me, it is the same thing,"
he said, his voice dropping
to a gravelly
whisper
. He reached out, his long, pale fingers hovering just inches from her face, before he pulled back, curling them into a fist. "When I touch you, the barrier between what I want and what is safe for you dissolves. Do you have any idea what my kind does to the things they cherish? We consume them. We lock them away in gilded cages." Aurora stared at him, her breath hitching. The anger that had sustained her for six months
began to
crumble, leaving behind a hollow, aching emptiness. "I am not a fragile artifact for your collection,"
she said, her voice steadying
as she stepped closer, closing the distance he had
tried to
keep. "I'm the girl who delivers noodles by day and clean up your messes by night. I don't break." "You are human,"
he said, as if the
word itself were a tragedy. "And you're half-human."
She reached out, her fingers
brushing the lapel of his charcoal suit. The fabric was damp, cold, but beneath it, his chest rose and fell in a jagged rhythm. "Even if you try
very
hard to forget it." Lucien closed his eyes for a fraction of a second, a silent surrender. When he opened them, the amber eye burned with an
intensity
that made Aurora’s knees weak. "I
tried to
stay away," he whispered. "You did a terrible job." "I am here now."
He didn't ask for permission
this time. Lucien reached out, his hand cupping her cheek. His skin
was burning
hot, a
stark
contrast to the cool rain on his clothes.
His thumb stroked the line
of her jaw, his touch surprisingly gentle, almost reverent. Aurora leaned into the
warmth
, her eyes fluttering shut. The scent of him wrapped around her, pulling her back to the night on the docks, to the desperation of their last embrace before he vanished. "You're infuriating,"
she murmured against his palm
. "An occupational hazard." Lucien leaned down, his breath warm against her lips.
He paused, giving her one
last chance to pull away, to push him back into the rain, to lock the three deadbolts against him forever. Aurora reached up, her fingers tangling in his damp platinum hair, and pulled him down to meet her. The kiss was empty of the polite restraint Lucien usually wore like armor.
It was hungry, desperate, filled
with the
unspoken
apologies and lingering anger of the last six months. He tasted of rain and bitter espresso. He pulled her flush against his chest, his hands anchoring at her waist, lifting her
slightly
until her toes barely touched the floor. Aurora clung to him, her hands sliding down his neck, feeling the rapid beat of his
pulse
. Every ounce of hurt, every sleepless night she had spent staring at the ceiling of this flat, melted into the heat of his mouth. Lucien groaned, a low, dark sound in the back of his throat, and backed her up until her spine met the kitchen counter. The jars of dried herbs and old books rattled on the shelves above them. He broke the kiss for a fraction of a second, his lips dragging down her jawline, his breath hot against her neck. "Tell me to leave, Rory,"
he growled softly, his grip tightening on her hips
. "Tell me now, or I am not going back to Marseille." Aurora gripped his shoulders, her breathing ragged, her heart
pounding
in sync with his. She looked up at his face, at the beautiful, dangerous asymmetry of his eyes. "If you leave again, Moreau," she whispered, "don't bother coming back."
created_at
"2026-05-20T07:51:32.887Z"
5/20/2026, 7:51:32 AM
model
"google/gemini-3.5-flash-20260519"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
753
moderation_latency
(null)
generation_time
11272
tokens_prompt
1034
tokens_completion
1951
native_tokens_prompt
976
native_tokens_completion
1723
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)
num_fetches
(null)
web_search_engine
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"STOP"
service_tier
"standard"
usage
0.016971
router
(null)
provider_responses
0
endpoint_id
"bd50061c-e1d8-469e-96b1-d322e77378f8"
id
"BWgNatfLArC9jMcPkK6wkAo"
is_byok
false
latency
753
model_permaslug
"google/gemini-3.5-flash-20260519"
provider_name
"Google AI Studio"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.15.0; linux; x64))"
http_referer
(null)
request_id
"req-1779263492-ftPSymDdl3idycmEqm3f"
session_id
(null)
api_type
"completions"
id
"gen-1779263492-Bzv2RsZL6RgnWG7fJucK"
upstream_id
"BWgNatfLArC9jMcPkK6wkAo"
total_cost
0.016971
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Google AI Studio"
response_cache_source_id
(null)
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
15
adverbTagCount
1
adverbTags
0
"he growled softly [softly]"
dialogueSentences
37
tagDensity
0.405
leniency
0.811
rawRatio
0.067
effectiveRatio
0.054
72.97%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1295
totalAiIsmAdverbs
7
found
0
adverb
"slightly"
count
3
1
adverb
"precisely"
count
1
2
adverb
"suddenly"
count
1
3
adverb
"very"
count
1
4
adverb
"softly"
count
1
highlights
0
"slightly"
1
"precisely"
2
"suddenly"
3
"very"
4
"softly"
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)
42.08%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1295
totalAiIsms
15
found
0
word
"echoing"
count
1
1
word
"effortless"
count
1
2
word
"chaotic"
count
1
3
word
"warmth"
count
2
4
word
"tension"
count
1
5
word
"trembled"
count
1
6
word
"weight"
count
1
7
word
"chill"
count
1
8
word
"whisper"
count
1
9
word
"intensity"
count
1
10
word
"stark"
count
1
11
word
"unspoken"
count
1
12
word
"pulse"
count
1
13
word
"pounding"
count
1
highlights
0
"echoing"
1
"effortless"
2
"chaotic"
3
"warmth"
4
"tension"
5
"trembled"
6
"weight"
7
"chill"
8
"whisper"
9
"intensity"
10
"stark"
11
"unspoken"
12
"pulse"
13
"pounding"
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
68
matches
(empty)
37.82%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
2
hedgeCount
3
narrationSentences
68
filterMatches
0
"feel"
hedgeMatches
0
"seemed to"
1
"began to"
2
"tried to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
90
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
41
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1293
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
18
unquotedAttributions
0
matches
(empty)
73.25%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
30
wordCount
912
uniqueNames
6
maxNameDensity
1.54
worstName
"Aurora"
maxWindowNameDensity
2.5
worstWindowName
"Aurora"
discoveredNames
Moreau
1
London
1
Brick
1
Lane
1
Aurora
14
Lucien
12
persons
0
"Moreau"
1
"Aurora"
2
"Lucien"
places
0
"London"
1
"Brick"
2
"Lane"
globalScore
0.732
windowScore
0.833
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
62
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
1293
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
90
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
47
mean
27.51
std
19.2
cv
0.698
sampleLengths
0
14
1
18
2
64
3
5
4
49
5
28
6
13
7
5
8
12
9
11
10
9
11
32
12
27
13
33
14
39
15
45
16
10
17
33
18
41
19
69
20
7
21
42
22
37
23
26
24
5
25
7
26
79
27
25
28
44
29
13
30
41
31
29
32
7
33
5
34
4
35
44
36
35
37
7
38
3
39
34
40
18
41
60
42
41
43
59
44
25
45
28
46
11
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
68
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
1
totalVerbs
145
matches
0
"was burning"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
2
semicolonCount
0
flaggedSentences
1
totalSentences
90
ratio
0.011
matches
0
"His heterochromatic eyes—one amber, one a bottomless black—swept over her, taking in her oversized jumper and bare feet."
94.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
919
adjectiveStacks
1
stackExamples
0
"old leather-bound texts"
adverbCount
27
adverbRatio
0.029379760609358
lyAdverbCount
11
lyAdverbRatio
0.011969532100108813
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
90
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
90
mean
14.37
std
6.71
cv
0.467
sampleLengths
0
14
1
5
2
13
3
7
4
19
5
20
6
18
7
5
8
20
9
14
10
15
11
15
12
13
13
13
14
5
15
12
16
11
17
9
18
22
19
10
20
27
21
13
22
20
23
15
24
8
25
16
26
7
27
20
28
18
29
10
30
10
31
23
32
16
33
9
34
16
35
28
36
15
37
26
38
7
39
13
40
16
41
13
42
21
43
16
44
3
45
7
46
16
47
5
48
7
49
16
44.44%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
10
diversityRatio
0.3333333333333333
totalSentences
90
uniqueOpeners
30
50.51%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
1
totalSentences
66
matches
0
"Suddenly, he was right there,"
ratio
0.015
68.48%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
25
totalSentences
66
matches
0
"He leaned slightly on his"
1
"His heterochromatic eyes—one amber, one"
2
"Her heart hammered against her"
3
"He lifted his cane an"
4
"He stepped into the cramped,"
5
"He peeled off his leather"
6
"She leaned against the door,"
7
"Her left hand trembled slightly,"
8
"He hadn't made a sound,"
9
"he said, his voice dropping"
10
"He reached out, his long,"
11
"she said, her voice steadying"
12
"he said, as if the"
13
"She reached out, her fingers"
14
"He didn't ask for permission"
15
"His skin was burning hot,"
16
"His thumb stroked the line"
17
"she murmured against his palm"
18
"He paused, giving her one"
19
"It was hungry, desperate, filled"
ratio
0.379
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
62
totalSentences
66
matches
0
"Aurora swung the door back."
1
"The scent of ozone, damp"
2
"Lucien Moreau stood on the"
3
"Droplets of London rain clung"
4
"He leaned slightly on his"
5
"His heterochromatic eyes—one amber, one"
6
"Aurora blocked the doorway, her"
7
"Her heart hammered against her"
8
"Lucien tilted his head, a"
9
"He lifted his cane an"
10
"Aurora scoffed, but she stepped"
11
"Lucien glided past her, his"
12
"He stepped into the cramped,"
13
"Ptolemy, the fat tabby cat,"
14
"Lucien murmured, resting his cane"
15
"He peeled off his leather"
16
"Aurora locked the three deadbolts"
17
"She leaned against the door,"
18
"Lucien turned, his gaze anchoring"
19
"The amber eye seemed to"
ratio
0.939
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
66
matches
(empty)
ratio
0
53.57%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
40
technicalSentenceCount
5
matches
0
"The playful banter bled from his posture, replaced by a tension that made the small room feel microscopic."
1
"The anger that had sustained her for six months began to crumble, leaving behind a hollow, aching emptiness."
2
"When he opened them, the amber eye burned with an intensity that made Aurora’s knees weak."
3
"He pulled her flush against his chest, his hands anchoring at her waist, lifting her slightly until her toes barely touched the floor."
4
"Aurora clung to him, her hands sliding down his neck, feeling the rapid beat of his pulse."
0.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
15
uselessAdditionCount
6
matches
0
"Aurora blocked, her fingers gripping the edge of the frame"
1
"Aurora corrected, her voice dropping"
2
"he said, his voice dropping to a gravelly whisper"
3
"he said, as if the word itself were a tragedy"
4
"She reached out, her fingers brushing the lapel of his charcoal suit"
5
"he growled softly, his grip tightening on her hips"
0.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
10
fancyCount
6
fancyTags
0
"Lucien murmured (murmur)"
1
"Aurora corrected (correct)"
2
"he whispered (whisper)"
3
"she murmured (murmur)"
4
"he growled softly (growl)"
5
"she whispered (whisper)"
dialogueSentences
37
tagDensity
0.27
leniency
0.541
rawRatio
0.6
effectiveRatio
0.324
74.5708%