Agent skill
marketing-content-blog-post
Write an 800-1500 word B2B blog post in Markdown from a content idea.
Filed under Content and SEO.
From b2bforce/b2bforce · 35 skill entries · 2 · pushed 2026-10-19
What it does when it runs
Write an 800-1500 word B2B blog post in Markdown from a content idea. Use when content_type is blog_post. Applies stage-specific frameworks and Exa reference articles. Output to workspace/marketing/content/drafts/blog/. For LinkedIn or X use marketing-content-linkedin-post or marketing-content-x-post instead.
Automated analysis of the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Ask about marketing-content-blog-post
Opens your assistant with this page's recorded context. Check the linked sources before relying on it.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/b2bforce/b2bforce.git /tmp/b2bforce git -C /tmp/b2bforce sparse-checkout set ".agents/skills/marketing-content-blog-post" mkdir -p ~/.claude/skills/marketing-content-blog-post cp -R "/tmp/b2bforce/.agents/skills/marketing-content-blog-post/." ~/.claude/skills/marketing-content-blog-post/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from b2bforce/b2bforce/blob/c7db2ebdb04f5e7b3bcdad39bf96e03f533d66ce/.agents/skills/marketing-content-blog-post/SKILL.md, which is licensed MIT (skill frontmatter). 443 words, 9 headings.
Blog Post Generation
Long-form draft pipeline for a content idea of type blog_post.
When to Use
- Idea file has
content_type: blog_post - User asks to write/expand a blog idea
Prerequisites
- Content idea:
workspace/marketing/content/ideas/blog_post--{buying_stage}--{slug}.md - Firm, service, ICP, persona context in workspace
- Current agent/LLM session
- Optional: Exa reference notes via
tool-exafor market-informed long-form drafts
Prompt layering (order matters)
- Base writer — style, storytelling, anti-AI-slop (no length)
- Quality layer — universal quality + buying-mode tone
- Blog format layer — authoritative length/structure →
references/format-requirements.md
Optional: workspace/firm/content-guidelines/blog-post.md if exists (company overrides).
Follow the shared draft gate and writing quality rules in docs/content-generation.md.
Sources
Run marketing-content-sources first. It writes {slug}.sources.md next to the
draft; the draft may state only what a row there supports (rules:
docs/content-generation.md, "Sources and support markers").
Optional Exa reference articles: search 5 results on idea title via tool-exa
for angle and structure benchmarking. They are not evidence. Do not plagiarize.
User prompt template
Write a Blog Post based on this content idea. Follow FORMAT REQUIREMENTS exactly.
=== CONTENT IDEA ===
Title: {title}
Description: {description}
Buying Stage: {stage label}
Buyer question: {buyer_question}
Unique angle: {unique_angle}
Proof source: {proof_source}
Next action: {next_action}
Research mode: {research_mode}
Target keyword: {if any}
=== CONTEXT ===
{company, service, ICP, persona from workspace}
=== SOURCES ===
{rows from {slug}.sources.md}
=== REFERENCE ARTICLES ===
{exa results or none}
Requirements:
- 800-1500 words, Markdown H2/H3
- Match buying stage framework (see format requirements)
- Brand voice from firm profile
- Hook opening — no generic intro
- Every factual claim rests on a row in SOURCES; end the paragraph with its
marker, e.g. <!-- S2, S5 -->. Missing detail: [ASK: ...], never a plausible value
- Client proof only via proof rows (public use requires usable_publicly: true)
- CTA aligned to buying stage
- Language: {language}
Return JSON: { "title": "...", "body": "markdown..." }
Output
Brand scope. In a multi-brand workspace the draft inherits the idea file's brand: write to workspace/marketing/content/{brand}/drafts/… — same brand segment as the idea. See the Brand Scope Gate in AGENTS.md.
workspace/marketing/content/drafts/blog/{slug}.md, with {slug}.sources.md and
{slug}.review.md beside it.
Frontmatter: idea, content_type, buying_stage, service, icp, persona,
target_keyword, generated_at.
Run scripts/validate-content-draft.sh {output}. Update idea frontmatter to
status: generated after the draft validates.
Review
Run the four review passes and revise per docs/content-generation.md, "Review
passes": marketing-content-factcheck, marketing-content-consistency,
marketing-content-deslop, marketing-content-reader-test, all on the same draft
version each round, max 3 rounds. Revisions touch only what a report names. The draft
is publishable when scripts/validate-content-draft.sh --reviewed {output} passes.
Related Skills
marketing-content-ideas (upstream) | marketing-content-sources (before) |
review passes (after) | other marketing-content-* for different types
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- content-creation-and-marketing by manojbajaj95 · 109
- blog-post-writer by markster · 52
- content-marketing by shalintripathi · 30
- bbr-blog-post by vell-admin · 0
- co-marketing by coreyhaines31 · 57,989
- community-marketing by coreyhaines31 · 57,989
- content-strategy by coreyhaines31 · 57,989
- influencer-marketing by coreyhaines31 · 57,989
Need help setting it up?
This page tells you what marketing-content-blog-post does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.