# Content

> Write an asset from a brief, in the house voice, with an anti-slop and claim-provenance pass before it reaches the draft folder. Use for articles, landing copy, social posts, newsletters and scripts. Requires a brief from /operator-cmo:brief.

- Skill: `wojciechluszczynski/content` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wojciechluszczynski/content`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wojciechluszczynski/content/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wojciechluszczynski (https://skillmd.com/u/wojciechluszczynski)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wojciechluszczynski/content

---


# /operator-cmo:content

Writing is the easy half. The half that decides whether this stack is worth
running is what you refuse to write.

## The decision guard

1. Read the brief. If the operator did not name one, list the briefs in
   `marketing/briefs/` from the last 14 days and ask which. If there is no
   brief, stop and run `/operator-cmo:brief` first. Do not write from a prompt.
2. Read `marketing/decisions/positioning.md` for the proof you are allowed to
   use, and `marketing/policy/voice.md` for how it should sound. If the voice
   file is missing or still the empty template, say so once and offer
   `templates/voice-operator-preset.md`, which is a real filled-in voice with
   the AI-slop bans already in place. Writing to a blank voice file produces
   competent generic copy, which is the most expensive kind.
3. Read the brief's `bet:` and `gate:` fields. They go in the output header.

## Write

Follow the brief's one belief. Everything in the asset either supports it or
comes out.

Structure by default: open on the specific problem or a number, put the
mechanism in the middle, end on what the reader should do or decide. No
throat-clearing, no summary of what you just said.

## The claim pass

Before the draft is saved, check every factual statement:

- Traceable to a proof line in positioning.md? Keep it.
- Not traceable? Either cut it or mark it inline as `[unverified]` and list it
  at the end of the file under `## Claims needing evidence`.
- A number, a customer name, a logo, an award, a benchmark, or a comparison to
  a named competitor that is not in positioning.md never ships. No exceptions,
  including when the operator asks in the same message. Tell them it belongs in
  positioning.md first.

## The anti-slop pass

Run this on your own draft before saving, and report what you changed.

- **No em dashes.** Colon, comma, or a new sentence.
- **Banned phrases**: delve into, leverage as a verb, seamless, streamline,
  revolutionise, empower, unlock, game-changer, cutting-edge, synergy, robust
  solution, In conclusion, It is worth noting, At the end of the day, In the
  realm of, In today's fast-paced.
- **No hollow tricolons.** Three-item rhythmic lists that carry one idea. Keep
  the list if the three items are genuinely different, cut it if it is
  cadence pretending to be content.
- **No headings that are labels.** "Data analysis" is a label. "The data said
  something else" is a heading.
- **No hedging.** "It is important to consider", "this could potentially",
  "results may vary". Take a position or delete the sentence.
- **Read the first and last sentence aloud.** If either could open or close any
  article on this topic, rewrite it.
- Vary sentence length on purpose. A page of identical rhythm reads as
  generated even when every sentence is true.

Report the pass as a count: phrases replaced, em dashes removed, claims
flagged. A silent pass is not a pass.

## Output

Save to `marketing/drafts/YYYY-MM-DD-<slug>.md` with this header:

```markdown
---
bet: B2
decision: positioning.md rev YYYY-MM-DD
brief: marketing/briefs/YYYY-MM-DD-<slug>.md
gate: B
claims_flagged: 0
---
```

The header is the point. An asset that cannot name the decision it came from
should not be publishable, and this makes that mechanical rather than
aspirational.

## Finish

Print: the bet, the one belief, the anti-slop counts, any flagged claims, and
the gate tier with what that tier requires before this goes out. Do not publish
anything yourself. Publishing is `/operator-cmo:ship-gate`.

