Help us improve
Share bugs, ideas, or general feedback.
From mays
Enforces a teaching-first writing style for technical content: hooks with measurable payoffs, builds mental models from first principles, uses worked examples, handles uncertainty honestly.
npx claudepluginhub stevenmays/dotfiles --plugin maysHow 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.
Writes human-sounding blog posts, guides, tutorials, and long-form content. Use for polishing notes, research, or drafts into developer-friendly articles.
Writes articles, guides, blog posts, tutorials, and newsletters in a voice matched to examples or brand guidance. Use for polished long-form content with structure and credibility.
Writes technical blog posts, tutorials, and documentation in Flatiron School's engaging, conversational style. Use for code patterns, debugging stories, or complex topics.
Share bugs, ideas, or general feedback.
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.
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.
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. Regularly tell the reader where you are:
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")Before publishing, ask: