Skip to content
Report library
Purpose / Other

Pricing Skill Security Audit

What the author says it does (original text)

When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a

Independent security check

Security risks found

Files checked
6
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

The “paste test” and crawler access can expose non-public pricing content to third parties

Source references: 4
What we found

The guide directs the agent to give a pricing URL or rendered page text to a browsing-capable AI, and recommends allowing AI search crawlers and publishing machine-readable prices. It does not first require confirmation that the page and text are intended to be public.

Why this matters

For prerelease, authenticated, customer-specific, or undisclosed-discount pages, URLs, plans, prices, and surrounding text could be received, logged, or indexed by external AI services.

The guide does direct the agent to give a URL or rendered page text to an external web-enabled AI, and treats allowing AI search crawlers as a passing condition. That is normal for a public pricing page, but if the page requires login or contains negotiated, customer-specific, or unreleased terms, pasting its text or enabling crawling could disclose it to third parties. The source does not first require a public-status or authorization check. Users can restrict testing to public URLs and prohibit submitting restricted text or changing crawler policy.

SKILL.md:248In the instructionsOpen original file
**Fast check — the "paste test":** give the pricing URL to a browsing-capable AI (Perplexity, ChatGPT with search, Claude with web) — or paste the rendered page text — and ask "what are the plans and prices?" A clean miss means agents fetching your page will struggle too (a heuristic, not proof every agent fails).The AI-readiness fixes are usually high-impact, low-effort (put prices in text, add `Offer` schema). Hand implementation to **schema** (Product/Offer JSON-LD) and **ai-seo** (extractability, AI-bot access, `llms.txt`).
Show 3 other places
references/pricing-page-teardown.md:35In the instructionsOpen original file
| 9 | **Per-tier depth in text** | Each plan's inclusions, limits, and quotas stated in words | Differences shown only as checkmark columns in an image; limits unnamed || 10 | **Structured data & extractability** | `Product`/`Offer` schema markup, clean semantic HTML, AI search/agent bots allowed to crawl (`llms.txt` is a nice-to-have, not yet a standard) | No schema; pricing behind auth/interaction; AI *search* bots blocked in robots.txt |Dimensions 7 and 10 hand off to **`schema`** (Product/Offer JSON-LD) and **`ai-seo`** (extractability, AI-bot access, `llms.txt`) for implementation.
references/pricing-page-teardown.md:79In the instructionsOpen original file
- **JS-only render / auth wall** — if the price only appears after interaction or login, most fetchers won't see it (only JS-rendering agents might).- **Blocked AI *search* bots** — the crawlers that feed AI *answers* are the search agents, not the training crawlers: OpenAI's `OAI-SearchBot`, Anthropic's `Claude-SearchBot` / `Claude-User`, Perplexity's `PerplexityBot`. Blocking `GPTBot` only opts out of model *training*, not ChatGPT Search — so check which bots your robots.txt actually blocks. (Bot access is `ai-seo`'s domain — hand it off there.)
references/pricing-page-teardown.md:41In the instructionsOpen original file
1. **Load context** — read `.agents/product-marketing.md` (ICP, positioning) so "clarity" is judged against the *right* buyer.2. **Fetch the page as an agent would** — get the rendered text/HTML, not a screenshot. Note immediately whether prices appear in the text (that's dimension 7).3. **Run the paste test** — ask an LLM for the plans and prices from the URL; record what it gets wrong or misses.4. **Score all 10 dimensions** Pass/Partial/Gap with a one-line reason each.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.Risks found: 1
Medium risk

Local marketing files can introduce untrusted instructions into the agent context

Source references: 2
What we found

The Skill automatically reads several predictably named Markdown files and tells the agent to “use” their contents, without saying to treat them only as business data or ignore operational instructions. If a repository, template, or dependency contributor can alter one, hostile text could masquerade as marketing context.

Why this matters

The agent could leave the pricing task, disclose later-provided information, or recommend or perform actions the user did not authorize. The actual consequence depends on the host agent’s tools and permissions.

This is an active preprocessing step: the agent is told to read fixed project files and use their contents. The Skill does not say to treat them only as business data or ignore agent-directed instructions within them. If a collaborator, template, or other tool can modify those files, embedded prompts could influence later decisions or actions; actual impact depends on the content and the agent's instruction isolation. Users can ask the author to define a clear data boundary and prompt-injection handling.

SKILL.md:14In the instructionsOpen original file
**Check for product marketing context first:**If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Show 1 other places
references/pricing-page-teardown.md:41In the instructionsOpen original file
1. **Load context** — read `.agents/product-marketing.md` (ICP, positioning) so "clarity" is judged against the *right* buyer.2. **Fetch the page as an agent would** — get the rendered text/HTML, not a screenshot. Note immediately whether prices appear in the text (that's dimension 7).
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.Risks found: 1
Medium risk

Generic increase rules may drive insufficiently validated customer migrations and avoidable churn

Source references: 5
What we found

The guide recommends avoiding permanent grandfathering, moving 5–10% of existing customers first, and accepting some churn; elsewhere it broadly says to price higher when in doubt. It does not require checking contractual limits, customer segments, profit contribution, or statistical significance first.

Why this matters

If an operator applies these heuristics directly to production pricing, they could breach customer commitments, create support and renewal problems, lose valuable customers, or reduce total revenue. The Skill only advises; it does not itself change prices.

These recommendations can shape real business decisions, although they do not automatically change prices. The guide reduces risk by testing new customers, staging migration, and monitoring churn, but still advises against permanent grandfathering, moving 5–10% of existing customers, and accepting some churn; a reference also broadly says to price higher when uncertain. The visible instructions do not require checking contracts, notice obligations, or customer-level profitability first. Treated as a universal playbook, this could cause disputes or avoidable revenue loss. Users can require contractual, segment, and financial validation before migration advice.

SKILL.md:206In the instructionsOpen original file
A price change is a rollout, not a switch you flip. Sequence it to de-risk:1. **Test on new customers first.** Raise the price only for *new* signups and watch conversion. New customers have no anchor and no relationship at stake, so they give you a clean read on whether the market accepts the number — before you touch a single existing account.2. **Don't reflexively grandfather forever.** Grandfathering feels kind, but it can leave enormous money on the table. Run the math: a customer paying **$50/mo** who *should* be at **$250/mo** is a **$2,400/yr** gap — and $200/mo you're subsidizing indefinitely across your whole base. Grandfather as a *transition* (a grace period), not a permanent exemption.3. **Roll out small, then gradually.** Move **5–10%** of existing customers to the new price first. Watch churn and support volume for a cycle, then expand in staggered waves. A staggered rollout contains the blast radius and gives you an off-ramp if churn spikes.4. **Communicate the *why*, months ahead, with a generous offer.** Tell customers why the price is changing (usually: more value shipped) well in advance. Soften it: lock-in-the-old-price-if-you-upgrade-to-annual-now, an extended grace window, or a one-time credit. Advance notice + a generous option converts a resentment moment into a loyalty one.Expect — and accept — some churn. The customers most likely to leave over a justified increase are usually your least-profitable, highest-support, most price-sensitive accounts.
Show 4 other places
references/pricing-models.md:60In the instructionsOpen original file
## The Low-Price Retention CounterpointCharging too little is not the safe choice. **Low prices hurt retention** (Patrick Campbell / ProfitWell data, echoed by operators like Josh Pigford of SpyFu and Tyler Tringas): under-priced customers churn *more*, not less, because a low price signals low value and attracts the least-committed, most price-sensitive buyers.Related: the **discount-asker signal** — customers who negotiate for a discount tend to churn at roughly **2x** the rate of full-price customers. Discounting to close a deal often buys a customer who leaves anyway.**Implication:** when in doubt, price higher. It's easier to grandfather a price down than to claw one up, and a higher price selects for better-fit, longer-retained customers.
SKILL.md:208In the instructionsOpen original file
1. **Test on new customers first.** Raise the price only for *new* signups and watch conversion. New customers have no anchor and no relationship at stake, so they give you a clean read on whether the market accepts the number — before you touch a single existing account.2. **Don't reflexively grandfather forever.** Grandfathering feels kind, but it can leave enormous money on the table. Run the math: a customer paying **$50/mo** who *should* be at **$250/mo** is a **$2,400/yr** gap — and $200/mo you're subsidizing indefinitely across your whole base. Grandfather as a *transition* (a grace period), not a permanent exemption.3. **Roll out small, then gradually.** Move **5–10%** of existing customers to the new price first. Watch churn and support volume for a cycle, then expand in staggered waves. A staggered rollout contains the blast radius and gives you an off-ramp if churn spikes.4. **Communicate the *why*, months ahead, with a generous offer.** Tell customers why the price is changing (usually: more value shipped) well in advance. Soften it: lock-in-the-old-price-if-you-upgrade-to-annual-now, an extended grace window, or a one-time credit. Advance notice + a generous option converts a resentment moment into a loyalty one.
SKILL.md:213In the instructionsOpen original file
Expect — and accept — some churn. The customers most likely to leave over a justified increase are usually your least-profitable, highest-support, most price-sensitive accounts.
references/pricing-models.md:66In the instructionsOpen original file
**Implication:** when in doubt, price higher. It's easier to grandfather a price down than to claw one up, and a higher price selects for better-fit, longer-retained customers.

Inside this skill

8 instruction sections

This Skill is a pricing-advice guide. It first reads local product-marketing context, then asks about pricing, target market, conversion, ARPU, churn, and related inputs to design prices, packages, and value metrics. The supplied files contain no executable scripts, installation commands, or implementation that directly changes accounts, prices, or files.

View source
SKILL.md:14In the instructionsOpen original file
**Check for product marketing context first:**If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.Gather this context (ask if not provided):
SKILL.md:30In the instructionsOpen original file
### 3. Current Performance- What's your current conversion rate?- What's your ARPU and churn rate?- Any feedback on pricing from customers/prospects?### 4. Goals- Optimizing for growth, revenue, or profitability?- Moving upmarket or expanding downmarket?

For pricing-page audits, it scores both the human buying experience and AI-agent readability. It calls for obtaining page text or HTML, running an external-AI “paste test,” and prioritizing fixes by impact and effort.

View source
references/pricing-page-teardown.md:39In the instructionsOpen original file
## How to run it1. **Load context** — read `.agents/product-marketing.md` (ICP, positioning) so "clarity" is judged against the *right* buyer.2. **Fetch the page as an agent would** — get the rendered text/HTML, not a screenshot. Note immediately whether prices appear in the text (that's dimension 7).3. **Run the paste test** — ask an LLM for the plans and prices from the URL; record what it gets wrong or misses.4. **Score all 10 dimensions** Pass/Partial/Gap with a one-line reason each.5. **Prioritize fixes** by impact × effort. AI-readiness gaps are often *high impact, low effort* (add text prices, add Offer schema) — surface those first.

The Skill provides business advice spanning initial prices, research methods, packaging, and increases for existing customers. Some numeric guidance is explicitly a rule of thumb or example rather than a conclusion validated for a particular business.

View source
SKILL.md:74In the instructionsOpen original file
## Initial Pricing — "Pick a Price You Can Learn From"The frameworks below (value metrics, tiers, Van Westendorp) are for optimizing a price. **On day one you don't have a price to optimize — you have a bet to place.** The goal of your first price is *learning*, not precision. Pick a number, ship it, and let real buyers tell you if it's wrong.### The $10 / $100 / $1,000 rule of thumbWhen you have nothing to go on, start with the order of magnitude that matches who you serve:- **~$10/mo** — prosumer / individual, high volume, low touch- **~$100/mo** — SMB / team tool, the SaaS default- **~$1,000/mo** — mid-market / business-critical / sales-assistedPick the bucket by **who the customer is and how much value you deliver**, then start near the round number. You can move within the bucket fast once you have signal.
references/pricing-models.md:52In the instructionsOpen original file
## The Value/Price RatioAim for roughly a **10:1 value-to-price ratio** (Ryan Kulp): the customer should perceive about **10x more value than they pay**. This is the buffer that makes the purchase feel obvious rather than negotiated, and it leaves headroom to raise prices later as you add value.If you can't articulate 10x value, the problem is usually the offer or the positioning, not the price point.
Start here · InstructionsSKILL.md
pricing
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 4 more sections are available in the original file.

File reference map

References: 5
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records6 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • references/pricing-models.mdFull text included
  • references/pricing-page-teardown.mdFull text included
  • references/research-methods.mdFull text included
  • references/tier-structure.mdFull text included
  • evals/evals.jsonFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • evals/evals.jsonSupporting file
  • references/pricing-models.mdSupporting file
  • references/pricing-page-teardown.mdSupporting file
  • references/research-methods.mdSupporting file
  • references/tier-structure.mdSupporting file
Lines read
955
File checksum (to compare versions)
4d926b44f20885265f4c83d50d4e72fc3c2b611d1d454a8cfc41882c070d280b