Agent skill
marketing-service-page
Create or refresh a standalone B2B service page from a service brief, URL, existing service file, or a mix of inputs.
Filed under Content and SEO.
From b2bforce/b2bforce · 29 skills · 2 · pushed 2026-08-21
What it does when it runs
Create or refresh a standalone B2B service page from a service brief, URL, existing service file, or a mix of inputs. Use when the user wants a landing page/service page without first creating a content idea. Output to workspace/marketing/landing-pages/{slug}/.
Read from 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
- EXA_API_KEY
- FIRECRAWL_API_KEY
- 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.
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-service-page" mkdir -p ~/.claude/skills/marketing-service-page cp -R "/tmp/b2bforce/.agents/skills/marketing-service-page/." ~/.claude/skills/marketing-service-page/
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.
Before you install: this skill will not complete its job on a bare agent. It needs EXA_API_KEY, FIRECRAWL_API_KEY, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from b2bforce/b2bforce/blob/7682ed90c62190a0f3c09eb135596d08bd6890bc/.agents/skills/marketing-service-page/SKILL.md, which is licensed MIT (skill frontmatter). 458 words, 11 headings.
Service Page
Standalone service-page workflow. Does not use the content idea backlog.
When to Use
- User says "add landing page", "create service page", or "write landing page"
- User provides a service brief, URL, existing service slug, or any combination
- Need competitor-informed differentiation (optional SERP/scrape)
- No prior content idea exists
Prerequisites
Brand scope. In a multi-brand workspace (2+ brand homes in workspace/firm/brands/), every path this skill reads or writes is brand-scoped: definitional entities (services, ICP, personas, proof, channels) live in firm/brands/{brand}/…, working pipelines carry a {brand}/ segment under their entity root, and the working brand comes from the user's choice or B2BFORCE_BRAND — never guessed. Rules: Brand Scope Gate in AGENTS.md; paths: docs/WORKSPACE.md.
workspace/firm/profile.md- Service name/slug, existing service file, URL, description, or both
- Current agent/LLM session
- Optional APIs for competitor research:
FIRECRAWL_API_KEY,DATAFORSEO_LOGIN/PASSWORD, orEXA_API_KEY
If the service context is missing or thin, run marketing-service first or
create service-context.md inside the service-page folder from the user brief.
Pipeline
1. Resolve service context
Input priority:
- User-provided description
- Existing
workspace/firm/services/{slug}.md - URL page content
- Firm profile
If a URL and description conflict, user description wins. Do not invent proof, metrics, clients, or pricing.
A service page is public material. Client results may only come from
workspace/firm/proof/ records with usable_publicly: true, named only when
client_public: true — see the Proof Gate in AGENTS.md.
Write or update:
workspace/marketing/landing-pages/{slug}/service-context.md
2. Generate SEO phrases
Generate commercial-intent B2B keyword candidates for the service. If DataForSEO/Exa is unavailable, mark them as draft keywords, not validated search data.
3. Optional competitor research
Primary: Exa search (5 results, take top 3) for competitor service pages
Fallback: DataForSEO SERP top 10 organic results → scrape top 3 pages with Firecrawl (each truncated to 15k chars)
If no research tool is available, continue from firm/service context and mark the
page as research_mode: dry_run.
Write: workspace/marketing/landing-pages/{slug}/competitor-research.md
Include: URL, title, key messaging, gaps/opportunities
4. Generate service page
System prompt: inline 8-section structure (Hero, Problem, Solution, Benefits, How It Works, Social Proof, FAQ, CTA) — see references/system-prompt.md
Input: service context + competitor analysis + SEO phrases
Differentiation: fresh angles competitors miss; anti-AI-slop rules. Do not claim external competitor validation unless competitor research was actually run.
5. Write outputs
workspace/marketing/landing-pages/{slug}/
├── page.md # Final service page Markdown
├── service-context.md # Generated service definition
└── competitor-research.md # SERP/scrape summary
Optionally create content idea stub with content_type: landing_page, buying_stage: vendor for tracking.
Anti-slop rules
- No "In today's world..."
- No buzzwords without substance
- Hook with data, story, or provocative statement
- No rhetorical question openings
Related Skills
| Skill | When |
|---|---|
marketing-service | Create/enrich service context first |
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.
- co-marketing by coreyhaines31 · 45,947
- community-marketing by coreyhaines31 · 45,947
- influencer-marketing by coreyhaines31 · 45,947
- marketing-council by coreyhaines31 · 45,947
- marketing-ideas by coreyhaines31 · 45,947
- marketing-loops by coreyhaines31 · 45,947
- marketing-plan by coreyhaines31 · 45,947
- marketing-psychology by coreyhaines31 · 45,947
Need help setting it up?
This page tells you what marketing-service-page 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.