Skip to content

fix(skills): correct experiment, audience, and dashboard-link guidance - #63

Merged
trinya merged 1 commit into
mainfrom
tanyaaulachynskaya/skill-correctness-fixes
Sep 25, 2026
Merged

trinya merged 1 commit into
mainfrom
tanyaaulachynskaya/skill-correctness-fixes

Conversation

@trinya

@trinya trinya commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Why

Some toolkit skills tell agents to make calls the MCP server rejects, or to read the wrong data. The Rico versions of the same skills have been fixed since these were ported. This PR brings those fixes over, plus a few toolkit bugs.

What changed

revenuecat-experiment-analysis

  • exposure_status: valid values are exposed and not_exposed; omit the parameter to get all enrolled customers. The old text listed enrolled, which the MCP schema doesn't accept, and restricted the filter to existing-customer experiments.
  • Screenshots: render-paywall-screenshot now passes version: "published", and is skipped when every offering has a custom paywall. The tool defaults to the draft, so the agent could analyze edits customers never saw.
  • Stale catalog data: indicative_price, trial_duration and duration can be stale, so confirm them with get-product-store-state before stating them as fact or calling one a confound. If the user disputes a claim, the agent checks it itself instead of asking them to.
  • Wording: call the Exposed customers metric "Paywall viewers".
  • Missing Step 6 added: report findings with dashboard links.
  • Parallel calls: independent calls within a step run in parallel.
  • Frontmatter: name changed from experiment-analysis to revenuecat-experiment-analysis to match the folder. It was the only skill where the two differed.

revenuecat-experiments

  • Duplicating treatments: pass source_paywall_version: published, and use draft only when the source was never published. Otherwise a treatment copies unpublished draft edits.
  • Truncated sentence finished: with a custom paywall (paywall_id: null), the paywall change has to happen in the app.

revenuecat-audiences

  • Inspecting a segment: use read-only preview-audience with body.rules. The old flow saved an audience with create-audience, after a confirmation, just to look at a sample.
  • Sorting: sort_by / sort_direction, for example total_spent + desc for the top spenders.
  • Counts: answer "how many" from stats, not the sample size, and say "about N" when is_approximate is true.

revenuecat-dashboard-links / revenuecat-audiences

  • Links: MCP results now include a Dashboard URL for this result line (89 API tools, plus preview-audience for body.rules). Link that URL; the hand-built routes are now the fallback for the CLI, charts, and pages not fetched through a tool.

No version bump or CHANGELOG entry. Those go in one release PR together with #62 and the store-state / charts / troubleshoot PR, so the plugin ships once.

For reviewers

  • preview-audience and the MCP dashboard-URL lines are confirmed live on the production MCP server.

Testing

Only skill text changed. I checked every parameter named above (exposure_status enum, source_paywall_version, the render-paywall-screenshot version default, the preview-audience sort and stats fields, which tools set dashboardLink) against the MCP server's generated schemas and tool mapping.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only skill text changes; no runtime code, auth, or data paths affected.

Overview
Updates four RevenueCat agent skills so guidance matches current MCP behavior and avoids invalid tool calls.

Audiences (revenuecat-audiences): Segment inspection uses read-only preview-audience instead of creating saved audiences to peek at a sample. Documents sort_by / sort_direction (e.g. top spenders), stats for counts (with approximate wording), and preferring the "Dashboard URL for this result" line over hand-built filter URLs.

Dashboard links (revenuecat-dashboard-links): Agents should link MCP-returned dashboard URLs first; manual route tables are fallback only (CLI, charts, unfetched pages).

Experiment analysis (revenuecat-experiment-analysis): Renames skill to revenuecat-experiment-analysis. Fixes exposure_status to exposed / not_exposed (omit for all enrolled). Paywall screenshots use version: "published"; skip when all variants are custom paywalls. Warns that catalog prices/trials may be stale—verify with get-product-store-state. Adds parallel calls within steps, Step 6 reporting with links, and "Paywall viewers" wording for exposed-customers metric.

Experiments setup (revenuecat-experiments): duplicate-offering should pass source_paywall_version: published when copying treatment paywalls; clarifies that paywall_id: null means paywall changes happen in the app, not RevenueCat.

Reviewed by Cursor Bugbot for commit 3d9e40b. Bugbot is set up for automated code reviews on this repo. Configure here.

- experiment-analysis: valid exposure_status values (exposed / not_exposed;
  omit for all enrolled), screenshot the published paywall, treat catalog
  trial/price fields as possibly stale, call "Exposed customers" "Paywall
  viewers", add the missing Step 6, fix the frontmatter name.
- experiments: duplicate treatments from the published paywall; finish the
  truncated custom-paywall sentence.
- audiences: inspect segments with read-only preview-audience (sorting,
  stats, is_approximate) instead of saving one with create-audience.
- dashboard-links / audiences: link the "Dashboard URL for this result" the
  MCP server returns; hand-built routes are the fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trinya
trinya merged commit ccfc038 into main Sep 25, 2026
2 checks passed
@trinya
trinya deleted the tanyaaulachynskaya/skill-correctness-fixes branch September 25, 2026 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants