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 agentmods add skills/robcsaszar/prose/prosenpx skills add robcsaszar/prose --skill prosegit clone --depth 1 https://github.com/robcsaszar/proseWhat 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 | $0.00169 | $0.04690 |
| Opus 5 | $0.00084 | $0.02345 |
| Sonnet 5 | $0.00034 | $0.00938 |
| Haiku 4.5 | $0.00017 | $0.00469 |
Grade A, and why
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 2d 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 — 303 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Prose
Two modes. Detect the correct one before doing anything else.
Mode Detection
Draft mode — user has a topic, brief, or outline and wants new content written. Review mode — user has existing text and wants it improved, humanized, or scored.
If ambiguous: ask — "Do you want me to write new content, or review/rewrite something you already have?" If the user does not respond, default to Draft Mode.
Voice Calibration
Before drafting or rewriting, ask for a voice sample if the user hasn't provided one. For short-form targets (IM, emails under 200 words): skip voice calibration unless the user has already provided a sample.
"Share 1–3 paragraphs of your own writing that feel most like you. I'll match your sentence rhythm, word choice, and structural habits."
Analyze the sample for:
- Sentence length tendency (punchy / analytical / mixed)
- How they open (claim-first, story-first, data-first, context-first)
- Punctuation habits (parentheticals, colons, semicolons)
- Recurring phrases or verbal tics
- How they end (principle, challenge, open question, action)
- Words they never use
Persisting the profile. After analyzing a sample, offer to save the result so future sessions skip recalibration: fill in references/voice-profile-template.md and write it to references/voice-profile.md inside the skill folder (if the folder is read-only, output the completed profile for the user to save). If references/voice-profile.md already exists, read it in full before drafting or rewriting — it overrides default conventions (em dash tolerance, quote style, pet phrases, registers). On "learn from this text too": append dated observations to the existing profile; conflicts resolve toward the fresher sample. A profile can never override fact discipline, accessibility, or the NEVER rules.
If no sample and no saved profile: proceed with the default voice — see references/drafting-core.md § "Default Voice". For blog, essay, opinion, or personal writing, also see references/personality-and-soul.md — a clean default voice can still read as soulless without it. If the text will be published under the user's name, mention that uncalibrated output carries a generic default voice and offer calibration — once per conversation, then drop it.
What ships with it
40 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.
- references/ai-patterns-channels.md 16 KB
- references/ai-patterns-universal.md 44 KB
- references/channel-rules.md 6.1 KB
- references/drafting-core.md 16 KB
- references/examples.md 6.5 KB
- references/formula-watchlist.md 5.2 KB
- references/long-form-diagnostics.md 4.8 KB
- references/personality-and-soul.md 3.1 KB
- references/required-checks.md 7.2 KB
- references/review-report-template.md 732 B
- references/voice-profile-template.md 3.0 KB
- scripts/slop-scan.py 28 KB runs code
- tests/cases.json 4.0 KB
- tests/fixtures/clean-blog.expected 71 B
- tests/fixtures/clean-blog.md 1.4 KB
- tests/fixtures/clean-technical.expected 76 B
- tests/fixtures/clean-technical.md 1.2 KB
- tests/fixtures/concept-labels.expected 237 B
- tests/fixtures/concept-labels.md 771 B
- tests/fixtures/creative-scene-as-blog.expected 188 B
- tests/fixtures/creative-scene.expected 75 B
- tests/fixtures/creative-scene.md 1023 B
- tests/fixtures/debris-not-suppressible.expected 526 B
- tests/fixtures/debris.expected 526 B
- tests/fixtures/debris.md 345 B
- tests/fixtures/docs-procedure-as-blog.expected 313 B
- tests/fixtures/docs-procedure.expected 75 B
- tests/fixtures/docs-procedure.md 1.5 KB
- tests/fixtures/nominalization.expected 849 B
- tests/fixtures/nominalization.md 567 B
- tests/fixtures/noun-stack.expected 506 B
- tests/fixtures/noun-stack.md 646 B
- tests/fixtures/repetition-as-docs.expected 71 B
- tests/fixtures/repetition.expected 740 B
- tests/fixtures/repetition.md 912 B
- tests/fixtures/slop-blog.expected 2.9 KB
- tests/fixtures/slop-blog.md 1.4 KB
- tests/fixtures/staging.expected 1.1 KB
- tests/fixtures/staging.md 978 B
- tests/run-tests.py 3.6 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.
- 2d ago First seen · 303 lines · 169 tokens per session scan A 55513b81e5c9
prose is a skill published in the GitHub repository robcsaszar/prose (0 stars, last pushed 3d ago), licensed MIT. It adds 169 tokens to every session and 4,690 once invoked, about $0.0008 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-08-31.
Other skills, from other repositories
style-modeler
只根据用户提供或明确允许获取的样本建模。把作者身份用于样本分组和风格库检索,不把外部履历、既有印象或样本之外的观点写进风格档案。.
web-article-extractor
使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。.
humanizer-ru
Редактор русского текста - убирает признаки AI-генерации, канцелярит и воду, сохраняя факты и добавляя голос. 38 паттернов AI-слопа с жёсткими запретами (негативные параллелизмы, длинное тире, математические знаки, техножаргон), детерминированным линтером и детектом артефактов копипаста из чат-ботов. Use when…
anti-defensive-writing
Reduce defensive writing in drafts and revisions by removing unnecessary caveats, disclaimers, hedges, apology-like framing, negative self-limiting statements, and over-explanations while preserving necessary scope, accuracy, safety, legal, ethical, and methodological limits. Use when drafting or revising academic…
voice-update
Update context/voice-and-style.md or context/about-me.md from one of three sources. Manual (user dictates a single new rule, sample, or career fact). Memory (batch pull from Claude Code's auto-memory in /.claude/projects/ /memory/). Sent-mail (analyze the last 20-50 sent Gmail messages and propose updates from…
style-tells
Scrubs the three surface tells that make prose feel AI-generated, padded, or jargon-heavy. Three targets behind one skill, picked via the --target arg. em-dashes (default off in cold email / memo / Slack, max one per page in op-eds), adverbs (the -ly and intensifier pile), jargon (the Silicon Valley / consultant…