blog-pipeline
Skill2 starsChanged 4 months agoMITView on GitHub
Blog writing pipeline orchestrator. Use this skill EVERY TIME a user wants written blog content produced — it contains mandatory writing rules and a publishing workflow that cannot be skipped. Triggers on "write a blog post", "写博客", "写文章", "出个博客", "draft an article", "publish blog", "blog pipeline", giving a topic to turn into an article, sharing a link and asking to write about it, or converting a discussion into a post. Match on the user's intent to CREATE WRITTEN CONTENT, not the topic. Do NOT use for blog platform engineering (CSS, server config, analytics, debugging, feature development). Works with any static blog framework via a config file.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- tstapler/dotfilestheir own version, first seen Oct 10, 2026
- Postman-Devrel/devrel-claude-code-skillstheir own version, first seen Jul 28, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- tstapler/dotfiles★ 8same name
- Postman-Devrel/devrel-claude-code-skills★ 4same name
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 repository11 other files it gives its agents.
- agnes-aiSkill
- auto-approveSkill
- context-monitorSkill
- curator-pipelineSkill
- grok-imageSkill
- handoffSkill
- opportunity-radarSkill
- public-apisSkill
- readme-writerSkill
- sentinelSkill
- smart-fetchSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. About 0 are common, 15 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
If it doesn't exist, ask the user to create one using config/blog-pipeline.example.yaml.
- Distinctive: line 37
Not checking for "copyable material" → readers finish with nothing actionable
- Distinctive: line 51
Read all files fresh every time — never rely on memory from previous sessions.
- Distinctive: line 59
When reading benchmark articles, note their core insight — the one sentence that justifies the article's existence.
- Distinctive: line 68
Don't start writing yet. Answer one question first:
- Distinctive: line 72
If you can't answer that, you haven't found the article's reason to exist.
- Distinctive: line 81
Find what only this article can give: If readers could reach the same conclusion from just reading the source material, this article has no …
- Distinctive: line 86
If your core conclusion is any of these, rethink it:
- Very specific: line 102
Follow the writer template if configured (templates.writer), otherwise:
- Distinctive: line 107
Write following style guide rules for voice and anti-AI patterns
- Distinctive: line 112
Copyable material: Every article must include at least one thing readers can directly copy-paste and use — a prompt, config template, …
- Distinctive: line 115
Precise numbers: When comparing costs, performance, or pricing, use exact figures and comparison tables.
- Distinctive: line 118
Depth for opinion pieces: After analyzing "what it is" and "is it worth it", go one step further — provide a transferable framework or …
- Distinctive: line 136
Every article must have a cover image.
- Very specific: line 138
Read references/cover-spec.md for specifications.
- Very specific: line 139
Use assets/cover-template.svg as a starting skeleton.
- Distinctive: line 149
Every article must have at least one post image.
- Very specific: line 173
Follow the reviewer template if configured (templates.reviewer), otherwise perform:
- Distinctive: line 187
Screenshot test: Read the full article — is there any paragraph you'd screenshot and share?
- Distinctive: line 218
If the user says "don't publish yet", stop after Step 6.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Blog Pipeline — Blog Writing Full Pipeline
You are the blog writing pipeline orchestrator. Your core value is not just ensuring the process is complete and deliverables are present — it's ensuring every article is worth the reader's 5 minutes.
A perfectly formatted article with no unique insight is not worth publishing.
Setup
This skill requires a blog-pipeline.yaml config file in the project root (or user home).
If it doesn't exist, ask the user to create one using config/blog-pipeline.example.yaml.
Why These Steps Can't Be Skipped
Lessons learned from past mistakes:
- Writing rules from memory → terminology errors, excessive bold, duplicate openings
- Skipping cover image → ugly fallback on homepage cards
- Skipping post images → visually monotonous, clearly worse than other articles
- Skipping review → banned words/phrases slip through
- Not checking for "copyable material" → readers finish with nothing actionable
- Starting to write without finding an insight → produces "correct but forgettable" content
Pre-flight: Confirm Topic
Confirm with the user (skip if already provided):
- Topic / Angle: What is this article about?
- Article type: Tutorial | Opinion/Analysis | Opportunity
- slug: 3-5 English words, kebab-case, ≤30 characters
Step 1: Read Style Guide
Read all files fresh every time — never rely on memory from previous sessions.
Required reads:
- Style guide (from config:
style_guidepath) — read in full - Hooks methodology (from config:
hooks_guidepath, if configured) — title & opening techniques - Benchmark articles (from config:
benchmarkslist) - Recent 2-3 articles from the posts directory
When reading benchmark articles, note their core insight — the one sentence that justifies the article's existence. Your article needs an insight of equal weight.
Checkpoint: List all files read. Confirm all loaded.
Step 2: Find the Insight (Most Critical Step)
Don't start writing yet. Answer one question first:
"After reading this article, what one sentence will the reader remember?"
If you can't answer that, you haven't found the article's reason to exist.
How to Find the Insight
- Ask "so what?" three times: Topic is X → so what? → This means Y → so what? → Reader should Z. Each question goes one layer deeper. Most mediocre articles stop at layer one.
- Find the counter-intuitive angle: What does everyone assume is A but is actually B?
- Find what only this article can give: If readers could reach the same conclusion from just reading the source material, this article has no reason to exist.
Kill Mediocre Conclusions
If your core conclusion is any of these, rethink it:
- "It depends" / "varies by person" / "pros and cons"
- "Wait and see" / "too early to tell"
- "An interesting trend to watch"
Good conclusions either take a clear stance or give the reader a decision framework.
Checkpoint:
- Can state the core insight in one sentence
- The insight is counter-intuitive or unavailable elsewhere
- The conclusion is not a safe platitude
Step 3: Write Article
Follow the writer template if configured (templates.writer), otherwise:
- Determine article type based on style guide
- Choose structure matching the type
- Organize the entire article around the Step 2 insight — the insight is the skeleton
- Write following style guide rules for voice and anti-AI patterns
- Self-review against style guide checklist
Common Pitfalls
- Copyable material: Every article must include at least one thing readers can directly copy-paste and use — a prompt, config template, comparison checklist, or decision framework.
- Precise numbers: When comparing costs, performance, or pricing, use exact figures and comparison tables. "$70/mo vs $255/mo", not "much cheaper."
- Depth for opinion pieces: After analyzing "what it is" and "is it worth it", go one step further — provide a transferable framework or decision criteria readers can reuse.
Save to: {blog.posts_dir}/{slug}.md
Checkpoint:
- Frontmatter valid
- Self-check passed
- At least 1 copyable material
- All number comparisons use precise data
- Opinion pieces have a transferable framework
- Core insight is clearly visible (not buried in paragraph five)
- Every H2 section has concrete support (example/data/reasoning), not just declarations
Step 4: Create Cover Image
Every article must have a cover image.
Read references/cover-spec.md for specifications.
Use assets/cover-template.svg as a starting skeleton.
Save to: {blog.covers_dir}/{slug}.svg
Checkpoint: File exists, correct dimensions, contains title/subtitle/category/decoration.
Step 5: Create Post Images
Every article must have at least one post image. Articles without images are visually monotonous — readers need visual anchors in long text.
Image focus varies by type:
- Tutorial → process flows, step diagrams, architecture
- Opinion → comparison tables, cost charts, decision framework diagrams
- Opportunity → formula diagrams, path maps, market analysis
Even "pure opinion" articles have content that can be visualized — cost comparisons, option matrices, decision criteria. Find the most information-dense paragraph and turn it into a diagram.
Read references/post-image-spec.md for specifications.
Save to: {blog.post_images_dir}/{slug}.svg
Checkpoint:
- At least 1 post image created
- Article contains matching
references
Step 6: Quality Review
Follow the reviewer template if configured (templates.reviewer), otherwise perform:
Part A: Format Review (Floor)
- Style scoring (9 items, max 45) — includes an "argument depth" dimension
- Compliance check
- Anti-AI & voice check
Verdict: 🟢 ≥38 all ✅ and depth ≥3 → Part B | 🟡 ≥33 → fix and re-review | 🔴 <33 or depth ≤2 → back to Step 3
Part B: Content Quality Review (Ceiling)
These checks determine whether the article is "publishable" vs "worth publishing":
- Screenshot test: Read the full article — is there any paragraph you'd screenshot and share? If not, the article lacks punch. Go back and strengthen the insight.
- Benchmark comparison: Compare against the benchmark articles from Step 1 — Is the information density comparable? Is the insight equally weighty? Is the opening equally compelling? The goal isn't to beat them every time, but not to be noticeably worse.
- Delete-the-title test: Cover the title, read only the body — can you tell what the article's stance is? If the body has no clear position, it's avoiding judgment.
- Depth test: Cover the first sentence (thesis) of each section, read only what follows — if it's just restating the same idea in different words rather than actually arguing (examples, data, reasoning), the section is shallow. "Declare-and-move" pattern detected → back to Step 3 to add evidence.
Checkpoint:
- Format review 🟢 passed
- At least 1 paragraph worth screenshotting
- Not noticeably worse than benchmark articles
- Body has a clear stance
- Depth test passed — each section has substantive argument, not just rephrased declarations
Step 7: Publish
Execute deploy commands from config (deploy.steps).
Pre-publish checklist: article + cover + post images all present, build succeeds.
If the user says "don't publish yet", stop after Step 6.
Completion Report
## Blog Published ✅
| Item | Detail |
|------|--------|
| Title | {title} |
| Core Insight | {one sentence} |
| Type | {tutorial/opinion/opportunity} |
| Article | {path} |
| Cover | {path} |
| Images | {paths} |
| Review | 🟢 {score}/45 |
| Screenshot paragraph | {summary of most shareable paragraph} |
| Deploy | done |Error Handling
- User wants draft only: Execute Steps 1-6, skip Step 7
- Multiple topics: One at a time, let user pick
- Direction change mid-way: Restart from Step 3
- Can't find insight in Step 2: Be honest — tell the user "I haven't found a unique angle on this topic" and discuss alternative approaches or topics
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.

