blog-writer
Skill9 starsChanged 3 months agoMITView on GitHub
Write blog posts, articles, and long-form content in a voice defined by a swappable voice-profile.md, with structural variety and an anti-AI-tell pass built in. Use when asked to "write a blog post," "write an article," "draft content in my voice," "blog content," or when a draft needs to be rewritten so it reads like a person instead of a model.
32 other projects use a version of this.
Adopted by
Most recently taken up by
- chaitanyapantheor/claude-skillstheir own version, first seen Oct 25, 2026
- maroffo/claude-forgetheir own version, first seen Oct 25, 2026
- peterbamuhigire/proposal-skillstheir own version, first seen Oct 17, 2026
- google/adk-samplestheir own version, first seen Oct 13, 2026
- google/adk-recipestheir own version, first seen Oct 13, 2026
- TheArchitectit/awesome-cline-skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use aminer-data-search, auto-target-tracker and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
dav-niu474Skillaminer-data-search
使用 AMiner 开放平台 API 进行学术数据查询与分析。当用户需要查询学者信息、论文详情、机构数据、期刊内容或专利信息时使用此 skill。 触发场景:提到 AMiner、学术数据查询、查论文/学者/机构/期刊/专利、学术问答搜索、引用分析、科研机构分析、学者画像、论文引用链、期刊投稿分析等。 支持 6 大组合工作流(学者全景分析、论文深度挖掘、机构研究力分析、期刊论文监控、学术智能问答、专利链分析)以及 28 个独立 API 的直接调用。 即使用户只说"帮我查一下 XXX 学者"或"找找关于 XXX 的论文",也应主动使用此 skill。
Also in 4 projects that use this
dav-niu474Skillauto-target-tracker
自动目标进度追踪器。在对话中检测到目标相关图片(笔记、进度、截图、记录)时,自动调用 VLM 识别关键信息并记录到目标日记。适用于学习管理、健身追踪、工作进度、习惯养成、创作记录等所有目标管理场景。
Also in 4 projects that use this
Liang-MHSkillstock_analysis
获取 A 股、基金和港股的实时行情和技术分析数据
Also in 4 projects that use this
- +9 more from dav-niu474
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 32
- google/adk-recipes★ 11ksame name
- google/adk-samples★ 11ksame name
- microsoft/vscode-docs★ 6.7ksame name
- cosZone/astro-koharu★ 470same name
- KonghaYao/peri★ 248same name
- eunomia-bpf/eunomia.dev★ 244same name
- getnao/sylph★ 195same name
- travsteward/openwriter★ 36same name
- nimbalyst/skills★ 28same name
- maroffo/claude-forge★ 17same name
22 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- ai-voice-humanizerSkill
- brand-kitSkill
- brand-voice-extractorSkill
- watchSkill
- course-infographicsSkill
- extract-designSkill
- lesson-writerSkill
- mascot-processorSkill
- prompt-enhancerSkill
- remotion-video-builderSkill
- saas-studySkill
- skool-courseSkill
- startup-naming-scorerSkill
- ui-workflowSkill
- video-style-extractorSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 8 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 30 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Write blog content that reads like a person thinking out loud, in whatever voice voice-profile.md defines.
- Distinctive: line 14
Before writing a single line, read the voice profile:
- Very specific: line 16
If the project has voice-profile.md at its root or in .claude/, use that one.
- Distinctive: line 18
If the user names a different profile file, that one wins.
- Distinctive: line 50
Shape 3, Cold open mid-scene: Start inside the story with zero context.
- Distinctive: line 115
If there is no corpus, run this short interview and write the answers straight into the profile:
- Distinctive: line 122
Do you write mostly from "I," from "you," or from "we"?
- Distinctive: line 132
Ask what the post is about and what the reader should walk away with.
- Distinctive: line 133
Ask for the raw material: the numbers, the incident, the code, the receipts.
- Distinctive: line 134
If nothing specific exists, say so and write shorter rather than padding with generalities.
“Common” is measured: kept by at least 6 in 10 of the 30 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Blog Writer
Write blog content that reads like a person thinking out loud, in whatever voice voice-profile.md defines.
This skill separates the engine (structure, rhythm, anti-AI-tell craft) from the voice (word choices, stance, signature phrasing). The engine lives here. The voice lives in a single file you swap out.
Step 0: Load the voice profile
Before writing a single line, read the voice profile:
- If the project has
voice-profile.mdat its root or in.claude/, use that one. - Otherwise read
${CLAUDE_SKILL_DIR}/voice-profile.md, the profile shipped with this skill. - If the user names a different profile file, that one wins.
Everything in the profile beats everything in this file. When the profile says "short sentences, no questions" and the rhythm guidance below suggests a rhetorical question, follow the profile.
State which profile you loaded in one line before the draft, so the user knows what they are getting.
Structure: rotate shapes, never repeat back to back
A fixed post skeleton is itself an AI tell. Generated writing converges on one tidy linear arc while human corpora stay structurally diverse. Pick a shape per post, and track what the previous post used.
Shape 1, Classic:
1. HOOK (1-2 paragraphs)
A specific moment or result, stakes set through contrast
2. CONTEXT (2-3 paragraphs)
Why this matters, credibility marker with real numbers
3. CORE CONTENT (bulk)
Prose mixed with bullets, named frameworks, specific numbers,
rhetorical questions, mid-thought self-corrections
4. WIDER ANGLE
Zoom out to the pattern, what you would do differently
5. CLOSE (1-2 paragraphs)
Forward-looking or reflective, no formal conclusionShape 2, Outcome first: Open at the end state ("The invoice said $4,812"). Rewind to how it started. Walk forward. The point lands mid-piece. The close is a detail or a forward image, never a restatement of the opener.
Shape 3, Cold open mid-scene: Start inside the story with zero context. Loop back for context two or three paragraphs in. Delay the key number or reveal until two-thirds through.
Shape 4, Braided: Main thread plus one tangent that only obliquely relates (an observation, a person, a detail). Let the tangent pay off sideways, or not at all. Do not tie it back explicitly.
Whatever the shape: state the insight at most once, and not always in the close. Some posts end without stating it. When the piece lands, stop. No epilogue paragraph after the natural ending, since that coda is one of the loudest model fingerprints.
Rhythm
Vary sentence length on purpose. Short and punchy. Then a longer sentence that builds, doubles back on itself, and lands somewhere slightly different from where it started. Back to short. A question every so often, answered or not.
Paragraph lengths vary too. A one-line paragraph is allowed and often the strongest beat on the page. The voice profile sets the baseline cadence; this is the variation on top of it.
Rhetorical patterns to ration
Fine in small doses, formulaic when repeated.
"It's not X. It's Y." (contrastive reframe) Maximum one per post, and only when the contrast genuinely carries weight. Stacking three of them in one piece is the tell. Alternatives:
- State the positive directly: "It's a design choice."
- Reframe as observation: "I think of it as a design choice, not a flex."
- Drop the contrast entirely and let the context carry it.
"Not X. Not Y." stacked negations One stack per post. Once is rhythm, twice is a tic.
"Same X. Same Y. Same Z." anaphora Powerful, burns out fast. Once per post.
Banned content
See references/banned-content.md for the full list of words, phrases, and patterns that read as machine-written regardless of voice.
Headline bans: delve, leverage as a verb, comprehensive, transformative, em dashes, "In today's fast-paced world," formal transitions (Moreover, Furthermore), formal closers (In conclusion).
Structural bans, which survive surface-level editing:
- Body-performed emotion as the default ("my chest tightened," "my stomach dropped"). Name the feeling plainly instead ("honestly, it stung"). People name feelings, models perform them.
- The stated-lesson closer ("The lesson here is," "What this means for you"). Trust the reader.
- Vague allusion ("a popular book," "experts say"). Name the real book, person, tool, price, or date.
- The wrap-up coda after the natural ending. Cut it.
Pre-publish checklist
- Voice profile loaded and named at the top of the response
- Title creates tension, curiosity, or promises specific value
- First two sentences hook without throat-clearing
- At least one specific number, result, or timeframe
- Sentence and paragraph lengths vary noticeably
- Transitions are natural, not formal connectives
- A clear stance is taken, no fence-sitting
- Nothing from the banned words and phrases list
- Contrastive reframes appear at most once (count
it's notandisn'tconstructions) - No em dashes, use commas or parentheses
- Different shape than the previous post (Shape 1 to 4 rotation)
- Insight stated at most once, never restated in the close
- No epilogue coda after the natural ending
- Feelings named plainly, no body-performance
- Every reference is a named real thing, not an allusion
- Every voice rule in the profile's "never do" section holds
- Read it out loud in your head: would the profile's writer actually say this?
Building your own voice profile
Copy voice-profile.md, keep the section headings, and replace the contents. The headings are the contract the engine reads, so do not rename them.
If you have 5 or more existing pieces of the writer's work, mine them instead of guessing: pull the actual recurring words, the openings they reach for, the average sentence length, and the moves they never make. Real corpus beats self-description every time, because writers describe the voice they want rather than the one they have.
If there is no corpus, run this short interview and write the answers straight into the profile:
- Who are you when you write, and who are you writing to? One sentence each.
- What do you want a reader to feel by the end, and what should they never feel?
- Give me three sentences you have written that sound exactly like you. Quote them, do not paraphrase.
- Which five words or phrases do you catch yourself using constantly?
- Which words make you cringe when you see them in your own drafts?
- Do you write mostly from "I," from "you," or from "we"?
- Short punchy sentences, long winding ones, or a deliberate mix?
- What kind of proof do you reach for: numbers, stories, code, screenshots, quotes?
- What do you refuse to do in writing, even when it works for other people?
- Name one writer or publication you sound closest to, and one you never want to sound like.
The brand-voice-extractor skill in this collection runs a longer version of this interview and emits a structured profile you can paste into voice-profile.md.
Working with the user
- Ask what the post is about and what the reader should walk away with. Two questions, not an intake form.
- Ask for the raw material: the numbers, the incident, the code, the receipts. A post with no specifics is where models start inventing.
- If nothing specific exists, say so and write shorter rather than padding with generalities.
- Deliver the draft, then offer one concrete revision angle rather than a list of options.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

