
Baoyu Format Markdown
Format markdown posts and pick high-converting titles using eight hook formulas plus a straightforward style so published writing reads human and clickable.
Overview
Baoyu Format Markdown is an agent skill most often used in Grow content (also Launch distribution, Validate landing) that formats markdown and generates titles via eight hook formulas and a straightforward style.
Install
npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-format-markdownWhat is this skill?
- 8 hook formulas: Subversive, Solution, Suspense, Concrete Number, Contrast, Result First, Rhetorical Question, Empathy
- Straightforward title style for balanced, non-clickbait headlines
- Per-formula guidance on article types (how-to, myth-busting, case study)
- Markdown-oriented workflow for content that should not read like generic AI copy
- 8 hook formulas plus straightforward title style
Adoption & trust: 20.5k installs on skills.sh; 20.9k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your markdown articles sound flat or obviously AI-generated and your titles do not earn clicks or search attention.
Who is it for?
Indie hackers publishing tutorials, build-in-public threads, or SEO posts who want repeatable title hooks without hiring a copywriter.
Skip if: Pure codebase documentation with no audience-facing headlines or teams that already lock titles in a strict brand style guide.
When should I use this skill?
Formatting markdown for publication or choosing among hook-based title options before shipping content.
What do I get? / Deliverables
You leave with structured markdown and title options mapped to hook formulas suited to how-to, story, or data-driven pieces.
- Formatted markdown body
- Title variants aligned to selected hook formula
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Grow content is where indie builders publish articles, changelogs, and newsletters that need titles and markdown structure tuned for readers and search. Content subphase covers drafting and polishing posts—the skill’s title formulas and markdown formatting target that publish-ready layer.
Where it fits
Pick a Concrete Number or Solution formula title before publishing a tutorial on your docs site.
Generate Subversive and Result First headlines for the same post across X and Indie Hackers.
Tighten hero and section headings on a markdown-driven landing page before running traffic.
How it compares
Title-and-structure playbook for markdown content—not a site generator or full SEO audit skill.
Common Questions / FAQ
Who is baoyu-format-markdown for?
Solo builders writing audience-facing markdown—blogs, newsletters, and landing snippets—who want stronger titles and cleaner structure.
When should I use baoyu-format-markdown?
In Grow when drafting or polishing posts; in Launch when prepping distribution headlines; in Validate when tightening landing-page hero copy in markdown.
Is baoyu-format-markdown safe to install?
It provides writing patterns only; confirm trust via the Security Audits panel on this Prism catalog page.
SKILL.md
READMESKILL.md - Baoyu Format Markdown
# Title Formulas Reference 8 hook formulas + straightforward style for balanced title generation. ## Hook Formulas | # | Formula | Characteristics | Example | |---|---------|----------------|---------| | 1 | Subversive | Deny common belief, create cognitive conflict | "All de-AI-flavor prompts are wrong" | | 2 | Solution | Give the answer directly, promise concrete value | "One recipe to make AI write in your voice" | | 3 | Suspense | Reveal half, spark a curiosity gap | "It took me six months to find how to remove AI flavor" | | 4 | Concrete Number | Use specific numbers for credibility and impact | "150 lines of docs taught AI my writing style" | | 5 | Contrast | Small cause → big result, or expectation vs reality | "One doc replaced three months of AI tuning" | | 6 | Result First | Lead with a surprising outcome, hook reader to find out why | "After using this method, nobody could tell it was AI" | | 7 | Rhetorical Question | Ask a question that creates an unfinished feeling | "Why can people spot your AI writing at a glance?" | | 8 | Empathy | Touch pain points, trigger shared frustration or relief | "Three months fighting AI flavor — I finally broke free" | ### When to pick each formula | Formula | Best for | |---------|----------| | Subversive | Articles that challenge mainstream advice or debunk myths | | Solution | How-to guides, tutorials, actionable advice pieces | | Suspense | Personal stories, case studies, journey narratives | | Concrete Number | Data-driven articles, benchmarks, step-by-step guides | | Contrast | Before/after stories, unexpected discoveries, comparisons | | Result First | Success stories, transformation pieces, "I tried X" articles | | Rhetorical Question | Problem-awareness pieces, diagnostic/explainer content | | Empathy | Struggle narratives, community pain points, relatable experiences | ## Straightforward Style Not every title needs a hook. Straightforward titles work well as alternatives: - **Descriptive**: clearly state the topic and scope - **Declarative**: state the main conclusion or thesis directly These provide balance — readers who prefer clarity over curiosity will appreciate them. ## Title Principles - **Hook in first 5 characters**: create information gap or cognitive conflict - **Specific > abstract**: "150 lines" beats "a document" - **Negation > affirmation**: "you're doing it wrong" beats "the right way" - **Conversational**: like chatting with a friend, not an academic paper - **Max ~30 characters**: longer titles get truncated in feeds - **Accurate, not clickbait**: the article must deliver what the title promises — titles can be bold but the content must back them up ## Prohibited Patterns - Vague academic-style: "On XX", "Thoughts on XX", "Exploration and Practice of XX" - Pure shock bait: "Shocking!", "10,000-word essay", "Must bookmark" - Directionless questions: "Where is the future of AI writing?" import { spawnSync } from "node:child_process"; import process from "node:process"; export function applyAutocorrect(filePath: string): boolean { const npxCmd = process.platform === "win32" ? "npx.cmd" : "npx"; const result = spawnSync(npxCmd, ["autocorrect-node", "--fix", filePath], { stdio: "inherit", }); return result.status === 0; } { "lockfileVersion": 1, "workspaces": { "": { "dependencies": { "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.5", "unist-util-visit": "^5.1.0", "yaml": "^2.8.2", }, }, }, "packages": { "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBS