NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-23-01M37HC6D7Z91C0CX1TNZQTD0T
Run Details
Model:
GPT-6 Sol (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Fantasy: entering an ancient ruin
Duration:
1m 23s
Cost:
$0.031448
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
91.47%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
77.25%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
24.69%
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)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
56.27%
Sentence opener variety
(details)
85.47%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
78.59%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
90.4577%
Overall
Model input
System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<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="4418" name="Nyx" aliases="Nyx, the Shadow, Nightwhisper" pronouns="they/them" species="Shade" storyRole="Wild Card"> <eyeColor>faintly glowing violet</eyeColor> <height>approximately 6'2" in solid form</height> <age>ageless</age> <form>humanoid silhouette of living shadow, can shift between solid and incorporeal</form> <voice>sounds like a whisper carried on the wind</voice> <description>A being of living shadow, existing between the mortal plane and the spaces between realms.</description> <backstory>Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643. They now exist as a Shade, bound to the mortal plane but able to slip between shadows.</backstory> </character> <character id="4424" name="Isolde Varga" aliases="Isolde, the Seer" pronouns="she/her" species="Half-Fae" storyRole="Oracle"> <eyeColor>pale lavender</eyeColor> <hair>silver, reaching her waist</hair> <height>5'5"</height> <age>300 years old</age> <appearance>ethereal, ageless</appearance> <speech>speaks in riddles</speech> <footprints>leaves no footprints when she walks</footprints> <compulsion>cannot lie (Fae compulsion) but can mislead</compulsion> <description>A Half-Fae seer exiled from the Fae Courts for sharing visions with mortals.</description> <backstory>She now lives in a hidden grove in Richmond Park, offering cryptic prophecies to those who seek her out.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <item id="2006" name="Fae-Forged Blade" aliases="the Fae blade, Isolde's gift" type="Weapon" origin="The Fae Courts"> <material>moonsilver</material> <shape>slender, leaf-shaped dagger</shape> <temperature>always cold to the touch</temperature> <glow>faintly luminescent in moonlight</glow> <power>can cut through magical wards; particularly effective against demons</power> <givenTo>given to Aurora by Isolde as a gift</givenTo> <description>A weapon of the Fae Courts, rare and highly coveted.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> </codex> Write a fully fleshed out scene of at least 1000 words in the fantasy genre. A small group enters an ancient, otherworldly place for the first time. The environment is alien and wondrous. Describe their exploration — what they see, hear, and feel as they move deeper. Include moments of discovery, unease, and wonder. Let the world-building emerge through the characters' experience rather than exposition. Use the codex entries above as your world reference for characters, setting, and lore. Only include the prose of the scene without any markdown or commentary.
Model response
Messages
Meta
AI
The last thing Rory saw
of Richmond Park was a cyclist in a yellow jacket passing between two distant oaks.
Then Nyx stepped into the
shadow of a standing stone, and the cyclist vanished.
The stone had looked like
an oak from a distance. Up close, its surface was grey and hard beneath a skin of bark, and the wildflowers at its base bloomed in colours Rory had no names for.
The clearing beyond it lay
bright and still.
Isolde walked ahead without bending
a stem. Behind her, the flowers sprang upright in the places Rory had trodden. “That is not reassuring,” Rory said. “Few thresholds are,” Isolde replied.
Nyx stood almost motionless beside
the stone, a tall silhouette where the afternoon light ought to have fallen.
Their violet eyes fixed on
a point above Rory’s shoulder. “There,” they whispered. Rory turned.
She saw only another gap
between the stones, crowded with brambles.
The Heartstone warmed against her
chest.
Its silver chain had caught
on her collar, and she freed it, pulling the thumbnail-sized crimson gem into her palm.
A faint light moved deep
inside it. “I can’t see anything.” “Walk toward the place you least want to step,” Isolde said. Rory studied the brambles.
They were black with thorns
and much too dense to pass through. Of course.
She took out the dagger
Isolde had given her.
The moonsilver chilled her fingers
through the leather wrapping on its hilt. At the edge of the thicket, the blade met resistance where there was no branch. Rory pushed.
Something taut gave way with
a noise like a breath drawn
sharply
between teeth. The brambles folded apart. Warm air poured through the opening, rich with the smell of baked pears, damp soil, and a spice Rory couldn’t place. Beyond the thorns lay a slope of red earth under an amber sky. Nyx went first.
Their shape thinned as they
crossed, then gathered on the other side.
Rory followed before she could
think better of it.
The ground shifted under her
boots.
She caught herself against the
trunk of a tree whose bark felt as smooth as glazed crockery. Behind her, the gap closed. There were no brambles now, only rows of trees running uphill until they disappeared into golden haze. Isolde emerged last. “Stay near one another.” Rory looked up. The sky held no sun. Light filled it evenly, warm and deep, and made the leaves overhead look almost transparent. Fruit hung among them in crowded clusters: small blue globes with silver seams, pears the colour of old wine, pale things shaped like cupped hands.
Somewhere out of sight, water
ran over stone. “This is Hel?” Rory asked. “This is Dymas,” Isolde said. Rory knew the name.
It had sounded ugly when
she’d heard it spoken in London, something to brace for. Here, a breeze carried the scent of rosemary over the orchard, and tiny white insects drifted through the branches like scraps of paper. The Heartstone lay quiet in her hand.
She tucked it under her
shirt and followed Isolde along a path paved with irregular green tiles. Moss grew between them. Rory crouched at the first tile and rubbed a thumb across its surface. Glass, or something like it. Beneath the green lay a curl of dark lettering. “Can you read that?” Isolde glanced back. “Not from where you stand.” Rory rose. As she moved, the letters under the glass
seemed to
move too.
She tried another angle, then
another. From the far side of the path she could make out a name, followed by a date and the words one season of service. The tile beside it bore another name. There were hundreds. A bell sounded somewhere uphill, its note low enough that Rory felt it in her teeth. The white insects vanished into the leaves. From far beyond the trees came voices, then a quick burst of applause. “A feast?” she asked. “Perhaps,” said Isolde. “That sounded like applause.” “Then someone has been pleased.” Rory looked down at the path. More names gleamed under the glass, too many to read as she walked. Some letters had worn thin beneath centuries of feet. “And these people?” Isolde’s pale lavender gaze settled on the tiles. “They came to work.” She moved on. Rory had learned to listen
carefully
when Isolde answered a question.
They came to work did
not mean they had gone home. The orchard opened onto a bridge made from a single enormous root.
It arched over a channel
of dark water, its fibres bound together as neatly as braided rope. Below, silver shapes passed
slowly
beneath the surface. Rory leaned over the edge and found herself looking at spoons, hundreds of them, swimming bowl-first against the current. One broke the surface with a bright little splash. Rory laughed before she could stop herself. Nyx turned their glowing eyes toward her. “You are surprised.” “It’s a river full of cutlery.” “Yes.” “That doesn’t happen where I’m from.” “Earth keeps its wonders poorly,” they said. Rory watched a spoon dive, trailing a chain of bubbles. For a moment she forgot the names underfoot. On the far bank, the path divided. One branch wound toward the applause and the scent of roasting meat. The other led into a stand of trees with silver-white trunks. The Heartstone gave a faint
pulse
against Rory’s skin. “This way,”
she said, taking the quieter
path. The light changed beneath the silver trees.
Their crowns met overhead, shutting
out the amber sky, but each leaf had a bright vein running through it. Rory could hear a soft, steady clicking.
It took her several steps
to realise the trees
were shedding
seeds onto the path. Each seed was a
perfect
little
porcelain
plate. She picked one up.
It fitted on the tip
of her finger. “Don’t eat it,” Nyx said. “I wasn’t going to.” “You considered it.” “I considered how you’d know if I did.”
They gave a sound that
might have been amusement. Isolde, ahead of them, stopped. At the heart of the grove stood a building grown into the trees. Columns of dark wood rose from the earth and joined high above in a vaulted roof. Between them hung gauzy curtains that stirred though the air had gone still. Long tables filled the interior. Every table
was laid
with spotless dishes, and every chair stood empty. Rory stepped inside.
Her boots made no sound
on the floor. It was polished stone, shot through with threads of gold, yet it had the slight give of living wood. The clicking ceased behind her. At the nearest table sat a covered dish. Steam escaped from beneath its lid, carrying the unmistakable smell of Jennifer Carter’s Sunday roast: lamb, garlic, potatoes crisped at the edges. Rory stopped so abruptly that Nyx passed through her shadow. Her mother hadn’t cooked that meal for her since Rory had left Cardiff. The smell was precise enough to bring back their kitchen, rain against the window, her father arguing with the radio while Jennifer carved. Rory reached for the lid. Isolde caught her wrist. Her fingers were light, but the small crescent scar there prickled beneath them. “What is offered,” Isolde said, “need not be freely given.” Rory pulled her hand back. The scent changed. For an instant it was sweet plum and warm bread.
Then it was garlic and
lamb again. Across the hall, a chair scraped the floor. Nyx flowed up the side of a column and gathered into a solid shape near the rafters. “We have company.” Rory saw no one. A second chair moved, drawing itself out from a table. On the plate before it, a knife and fork lifted upright. “Isolde?” “An invitation,” Isolde said. “To what?” “The table will tell you.” Rory had no intention of asking it. She backed toward the entrance, but the curtains had drawn together. Through them she could still see the silver trees. Something stood between her and them now: a thin, shimmering pressure, visible only where falling leaves struck it and slid away. The Heartstone grew hot. “There’s a portal nearby,” Rory said. Nyx dropped soundlessly to the floor. “Behind us.” A third chair scraped out. The cutlery on its plate rose. Rory slipped past the end of the table. The chairs turned to follow her, their legs dragging in unison. She held out the dagger and pressed its tip to the air between the curtains. The blade met resistance. Cold shot through her hand. “Rory,” Isolde said, “where does a hungry house keep its heart?” “Could you ask me something easier?” The cutlery clattered across the plates. One fork flew past Rory’s ear and buried itself in a column. The wood closed around its tines. She ducked, looked up, and saw the roof. A crimson bead hung at the centre of the vault, lodged where the branches joined. It
pulsed
in time with the stone against her chest. Each beat sent a faint tremor through the tables. Through the chairs. “That’s not a heart,” Rory said. “It’s a doorbell.” She dragged a chair beneath the centre of the room and climbed onto it. The chair bucked. Rory grabbed a branch with her free hand and hauled herself up, hearing the rip of her sleeve. A knife flashed below her. Nyx caught it in a fold of shadow. Up close, the bead was not set into the wood. Thin roots had grown around it, clasping it like fingers. Rory wedged the dagger between them and cut. The roots parted. Every dish in the hall rang at once. Rory caught the bead as it fell. It was warm and smooth, and inside it lay a folded strip of paper, small as a matchstick. The pressure at the entrance vanished. Curtains flew apart. Amber light flooded the room, and the empty chairs fell still. Rory jumped down. For a moment none of them moved.
Then, far off among the
orchards, the bell
began to
ring again. She held the bead up to the light. The paper inside bore a line of cramped writing. She could make out only two words through the crimson surface. Aurora Carter. Her full name. Not Rory. Not a name anyone here should have known. Nyx leaned close, their voice a
whisper
against her ear. “Did you find what you came for?” Rory looked at the bead in her hand, then at the Heartstone hanging from its silver chain. They
pulsed
together, once, in answer to one another. “No,” she said. “But someone expected me to.”
created_at
"2026-09-23T16:25:27.216Z"
9/23/2026, 4:25:27 PM
model
"openai/gpt-6-sol-20260922"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
12289
moderation_latency
(null)
generation_time
82769
tokens_prompt
1547
tokens_completion
3162
native_tokens_prompt
1532
native_tokens_completion
2762
native_tokens_completion_images
0
native_tokens_reasoning
557
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
"completed"
service_tier
"default"
usage
0.0314485
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.20.0; linux; x64))"
http_referer
(null)
request_id
"req-1790180727-usOsT4xRiqPxDDOfp5gR"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1790180727-2H5GYdn8WkXoSP3qaXLV"
upstream_id
"resp_025f97752569acfb016ab3fd7751f487d184a13555554b58e6"
provider_responses
0
endpoint_id
"1cfc7d9d-4404-4b8e-9ee4-58ae45c9dcd4"
id
"resp_025f97752569acfb016ab3fd7751f487d184a13555554b58e6"
is_byok
false
latency
1079
model_permaslug
"openai/gpt-6-sol-20260922"
provider_name
"OpenAI"
status
200
total_cost
0.0314485
cache_discount
-0.0007645
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
16
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
41
tagDensity
0.39
leniency
0.78
rawRatio
0
effectiveRatio
0
91.47%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1758
totalAiIsmAdverbs
3
found
0
adverb
"sharply"
count
1
1
adverb
"carefully"
count
1
2
adverb
"slowly"
count
1
highlights
0
"sharply"
1
"carefully"
2
"slowly"
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
77.25%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1758
totalAiIsms
8
found
0
word
"the last thing"
count
1
1
word
"chilled"
count
1
2
word
"pulse"
count
1
3
word
"perfect"
count
1
4
word
"porcelain"
count
1
5
word
"pulsed"
count
2
6
word
"whisper"
count
1
highlights
0
"the last thing"
1
"chilled"
2
"pulse"
3
"perfect"
4
"porcelain"
5
"pulsed"
6
"whisper"
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
178
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
178
filterMatches
(empty)
hedgeMatches
0
"seemed to"
1
"began to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
202
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
27
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1758
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
18
unquotedAttributions
0
matches
(empty)
24.69%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
83
wordCount
1596
uniqueNames
12
maxNameDensity
2.51
worstName
"Rory"
maxWindowNameDensity
3.5
worstWindowName
"Rory"
discoveredNames
Rory
40
Richmond
1
Park
1
Nyx
10
Isolde
16
Heartstone
5
London
1
Jennifer
2
Carter
2
Sunday
1
Cardiff
1
One
3
persons
0
"Rory"
1
"Nyx"
2
"Isolde"
3
"Heartstone"
4
"Jennifer"
5
"Carter"
6
"One"
places
0
"Richmond"
1
"Park"
2
"London"
3
"Cardiff"
globalScore
0.247
windowScore
0.5
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
122
glossingSentenceCount
1
matches
0
"looked like an oak from a distance"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1758
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
202
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
92
mean
19.11
std
16.96
cv
0.888
sampleLengths
0
34
1
64
2
6
3
5
4
28
5
3
6
46
7
4
8
11
9
18
10
52
11
4
12
34
13
24
14
45
15
7
16
56
17
5
18
5
19
42
20
55
21
4
22
8
23
44
24
7
25
3
26
36
27
4
28
3
29
4
30
5
31
31
32
12
33
25
34
56
35
9
36
7
37
10
38
6
39
1
40
6
41
7
42
18
43
39
44
8
45
56
46
12
47
5
48
4
49
3
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
178
matches
0
"was laid"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
1
totalVerbs
268
matches
0
"were shedding"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
202
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1599
adjectiveStacks
0
stackExamples
(empty)
adverbCount
51
adverbRatio
0.03189493433395872
lyAdverbCount
12
lyAdverbRatio
0.0075046904315197
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
202
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
202
mean
8.7
std
5.32
cv
0.612
sampleLengths
0
20
1
14
2
10
3
27
4
8
5
7
6
12
7
6
8
5
9
18
10
10
11
3
12
2
13
11
14
6
15
20
16
7
17
4
18
11
19
4
20
12
21
2
22
9
23
12
24
15
25
2
26
14
27
4
28
21
29
13
30
3
31
12
32
9
33
6
34
17
35
5
36
17
37
3
38
4
39
3
40
5
41
15
42
25
43
8
44
5
45
5
46
4
47
15
48
23
49
7
56.27%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
3
diversityRatio
0.3465346534653465
totalSentences
202
uniqueOpeners
70
85.47%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
4
totalSentences
156
matches
0
"Then Nyx stepped into the"
1
"Somewhere out of sight, water"
2
"Then it was garlic and"
3
"Then, far off among the"
ratio
0.026
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
33
totalSentences
156
matches
0
"Their violet eyes fixed on"
1
"She saw only another gap"
2
"Its silver chain had caught"
3
"They were black with thorns"
4
"She took out the dagger"
5
"Their shape thinned as they"
6
"She caught herself against the"
7
"It had sounded ugly when"
8
"She tucked it under her"
9
"She tried another angle, then"
10
"She moved on."
11
"They came to work did"
12
"It arched over a channel"
13
"she said, taking the quieter"
14
"Their crowns met overhead, shutting"
15
"It took her several steps"
16
"She picked one up."
17
"It fitted on the tip"
18
"They gave a sound that"
19
"Her boots made no sound"
ratio
0.212
78.59%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
119
totalSentences
156
matches
0
"The last thing Rory saw"
1
"The stone had looked like"
2
"The clearing beyond it lay"
3
"Isolde walked ahead without bending"
4
"Nyx stood almost motionless beside"
5
"Their violet eyes fixed on"
6
"She saw only another gap"
7
"The Heartstone warmed against her"
8
"Its silver chain had caught"
9
"A faint light moved deep"
10
"Rory studied the brambles."
11
"They were black with thorns"
12
"She took out the dagger"
13
"The moonsilver chilled her fingers"
14
"Something taut gave way with"
15
"The brambles folded apart."
16
"Nyx went first."
17
"Their shape thinned as they"
18
"Rory followed before she could"
19
"The ground shifted under her"
ratio
0.763
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
156
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
70
technicalSentenceCount
0
matches
(empty)
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
16
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
16
fancyCount
1
fancyTags
0
"they whispered (whisper)"
dialogueSentences
41
tagDensity
0.39
leniency
0.78
rawRatio
0.063
effectiveRatio
0.049
90.4577%