Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add avelikiy/great_cto --skill prose-style -a claude-code
Open on GitHub

What 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-style template and end with a verdict line
  • Rewrite this architecture draft following the prose-style rules
  • Grep this text for hedges from the prose-style list and make it concrete

How to install prose-style

1Skills CLI (Vercel)

npx skills add avelikiy/great_cto --skill prose-style -a claude-code

2Manually: put the files in place

~/.claude/skills/prose-style/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/prose-style/

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.

From the same set11

verticals A skill for Claude, Codex, Cursor and other agents: hands the agent the domain brief for one SMB industry before it writes a spec or code. CX Codex +1 ★ 107repo stars test-strategy A skill for QA engineers that turns "90% coverage" into a defensible plan: what to test, why that set, and a signal that the tests actually catch bugs. CX Codex +1 ★ 107repo stars signing-preflight Checks before the first commit that the signing key is loaded and unlocked, and asks the operator to unlock it up front. CX Codex +1 ★ 107repo stars pm-planning Turns an approved architecture document into a Beads task list with dependencies, time-boxes and acceptance criteria. Built for the pm agent handing work to senior-dev. CX Codex +1 ★ 107repo stars observability-baseline Bakes error capture in Sentry, request-id structured logs and /healthz plus /readyz endpoints into a freshly generated service. Useful when the app is still being scaffolded and you don't want the first prod failure to go unseen. CX Codex +1 ★ 107repo stars great_cto The skill turns Claude into a pipeline orchestrator: you describe the task in plain words and the right agents run on their own. Useful when one agent drives a whole project. CX Codex +1 ★ 107repo stars deploy-landed The skill checks that the revision being served is the commit you meant, that its env reached the running process, and that the product actually works. Useful after any deploy or restart. CX Codex +1 ★ 107repo stars cost-model Pins down one format for the cost section in plans and architecture docs. Useful when a report claims savings and someone will ask how you got the number. CX Codex +1 ★ 107repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor