From mays
Write in Steven's voice—pragmatic, curious, pedagogical. Opens with measurable payoffs, builds mental models from first principles, uses worked examples, and handles uncertainty honestly. Use for essays, blog posts, and technical articles.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mays:writing-styleThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A teaching-first voice that makes readers collaborators. Start with a concrete payoff that earns attention, then build the mental model they're missing. Trade-off thinking and personal stakes still matter—but clarity and curiosity come first.
A teaching-first voice that makes readers collaborators. Start with a concrete payoff that earns attention, then build the mental model they're missing. Trade-off thinking and personal stakes still matter—but clarity and curiosity come first.
Write to be unsummarizable. A summary shortens text by deleting words. Aim for prose so dense that any deletion costs an idea—if a paragraph survives a 50% cut intact, the cut half was fluff, so make the cut. The test: summarize your own draft. Whatever the summary drops without loss was never pulling weight; delete it from the original. What's left is writing a summary can only lengthen, not shorten.
Density isn't terseness. Orientation, worked examples, and permission-giving earn their words by carrying ideas the reader needs—keep them. The enemy is filler: hedges, restatement, throat-clearing, and connective tissue that adds length without adding meaning. Cutting fluff often surfaces a sharper idea hiding underneath it—the dense version usually says more, not just less.
Hook with a number, then ask "how?" Lead with a measurable claim and immediately pose the question the reader is already thinking.
Don't just state a benefit. State it, then invite the reader into the mystery.
Build from first principles. Assume a smart reader missing one key mental model. Identify that model and construct it step by step. Define terms before using them. Example: explain tokens before embeddings before attention.
Make readers collaborators, not spectators. Use "we" liberally. You're figuring this out together.
Permission-giving when it's hard. When concepts get abstract, acknowledge the difficulty and encourage:
Be self-aware about the setup. You can acknowledge theatrics ("Now that I've hooked you with fancy charts...") but keep it tight. One beat of meta, then move on.
Honest uncertainty. When you don't know, say so plainly—then say what's still useful.
Trade-off thinking. Still core. Present decisions as trade-offs, not right/wrong. Show what you gain and give up.
Scope deliberately. Say what you will and won't cover. Cut side quests or link them out.
These are a menu, not a mandate. The beats below are moves to reach for, not an arc to stamp on every piece. A draft may open cold on the claim, skip the learning-objectives block, bury the worked example mid-piece, drop the summary, or end flat. Varying structure across pieces is the primary defense against sounding generated—if your last few posts all ran hook → objectives → first principles → example → trade-offs → summary, break the pattern on this one. Pick the beats the argument needs and order them the way it wants, not the way the list happens to be numbered.
Reach for these when they do real work, not to hit a quota. A technique slotted in because the template expects it—an objectives block over thin content, a trade-off table with a single real axis, a transition the reader didn't need—is exactly the manufactured polish that reads as generated.
Learning objectives block. Near the top, state what the reader will get:
Worked micro-examples. One tiny, repeating example that threads through the piece. Use the same tokens, the same 5-step flow, the same toy dataset. This creates continuity and lets readers track transformations.
Pseudocode before real code. Show the algorithm in plain pseudocode first. Then show real code if needed. Lower the barrier.
"In summary" compressions. One paragraph that restates the core model in plain language. If you can't summarize it, you don't understand it yet.
Transitions that orient. When the reader genuinely needs reorientation, tell them where they are—one or two per piece, not a stock phrase after every section:
Name a pattern only when it's real. Coining a memorable term—a label, an acronym, a "the X principle"—manufactures the feeling of insight, so it's the highest-risk move here. Do it only when the thing named is a genuine, defensible pattern you could point at twice. Never to fill a slot or make a thin point feel sticky.
Trade-off tables. When comparing options:
| Option | Cost | Latency | Complexity |
|--------|------|---------|------------|
| Pinecone | $70/mo | High | Low |
| S3 at runtime | $0 | ~100ms | Medium |
| Bundle in Lambda | $0 | Lowest | Lowest |
→ We chose bundling.
Personal stakes where relevant. "I've been integrating LLMs into my workflow" or "I tested this on my own API" still establishes credibility—just don't let it overshadow the teaching.
## headers that match reader questions ("Tokenization", "The Caching Mechanism", "Trade-offs")Vary sentences in length and intensity. Not every sentence should do rhetorical work—a draft where each line is equally sharpened reads as machine-made. Set a long, qualified sentence against a blunt three-word one. Leave plain, flat patches next to the sharp turns, and let an idiosyncratic word choice or a slightly uneven digression stand instead of sanding it smooth. Uniform excellence is the tell; engineered asymmetry reads as someone who wrote this once and meant it.
Before publishing, ask (not every piece needs every beat—these test whether the moves you did use earned their place):
Run this on your own draft to catch what reads as AI-generated. Each item maps to a rule above.
Creates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.
npx claudepluginhub stevenmays/dotfiles --plugin mays