skills/newsroom-style/SKILL.md
Enforce AP Style and newsroom conventions for journalism writing. Use when writing news articles, editing drafts, creating headlines, or converting notes into publishable copy. Ensures professional standards for attribution, numbers, dates, and formatting.
npx skillsauth add ValorInvestigator/claude-plugin-toolkit newsroom-styleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write like a professional journalist. Follow AP Style. Keep it tight.
| Rule | Example | |------|---------| | Spell out one through nine | "three witnesses" not "3 witnesses" | | Use numerals for 10 and above | "15 people attended" | | Always use numerals for ages | "a 5-year-old girl" | | Always use numerals for percentages | "5 percent" (spell out "percent") | | Always use numerals for addresses | "123 Main St." | | Always use numerals for money | "$5 million" not "five million dollars" | | Spell out first through ninth for ordinals | "first place" but "10th anniversary" |
Exception: Never start a sentence with a numeral. Rewrite or spell out.
| Rule | Example | |------|---------| | Capitalize formal titles before names | "Mayor Jane Smith said..." | | Lowercase titles after names | "Jane Smith, the mayor, said..." | | Lowercase titles standing alone | "The mayor said..." | | No courtesy titles on second reference | First: "Jane Smith." Second: "Smith" | | Use full name on first reference | "Jane Smith" not "Smith" or "Ms. Smith" |
Exceptions:
| Do | Don't | |----|-------| | "said" | "stated," "remarked," "noted," "expressed" | | Attribution after quote | Attribution before quote | | At first natural pause | At awkward break |
Examples:
❌ Bad: Mayor Smith stated, "We are committed to this project."
✅ Good: "We are committed to this project," Mayor Smith said.
✅ Good: "We are committed to this project," said Mayor Jane Smith, who has pushed for the development since 2022.
Months:
Times:
Days:
| Use | Instead of | |-----|-----------| | more than | over (for quantities) | | fewer | less (for countable items) | | less | fewer (for mass nouns) | | that | which (for restrictive clauses) | | which | that (for nonrestrictive clauses) | | said | stated, remarked, noted | | about | approximately | | because | due to the fact that |
Restrictive (essential, use "that"):
The bill that passed yesterday includes tax cuts.
(Which bill? The one that passed yesterday.)
Nonrestrictive (extra info, use "which" + comma):
The bill, which passed yesterday, includes tax cuts.
(We already know which bill; the passage is extra info.)
Most important information first. Answer the key questions:
❌ Too long:
The city council, which has been debating the issue for several months and heard from dozens of residents at multiple public meetings, voted Tuesday night to approve a controversial new zoning ordinance that would allow high-rise buildings in the downtown area.
✅ Better:
The city council approved a zoning ordinance Tuesday that allows high-rise buildings downtown, ending months of debate.
Hard news lede:
A fire killed three people in Northeast Philadelphia early Tuesday.
Feature lede:
The last time Maria Rodriguez saw her mother, she promised to bring her to America.
Question lede (use sparingly):
What happens when a city runs out of money?
Before (informal notes):
Yesterday the Mayor said that he was "very excited" about the new $5,000,000 project that will create over 100 jobs.
After (AP Style):
Mayor John Smith said Tuesday he was "very excited" about the $5 million project, which will create more than 100 jobs.
Before:
The meeting started at 9:00 AM on Monday, October 14th, 2024.
After:
The meeting began at 9 a.m. Monday, Oct. 14, 2024.
Before:
5 protesters were arrested at the rally.
After:
Five protesters were arrested at the rally.
Before:
Smith stated that he believed the project would be "transformative."
After:
Smith said he believed the project would be "transformative."
Different publications have their own style guides that override AP Style. Common variations:
Always ask about house style before writing for a new publication.
Based on the Associated Press Stylebook. Check the current AP Stylebook for updates and edge cases.
development
# Write Article -- Investigative Series in Levi Bakke's Voice You are ghostwriting publishable investigative journalism in Levi's voice. He is a participant-investigator -- IN the story, not observing from outside. ## BEFORE WRITING Read the style guide: [references/style-guide.md](references/style-guide.md) Read the gold standard: `C:\Users\Big Levi\Desktop\DHS Stories\the Canary FINAL.txt` ## THE WRITING PROCESS 1. **Gather** -- Read relevant timeline docs, investigation files, databases
development
Dual-engine web search using BOTH Firecrawl AND Brave Search simultaneously. ALWAYS trigger this skill when Levi uses any of these phrases or close variations: - "search the web" / "search the internet" / "search online" - "www" (used as a verb or shorthand, e.g. "www this", "look it up on the www") - "internet" (as in "check the internet", "find on the internet", "look this up on the internet") - "go online", "look this up online", "check online" - "search for X" when context implies web search (not local files or database) - "find X online", "look up X", "research X on the web" This is Levi's preferred web research protocol. Both engines run together -- Brave for fast broad coverage, Firecrawl for deep scraping. Never use just one without the other when this skill triggers.
development
Web scraping with anti-bot bypass, content extraction, undocumented APIs and poison pill detection. Use when extracting content from websites, handling paywalls, implementing scraping cascades or processing social media. Covers requests, trafilatura, Playwright with stealth mode, yt-dlp and instaloader patterns.
development
# Text to Voice -- Convert Articles to Audio Convert written articles to spoken audio (.mp3) using Google Cloud TTS with Chirp 3: HD Algieba voice. ## VOICE PROFILE - **Voice:** `en-US-Chirp3-HD-Algieba` (male, Chirp 3: HD) - **Speaking Rate:** `1.0` | **Volume Gain:** `0.0` dB - **Audio Encoding:** MP3, 44100 Hz, 192k bitrate (final stitch) - **API Version:** `texttospeech_v1beta1` (Chirp 3 HD requires v1beta1) - **Google Cloud Project:** `valorinvestigates` ## THE TWO-STEP PROCESS 1. **Rew