Install any skill in seconds. Free to start, no credit card required.
Get Started Free →docxology/infrastructure-prose
Prose analysis utilities for research manuscripts and prose-focused projects. Provides readability metrics (Flesch, Flesch-Kincaid, Gunning Fog), heading-outline structural analysis, editorial quality flags (passive voice, hedge words, citation density, long sentences), aggregate ManuscriptReport across a manuscript directory, and a CLI (metrics/outline/quality/report).
Passed 15 of 21 test cases with the skill, and 5 of 21 without it.
and 16 more in the full report
11 fixed5 passed either way6 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to check prose quality for `drafts/intro.md` via command line and customize the sentence length threshold to 30 words. What exact command should I run?
| Checked | Without skill | With skill |
|---|---|---|
| Invokes uv run python -m infrastructure.prose.cli quality drafts/intro.md. | Missed | Passed |
| Includes the --long-sentence-threshold 30 flag. | Missed | Passed |
The instructions your model reads when the skill loads.
Editorial-grade prose analysis: readability, structure, quality flags, and manuscript-wide aggregation.
flowchart LR
MD[Markdown manuscript] --> NORM[normalise_for_prose<br/>strip front-matter · fences ·<br/>inline code · links]
NORM --> METRICS[ProseMetrics<br/>Flesch · FKGL · Gunning Fog]
NORM --> QUALITY[QualityReport<br/>passive · hedges · citations ·<br/>long sentences]
MD --> STRUCT[StructureReport<br/>headings · sections · word counts]
METRICS --> AGG[ManuscriptReport]
QUALITY --> AGG
STRUCT --> AGG
classDef io fill:#0f766e,stroke:#0f172a,color:#fff
classDef proc fill:#1e3a8a,stroke:#0f172a,color:#fff
classDef out fill:#7c2d12,stroke:#0f172a,color:#fff
class MD io
class NORM,METRICS,QUALITY,STRUCT proc
class AGG out
from infrastructure.prose import compute_metrics, normalise_for_prose
text = "The cat sat on the mat. Dogs run fast."
metrics = compute_metrics(normalise_for_prose(text))
print(metrics.flesch_reading_ease) # 100+ — very easy
print(metrics.flesch_kincaid_grade) # ~1
print(metrics.gunning_fog) # ~1.6
from infrastructure.prose import analyze_structure, render_outline
test cases passed, vs 5 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.