Systems Lab

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.

activeNeeds a keyInstructions only458 words

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-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about marketing-service-page

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
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.

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, or EXA_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:

  1. User-provided description
  2. Existing workspace/firm/services/{slug}.md
  3. URL page content
  4. 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

SkillWhen
marketing-serviceCreate/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.

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.