blog-post-writer
Turn Nick Nisi's raw material into a blog post draft in his voice. Use when the user says "write a blog post," "draft a post,"…
This skill should be used when the user asks to "tighten this up", "tighten the prose", "clean up the writing", "check for AI tells", "make this sound more human", "de-slop this", "run a writing pass", or when completing a writing task that should not read like AI output. Scans
$ npx -y skills add nicknisi/claude-plugins --skill tighten-prose --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tighten-proseContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user asks to "tighten this up", "tighten the prose", "clean up the writing", "check for AI tells", "make this sound more human", "de-slop this", "run a writing pass", or when completing a writing task that should not read like AI output. Scans
name: tighten-prose description: This skill should be used when the user asks to "tighten this up", "tighten the prose", "clean up the writing", "check for AI tells", "make this sound more human", "de-slop this", "run a writing pass", or when completing a writing task that should not read like AI output. Scans prose for statistically overrepresented AI writing patterns and rewrites flagged sections.
A final editing pass that catches and removes AI-detectable writing patterns. Not a detector — an editor. The output reads like a human wrote it because, after this pass, a human shaped every sentence.
**This skill scans vocabulary and sentence-level habits. It is blind to structure, and structure is where modern AI prose gives itself away.**
A ghost-written blog post once passed this gate with zero findings — no AI vocabulary, em-dash rate *below* the author's own baseline — while ending eight of eight sections on an aphorism, using six "Not X. That's Y." antitheses, and asserting nine invented claims about the author's inner life. Readers called it slop immediately. The gate had certified its own blind spot.
If you are tightening a draft written *for* someone else in their voice, run a corpus-calibrated structural check first — see `plugins/content/skills/blog-post-writer/scripts/slopcheck.py`. Two rules that pass list can't encode:
below. The tell is one firing on every section instead of once a post. Thresholds have to be measured against the author's real corpus.
someone wrote to the metric. That's as suspicious as excess.
Run this skill last and weight it least.
Read `references/ai-tells.md` for the full catalog of patterns, organized by category with examples and fix strategies.
AI writing tells evolve as models change. Fetch the current vocabulary list from Wikipedia:
https://en.wikipedia.org/w/api.php?action=parse&page=Wikipedia:Signs_of_AI_writing&prop=wikitext&format=json
Extract the "Words to watch" lists and AI vocabulary entries. Newer models drop old tells and develop new ones — the live source catches drift the static reference cannot.
If the fetch fails, the static reference is sufficient. Proceed without it.
Read the full text and scan across all categories:
| Category | Signal | | ------------------------ | ----------------------------------------------------------- | | Vocabulary clusters | 3+ AI-overused words in a section | | Inflated significance | Phrases that inflate importance without adding information | | Superficial -ing clauses | Participial phrases tacked on as fake depth | | Promotional language | Travel-brochure / sales-deck vocabulary | | Vague authority | Phantom expert attributions ("Industry reports suggest...") | | Formulaic transitions | Five-paragraph-essay connectors (moreover, furthermore) | | Negative parallelism | Overuse of "not X, it's Y" construction | | Rule of three | Every list having exactly three items | | Copula avoidance | "Serves as" instead of "is" | | Elegant variation | Thesaurus cycling to avoid repeating a concrete noun | | Em dash density | Em dashes at 2-3x human rate | | Formatting tells | Mechanical boldface, title case headings, emoji decoration |
**The signal is density, not individual hits.** One "crucial" is fine. A cluster of three AI vocabulary words in two paragraphs is a rewrite.
Present a concise summary:
Do not list every individual word match. Report clusters and structural patterns.
For each flagged section, rewrite to eliminate tells while preserving meaning.
**Fix strategies:**
**Constraints:**
If only a few sections changed, present before/after pairs for the changed passages. If th
Turn Nick Nisi's raw material into a blog post draft in his voice. Use when the user says "write a blog post," "draft a post,"…
Create conference talk outlines and slide-by-slide content plans using narrative frameworks. Use when the user wants to structure…
Produce a rich, self-contained HTML explainer for a code change — deep background, core intuition with diagrams, a guided code…
Compact the current conversation into a handoff document for another agent to pick up. Use when the user says "hand this off",…
Build a throwaway prototype to answer a design question before committing to real implementation. Generates either a runnable…
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the…