From thumbgate
Verifies pricing pages are live, contain correct analytics (plausible/posthog/gtag), and Stripe checkout links resolve for ThumbGate and ApplyOps. Run after deploys or when asked about revenue.
How this skill is triggered — by the user, by Claude, or both
Slash command
/thumbgate:verify-pricing-surfacesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Repeatable skill for verifying all revenue-generating pages are live, have analytics,
Repeatable skill for verifying all revenue-generating pages are live, have analytics, and have working Stripe links. Covers both ThumbGate and ApplyOps.
# Homepage — all 3 analytics
curl -sL https://thumbgate.ai/ | grep -oE 'plausible|posthog|gtag' | sort -u
# Expected: gtag, plausible, posthog
# Pricing page — all 3 analytics + correct prices
curl -sL https://thumbgate.ai/pricing | grep -oE '\$[0-9]+' | sort -u
# Expected: $0, $19, $149 (Free / Pro monthly / Pro annual; Enterprise is "Custom")
# Checkout interstitial — plausible + first-party telemetry ONLY (by design)
curl -sL https://thumbgate.ai/checkout/pro | grep -oE 'plausible|posthog|gtag' | sort -u
# Expected: plausible
# NOTE: the /checkout/pro confirmation interstitial is a deliberately-minimal, sampled,
# bot-protected page (renderCheckoutIntentPage in src/api/server.js). It is instrumented
# with plausible custom events + first-party server telemetry (checkout_interstitial_view /
# _cta_clicked), NOT gtag/posthog page-view scripts. Do NOT "fix" it by adding gtag/posthog —
# that adds latency to the fast checkout path. gtag+posthog belong on /pricing and homepage only.
# Checkout actually redirects to live Stripe (this is the real health signal):
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' "https://thumbgate.ai/checkout/pro?confirm=1&[email protected]"
# Expected: 302 https://checkout.stripe.com/c/pay/cs_live_...
# Health check
curl -sf https://thumbgate.ai/health | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'v{d[\"version\"]} up={d[\"uptime\"]:.0f}s ok={d[\"status\"]}')"
# Landing page — all 3 analytics
curl -sL https://igorganapolsky.github.io/applyops/ | grep -oE 'plausible|posthog|gtag' | sort -u
# Expected: gtag, plausible, posthog
# Correct prices shown
curl -sL https://igorganapolsky.github.io/applyops/ | grep -oE '\$[0-9,]+' | sort -u
# Expected: $1,500 $149 $49
# Subpages live
curl -sf -o /dev/null -w '%{http_code}' https://igorganapolsky.github.io/applyops/intake.html
curl -sf -o /dev/null -w '%{http_code}' https://igorganapolsky.github.io/applyops/sample-truth-snapshot.html
# Expected: 200, 200
# ThumbGate Pro checkout redirects to Stripe
curl -sL https://thumbgate.ai/checkout/pro?confirm=1&[email protected] -o /dev/null -w '%{http_code} %{redirect_url}'
# Expected: 303 to checkout.stripe.com
# ApplyOps Stripe links resolve
for link in 3cIaEX1M80aO9G1fSH3sI2N 3cI3cvgH26zccSd7mb3sI2O 9B600j4YkcXAcSdayn3sI2P; do
code=$(curl -sL -o /dev/null -w '%{http_code}' "https://buy.stripe.com/$link")
echo "$link → $code"
done
# Expected: all 200
source /Users/igorganapolsky/workspace/git/igor/ThumbGate/repo/.env
# ThumbGate visitors
curl -s -H "Authorization: Bearer $PLAUSIBLE_API_KEY" \
'https://plausible.io/api/v1/stats/aggregate?site_id=thumbgate-production.up.railway.app&period=7d&metrics=visitors,pageviews'
# ApplyOps / GitHub Pages visitors
curl -s -H "Authorization: Bearer $PLAUSIBLE_API_KEY" \
'https://plausible.io/api/v1/stats/aggregate?site_id=igorganapolsky.github.io&period=7d&metrics=visitors,pageviews'
# ThumbGate checkout funnel events (30d)
for event in "pricing_cta_click" "Checkout Pro Viewed" "Checkout Pro Email Submitted" "Checkout Pro Stripe Redirect Started" "Checkout Pro Purchase Completed"; do
count=$(curl -s -H "Authorization: Bearer $PLAUSIBLE_API_KEY" \
"https://plausible.io/api/v1/stats/aggregate?site_id=thumbgate-production.up.railway.app&period=custom&date=2026-04-26,2026-05-26&metrics=events&filters=event:name==$event" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['results']['events']['value'])" 2>/dev/null || echo "0")
echo "$event → $count"
done
# ApplyOps CTA clicks
curl -s -H "Authorization: Bearer $PLAUSIBLE_API_KEY" \
'https://plausible.io/api/v1/stats/aggregate?site_id=igorganapolsky.github.io&period=30d&metrics=events&filters=event:name==applyops_cta_click'
Print a table:
| Surface | Live? | Analytics? | Stripe? | Visitors (7d) |
|---|---|---|---|---|
| thumbgate.ai | ✅/❌ | 3/3 or N/3 | ✅/❌ | N |
| thumbgate.ai/pricing | ✅/❌ | 3/3 | — | — |
| thumbgate.ai/checkout/pro | ✅/❌ | 3/3 | ✅/❌ | — |
| igorganapolsky.github.io/applyops | ✅/❌ | 3/3 | ✅/❌ | N |
hostedConfig.posthogApiKey and hostedConfig.gaMeasurementId in Railway env vars. Use skills/configure-analytics/SKILL.md..github.io repo. Use skills/applyops-deploy/SKILL.md.PLAUSIBLE_API_KEY and site registration at plausible.io.npx claudepluginhub igorganapolsky/thumbgateTests deployed Power Pages sites at runtime: navigates browser, crawls up to 25 links, verifies page loads and /_api/ requests, captures network/screenshots via Playwright.
Audits deployed websites and web apps post-launch, cycling through Fix-Audit-Test phases to identify and resolve issues.
Validates SaaS launch readiness across 10 critical areas with a repeatable PASS/FAIL checklist and actionable next steps.