plugins/content/skills/blog-post-writer/SKILL.md
Transform brain dumps into polished blog posts in Nick Nisi's voice. Use when the user says "write a blog post," "draft a post," "write about [topic]," "turn my notes into a blog post," or provides scattered ideas, talking points, or conclusions that need shaping into a cohesive narrative.
npx skillsauth add nicknisi/claude-plugins blog-post-writerInstall 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.
Transform unstructured brain dumps into polished blog posts that sound like Nick Nisi.
Accept whatever the user provides:
Don't require organization. The mess is the input.
Clarify constraints (if not provided, ask about):
references/post-template.md for word count ranges)Load references/voice-tone.md as the baseline voice guide.
Then calibrate against recent writing:
https://nicknisi.com/posts to find the 2-3 most recent postsThe static reference captures established patterns. The live fetch catches evolution. When they conflict, prefer the recent posts — voice is a living thing. If the site cannot be fetched, rely on the static voice guide alone.
Key characteristics (read the full reference for details and examples):
Match the content to the best framework. Read the corresponding reference file before writing.
Quick-match shortcuts (covers ~80% of posts):
references/story-circle.md)references/progressive-disclosure.md)references/problem-agitation-solution.md)references/compare-contrast.md)references/post-mortem.md)references/scqa.md)references/the-sparkline.md)references/kafkaesque-labyrinth.md)Category decision tree (for the other 20%):
| Framework | Reference | One-liner |
| --------------------- | ------------------------------------- | ------------------------------------------------------------ |
| Story Circle | references/story-circle.md | 8-step hero's journey for personal transformation arcs |
| Three-Act | references/three-act.md | Classic setup/confrontation/resolution narrative spine |
| Freytag's Pyramid | references/freytags-pyramid.md | 5-phase dramatic arc with explicit climax mapping |
| The Metamorphosis | references/the-metamorphosis.md | Identity-level change — the author becomes someone different |
| Existential Awakening | references/existential-awakening.md | Profound realization that shifts relationship to work |
| Framework | Reference | One-liner |
| ------------------ | ---------------------------------- | ------------------------------------------------------------ |
| In Medias Res | references/in-medias-res.md | Start in the middle of the action, backfill context |
| Reverse Chronology | references/reverse-chronology.md | Tell it backwards — outcome first, origin last |
| Nested Loops | references/nested-loops.md | Layer stories inside each other like Russian dolls |
| The Spiral | references/the-spiral.md | Revisit the same concept with deeper understanding each pass |
| The Petal | references/the-petal.md | Multiple stories radiating from a central theme |
| Framework | Reference | One-liner |
| ---------------- | -------------------------------- | -------------------------------------------------------------- |
| Kishōtenketsu | references/kishotenketsu.md | 4-act twist without conflict — recontextualize, don't confront |
| The Sparkline | references/the-sparkline.md | Oscillate between "what is" and "what could be" |
| The False Start | references/the-false-start.md | Begin with the wrong story, then restart with truth |
| Converging Ideas | references/converging-ideas.md | Unrelated threads that connect to a single insight |
| Catch-22 | references/catch-22.md | Paradox where the rules create an impossible situation |
| The Rashomon | references/the-rashomon.md | Same event from multiple contradictory perspectives |
| Framework | Reference | One-liner |
| ---------------------- | ------------------------------------------ | ------------------------------------------------------------------ |
| SCQA | references/scqa.md | Situation-Complication-Question-Answer for logical problem-solving |
| Progressive Disclosure | references/progressive-disclosure.md | Simple-to-complex layering for teaching concepts |
| Compare & Contrast | references/compare-contrast.md | Structured evaluation of trade-offs between options |
| PAS | references/problem-agitation-solution.md | Punchy problem→pain→fix for short optimization stories |
| Post-mortem | references/post-mortem.md | Incident retrospective with timeline and lessons |
| Socratic Path | references/socratic-path.md | Chain of questions leading to self-discovered conclusions |
| Framework | Reference | One-liner |
| -------------------- | ------------------------------------ | ----------------------------------------------------------------- |
| Comedian's Set | references/comedians-set.md | Setup→punchline structure for myth-busting and reframes |
| Kafkaesque Labyrinth | references/kafkaesque-labyrinth.md | Systemic absurdity where the villain is the system itself |
| Sisyphean Arc | references/sisyphean-arc.md | Find meaning in repetitive work that never ends |
| Stranger's Report | references/strangers-report.md | Fresh-eyes outsider perspective on normalized strangeness |
| The Waiting | references/the-waiting.md | Something promised that never arrives — meaning from anticipation |
Not every post maps cleanly to one framework. Hybrid approaches are fine — each framework's reference includes Combination Notes for pairing. Use a framework as a starting structure, not a straitjacket.
voice-tone.md and post-template.md are always loaded. Load only one framework reference in addition — do not preload all twenty-seven.
Apply the chosen framework to the brain dump material:
If the content doesn't fit the framework cleanly, adapt — the framework is scaffolding, not a cage.
Apply voice characteristics:
Opening:
Body:
Technical content:
Tone modulation:
Ending:
Check the post:
Tighten pass: Run the tighten-prose skill as the final quality gate. It handles loading the AI tells catalog, fetching live patterns from Wikipedia, scanning for density, and rewriting flagged sections.
Show the post to the user for feedback and iterate.
Revision strategy:
references/voice-tone.md before revising to recalibrateFormat posts using references/post-template.md as the structural template. This defines the frontmatter schema and file format for Nick's site.
For detailed voice do's and don'ts, see references/voice-tone.md.
"AI is going to replace developers."
I must have heard that phrase a hundred times in the last year.
I've been thinking a lot about how we use AI in our daily work.
Then something clicked.
I watched it use rg to search through codebases, just like I would.
I won't lie – joining Meta was intimidating.
I watched it use `rg` to search through codebases, just like I would.
It ran `npm test` to verify its changes weren't breaking anything.
You're not being replaced; you're being amplified.
references/voice-tone.md - Complete voice and tone guide. Read this first to capture Nick's style.references/post-template.md - Output format template with frontmatter schema and structural skeleton.Narrative frameworks (read the one that matches the content — do not preload all twenty-seven):
Journey & Transformation:
references/story-circle.md - 8-step hero's journey for personal transformation arcsreferences/three-act.md - Classic setup/confrontation/resolution narrative spinereferences/freytags-pyramid.md - 5-phase dramatic arc with explicit climax mappingreferences/the-metamorphosis.md - Identity-level change — the author becomes someone differentreferences/existential-awakening.md - Profound realization that shifts relationship to workStructural Techniques:
references/in-medias-res.md - Start in the middle of the action, backfill contextreferences/reverse-chronology.md - Tell it backwards — outcome first, origin lastreferences/nested-loops.md - Layer stories inside each other like Russian dollsreferences/the-spiral.md - Revisit the same concept with deeper understanding each passreferences/the-petal.md - Multiple stories radiating from a central themeTension & Contrast:
references/kishotenketsu.md - 4-act twist without conflict — recontextualize, don't confrontreferences/the-sparkline.md - Oscillate between "what is" and "what could be"references/the-false-start.md - Begin with the wrong story, then restart with truthreferences/converging-ideas.md - Unrelated threads that connect to a single insightreferences/catch-22.md - Paradox where the rules create an impossible situationreferences/the-rashomon.md - Same event from multiple contradictory perspectivesAnalytical & Persuasive:
references/scqa.md - Situation-Complication-Question-Answer for logical problem-solvingreferences/progressive-disclosure.md - Simple-to-complex layering for teaching conceptsreferences/compare-contrast.md - Structured evaluation of trade-offs between optionsreferences/problem-agitation-solution.md - Punchy problem→pain→fix for short optimization storiesreferences/post-mortem.md - Incident retrospective with timeline and lessonsreferences/socratic-path.md - Chain of questions leading to self-discovered conclusionsAtmospheric & Experimental:
references/comedians-set.md - Setup→punchline structure for myth-busting and reframesreferences/kafkaesque-labyrinth.md - Systemic absurdity where the villain is the system itselfreferences/sisyphean-arc.md - Find meaning in repetitive work that never endsreferences/strangers-report.md - Fresh-eyes outsider perspective on normalized strangenessreferences/the-waiting.md - Something promised that never arrives — meaning from anticipationUser provides brain dump:
thoughts on using cursor vs claude code
- cursor is in IDE, feels familiar
- but claude code is in terminal, my natural environment
- tried cursor first, felt weird leaving vim
- claude code met me where I was
- not about which is better, about workflow fit
- some devs love IDE integration
- I need terminal access
- conclusion: use what fits YOUR workflow
Process:
Sample output (opening paragraphs):
"Which AI coding tool should I use?"
I must get asked that question weekly at this point. And honestly? I tried to answer it
the wrong way for months.
When Cursor started blowing up, I did what any curious developer would do — I installed
it and gave it a shot. It's impressive. The inline completions, the chat panel, the way
it weaves right into VS Code. I get why people love it.
But here's the thing: I'm not a VS Code person. I live in the terminal. Vim, tmux,
`rg` piped into `fzf` — that's my happy place. And every time I opened Cursor, I felt
like I was visiting someone else's apartment. Nice place, but not _mine_.
Then I found Claude Code.
Notice: conversational hook, specific tool names, vulnerability about trying something new, short paragraph for emphasis at the end.
testing
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the edge cases, and what it impacts. Use after completing or reviewing work (a diff, PR, or session) when the user wants to truly own it, not just skim it — or when the user says /socratic-tutor, "teach me what we just did", "quiz me on this", "walk me through this change", or "make sure I understand this". Restates-first, quizzes, and does not stop until the user demonstrates mastery.
tools
Generate a /goal command to execute an ideation project's specs autonomously. Reads the contract, builds a goal prompt with phase ordering and spec paths, copies it to clipboard, and prints it. The user pastes the /goal command to start autonomous execution. Use when the user says 'goal', 'run as goal', 'get goal prompt', 'goal prompt', or wants to execute specs via /goal instead of /ideation:autopilot.
development
Go up a layer of abstraction and map the surrounding architecture. Use when the user is unfamiliar with an area of code, asks "how does this fit in", "what calls this", "give me the big picture", "where am I", "map this out", "I'm lost", "explain this area", or needs to understand how a file, module, or function connects to the rest of the system. Also use when the user says /zoom-out or "zoom out" mid-conversation — even without a specific file reference, orient them based on whatever code is currently in context.
development
Build a throwaway prototype to answer a design question before committing to real implementation. Generates either a runnable terminal app (for state machines, data models, business logic) or several radically different UI variations on one route (for visual/layout decisions). Use when the user wants to prototype, spike, POC, sanity-check a data model, mock up a UI, explore design options, or says "prototype this", "spike this out", "let me play with it", "try a few designs", "sketch this in code", "I want to try something before building it for real", "quick and dirty version", or "validate this approach" — even if they don't use the word "prototype."