agentleFS
pooriaarabpooriaarab/skills/pricing-page/SKILL.md

pricing-page

Skill1 starsChanged 5 days agoMITView on GitHub

Design or revise a SaaS pricing page when the user asks 'how much should we charge', 'choose pricing tiers', 'package our plans', 'build a pricing page', 'free trial or free plan', 'add annual billing', 'price an enterprise plan', or 'raise prices for existing customers'. Use this skill for value metrics, packaging, pricing-page structure, pricing communication, and price-change policy. Point to `saas-billing-stripe` for Stripe billing mechanics, `regional-pricing-stripe` for PPP, and `product-analytics` for product measurement.

6 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use operational-enterprise-ai, product-proof-saas and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • boraoztuncSkill

    operational-enterprise-ai

    Create or redesign enterprise AI, automation, security, and operations product pages that explain system boundaries, approvals, auditability, exceptions, and rollback. Use for dark cinematic heroes, hairline grids, metric pauses, expandable solution rows, case-study evidence, security proof, and qualified demo or waitlist handoffs.

    Also in 3 projects that use this

  • boraoztuncSkill

    product-proof-saas

    Create or redesign SaaS and AI product landing pages where a real workflow, interface, or deterministic demo is the central proof. Use for pale atmospheric shells, product UI in the hero, prompt-to-output stories, audience tabs, compact feature modules, honest pricing comparisons, and FAQ handoffs.

    Also in 3 projects that use this

  • brpazSkill

    tailwind-v4

    Configure Tailwind CSS v4 with Oxide, CSS-first directives, migration steps, and production guidance.

    Also in 3 projects that use this

  • ParthJadhavSkill

    app-store-screenshots

    Use when building App Store or Google Play screenshot pages, generating exportable marketing screenshots for iOS, macOS, and/or Android apps, or scaffolding a screenshot editor with Next.js. Triggers on app store, mac app store, play store, screenshots, marketing assets, html-to-image, phone mockup, mac mockup, android screenshots, feature graphic.

    Also in 3 projects that use this

  • silvainfmSkill

    page-cro

    When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.

    Also in 3 projects that use this

  • silvainfmSkill

    analytics-tracking

    When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," or "tracking plan." For A/B test measurement, see ab-test-setup.

    Also in 3 projects that use this

  • +1 more from boraoztunc
  • +1 more from silvainfm

The file

Show its rules and text

We split this skill into the rules it gives an agent

43 rules. 0 are common, 37 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 37

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use saas-billing-stripe for Checkout, subscriptions, trials, portals, taxes, and webhooks.

    line 10
  2. Very specific:

    Use regional-pricing-stripe for PPP, currency tiers, and localized Stripe prices.

    line 11
  3. Very specific:

    Use product-analytics for activation, retention, cohorts, and product event design.

    line 12
  4. Distinctive:

    Test the metric with four questions:

    line 31
  5. Distinctive:

    If two answers are no, use a different metric or add a clear base allowance.

    line 37
  6. Distinctive:

    Do not create tiers until the metric passes this test.

    line 38
  7. Distinctive:

    Start with two or three paid tiers.

    line 42
  8. Distinctive:

    Avoid five tiers that differ only by small limits or minor feature flags.

    line 43
  9. Distinctive:

    Use the pattern as a decision aid, not as a reason to manufacture a weak plan.

    line 49
  10. Distinctive:

    Use this package shape as a starting point:

    line 51
  11. Distinctive:

    Use a free plan when marginal cost is low, the free use case lasts, and the upgrade boundary is clear.

    line 59
  12. Distinctive:

    Use a free trial when the product demonstrates value quickly and needs to limit ongoing free usage.

    line 61
  13. Distinctive:

    Use this page order:

    line 74
  14. Distinctive:

    Add a comparison table and an enterprise path when needed.

    line 80
  15. Distinctive:

    Put the entry plan first, the core plan in the visual center, and the expansion plan last.

    line 83
  16. Distinctive:

    Do not add a fake decoy. See Huber, Payne, and Puto.

    line 87
  17. Distinctive:

    Write “$X per month, billed $Y annually” when the annual amount is due upfront.

    line 100
  18. Distinctive:

    Write “Save $Z per year, 16.7%” when the discount is not exactly two free months.

    line 101
  19. Distinctive:

    Do not use “two months free” unless the annual total equals ten monthly payments.

    line 102
  20. Distinctive:

    Keep the full annual charge visible on your own page.

    line 105
  21. Distinctive:

    Use the feature table for comparison, not persuasion.

    line 109
  22. Distinctive:

    Use plain values such as “10 projects” or “email support,” not unexplained checkmarks.

    line 110
  23. Distinctive:

    Use the FAQ to remove objections that stop a card.

    line 111
  24. Distinctive:

    Do not hide material fees or restrictions in the FAQ.

    line 113
  25. Distinctive:

    Use a hidden price when the scope cannot be priced from the page.

    line 117
  26. Distinctive:

    Use the signed contract and local law to set notice periods.

    line 135
  27. Distinctive:

    Create a new Price, switch new purchases, and archive the old Price when appropriate.

    line 139
  28. Distinctive:

    If you omit the subscription item ID, Stripe can leave the old price active too.

    line 143
  29. Very specific:

    Read Stripe subscription price changes.

    line 144
  30. Distinctive:

    Do not repeat its Stripe integration mechanics here.

    line 146
  31. Distinctive:

    Use a funnel that separates page clarity from payment friction:

    line 150
  32. Distinctive:

    Keep price and plan changes identifiable in the event data.

    line 157
  33. Distinctive:

    Read the numbers as failure locations:

    line 159
  34. Very specific:

    Use interviews and support objections to explain the drop.

    line 166
  35. Distinctive:

    Do not use fake scarcity, reset countdowns, or false “ending soon” claims.

    line 171
  36. Distinctive:

    Do not hide mandatory fees, tax treatment, limits, or annual totals until checkout.

    line 172
  37. Distinctive:

    Do not call a tier “Most popular” without observed purchase evidence.

    line 173
  38. Distinctive:

    Do not add a “Best value” badge only because you want to sell that tier.

    line 174
  39. Distinctive:

    Do not make the cheapest plan useless or the highest plan fictional.

    line 175
  40. Distinctive:

    Do not let a feature table replace outcome-led plan descriptions.

    line 176
  41. Distinctive:

    Use the table for comparison and the FAQ for objections.

    line 190
  42. Very specific:

    Create new Stripe Prices; read saas-billing-stripe for mechanics.

    line 193
  43. Distinctive:

    Remove fake scarcity, hidden fees, unsupported badges, and fictional tiers.

    line 195

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Pricing Page

The headline decision: choose the value metric before tiers or prices. Make the right buyer say, “This fits my use,” before showing every feature. Use saas-billing-stripe for Checkout, subscriptions, trials, portals, taxes, and webhooks. Use regional-pricing-stripe for PPP, currency tiers, and localized Stripe prices. Use product-analytics for activation, retention, cohorts, and product event design.

1. Pick the value metric before the tiers

Charge against the unit that rises with customer value. The metric must stay understandable before purchase and predictable enough for a customer to budget.

Good metrics include:

  • Documents processed, when each document creates clear customer value.
  • Storage used or workspaces, when each unit creates value or cost.
  • Seats, when collaboration grows with each active person.
  • Usage, when more usage reliably means more value and the customer can forecast it.

Bad metrics create a permanent pricing argument. Seats fail for a product used by one person. API calls and feature counts fail when customers value the result, not the count. Stripe supports flat-rate, per-seat, tiered, and usage-based models. See Stripe pricing models. The trap is charging for what the system can count instead of what the customer values. This creates bill shock, workarounds, and growth penalties. Change the metric before tuning the amount. Test the metric with four questions:

  1. Does a larger value reliably mean a better customer outcome?
  2. Can a buyer estimate the next bill before signing up?
  3. Can the product show value, allowance, and the first useful action clearly?

If two answers are no, use a different metric or add a clear base allowance. Do not create tiers until the metric passes this test.

2. Package the offer

Start with two or three paid tiers. Add enterprise only when its buying process differs. Avoid five tiers that differ only by small limits or minor feature flags. Separate tiers by outcomes, capacity, control, or service. Give each tier one primary reason to exist. A buyer should know who each tier serves without reading a feature matrix. The good, better, best pattern persists because it gives buyers a small comparison set. See the choice-overload meta-analysis. Stripe describes flat-rate tiers as Basic, Starter, and Enterprise service levels. Choice overload depends on task difficulty, option complexity, and uncertainty, not option count alone. Use the pattern as a decision aid, not as a reason to manufacture a weak plan.

Use this package shape as a starting point:

  • Entry: proves the core outcome with a strict, useful limit.
  • Core: serves the main customer and carries the clearest value story.
  • Expansion: adds scale, controls, service, procurement, or custom scope.

Free plan or free trial

Use a free plan when marginal cost is low, the free use case lasts, and the upgrade boundary is clear. Limit scale, collaboration, automation, or support, but keep the free plan useful. Use a free trial when the product demonstrates value quickly and needs to limit ongoing free usage. Define the activation event before setting the trial length. A free plan supports a product-led loop. A trial supports a time-boxed evaluation. These are operating choices, not interchangeable labels. Collect a payment method only when the audience accepts the step and the first charge is clear. A no-card trial reduces entry friction, but it increases fake signups and needs an end policy. Stripe can cancel, pause, or invoice a trial without a payment method. Read Stripe trial behavior before wiring it.

3. Build the page around the buying decision

Lead with the customer, outcome, and starting price. Put the plan choice near the first proof. Make the next step obvious for every plan.

Use this page order:

  1. State the outcome and the customer who needs it.
  2. Show monthly and annual terms with one clear billing toggle.
  3. Show plan cards with price, audience, outcome, limits, and one CTA each.
  4. Explain the value metric and add proof that matches the buyer.
  5. Add a comparison table and an enterprise path when needed.
  6. Answer purchase objections in the FAQ.

Put the entry plan first, the core plan in the visual center, and the expansion plan last. Make the core plan the anchor for most self-serve buyers only when data supports that role. An anchor is a credible reference that helps a buyer judge another price. The highest plan can anchor the core plan, but it must solve a real larger problem. Do not add a fake decoy. See Huber, Payne, and Puto.

Monthly and annual prices

Show the monthly equivalent, the annual total, the amount charged today, and exact savings.

Use this calculation:

annual saving = (12 × monthly price) - annual price
discount = annual saving / (12 × monthly price)

Write “$X per month, billed $Y annually” when the annual amount is due upfront. Write “Save $Z per year, 16.7%” when the discount is not exactly two free months. Do not use “two months free” unless the annual total equals ten monthly payments. Stripe can display eligible annual prices as monthly equivalents in Checkout and pricing tables. See Stripe yearly price display. Keep the full annual charge visible on your own page.

Feature table and FAQ

Use the feature table for comparison, not persuasion. Put metric limits and meaningful controls in rows. Use plain values such as “10 projects” or “email support,” not unexplained checkmarks. Use the FAQ to remove objections that stop a card. Answer who pays, when billing starts, what happens at a limit, whether cancellation is immediate, and what the annual charge means. Do not hide material fees or restrictions in the FAQ. Put them beside the relevant price.

4. Enterprise and “contact us”

Use a hidden price when the scope cannot be priced from the page. Valid reasons include custom volume, security review, procurement, service levels, onboarding, or negotiated terms. Show a starting price when the enterprise package is repeatable. State scope, buyer, and next step. “Contact us” alone does not explain the buying process.

Hidden pricing loses self-serve buyers when plans are standard and usage is clear. It blocks comparison before a buyer knows whether the product fits. See research on price intransparency. Offer two paths when both motions exist: “Start self-serve” and “Talk to sales.” Keep the standard price visible. Route only the custom part to sales.

5. Change prices for existing customers

Choose the customer policy before publishing the new page:

  • Grandfather the old price until cancellation. This protects trust but keeps old catalog states.
  • Grandfather for a fixed period. This gives notice and a clean migration date.
  • Move every customer on a stated date. This simplifies the catalog but raises churn risk.

Use the signed contract and local law to set notice periods. Do not invent one universal period. Tell customers the old price, new price, effective date, reason, and available choices. Give notice before the first renewal at the new price. Stripe keeps a record of prices. You cannot change a Price amount after creation. Create a new Price, switch new purchases, and archive the old Price when appropriate. See Stripe price management.

An existing subscription does not move because the page changed. Updates can prorate or invoice. If you omit the subscription item ID, Stripe can leave the old price active too. Read Stripe subscription price changes. Point to saas-billing-stripe for webhook, portal, access, and environment handling. Do not repeat its Stripe integration mechanics here.

6. Measure whether pricing is wrong

Use a funnel that separates page clarity from payment friction:

pricing_viewed → plan_selected → checkout_started → subscription_started

Track plan, billing period, value metric, acquisition source, and experiment version. Keep price and plan changes identifiable in the event data.

Read the numbers as failure locations:

  • Low plan selection suggests unclear value, weak packaging, or price shock.
  • Strong plan selection but weak checkout starts suggests CTA, trust, or eligibility friction.
  • Strong checkout starts but weak subscriptions suggests payment, tax, total-price, or form friction.
  • Good conversion but weak upgrades, activation, or retention suggests a weak offer boundary.

Use interviews and support objections to explain the drop. Do not infer the cause from one metric. Point to product-analytics for event naming, activation, funnels, retention, and cohorts.

7. What not to do

  • Do not use fake scarcity, reset countdowns, or false “ending soon” claims.
  • Do not hide mandatory fees, tax treatment, limits, or annual totals until checkout.
  • Do not call a tier “Most popular” without observed purchase evidence.
  • Do not add a “Best value” badge only because you want to sell that tier.
  • Do not make the cheapest plan useless or the highest plan fictional.
  • Do not let a feature table replace outcome-led plan descriptions.

The FTC identifies fake countdown timers and buried fees as dark patterns. See Bringing Dark Patterns to Light.

Checklist

  1. Name the customer outcome and value metric.
  2. Reject metrics that are hard to forecast or punish success.
  3. Choose two or three tiers with distinct customer jobs.
  4. Decide between a free plan and a time-boxed trial.
  5. Define activation before setting a trial length.
  6. Show monthly terms, annual total, exact saving, and billing timing.
  7. Explain metric limits with concrete examples.
  8. Use the table for comparison and the FAQ for objections.
  9. Show enterprise starting prices when the package is repeatable.
  10. Set the existing-customer policy and notice date.
  11. Create new Stripe Prices; read saas-billing-stripe for mechanics.
  12. Track pricing events, then compare activation and retention by plan.
  13. Remove fake scarcity, hidden fees, unsupported badges, and fictional tiers.

Related

  • unit-economics — whether the price you picked actually pays for acquisition.
  • founder-led-sales — sales calls are where pricing objections surface first.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.