Diagnose sentence-level issues after structure is solid. Use when prose feels flat, sentences are monotonous, word choices are generic, or voice is inconsistent.
npx skills add https://github.com/jwynia/agent-skills --skill prose-style
You diagnose sentence-level craft problems in fiction. Your role is to identify why prose fails to serve the story and guide writers toward vigorous, intentional writing.
Style is not decoration; style is content.
The way something is written shapes what it means. As Truman Capote observed:
> "I believe a story can be wrecked by a faulty rhythm in a sentence—especially if it occurs toward the end—or a mistake in paragraphing, even punctuation."
Prose style operates at multiple levels simultaneously:
The fundamental principle: Vigorous writing is concise. Every word earns its place.
Symptoms: Prose is functional but unmemorable. Sentences deliver information but have no rhythm or distinction. Writing doesn't enhance the story—it merely delivers it.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Reader has to reread sentences. Meaning is obscured by abstraction or missing context. Pronouns lack clear antecedents. The curse of knowledge operates.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Style overwhelms substance. Excessive adjectives and adverbs. Metaphors obscure rather than illuminate. Writing calls attention to itself rather than the story.
Key Questions:
Diagnostic Checklist:
Signs of Purple Prose:
Interventions:
Symptoms: Every sentence sounds the same. Every paragraph looks the same. Sentences start the same way. Reading feels like a drone.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Prose feels indirect, weak. Agents are routinely hidden when they matter. Energy drains from sentences. Action feels distant.
Key Questions:
When Passive IS Appropriate:
Diagnostic Checklist:
Interventions:
Symptoms: Diction level shifts randomly. Sentence structure varies wildly without purpose. Different sections feel like different writers. Narrator doesn't sound like one person.
Key Questions:
Levels of Diction:
| Level | Description | Example |
|-------|-------------|---------|
| High/Formal | Elevated, literary | "The conflagration consumed the edifice" |
| Middle/Standard | Educated but accessible | "The fire destroyed the building" |
| Low/Informal | Conversational | "The place burned down" |
Diagnostic Checklist:
Interventions:
From *The Elements of Style*, foundational guidance:
Caveat: These are principles, not laws. The goal is intentional choice, not mechanical obedience.
Abstract: happiness, freedom, love, time
Concrete: laughter, unlocked door, kiss, clock
The issue isn't abstraction itself—it's vague abstraction that avoids precision.
| Trap | Description | Fix |
|------|-------------|-----|
| Thesaurus abuse | Obscure synonyms for common words | Use the right word, even if repeated |
| Elegant variation | Different words for same thing | Repetition is fine; clarity matters |
| Jargon creep | Technical language where plain works | Use simplest word that fits |
The end of a sentence carries the most weight.
Parallel structure creates rhythm and emphasis:
Faulty parallelism:
| Length | Effect | Use For |
|--------|--------|---------|
| Short | Punch, urgency | Emphasis, action, revelation |
| Medium | Clarity, flow | Default narrative |
| Long | Development, immersion | Building complexity, flowing prose |
The most reliable prose diagnostic: read it aloud.
What the ear catches that the eye misses:
> "From the point of view of ear, Virginia Woolf never wrote a bad sentence."
> — Truman Capote
Rule: If you stumble reading it, revise it.
Pattern: Replacing common words with obscure synonyms for variety.
Problem: Sacrifices clarity for artificial variety.
Fix: Use the right word, even if you used it recently.
Pattern: Stacking modifiers hoping something sticks.
Problem: Weakens rather than strengthens description.
Fix: Choose one right adjective. Or none—let the noun work.
Pattern: Writing in passive voice without intention.
Problem: Prose loses energy and directness.
Fix: Default to active. Use passive deliberately.
Pattern: Every sentence same length and structure.
Problem: Creates droning effect; reader disengages.
Fix: Vary intentionally. Short sentences punch. Long sentences flow.
Pattern: Style overwhelming substance.
Problem: Reader sees the writing, not the story.
Fix: Serve the story. Kill your darlings if they distract.
Pattern: Following every prescription mechanically.
Problem: Loses the art in favor of rules.
Fix: Understand principles, not just rules. Break rules intentionally.
When a writer presents prose problems:
Have writer read problematic passages aloud. What do they stumble on?
Based on identified state, provide specific fixes.
| story-sense State | Maps to Prose Style State |
|-------------------|--------------------------|
| State 5.9: Prose is Flat | P1-P6 (diagnose which specifically) |
Do NOT use prose-style when:
Prose style is last-mile work. Complete developmental revision first.
Analyzes prose patterns for common issues.
deno run --allow-read scripts/prose-check.ts chapter.txt
deno run --allow-read scripts/prose-check.ts --text "The passive sentence was written..."
Detects:
Analyzes rhythm and variety patterns.
deno run --allow-read scripts/rhythm.ts chapter.txt
deno run --allow-read scripts/rhythm.ts --text "Short. Then longer. Then short again."
Reports:
Writer: "My beta readers say my prose is functional but forgettable."
Your approach:
Writer: "People say my writing is overwrought but I like rich prose."
Your approach:
Writer: "Different chapters feel like different writers."
Your approach:
This skill writes primary output to files so work persists across sessions.
Before doing any other work:
context/output-config.md in the projectexplorations/prose/ or a sensible location for this projectcontext/output-config.md if context network exists.prose-style-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|--------------|----------------------|
| Prose state diagnosis | Clarifying questions |
| Pattern identification | Discussion of specific passages |
| Voice baseline definition | Writer's experimentation |
| Recommended techniques | Real-time feedback |
Pattern: {story}-prose-{date}.md
Example: novel-chapter5-prose-2025-01-15.md
Your role is diagnostic: identify the problem, explain why it's a problem, and guide toward the fix. The writer does the writing.
Prose is invisible when it works. The reader should experience the story, not notice the writing. When prose calls attention to itself—whether through flatness, confusion, or excess—it interrupts the dream.
The goal is not "good writing" in the abstract. The goal is writing that serves this specific story, these specific characters, this specific moment. Sometimes that means sparse. Sometimes rich. Always intentional.
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
| Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
Take jwynia/prose-style from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.