agentsclimarketplace

Pricing

Skill mkreindel/seo-toolkit-template/.claude/skills/pricing

Generate a transparent pricing page for a chosen managed site. Captures the highest-intent search behavior — searchers typing "[brand] pricing", "[service] cost", "how much does [service] cost". Pulls real pricing from the site's `stats.md` (refuses if pricing data missing — never invents). Builds a tier-by-tier breakdown OR a custom-quote framing depending on the site's pricing model (read from `site-info.md`). Satisfies Tier 1 on-page SEO, validates Offer schema, and ships per the site's publishing method. Use when the user types `/pricing` or asks for a pricing page.From its SKILL.md

Install
npx -y skills add mkreindel/seo-toolkit-template --skill pricing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

/pricing — Pricing page generator

Pricing pages are the single highest-converting page type on the web for service businesses — and the single most-mishandled. The skill enforces transparency (real numbers from stats.md, no "request a quote" hide-the-ball patterns unless that's genuinely the model) and refuses to invent any number.

Inputs

Required (asked at start if not given):

  • Site — must match a folder under sites/[name]/.

Optional (per-run overrides):

  • Pricing modeltiered (Starter / Pro / Enterprise rows) | custom-quote (anchors + ranges, "contact for exact") | per-engagement (typical engagement sizes with example outcomes) | package (named packages with fixed scope + price). Default: read from site-info.md → "Pricing model". Skill refuses if neither input nor site-info specifies.
  • Currency — defaults to site's primary currency from site-info.md. Override per region if the site serves multiple markets at different price points.

Workflow

This skill follows /service's workflow (Steps 0–11) with the page-type-specific differences listed below. Read .claude/skills/service/SKILL.md end-to-end before running.

What's unique to /pricing

Step 1 — Read context (additions):

  • sites/[site]/references/stats.md is the pricing source-of-truth. Required fields per pricing tier or engagement type: tier_name, price (number, never rounded), currency, unit (one-time / monthly / annual / per-project), includes (array of deliverables), excludes (array).
  • If any required field is missing → refuse.

Step 2 — Keyword selection:

  • Pick from service-keywords.csv rows with intent=pricing or cost. Common forms: [service] pricing, [service] cost, how much does [service] cost, [brand] pricing.

Step 4 — SERP analysis (pricing-specific):

  • Top 3 pricing pages — extract: do they show numbers above the fold? Do they require a form? Do they show comparison table or per-tier cards? What's the median word count (typically lower than blogs — pricing pages are scannable, 500–1500 words is normal)?
  • If the top 3 all hide prices behind forms, that's an opportunity — transparent pricing pages outrank hidden-price ones for the search intent "[X] pricing".

Step 6 — Wireframe (pricing-specific):

Wireframe shape depends on pricing model:

Tiered model:

  • Hero: "Transparent [service] pricing — pick what fits"
  • Quick answer: 1-sentence range — "Starts at $X. Most clients pay $Y–$Z."
  • Tier cards (3–4): name, price, "best for", 4–6 bullet inclusions, CTA
  • Comparison table: every feature × every tier (✓/✗ or numeric)
  • "What's NOT included" (required, in every tier section)
  • FAQ: 6–10 Qs — pricing-specific (annual discount? cancel anytime? what's included? when is custom right?)

Custom-quote model:

  • Hero: "[service] pricing — typical engagement sizes"
  • Quick answer: "Typical engagements run $X–$Y. Here's how to know which range fits."
  • Anchors section: 3–5 example engagements with descriptor + price range + scope summary
  • "How we price" section (required for trust): explain the inputs that drive cost (hours / scope / team size / region). No black box.
  • FAQ: when to expect the lower end, when higher, what's NOT in scope, how long quote takes.

Per-engagement model:

  • Hero: "[service] pricing — by engagement size"
  • 3–5 named example engagements: descriptor, typical price, deliverables, timeline
  • "When custom pricing applies" section
  • FAQ

Package model:

  • Hero: "[service] packages"
  • Package cards (3–6): name, price, fixed scope (deliverables), timeline, CTA
  • "Mix-and-match" section if applicable
  • FAQ

Step 7 — Schema (pricing-specific):

  • Service (or Product if applicable) with offers: [ Offer (per tier) ]
  • Each Offer: price (the number from stats.md), priceCurrency, priceValidUntil (180 days out from publish date), availability: "InStock" (or LimitedAvailability for capped offerings)
  • FAQPage
  • BreadcrumbList
  • For custom-quote / per-engagement: use AggregateOffer with lowPrice + highPrice from the anchor range.

Step 8 — Voice (pricing-specific extras):

  • NEVER hide a number that's in stats.md. Pricing pages that show ranges instead of exact-from-X numbers underperform.
  • One opinion max — usually "[Tier X] is what we'd pick for [profile]" backed by the conversion data in stats.md if available.
  • "When NOT to choose [this tier]" — required for every tier. Single biggest trust signal.
  • No "Contact us for pricing" as the headline. If that's genuinely the model, the entire page is structured as "custom-quote" with anchor ranges shown.
  • AI-search rules: Q+A density (5+ in-body Q→A) — pricing pages are heavily LLM-cited.

Refusal conditions

This skill refuses to ship if:

  • stats.md is missing required pricing fields.
  • Pricing model is undeclared (neither input nor site-info.md).
  • A pricing page already exists in used-keywords.md (refresh instead via /refresh).
  • The site's voice.md forbids public pricing (some businesses cannot publish prices for regulatory reasons — flag).

Output

Standard _drafts/[slug]/ layout. Slug defaults to pricing for single-page, pricing-{service} if multiple services have separate pages.

Length target: 600–1,500 words. Pricing pages convert better short than long — every word that isn't pricing or trust-signal is friction.

Routine versioning + idempotency contract

Same as /service. Idempotency key: (site, slug, language). Pricing pages are refreshed quarterly when stats.md updates — /refresh pricing is the right command for ongoing maintenance.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most marketing audience skills give in ~1.4k tokens

Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07

  • Apply Poppins font to headingsin 41 of 690, across 6 files
  • Apply Lora font to body textin 41 of 690, across 6 files
  • Use Arial fallback for headingsin 39 of 690, across 4 files
  • Use Georgia fallback for body textin 39 of 690, across 4 files
  • Maintain text hierarchy and formattingin 39 of 690, across 4 files
  • Use accent colors for non-text shapesin 38 of 690, across 3 files
  • Use RGB values for precise color matchingin 38 of 690, across 3 files
  • Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
  • Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
  • Use active voice instead of passive voicein 26 of 690, across 10 files
  • Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
  • Prioritize clarity over clevernessin 22 of 690, across 8 files

Said here and by no other author read

  • read stats.md before writing
  • refuse if pricing data is missing
  • use exact numbers from stats.md
  • show ranges if using custom-quote model
  • include a what is excluded section
  • include a when to avoid section per tier

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.