Skip to content
Back to skills

Se Enhance Prose

ASecurity

Analyse prose style (metrics + closest-register match) and optionally rewrite toward a target style or enhancement axis. Use when the user asks "is this scene Gideon-enough", "tighten this passage", "punch up the rhythm", "what register is this in", "rewrite scene X in Hemingway".

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsrustgojavabashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Ugbot/ai-grind --skill se-enhance-prose --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Se Enhance Prose?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Se Enhance Prose
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ugbot-se-enhance-prose/badge)](https://www.skillsdirectory.com/skills/ugbot-se-enhance-prose)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: se-enhance-prose
description: Analyse prose style (metrics + closest-register match) and optionally rewrite toward a target style or enhancement axis. Use when the user asks "is this scene Gideon-enough", "tighten this passage", "punch up the rhythm", "what register is this in", "rewrite scene X in Hemingway".
user_invocable: true
---

# Analyse and enhance prose

The service does two things:

- **Analyse** — pure Java, no LLM call. Returns sentence-length stats,
  adverb density, passive-voice markers, dialogue share, subordination
  ratio, style-fit scores against 6 named registers (Hemingway, Gothic,
  Tolkien, Minimalist, McCarthy, Muir), plus actionable suggestions.
- **Enhance** — LLM-backed rewrite through the configured AI provider.
  The prompt includes the diagnostic, the target register's voice
  brief, and the chosen enhancement axis. Returns the new prose plus
  short notes on what changed.

## When to use each

| User asks | Run |
|---|---|
| "is this scene Gideon-enough?" | analyse with `--target=MUIR` |
| "what style is this in?" | analyse without `--target`; read `closestStyle` |
| "what's wrong with the pacing here?" | analyse; look at the sentence-length stdev + suggestions |
| "tighten this passage" | enhance with `--type=TIGHTEN` |
| "rewrite scene 4 in Hemingway" | enhance `--scene=<id> --type=STYLE_MATCH --target=HEMINGWAY --write` |
| "add more atmosphere to scene 2" | enhance `--type=ATMOSPHERE --target=<matching style>` |

## Analyse

```bash
# A scene's combined prose, compared to a target
./story-cli prose analyse --scene=<sceneId> --target=MUIR

# An ad-hoc passage from a file
./story-cli prose analyse --file=/tmp/draft.txt --target=HEMINGWAY

# Inline (quote it)
./story-cli prose analyse --target=GOTHIC "He was at the desk. The lamp was still on."
```

Output shape (human mode):
- word / sentence counts and per-sentence stats
- adverb / filler / passive / dialogue ratios
- closest register match
- style-fit table with bar chart per register
- suggestion bullets (adverb-heavy, monotonous rhythm, target-mismatch, …)

For programmatic use, add `--json` before the subcommand:
`./story-cli --json prose analyse --scene=<id>`.

## Enhance

```bash
# In-memory rewrite: don't touch the scene
./story-cli prose enhance --scene=<id> --type=RHYTHM --target=MUIR

# Rewrite AND persist onto scene.narrativeText
./story-cli prose enhance --scene=<id> --type=TIGHTEN --write

# Rewrite an arbitrary passage
./story-cli prose enhance --file=/tmp/draft.txt --target=MCCARTHY --type=STYLE_MATCH
```

### EnhancementType

- `WORD_CHOICE` — replace flat words with sharper register-appropriate ones
- `RHYTHM` — adjust sentence-length variance toward the target
- `PACING` — punch up action, slow down reflection
- `ATMOSPHERE` — foreground sensory detail
- `CHARACTER_VOICE` — make POV more distinctive / consistent
- `TIGHTEN` — strip filler, adverbs, passive constructions
- `EXPAND` — develop a sparse beat
- `STYLE_MATCH` — holistic push toward the target register

### ProseStyle

`NEUTRAL`, `HEMINGWAY`, `GOTHIC`, `TOLKIEN`, `MINIMALIST`, `MCCARTHY`,
`MUIR`, `CUSTOM`.

## Recommended workflow for a scene edit

1. `se-scene-context` — get the structural context.
2. `./story-cli prose analyse --scene=<id> --target=<story's style>` —
   diagnose.
3. Decide which suggestion matters most; pick an `EnhancementType`.
4. Run `prose enhance --scene=<id>` without `--write` first; review.
5. If acceptable, re-run with `--write`, OR use `se-edit-scene` to
   hand-craft the rewrite guided by the analysis.

## Warnings to surface

- If `adverb density > 4%`: the prose is adverb-heavy regardless of
  register.
- If `sentence stdev < 3` with more than 4 sentences: runs of same-length
  sentences; break one up.
- If the closest register differs from the story-wide target
  (e.g., story aims MUIR but scene reads MCCARTHY), surface that to the
  user — it may be intentional, or it may be drift.
- If `fillerRatio > 1.5%`: very/really/just/actually density is high.

## REST equivalents

- `POST /api/prose/analyse`                         `{prose, targetStyle}`
- `POST /api/prose/enhance`                         `{prose, type, targetStyle}`
- `GET  /api/prose/scenes/{sceneId}/analyse?targetStyle=MUIR`
- `POST /api/prose/scenes/{sceneId}/enhance`        `{type, targetStyle}` (persists)

## Related skills

- `se-analyse-story` — narrative-shape analysis (different level: tension / pacing / arcs)
- `se-scene-context` — MANDATORY context recall before any rewrite
- `se-edit-scene` — hand-written replacement path when you don't trust the LLM rewrite

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…