一键导入
blog-writing
Blog post quality patterns for technical writing — storytelling structure, code block rules, series conventions, and pre-publish checklists.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Blog post quality patterns for technical writing — storytelling structure, code block rules, series conventions, and pre-publish checklists.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Protocol for sending queries, delegating tasks, and sharing context between independent Squad instances across different repositories
Create, run, and manage child squads for specific missions. Enables an HQ coordinator to fan out work to purpose-built teams.
Automatically create a comprehensive "Book of News" PDF from any conference — scrapes sessions, captures video screenshots, extracts transcripts (VTT) and slide content via OCR, generates AI digests with fact-checking, and produces an Ignite-style publication with images, announcements, code samples, and indexes.
Secure credential management for AI agents via official Bitwarden MCP server and bw CLI. Agents can store and retrieve secrets without exposing the entire vault. All access is audited.
Prevent multiple Squad/Ralph instances from fighting over global gh auth state when running across repos with different GitHub accounts (personal vs EMU/enterprise).
Transparent gh proxy that auto-routes commands to the correct GitHub account based on repo context. Uses GH_CONFIG_DIR isolation — no more account-switching chaos.
| name | blog-writing |
| description | Blog post quality patterns for technical writing — storytelling structure, code block rules, series conventions, and pre-publish checklists. |
| confidence | high |
Patterns for high-quality technical blog posts that read like a conversation, not a manual.
Write like you're talking to another engineer over coffee. Casual but precise — never academic, never marketing-speak.
| Pattern | Detail |
|---|---|
| Storytelling-first | Every post opens with a personal story, not a feature list. |
| Casual but precise | Technical claims always have specifics: real numbers, real repo names, real outcomes. Never vague. |
| Real experiments, not theory | Every concept is backed by something you actually did. Show the experiment, not the hypothesis. |
| Honest reflection sections | Every post has a "here's what actually broke" moment. Credibility comes from transparency. |
| TLDR-style hooks | Opening paragraphs state the payoff immediately, then unpack. |
| Direct address | "Here's the thing nobody tells you about..." Speak to the reader. |
| Parenthetical asides | Conversational interjections that add personality. |
Every post follows a consistent storytelling arc:
Hook → Context → Experiment → What Worked → What Broke → Insight → Solution → What's Next
| Section | Purpose |
|---|---|
| Hook | Personal story or confession that makes the reader lean in |
| Context | Frame the problem in terms the reader recognizes |
| Experiment | Describe what you actually tried — repo names, team setup, real configs |
| What Worked | Celebrate wins with specifics |
| What Broke | Honest failures — this is the credibility section |
| Insight | The "aha" moment connecting the failure to a deeper truth |
| Solution | The feature/pattern/approach that emerged. Always with real config/code. |
| What's Next | Tease the next post AND genuine future directions |
---) separate major sections.##) for major sections. H3 (###) for sub-sections. Never H1 in the body.markdown, bash, json, yaml, powershell — always explicit.<url> placeholders.Use indented text with ├──, └──, and │ for directory structures.
If writing a multi-part series, every post ends with an identical navigation block. The current post is marked with ← You are here:
> 📚 **Series: Your Series Name**
> - **Part 1**: [Title](/blog/YYYY/MM/DD/slug)
> - **Part 2**: [Title](/blog/YYYY/MM/DD/slug) ← You are here
> - **Part 3**: [Title](/blog/YYYY/MM/DD/slug)
Critical rule: When adding a new post to a series, update the nav block in ALL existing posts.
---
layout: post
title: "Subtitle — Descriptive Title"
date: YYYY-MM-DD
tags: [relevant, tags, here]
series: "Series Name"
series_part: N
---
| Rule | Detail |
|---|---|
| One hero image | Placed after the hook, before the first ---. |
| Captions in italics | Always on the line directly below the image. |
| Alt text | Descriptive, not decorative. |
| Blurred screenshots | When showing real project boards or issues, blur sensitive data. |
- [ ] Links work — Every internal and external link resolves
- [ ] Images exist — Every image path has a corresponding file
- [ ] Series nav updated in ALL posts — Adding Part N means updating Parts 0 through N-1
- [ ] No "coming soon" placeholders — Replace with real links or remove
- [ ] No leaked HTML — Check for raw tags that should be markdown
- [ ] Code blocks have language tags — Every fenced block has a language
- [ ] Front matter complete — title, date, tags, series, series_part all present
- [ ] Captions are italic — Every image caption uses `*caption text*` format
- [ ] No sensitive data — Webhook URLs, tokens, real emails replaced
- [ ] Repo links valid — All repo links point to real, public repos
- [ ] Date in filename matches front matter
| Problem | Lesson |
|---|---|
| Broken cross-links | Always update series nav in ALL posts when publishing a new one. Multi-file PR. |
| Leaked HTML tags | Search for </output>, <function_results> and similar agent tooling residue. |
| Missing images | Include image files in the same PR as the blog post. |
| Auth confusion | Before pushing, verify you're authenticated to the correct account. |
| Series nav inconsistency | If a translated version doesn't exist for a post, link to the original version as fallback. |
| Post date mismatch | Finalize publication date before adding forward references. Grep for old dates when changing. |