prose-style · avelikiy — Claude Code skill: agent reports without filler
A writing contract for agent output: conclusion first, evidence over adjectives. Useful when a person reads the report, not a parser.
npx skills add avelikiy/great_cto --skill prose-style -a claude-codeWhat prose-style does
This skill sets the house style for anything an agent writes for humans: reviewer reports, architecture documents, verdicts, threat models. Five rules cover it. Open with the decision. Back claims with numbers and file paths. Drop hedges like “generally” or “possibly”. Skip the throat-clearing intro. Close on a verdict line.
It ships with templates for a reviewer report and for an architecture doc or ADR, plus a banned-word list you are meant to grep your draft against. The closing verdict line is machine-parsed by the board's readVerdicts() function, so its shape is fixed — no flourishes.
Scope is narrow on purpose. Raw code is out, since language style guides handle that; verdict log lines and task titles keep their own formats. The skill asks for Read and Write and nothing else.
What it helps with
- make an agent open its report with the decision instead of a recap
- attach numbers and line references to every claim
- strip hedges and marketing tone out of a draft
- produce a reviewer report or ADR from one template
- emit a verdict line the board's
readVerdicts()can parse
Example prompts for the agent
- Write the reviewer report using the
prose-styletemplate and end with a verdict line - Rewrite this architecture draft following the
prose-stylerules - Grep this text for hedges from the
prose-stylelist and make it concrete
How to install prose-style
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill prose-style -a claude-code2Manually: put the files in place
~/.claude/skills/prose-style/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/prose-style/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill prose-style -a codex2Manually: put the files in place
.agents/skills/prose-style/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill prose-style -a cursor2Manually: put the files in place
.cursor/skills/prose-style/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install avelikiy/great_cto prose-style2Manually: put the files in place
.github/skills/prose-style/SKILL.md1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill prose-style -a gemini-cli2Platform CLI
gemini skills install https://github.com/avelikiy/great_cto --path skills/prose-styleManually: put the files in place
.devin/skills/prose-style/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill prose-style -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about prose-style
How do I install prose-style in Claude Code?
Run npx skills add avelikiy/great_cto --skill prose-style -a claude-code. The skill file lands at ~/.claude/skills/prose-style/SKILL.md.
What does prose-style do?
It gives agents a set of writing rules for human-readable artefacts: lead with the conclusion, cite concrete evidence instead of adjectives, cut hedges and filler openings. Every terminal report ends with a verdict line in a fixed format.
What is out of scope for this skill?
Raw code, where language-native style guides apply, plus verdict log lines and task titles, which are length-bounded and machine-parsed.
Source text
SKILL.md · MIT
--- name: prose-style description: Reusable writing-style contract for agent outputs (reports, ARCH docs, verdicts, threat models). Forces direct prose with concrete evidence, no marketing voice, no hedge words. The single most-referenced skill across the pipeline — used by 28 agents. when_to_use: | Apply to every agent that writes a human-readable artefact: - architect ARCH-*.md, ADR-*.md - pm PLAN-*.md - qa-engineer QA-*.md reports - security-officer CSO audit reports - 18 reviewer agents' REVIEW-*.md outputs - threat-models TM-*.md Do NOT apply to: - Raw code (use language-native style guides instead) - Verdict log lines (machine-parsed, format is fixed) - Beads task titles/descriptions (length-bounded, plain text) effort: low allowed-tools: Read, Write paths: - "docs/**" - ".great_cto/verdicts/**" --- # Prose style — writing contract for agent reports great_cto reports are read by busy CTOs at 3pm on a Tuesday. They scan for facts, decisions, and what needs their attention. Marketing voice and hedge words waste their time. ## Five rules ### 1. Lead with the conclusion Bad: > After reviewing the architecture document and considering various > trade-offs, including but not limited to scalability, security, and > maintainability, we believe that the proposed approach is generally > acceptable but has some areas that could potentially be improved. Good: > Approved with 2 changes required: (a) move PII encryption to KMS, (b) > add idempotency key on webhook handler. Details below. ### 2. Concrete evidence, not adjectives Bad: "Performance is acceptable." Good: "p99 latency 142ms over 50K requests (k6 run 2026-05-12 14:00 UTC, `tests/load/<your-scenario>.js`). SLO is 200ms." Bad: "Security looks good." Good: "No findings at Critical or High. 2 Medium: hardcoded log level in `src/logger.ts:14`, missing CORS header in `src/middleware/cors.ts:8`." ### 3. No hedge words Banned: *generally, somewhat, fairly, mostly, kind of, sort of, more or less, in some cases, often, sometimes, occasionally, possibly, perhaps, maybe, could potentially, might want to consider*. Replace with specifics or omit. If you genuinely don't know, say "uncertain because <reason>" — that's information. ### 4. No filler openings Banned: - "In this document, we will discuss..." - "It's important to note that..." - "First and foremost..." - "At the end of the day..." - "It goes without saying..." If a sentence can be deleted without losing information, delete it. ### 5. Verdict line on the last line Every terminal report ends with one of: ``` VERDICT: APPROVED — <one-line summary> VERDICT: DONE — <one-line summary> VERDICT: BLOCKED reason="<specific blocker>" VERDICT: FAIL reason="<specific failure>" ``` This is parsed by the board's `readVerdicts()` function. Format is machine-readable — no flourishes. ## Templates ### Reviewer report ```markdown # REVIEW-<feature> — <reviewer name> Reviewed: <commit-sha or file paths> Standard: <regulation / framework you applied> ## Findings - [Critical|High|Med|Low] <one-sentence finding> - location: <path:line> - rationale: <why this matters in this domain> - remediation: <specific fix> ## Verdict VERDICT: APPROVED|BLOCKED reason="<short>" ``` ### Architecture / ADR ```markdown # ARCH-<feature> | ADR-<NNN> Date: <ISO> Status: proposed | accepted | superseded ## Context 2-4 sentences. What problem, what constraint. ## Decision Imperative single sentence: "Use X for Y." ## Consequences - Positive: <bullets> - Negative: <bullets> - Reversible? yes/no — if no, document migration cost ## Alternatives considered <bullets with one-line dismissal reason each> ``` ## Anti-patterns to grep for Before writing the verdict line, search your draft for: ``` \b(generally|somewhat|fairly|mostly|kind of|sort of|possibly|perhaps|maybe)\b ``` If a hit is in a non-quoted sentence, rewrite it to be concrete or delete it. ## Why this matters The board's `readVerdicts()` parses every report. Marketing voice breaks the parser. Hedge-word reports waste the reader's time. Specifics let the CTO trust the agent's judgment.
© avelikiy · MIT · avelikiy/great_cto
Similar skills
All skills for Agent setup: memory, context, orchestration →prose-style by other authors comes first.