NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-19-01KHTZ1NS95SSS8GWMEWG0Q5V0
Run Details
Model:
Z.AI GLM 4.6
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
2m 3s
Cost:
$0.008043
Provider:
DeepInfra
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
94.34%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
60.38%
AI-ism word frequency
(details)
33.33%
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)
100.00%
Name drop frequency
(details)
46.91%
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)
90.88%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
82.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
38.31%
Sentence opener variety
(details)
84.03%
Adverb-first sentence starts
(details)
18.32%
Pronoun-first sentence starts
(details)
18.82%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
0.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
78.9112%
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
The first knock was sharp, precise. Three raps, evenly spaced, a rhythm that didn't belong to the curry house downstairs or the neighbours who played grime music until three in the morning.
Rory paused, a spoon halfway
to a tub of yoghurt, and listened.
The flat was silent save
for the hum of the ancient refrigerator and the distant city sigh. Then it came again. Three more knocks, identical to the first. No one else knocked like that. No one else she knew. Her heart gave a single, heavy thud against her ribs. She put the spoon down, yoghurt forgotten, and walked the few steps to the door.
The peephole showed a distorted
view of the grimy, mustard-coloured hallway, empty.
They were standing too close
to the door.
Her fingers went to the
three deadbolts.
Eva was paranoid, and after
Evan, Rory had learned to be grateful for it.
The first one slid back
with a metallic scrape. The second followed. The third was the stiffest, its groan loud in the small room. She threw the chain. The door swung inward.
He filled the frame, a
slash of monochrome against the squalor of the hallway. Lucien.
His suit was charcoal, tailored
to his lean frame, not a single thread out of place.
His platinum blond hair was
slicked back from his forehead, and in his hand, he held the ivory-handled cane she knew concealed a blade.
He looked like he'd just
stepped out of a Mayfair boardroom, not a Brick Lane tenement.
His eyes, though, were the
same. One the colour of warm amber, the other a flat, starless black.
They fixed on her, and
the impact was a physical thing, a punch to the gut that stole the air from her lungs. "Lucien." "Aurora." His voice was a low, smooth baritone, the French accent a soft caress on the syllables of her name. A name only he used.
She gripped the edge of
the door, the wood digging into her palm. "What are you doing here?" "May I come in?" He gestured with the cane,
not at her, but at the cramped space behind her
. "It's not a conversation for the hallway." Rory hesitated. Every instinct screamed at her to shut the door, to throw the bolts and pretend she'd never seen him. But his gaze held hers, and a part of her, the stupid, reckless part she thought she'd buried, was curious.
She stepped back, a silent
invitation.
He moved past her, his
presence immediately swallowing the small space.
He brought with him the
clean, expensive scent of bergamot and something darker,
something like old leather and ozone
. The door clicked shut behind him, the sound unnaturally loud.
He scanned the flat, his
expression
unreadable
. Towers of books teetered on every available surface—coffee table, chairs, even the floor. Scrolls
were unfurled
like sleeping snakes across the sofa.
The air was thick with
the scent of old paper, dust, and the faint, persistent spice of cardamom from the restaurant below. "This is not your style,"
he said, running a gloved
finger along a dusty shelf. "It's Eva's. I'm just staying here."
She wrapped her arms around
herself, a defensive barrier. "Why are you here, Lucien?" He turned from his inspection, and his mismatched eyes found hers again. "Eva is worried. She said you left Cardiff in a hurry." Rory’s jaw tightened. "Eva talks too much." "She cares about you." He took a step closer, and she fought the urge to retreat. "And so am I. This man, Evan. What happened?" The name was a bucket of ice water. "You lost the right to be concerned about my life. Remember?" A
flicker
of something—pain, maybe—crossed his face before
being smoothed
away by his customary
mask of indifference
. "I remember everything, Aurora." "Do you?" A bitter laugh escaped her lips. "Because I remember you walking away. I remember you telling me it was for the best, that I was better off without your… complications." "You are." "Don't. Don't you dare stand there in your
perfect
suit and tell me what's best for me." Her voice rose, shaking with the force of emotions she'd kept locked down for months. "You didn't want me. Fine. But don't come waltzing back in here pretending you care." A striped tabby head poked out from behind a stack of what
looked like ancient legal texts
. Ptolemy blinked his large green eyes, then trotted out, his tail held high. He made a beeline for Lucien, winding his way through the man's immaculate trousers and purring like a motorboat. Lucien looked down at the cat, and for the first time, his expression softened. He didn't flinch. He simply lowered a hand, ungloved now, and scratched Ptolemy behind the ears. The cat arched into his touch, a picture of bliss. Rory watched, her anger momentarily defused. The damn traitor cat. "He likes you,"
she said, her voice quieter now
. "I have a way with strays." Lucien’s gaze lifted from the cat to her, and the
intensity
in his eyes was back, stronger this time. "I heard he hurt you." Rory flinched. She hadn't told Eva the specifics, not all of them. But Eva had a way of reading between the lines. "I'm fine." "You don't look fine." He took another step, closing the distance between them until she
could feel
the
warmth
radiating from his body. "You have shadows under your eyes. You're thinner." "I've been busy." She held her ground, her chin up. "I work. I deliver food. I pay my rent. It's called life, Lucien. You should try it sometime." "Is that what this is? A life? Hiding in your friend's flat, looking over your shoulder?" His voice dropped, a low murmur meant only for her. "That's not living, Aurora. That's surviving." His fingers brushed her wrist, right over the small, crescent-shaped scar she'd had since she was a child. The touch was feather-light, but it
sent a jolt through
her, a current of memory and longing so potent it almost brought her to her knees. She
remembered that touch
. Remembered those hands on her skin, the way they could be both gentle and demanding. She pulled her hand back as if burned. "Don't." "I can help." "I don't need your help. I don't need your money or your… your world." She gestured vaguely at him, at the cane, at the impossible elegance he wore like a second skin. "I remember what your world looks like, Lucien. I'm not stupid." "I never said you were." He was so close now. She could see the fine lines at the corners of his eyes, the way the amber one
seemed to
hold a light of its own in the dim flat. "I'm the one who was stupid. I thought I could keep you safe by pushing you away." The admission
hung in the air
between them, raw and unexpected. Rory’s breath caught. "What?" "Letting you go was the hardest thing I have ever done."
He reached up, his hand hovering near her cheek, not quite touching
. "But it was necessary. My work, my father's world… it's not clean. It's not safe. You deserve better than blood in the gutter." Her heart
was hammering
against her ribs, a frantic drumbeat. She wanted to believe him. A desperate, foolish part of her wanted to lean into his hand, to let him pull her close and promise her everything would be alright. But the memory of his coldness, of his final, cutting words, was a wall of ice. "So you decided for me? You decided what I deserved and what I could handle?" The anger was back, but it was thinner now, frayed at the edges. "That's not love, Lucien. That's control." His thumb finally stroked her cheek, his skin impossibly warm. "Is that what you think this was about? Control?" "I don't know what to think." Her voice was a
whisper
. She
was trapped
between the past and the present, between the hurt and the overwhelming,
magnetic
pull of him. "You left. You just… left." He leaned in, his face inches from hers. The scent of him filled her senses, clouding her judgment. "I'm here now." His gaze dropped to her lips, and the world narrowed to the space between their mouths. The amber eye
seemed to
glow, the black one to deepen, pulling her in. This was a mistake. Every instinct she had
was screaming
it, but her body betrayed her, swaying toward him. "No." The word was small, but it cut through the haze like a shard of glass. She put a hand on his chest, the fabric of his suit smooth and firm beneath her palm, and pushed
gently
. He stopped, his body tensing. He didn't pull away immediately. He searched her face, his own expression a mixture of frustration and understanding. "You don't get to do that,"
she said, her voice stronger now
. "You don't get to waltz back in here after months, say a few nice words, and expect me to fall at your feet. It doesn't work like that." He straightened up, his hand falling from her face. The mask was back in place, cool and composed. "You're right." The simple agreement was more disarming than any argument. He took a step back, creating space. The air rushed back into her lungs, cold and sharp. From his inner jacket pocket, he produced a single,
stark
white business card. He held it out. It was plain, with only a phone number embossed in the centre. "If he comes near you again," he said, his voice all business now, "or if you need anything. For anything at all. Call me." Rory stared at the card, then at his face. She couldn't read him. She didn't know if this was an offer of protection or a warning. Slowly, she took it. The cardstock was heavy, expensive. "I can handle myself." "I know." He gave a short, tight nod. "But you don't have to." With that, he turned and walked to the door. He opened it, stepped back into the dingy hallway, and paused. He looked back at her, one last time, his gaze
unreadable
. Then he
was gone
. The door clicked shut, leaving her alone in the sudden,
echoing
silence
. Rory leaned back against the wood, the card clutched in her hand. Ptolemy rubbed against her leg, purring his loud, rumbling purr, but she barely felt him. The air in the flat still smelled of bergamot and ozone, and the ghost of his touch lingered on her skin.
created_at
"2026-02-19T12:47:23.951Z"
2/19/2026, 12:47:23 PM
model
"z-ai/glm-4.6"
4/6/2001, 12:00:00 AM
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
544
moderation_latency
(null)
generation_time
123091
tokens_prompt
1034
tokens_completion
4903
native_tokens_prompt
938
native_tokens_completion
4571
native_tokens_completion_images
(null)
native_tokens_reasoning
2349
native_tokens_cached
896
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
"stop"
usage
0.008043279
router
(null)
provider_responses
0
endpoint_id
"c8607edc-8577-4199-b03d-1213da4743dc"
id
"chatcmpl-RlRJ4Haiz77gKNTZjj1VEJKn"
is_byok
false
latency
84
model_permaslug
"z-ai/glm-4.6"
4/6/2001, 12:00:00 AM
provider_name
"DeepInfra"
status
200
api_type
"completions"
id
"gen-1771505243-XAVVvh4ZDvBOmHfjr7Uk"
upstream_id
"chatcmpl-RlRJ4Haiz77gKNTZjj1VEJKn"
total_cost
0.008043279
cache_discount
0.0003136
upstream_inference_cost
0
provider_name
"DeepInfra"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
16
adverbTagCount
1
adverbTags
0
"She gestured vaguely [vaguely]"
dialogueSentences
52
tagDensity
0.308
leniency
0.615
rawRatio
0.063
effectiveRatio
0.038
94.34%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1767
totalAiIsmAdverbs
2
found
0
adverb
"gently"
count
1
1
adverb
"slowly"
count
1
highlights
0
"gently"
1
"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)
60.38%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1767
totalAiIsms
14
found
0
word
"scanned"
count
1
1
word
"unreadable"
count
2
2
word
"flicker"
count
1
3
word
"mask of indifference"
count
1
4
word
"perfect"
count
1
5
word
"intensity"
count
1
6
word
"could feel"
count
1
7
word
"warmth"
count
1
8
word
"whisper"
count
1
9
word
"magnetic"
count
1
10
word
"stark"
count
1
11
word
"echoing"
count
1
12
word
"silence"
count
1
highlights
0
"scanned"
1
"unreadable"
2
"flicker"
3
"mask of indifference"
4
"perfect"
5
"intensity"
6
"could feel"
7
"warmth"
8
"whisper"
9
"magnetic"
10
"stark"
11
"echoing"
12
"silence"
33.33%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
3
maxInWindow
3
found
0
label
"air was thick with"
count
1
1
label
"hung in the air"
count
1
2
label
"sent a shiver through"
count
1
highlights
0
"The air was thick with"
1
"hung in the air"
2
"sent a jolt through"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
122
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
122
filterMatches
(empty)
hedgeMatches
0
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
154
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
33
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1760
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
12
unquotedAttributions
0
matches
(empty)
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
24
wordCount
1357
uniqueNames
9
maxNameDensity
0.66
worstName
"Rory"
maxWindowNameDensity
1.5
worstWindowName
"Rory"
discoveredNames
Evan
1
Rory
9
Mayfair
1
Brick
1
Lane
1
French
1
Lucien
4
Ptolemy
3
Eva
3
persons
0
"Evan"
1
"Rory"
2
"Lucien"
3
"Ptolemy"
4
"Eva"
places
0
"Brick"
1
"Lane"
globalScore
1
windowScore
1
46.91%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
97
glossingSentenceCount
4
matches
0
"looked like he'd just stepped out of a Ma"
1
"something like old leather and ozone"
2
"looked like ancient legal texts"
3
"not quite touching"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.568
wordCount
1760
matches
0
"not at her, but at the cramped space behind her"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
154
matches
0
"remembered that touch"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
60
mean
29.33
std
17.37
cv
0.592
sampleLengths
0
61
1
22
2
45
3
49
4
4
5
71
6
41
7
1
8
25
9
18
10
26
11
47
12
40
13
51
14
15
15
20
16
23
17
7
18
25
19
19
20
21
21
32
22
2
23
47
24
49
25
40
26
10
27
9
28
30
29
24
30
31
31
28
32
32
33
63
34
9
35
3
36
43
37
56
38
15
39
46
40
56
41
34
42
19
43
35
44
21
45
49
46
1
47
36
48
23
49
40
90.88%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
5
totalSentences
122
matches
0
"was slicked"
1
"were unfurled"
2
"being smoothed"
3
"was trapped"
4
"was gone"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
3
totalVerbs
209
matches
0
"were standing"
1
"was hammering"
2
"was screaming"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
3
semicolonCount
0
flaggedSentences
2
totalSentences
154
ratio
0.013
matches
0
"Towers of books teetered on every available surface—coffee table, chairs, even the floor."
1
"A flicker of something—pain, maybe—crossed his face before being smoothed away by his customary mask of indifference."
82.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1364
adjectiveStacks
3
stackExamples
0
"grimy, mustard-coloured hallway,"
1
"small, crescent-shaped scar"
2
"single, stark white business"
adverbCount
50
adverbRatio
0.036656891495601175
lyAdverbCount
15
lyAdverbRatio
0.010997067448680353
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
154
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
154
mean
11.43
std
7.19
cv
0.629
sampleLengths
0
6
1
26
2
12
3
17
4
4
5
7
6
6
7
5
8
10
9
15
10
12
11
8
12
7
13
14
14
9
15
3
16
12
17
4
18
4
19
14
20
1
21
16
22
24
23
16
24
6
25
12
26
23
27
1
28
20
29
5
30
13
31
5
32
19
33
7
34
2
35
19
36
20
37
6
38
11
39
19
40
10
41
7
42
13
43
9
44
22
45
15
46
15
47
5
48
12
49
11
38.31%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
18
diversityRatio
0.2597402597402597
totalSentences
154
uniqueOpeners
40
84.03%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
3
totalSentences
119
matches
0
"Then it came again."
1
"Slowly, she took it."
2
"Then he was gone."
ratio
0.025
18.32%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
60
totalSentences
119
matches
0
"Her heart gave a single,"
1
"She put the spoon down,"
2
"They were standing too close"
3
"Her fingers went to the"
4
"She threw the chain."
5
"He filled the frame, a"
6
"His suit was charcoal, tailored"
7
"His platinum blond hair was"
8
"He looked like he'd just"
9
"His eyes, though, were the"
10
"They fixed on her, and"
11
"His voice was a low,"
12
"She gripped the edge of"
13
"He gestured with the cane,"
14
"She stepped back, a silent"
15
"He moved past her, his"
16
"He brought with him the"
17
"He scanned the flat, his"
18
"he said, running a gloved"
19
"She wrapped her arms around"
ratio
0.504
18.82%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
105
totalSentences
119
matches
0
"The first knock was sharp,"
1
"Rory paused, a spoon halfway"
2
"The flat was silent save"
3
"Her heart gave a single,"
4
"She put the spoon down,"
5
"The peephole showed a distorted"
6
"They were standing too close"
7
"Her fingers went to the"
8
"Eva was paranoid, and after"
9
"The first one slid back"
10
"The second followed."
11
"The third was the stiffest,"
12
"She threw the chain."
13
"The door swung inward."
14
"He filled the frame, a"
15
"His suit was charcoal, tailored"
16
"His platinum blond hair was"
17
"He looked like he'd just"
18
"His eyes, though, were the"
19
"They fixed on her, and"
ratio
0.882
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
119
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
59
technicalSentenceCount
0
matches
(empty)
0.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
16
uselessAdditionCount
4
matches
0
"she said, her voice quieter now"
1
"He reached up, his hand hovering near her cheek, not quite touching"
2
"she said, her voice stronger now"
3
"he said, his voice all business now,"
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
4
fancyCount
0
fancyTags
(empty)
dialogueSentences
52
tagDensity
0.077
leniency
0.154
rawRatio
0
effectiveRatio
0
78.9112%