From oh-my-study-with-me
Writes clear, honest technical blog posts applying Orwell/Zinsser/Graham philosophy, Toulmin argumentation, and Steel Man rebuttals. Takes topic or review argument; auto-activates on blog/writing/technical article mentions.
npx claudepluginhub lsh1215/oh-my-study-with-me --plugin oh-my-study-with-meThis skill uses the workspace's default tool permissions.
Argument: $ARGUMENTS
Write technical blog posts that document decisions, share learnings, and build external reputation. Use for knowledge sharing, hiring, and credibility building.
Writes, edits, and proofreads technical blog posts including tutorials, deep dives, postmortems, benchmarks, and coding guides. Transforms brain dumps into polished developer content with personal voices.
Enforces Sentry's blog writing standards for technical posts, product announcements, and engineering deep-dives in a senior-engineer voice.
Share bugs, ideas, or general feedback.
Argument: $ARGUMENTS
The writing in this skill is grounded in the following principles. Apply them at every stage.
"Writing about something, even something you know well, usually reveals that you didn't know it as well as you thought." — Paul Graham
It is natural for a first draft to be a mess. The thinking is not yet complete. Writing is how thought gets organized. Therefore, the correct order is not "understand perfectly, then write" — it is "write to complete the understanding."
"The great enemy of clear language is insincerity." — George Orwell
Writing vaguely is deceiving the reader. In technical writing, phrases like "handled appropriately" or "works efficiently" say nothing. Write concretely. Write in measurable terms.
"The secret of good writing is to strip every sentence to its cleanest components." — William Zinsser
Writing complex ideas simply is the hardest thing of all. Stripping clutter does not mean reducing content — it means making the content more visible.
"A theory that is not refutable by any conceivable event is non-scientific." — Karl Popper
Writing that exposes the weaknesses of its own argument earns more trust. "This is the best approach" is weaker than "I chose this approach because of X. That said, in Y situations, Z is more appropriate." That is the language of an expert.
Apply this structure consciously to every technical claim:
Claim: "The Kafka producer's acks must be set to all."
Grounds: "With acks=1, data loss occurs when the leader fails."
Warrant: "In the financial domain, message loss equals asset loss."
Qualifier: "However, for cases where some loss is acceptable — such as log collection — acks=1 is also reasonable."
Rebuttal: "acks=all increases latency. In systems where throughput matters, this trade-off must be considered."
When addressing opposing views, reconstruct them in their strongest form before rebutting.
# [Title]
## The Problem
[The fundamental problem this post addresses. Make the reader think "I've wondered about this too."]
## Why This Is a Problem
[The concrete consequences of leaving this problem unsolved]
## The Core Principle
[Unpack the key concepts behind the solution step by step]
[Weave in the Claim → Grounds → Qualifier → Rebuttal structure naturally]
## In Practice
[Implementation code, configuration examples, or architecture diagrams]
[Include specific numbers and measured results]
## Trade-offs
[The limits of this approach and alternatives. The key section for intellectual honesty]
## Summary
[One core sentence. What to read next]
# [Title]
## Background
["Once upon a time, we did _____" — the initial situation]
## Discovering the Problem
["But one day, _____ problem appeared" — the inciting incident]
## Exploration
["So we tried _____" — alternatives considered and their pros and cons]
## The Decision and Implementation
["Finally, we solved it with _____" — the final choice rationale + implementation]
## Results
[Before and after comparison. Concrete numbers]
## Retrospective
[What went well, what fell short, what we would do differently]
/oh-my-study-with-me:study session exists, draw on Phase 2–3 conversation content.After completing the draft, review it against this checklist:
Orwell Check
Argumentation Check
Readability Check
Kill Your Darlings Check
Show the review results to the user, then present the revised final version.
Once the user confirms the final draft, save it to Notion.
Ask the user: "Where should I save this? Options:"
notion-search to find the user's blog/post databases. Show results and let the user pick.notion-fetch on the selected database to get the schema (properties, data_source_id).notion://docs/enhanced-markdown-spec (via ReadMcpResourceTool).notion-create-pages with the correct data_source_id, properties, and content.notion-search to find the parent page.notion://docs/enhanced-markdown-spec (via ReadMcpResourceTool).notion-create-pages with page_id parent (or no parent for workspace level) and content.If Notion MCP tools are unavailable or the user prefers local saving:
blog-drafts/{topic}.md in the project directory.notion-update-page."When writing the draft (Phase 2), if the blog references web sources or makes claims about external tools/technologies:
When you want to turn learned content into a blog post, invoke this skill separately.
Study notes saved in study-notes/ from Phase 4 of /oh-my-study-with-me:study can be used as source material.
study-notes/ first to see if relevant study notes exist.