plugins/compound-writing/skills/pragmatic-writing/SKILL.md
This skill should be used when writing technical content in the style of Hunt/Thomas (The Pragmatic Programmer) and Joel Spolsky (Joel on Software). It applies when creating technical essays, documentation, tutorials, or explanatory content that needs to be clear, engaging, and actionable.
npx skillsauth add robertguss/claude-skills pragmatic-writingInstall 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.
Writing style modeled on the masters of technical communication: Andy Hunt, Dave Thomas (The Pragmatic Programmer), and Joel Spolsky (Joel on Software). This skill transforms technical content into engaging, memorable prose.
This skill applies when:
"The difference between 'almost right' and 'right' is the difference between the lightning bug and the lightning." — Mark Twain (quoted by Pragmatic Programmers)
Technical writing doesn't have to be dry. The best technical writers make complex ideas feel obvious, use concrete examples before abstract theory, and treat the reader as a smart colleague.
Reference the complete technique guide at techniques.md.
Always start with a concrete example, then extract the principle.
❌ "Dependency injection is a design pattern where dependencies are passed
to objects rather than created by them."
✅ "Imagine your class needs a database connection. You could create it
yourself:
def initialize
@db = Database.new("localhost:5432")
end
But now your class is stuck with that exact database. What if you
want to test with a fake one? What if production uses a different host?
Instead, accept it as a parameter:
def initialize(db)
@db = db
end
That's dependency injection. Simple."
Map abstract concepts to physical experiences readers already understand.
See examples.md for analogy patterns:
Write like you're explaining to a smart colleague at a whiteboard.
Markers of conversational register:
Use humor strategically, not decoratively:
Build to moments of realization:
Like this.
Code examples should:
After a concrete exploration, box the principle:
Tip 23: Always Design for Concurrency Allow for concurrency, and you will design cleaner interfaces with fewer assumptions.
When discussing pitfalls:
See anti-patterns.md for common technical writing mistakes.
End by connecting back to the opening example or question. Close the loop.
Use: specific, concrete, everyday words Avoid: jargon without explanation, buzzwords, corporate-speak
Before publishing, verify:
documentation
Capture a writer's voice DNA through collaborative interview and sample analysis. Use when someone wants to document their writing voice for use with a ghost writer skill. Produces a Voice DNA Document with patterns, anti-patterns, and actionable guidance. Handles one register/mode per session, supports refinement over time.
testing
Produce first drafts that match a writer's authentic voice using their Voice DNA Document. Consumes DNA documents from writing-dna-discovery skill. Generates 2 meaningfully different drafts with headlines, confidence assessment, decision notes, and DNA refinement suggestions. Collaborative partner that evaluates, pushes back, and advocates for quality. Handles blog posts, essays, newsletters, and more.
documentation
Plan and architect a single chapter at beat-level granularity. Use when you have a chapter from the Architecture Document and need to create a detailed outline before drafting. Produces a Chapter Outline Document for use by draft-coach or ghostwriter.
testing
Plan, orchestrate, and validate deep research for nonfiction books. Use when an author has completed book architecture and needs to fill research gaps before outlining chapters. Triggers include requests to plan research, generate research prompts, validate research quality, or prepare for drafting. This skill does everything around deep research—planning, prompting, validating, synthesizing—but the actual research execution happens externally via Claude and Gemini deep research. Requires upstream documents from book-architect (Research Gaps Document, Master Architecture Document, Section Blueprints) and book-ideation (Book Concept Document).