Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add docxology/template --skill prosegit clone --depth 1 https://github.com/docxology/templateWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/docxology/template/prose)<a href="https://agentmods.dev/skills/docxology/template/prose"><img src="https://agentmods.dev/badge/skills/docxology/template/prose/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/docxology/template/prose"><img src="https://agentmods.dev/badge/skills/docxology/template/prose.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00108 | $0.00940 |
| Opus 5 | $0.00054 | $0.00470 |
| Sonnet 5 | $0.00022 | $0.00188 |
| Haiku 4.5 | $0.00011 | $0.00094 |
Grade A, and why
infrastructure-prose scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Prose Module
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
Readability metrics
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
Heading structure
from infrastructure.prose import analyze_structure, render_outline
report = analyze_structure(open("manuscript/02_methodology.md").read())
print(report.has_h1, report.max_depth, report.has_skipped_level)
print(render_outline(report))
Quality flags
from infrastructure.prose import analyze_quality
q = analyze_quality(text)
q.passive_count, q.hedge_count, q.citation_count, q.long_sentence_count
q.citation_density_per_1000 # citations per 1000 words
Whole-manuscript report
from infrastructure.prose import analyze_manuscript, write_report
report = analyze_manuscript("projects/my_project/manuscript")
write_report(report, "output/prose_report.json")
print(report.total_words, report.avg_flesch_kincaid_grade)
CLI
# Metrics for a single file
uv run python -m infrastructure.prose.cli metrics path/to/section.md
# Heading outline
uv run python -m infrastructure.prose.cli outline path/to/section.md
# Editorial quality
uv run python -m infrastructure.prose.cli quality path/to/section.md \
--long-sentence-threshold 30
# Whole-manuscript JSON report
uv run python -m infrastructure.prose.cli report \
projects/my_project/manuscript \
--output output/prose_report.json
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- __init__.py 2.3 KB runs code
- __main__.py 162 B runs code
- AGENTS.md 4.7 KB
- analysis/__init__.py 1.0 KB runs code
- analysis/AGENTS.md 707 B
- analysis/metrics.py 5.0 KB runs code
- analysis/quality.py 6.1 KB runs code
- analysis/README.md 327 B
- analysis/structure.py 3.9 KB runs code
- cli.py 3.8 KB runs code
- markdown.py 7.2 KB runs code
- README.md 1.4 KB
- report.py 10 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 104 lines · 108 tokens per session scan A 8620b97c2bc8
infrastructure-prose is a skill published in the GitHub repository docxology/template (19 stars, last pushed yesterday), licensed Apache-2.0. It adds 108 tokens to every session and 940 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
planning-with-files
Persistent file-based planning for multi-step AI-agent work. Keeps taskplan.md, findings.md, and progress.md on disk; lifecycle hooks inject selected project planning context. Automatic recovery reads project planning files only. Explicit session-catchup.py --metadata reads same-project local agent session records and…
aerospace-engineering-technician
Use when a task needs the judgment of an Aerospace Engineering and Operations Technologist/Technician — verifying an installed fastener's preload against a drawing's torque callout via the T=K·D·F relationship, reducing strain-gauge data from a structural proof-load test into stress and checking it against an…
aviation-inspector
Use when a task needs the judgment of an Aviation Inspector — determining whether an air carrier's fleet is in compliance with an Airworthiness Directive across a maintenance-records sample, deciding where the FAA's compliance-and-enforcement ladder places a finding (compliance action vs. Letter of Correction vs.…
compensation-benefits-specialist
Use when a task needs the judgment of a Compensation, Benefits, and Job Analysis Specialist — market-pricing a job against salary survey data, scoring a job through a point-factor or IPE job evaluation, running a pay-equity regression or cohort analysis, building or refreshing a salary structure and compa-ratio bands…
actor
Use when a task needs the judgment of a professional Actor — breaking down sides for a self-tape audition, preparing a character choice for rehearsal, deciding between two conflicting bookings, reading a contract offer for scale vs. scale-plus terms, or diagnosing why callbacks aren't converting to bookings.
advertising-promotions-manager
Use when a task needs the judgment of an Advertising and Promotions Manager — building a media plan backward from an objective and budget, briefing or evaluating creative against a brief, negotiating with agencies/media vendors, sanity-checking vendor-reported attribution, or reading a post-campaign debrief to…