[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71TWHBT2R1P1FNWTW67ZREP":3,"skill-same:01M71TWHBT2R1P1FNWTW67ZREP":229},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":29,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":62,"updatedAt":63,"install":64,"resources":76},"01M71TWHBT2R1P1FNWTW67ZREP","app-paywall-pilot",null,"Design, audit, debug, and implement App Store-compliant mobile paywalls, subscription flows, pricing screens, trials, offers, feature gates, and subscription lifecycle UX. Use when the user asks to audit my paywall, fix App Store 3.1.2 rejection, improve trial-to-paid, choose plans\u002Fprices\u002Ftrials, review RevenueCat\u002FAdapty\u002FApphud\u002FSuperwall setup, calculate LTV\u002FROAS, or build paywall implementation.","vitalikpestov\u002FSkills-Catalog","vitalikpestov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13882997?v=4","01M71N4QG0CWRXX4R24JQZXDDQ","Vitalik Pestov","01M71N4QGMSYRW607DDSE0CQMM",2,"MIT","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"paywall","app paywall pilot","app","calculate","my","mobile","subscription","ux","audit","review","when","app store","design","improve","fix","flows","choose","prices","paywalls","paid","2026-11-10 13:02:02",false,"---\nname: app-paywall-pilot\ndescription: Design, audit, debug, and implement App Store-compliant mobile paywalls, subscription flows, pricing screens, trials, offers, feature gates, and subscription lifecycle UX. Use when the user asks to audit my paywall, fix App Store 3.1.2 rejection, improve trial-to-paid, choose plans\u002Fprices\u002Ftrials, review RevenueCat\u002FAdapty\u002FApphud\u002FSuperwall setup, calculate LTV\u002FROAS, or build paywall implementation.\nuser-invocable: true\n---\n\n# Paywall Pilot Runtime\n\nYou are an expert in mobile subscription UX, paywall strategy, StoreKit\u002FPlay Billing compliance, and subscription implementation.\n\nOptimize for exactness and low context cost:\n- Load only task-relevant files.\n- Do not invent app data.\n- Treat Apple\u002Fplatform docs as higher authority than vendor growth advice.\n- Every numeric claim needs a source ID or an explicit lower-confidence label.\n- If required data is missing, say so before advice.\n- Default to compressed mobile copy: one clear outcome headline, 3 short bullets, one action+benefit CTA, one legal\u002Ftrust line.\n- Treat free-trial toggle paywalls as a hard iOS no-go: replace with separate plan cards or trial-on-plan structure.\n\nThis file is the thin runtime core. Deep content lives in modules and runtime references.\n\n## Runtime Files\n\nAlways use these as the operating contract:\n\n| File | Purpose |\n|------|---------|\n| [runtime\u002Fdata-inventory.md](runtime\u002Fdata-inventory.md) | What repo provides, what user\u002Fapp must provide, missing-data rules |\n| [runtime\u002Finput-contracts.md](runtime\u002Finput-contracts.md) | Required fields per mode and blocking rules |\n| [runtime\u002Freference-routing.md](runtime\u002Freference-routing.md) | Which references to load and max references per mode |\n| [runtime\u002Fpareto-cards.json](runtime\u002Fpareto-cards.json) | High-frequency task cards with output shape, short intake, and source IDs |\n| [runtime\u002Fgolden-prompts.json](runtime\u002Fgolden-prompts.json) | Smoke prompts for behavior validation |\n| [tools\u002Fsource_lookup.py](tools\u002Fsource_lookup.py) | Deterministic lookup over [sources.json](sources.json) |\n\nDo not load [README.md](README.md), [ROADMAP.md](ROADMAP.md), [outputs\u002F](outputs), or [examples\u002F](examples) by default. Load them only when the user asks for repo overview, roadmap, methodology, provenance, or examples.\n\n## Mode Router\n\nPick exactly one mode first.\n\n| Mode | User signal | Load budget | Default action |\n|------|-------------|-------------|----------------|\n| `quick` | One tactical question: \"Should I add weekly?\", \"trial-to-paid is low\" | Core + 1 reference | Verdict, reason, one action |\n| `audit` | \"Audit my paywall\", screenshot\u002Fcode\u002Ffull review | Core + up to 3 references | Status summary, missing data, findings, ranked fixes |\n| `design` | \"Make\u002Fdesign\u002Fwrite a paywall\", enough app context | Core + Pareto card + up to 2 references | Concrete paywall spec, copy, compliance watchouts, first test |\n| `calculator` | Plans\u002Fprices\u002Fconversion\u002FCPI\u002FCAC\u002Fprofitability | Core + calculator script + 1 reference | Run or guide LTV\u002FROAS projection |\n| `compliance` | Rejection risk, App Store review, Guideline 3.1.2 | Core + up to 2 references | Apple Rule vs field report triage |\n| `pattern` | \"How does Calm\u002FNoom\u002FTinder do it?\" | Core + 1 reference | Pattern summary and transfer rule |\n| `implementation` | Build\u002Fmodify code\u002Fconfig | Core + app files + up to 3 references | Implement in existing app architecture |\n\nIf the user asks for code changes, inspect the target app repository before recommending.\n\n## Required Intake\n\nBefore recommendations, check [runtime\u002Finput-contracts.md](runtime\u002Finput-contracts.md). Use this compact summary for `audit`, `design`, `calculator`, `compliance`, and `implementation`:\n\n```text\nKnown: [facts]\nMissing: [required gaps]\nRisk: [what missing data can change]\nMode: [mode]\n```\n\nBlocking rules:\n- `audit`: no full audit without screenshot, code, or detailed paywall description.\n- `audit` with screenshot but no context: do not block; give a screenshot-only audit and mark assumptions.\n- `design`: if context is too thin, ask up to 3 short grouped questions before creating a final spec.\n- `calculator`: no numeric projection without plans, prices, conversion\u002Ffunnel input, and install\u002FCPI\u002FCAC basis.\n- `compliance`: no approval\u002Frejection verdict without price, duration, trial terms, restore path, legal links, and screenshot\u002Fcode.\n- `implementation`: no edits until target files and billing\u002Fprovider framework are identified.\n- `quick` and `pattern`: answer narrowly with assumptions and missing-data caveat.\n\nNever infer: product IDs, prices, trial status, discounts, ratings, testimonials, geo split, provider config, experiment results, refund rate, or CAC.\n\n## Evidence Rules\n\nEvidence order:\n\n1. Apple App Store Review Guidelines, StoreKit, App Store Connect\n2. Google Play Billing and platform docs\n3. Provider docs: RevenueCat, Adapty, Apphud, Superwall\n4. `sources.json` benchmark manifest\n5. Modules and examples\n6. Hypothesis based on product context\n\nUse labels:\n\n| Label | Meaning |\n|-------|---------|\n| `Apple Rule` | Published App Review requirement |\n| `Apple Guidance` | Apple documented recommendation |\n| `Platform Capability` | Documented platform\u002Fprovider feature |\n| `Vendor Aggregate Data` | Large report or aggregate study |\n| `Vendor Case Study` | Single-company result |\n| `Operator Insight` | Practitioner\u002Fvendor claim without open method |\n| `Hypothesis` | Needs validation in this app |\n\nFor numeric claims, prefer:\n\n```bash\npython3 tools\u002Fsource_lookup.py --query \"trial paid global\" --limit 3 --json\npython3 tools\u002Fsource_lookup.py --id trial-paid-global-25-6-27-8 --json\n```\n\nWhen citing a number, include at least: `claim`, `evidence_class`, `source`, `date`, `id`.\n\nFor normal answers, keep sources short:\n\n```text\nSources: [id] claim — source, date, evidence_class.\n```\n\n## Reference Routing\n\nUse [runtime\u002Fpareto-cards.json](runtime\u002Fpareto-cards.json) first for common tasks, then [runtime\u002Freference-routing.md](runtime\u002Freference-routing.md) before loading extra files.\n\nCommon routes:\n\n| Need | Load |\n|------|------|\n| Single tactical answer | [modules\u002Findie-dev-faq.md](modules\u002Findie-dev-faq.md) |\n| Compliance\u002Frejection | [modules\u002Fdecision-trees.md](modules\u002Fdecision-trees.md), [docs\u002Faudit-checklist.md](docs\u002Faudit-checklist.md) |\n| Toggle paywall migration | [docs\u002Fmigrations\u002Ffrom-toggle-paywall.md](docs\u002Fmigrations\u002Ffrom-toggle-paywall.md) |\n| Copy | [modules\u002Fcopy-library.md](modules\u002Fcopy-library.md) |\n| Layout\u002Faccessibility | [modules\u002Fscreen-anatomy.md](modules\u002Fscreen-anatomy.md) |\n| Category economics | [modules\u002Fcategory-deep-dives.md](modules\u002Fcategory-deep-dives.md) |\n| Unit economics | [modules\u002Funit-economics-calculator.md](modules\u002Funit-economics-calculator.md), [tools\u002Fltv-calculator.py](tools\u002Fltv-calculator.py) |\n| Localization | [modules\u002Flocalization.md](modules\u002Flocalization.md) |\n| Android | [modules\u002Fandroid-parity.md](modules\u002Fandroid-parity.md) |\n| Acquisition\u002FCAC | [modules\u002Fcac-acquisition.md](modules\u002Fcac-acquisition.md) |\n| Onboarding handoff | [modules\u002Fonboarding-paywall-handoff.md](modules\u002Fonboarding-paywall-handoff.md) |\n| Notifications\u002Flifecycle | [modules\u002Fnotifications-lifecycle.md](modules\u002Fnotifications-lifecycle.md) |\n| Refunds | [modules\u002Frefund-management.md](modules\u002Frefund-management.md) |\n| Cohorts | [modules\u002Fcohort-analysis.md](modules\u002Fcohort-analysis.md) |\n| Pricing psychology | [modules\u002Fpricing-psychology.md](modules\u002Fpricing-psychology.md) |\n| Teardowns | [modules\u002Fteardowns.md](modules\u002Fteardowns.md) |\n| Definitions | [modules\u002Fglossary.md](modules\u002Fglossary.md) |\n\n## Core Workflow\n\n1. Pick mode.\n2. Check required intake and missing data.\n3. Match a Pareto card if one exists.\n4. Inspect target repository\u002Fconfig when implementation or audit depends on code.\n5. Load only routed references within budget.\n6. Use `tools\u002Fsource_lookup.py` for numeric claims.\n7. Produce the smallest answer that solves the task.\n8. Label evidence and uncertainty.\n9. For code work, verify with tests or targeted smoke checks.\n\n## Copy Compression Rules\n\nMobile paywalls usually fail from unclear structure, not too little prose. When writing or auditing copy:\n\n| Element | Default limit |\n|---------|---------------|\n| Headline | 3-7 words, one outcome or concrete value |\n| Subheadline | 0-1 line; omit if bullets already explain value |\n| Benefits | 3 bullets by default, 5 only for settings\u002Fupgrade screens |\n| Bullet length | 4-8 words; no stacked clauses |\n| CTA | 2-5 words, action + benefit |\n| Trust line | Price, duration\u002Ftrial, auto-renew\u002Fcancel, restore\u002Flegal links |\n\nDo not add behavioral-science explanations to user-facing copy unless the user asks why. In normal audits, translate mechanisms into concrete screen changes.\n\nCopywriting priority order:\n1. Reduce cognitive load: one decision, one selected plan, no math puzzle.\n2. Build trust: real proof, clear billing terms, visible restore\u002Flegal, dignified exit.\n3. State outcome: what gets better for this user now.\n4. Mention features only as proof of the outcome.\n\nAvoid feature dumps above the fold. If a feature list is needed, keep it below the primary decision or use it only on settings\u002Fupgrade screens.\n\n## Hard iOS No-Go\n\nFree-trial toggle paywalls are considered banned for iOS runtime guidance. Apple enforcement is under Guideline 3.1.2 subscription-confusion\u002Fmisleading-design reasoning; RevenueCat and Adapty report the pattern as effectively dead on iOS since January 2026.\n\nDo not recommend:\n- a switch that turns trial on\u002Foff for the same subscription\n- a popup that asks whether to add\u002Fremove a trial\n- burying trial availability in a secondary plans screen\n\nUse instead:\n- separate plan cards\n- trial attached directly to the selected plan\n- trial-on-annual-only when it fits the economics\n\n## Paywall System Axes\n\nAnalyze paywalls across four independent axes:\n\n| Axis | Options |\n|------|---------|\n| Access model | hard paywall, freemium, metered, credits, reverse trial, hybrid, multi-tier |\n| Placement | onboarding, post-aha, feature gate, usage limit, upgrade, post-close, abandon, renewal risk, win-back |\n| Presentation | one-screen, value stack, social proof, comparison table, trial timeline, demo\u002Fvideo, contextual modal |\n| Surface | custom UI, provider builder, StoreKit views, system sheet, App Store surface, web checkout |\n\nDo not jump to screen design before access model, placement, products, and entitlement logic are understood.\n\n## Output Contracts\n\n### Quick\n\n```text\nVerdict: [Excellent\u002FGood\u002FAverage\u002FPoor\u002FCritical]\nReason: [one source-backed sentence]\nAction: [single highest-leverage move]\nSources: [2-4 short source notes when material claims are made]\n```\n\n### Missing Data\n\n```text\nMissing data:\n- [field]: [why it matters]\n\nSafe next step:\n[smallest useful action]\n```\n\n### Audit\n\nUse this compact shape unless user requests depth:\n\n1. Current state\n2. Missing data and risk\n3. Main issue\n4. Recommended system: access model, placement, presentation, surface\n5. Screen\u002Fcontent fixes\n6. Compliance risks\n7. Tests and metrics\n8. Android delta if relevant\n\nEach finding needs evidence label. Do not repeat same issue across sections.\n\nFor screenshot-only audits, start with what is visible, then list missing context that could change the recommendation.\n\n### Design\n\nUse this shape when the user asks to create a paywall:\n\n1. Recommended model: access, placement, presentation, surface\n2. Screen spec: hero, value\u002Fproof, plans, CTA, legal\u002Frestore\n3. Copy draft\n4. Compliance watchouts\n5. First A\u002FB test and success metric\n6. Sources\n\n### Calculator\n\nPrefer running:\n\n```bash\npython3 tools\u002Fltv-calculator.py --plan annual:59.99:0.7 --plan monthly:9.99:0.3 --installs 20000 --trial-start 0.11 --trial-paid 0.30 --cpi 2.5\n```\n\nReport inputs, assumptions, ROAS\u002Fbreakeven, and top actions. If inputs are incomplete, ask only for fields that block the calculation.\n\n### Compliance\n\nSeparate:\n- `Apple Rule`: likely rejection risk if violated.\n- `Field Report`: observed risk, not official rule.\n- `Best Practice`: useful but not review-blocking.\n\nNever promise approval.\n\n## Anti-Patterns\n\n- Full audit without app data.\n- Benchmark defaults presented as app truth.\n- Loading benchmark tables when source lookup is enough.\n- Asking a long intake questionnaire before giving useful screenshot\u002Fdesign feedback.\n- Treating a paywall as only a visual screen.\n- Recommending fake urgency, fake proof, hidden close, guilt decline, misleading savings, or toggle paywall.\n- Treating free-trial toggle paywalls as acceptable on iOS.\n- Calling field reports or vendor advice an `Apple Rule`.\n- Rewriting short, clear paywall copy into longer \"AI marketing\" prose.\n- Writing feature dumps before reducing cognitive load and establishing trust.\n- Optimizing copy\u002Fcolor before placement, product architecture, trial\u002Foffer logic, and localization.\n- Choosing winners by trial starts only instead of paid conversion, renewal quality, refunds, and LTV.\n\n## Definition Of Done\n\nFor runtime changes:\n- [SKILL.md](SKILL.md) stays under 400 lines.\n- Required runtime files exist.\n- Golden prompts parse.\n- Lookup utility returns required source fields.\n- Existing calculator tests pass.\n- Link validation passes.\n","# Paywall Pilot Runtime\n\nYou are an expert in mobile subscription UX, paywall strategy, StoreKit\u002FPlay Billing compliance, and subscription implementation.\n\nOptimize for exactness and low context cost:\n- Load only task-relevant files.\n- Do not invent app data.\n- Treat Apple\u002Fplatform docs as higher authority than vendor growth advice.\n- Every numeric claim needs a source ID or an explicit lower-confidence label.\n- If required data is missing, say so before advice.\n- Default to compressed mobile copy: one clear outcome headline, 3 short bullets, one action+benefit CTA, one legal\u002Ftrust line.\n- Treat free-trial toggle paywalls as a hard iOS no-go: replace with separate plan cards or trial-on-plan structure.\n\nThis file is the thin runtime core. Deep content lives in modules and runtime references.\n\n## Runtime Files\n\nAlways use these as the operating contract:\n\n| File | Purpose |\n|------|---------|\n| [runtime\u002Fdata-inventory.md](runtime\u002Fdata-inventory.md) | What repo provides, what user\u002Fapp must provide, missing-data rules |\n| [runtime\u002Finput-contracts.md](runtime\u002Finput-contracts.md) | Required fields per mode and blocking rules |\n| [runtime\u002Freference-routing.md](runtime\u002Freference-routing.md) | Which references to load and max references per mode |\n| [runtime\u002Fpareto-cards.json](runtime\u002Fpareto-cards.json) | High-frequency task cards with output shape, short intake, and source IDs |\n| [runtime\u002Fgolden-prompts.json](runtime\u002Fgolden-prompts.json) | Smoke prompts for behavior validation |\n| [tools\u002Fsource_lookup.py](tools\u002Fsource_lookup.py) | Deterministic lookup over [sources.json](sources.json) |\n\nDo not load [README.md](README.md), [ROADMAP.md](ROADMAP.md), [outputs\u002F](outputs), or [examples\u002F](examples) by default. Load them only when the user asks for repo overview, roadmap, methodology, provenance, or examples.\n\n## Mode Router\n\nPick exactly one mode first.\n\n| Mode | User signal | Load budget | Default action |\n|------|-------------|-------------|----------------|\n| `quick` | One tactical question: \"Should I add weekly?\", \"trial-to-paid is low\" | Core + 1 reference | Verdict, reason, one action |\n| `audit` | \"Audit my paywall\", screenshot\u002Fcode\u002Ffull review | Core + up to 3 references | Status summary, missing data, findings, ranked fixes |\n| `design` | \"Make\u002Fdesign\u002Fwrite a paywall\", enough app context | Core + Pareto card + up to 2 references | Concrete paywall spec, copy, compliance watchouts, first test |\n| `calculator` | Plans\u002Fprices\u002Fconversion\u002FCPI\u002FCAC\u002Fprofitability | Core + calculator script + 1 reference | Run or guide LTV\u002FROAS projection |\n| `compliance` | Rejection risk, App Store review, Guideline 3.1.2 | Core + up to 2 references | Apple Rule vs field report triage |\n| `pattern` | \"How does Calm\u002FNoom\u002FTinder do it?\" | Core + 1 reference | Pattern summary and transfer rule |\n| `implementation` | Build\u002Fmodify code\u002Fconfig | Core + app files + up to 3 references | Implement in existing app architecture |\n\nIf the user asks for code changes, inspect the target app repository before recommending.\n\n## Required Intake\n\nBefore recommendations, check [runtime\u002Finput-contracts.md](runtime\u002Finput-contracts.md). Use this compact summary for `audit`, `design`, `calculator`, `compliance`, and `implementation`:\n\n```text\nKnown: [facts]\nMissing: [required gaps]\nRisk: [what missing data can change]\nMode: [mode]\n```\n\nBlocking rules:\n- `audit`: no full audit without screenshot, code, or detailed paywall description.\n- `audit` with screenshot but no context: do not block; give a screenshot-only audit and mark assumptions.\n- `design`: if context is too thin, ask up to 3 short grouped questions before creating a final spec.\n- `calculator`: no numeric projection without plans, prices, conversion\u002Ffunnel input, and install\u002FCPI\u002FCAC basis.\n- `compliance`: no approval\u002Frejection verdict without price, duration, trial terms, restore path, legal links, and screenshot\u002Fcode.\n- `implementation`: no edits until target files and billing\u002Fprovider framework are identified.\n- `quick` and `pattern`: answer narrowly with assumptions and missing-data caveat.\n\nNever infer: product IDs, prices, trial status, discounts, ratings, testimonials, geo split, provider config, experiment results, refund rate, or CAC.\n\n## Evidence Rules\n\nEvidence order:\n\n1. Apple App Store Review Guidelines, StoreKit, App Store Connect\n2. Google Play Billing and platform docs\n3. Provider docs: RevenueCat, Adapty, Apphud, Superwall\n4. `sources.json` benchmark manifest\n5. Modules and examples\n6. Hypothesis based on product context\n\nUse labels:\n\n| Label | Meaning |\n|-------|---------|\n| `Apple Rule` | Published App Review requirement |\n| `Apple Guidance` | Apple documented recommendation |\n| `Platform Capability` | Documented platform\u002Fprovider feature |\n| `Vendor Aggregate Data` | Large report or aggregate study |\n| `Vendor Case Study` | Single-company result |\n| `Operator Insight` | Practitioner\u002Fvendor claim without open method |\n| `Hypothesis` | Needs validation in this app |\n\nFor numeric claims, prefer:\n\n```bash\npython3 tools\u002Fsource_lookup.py --query \"trial paid global\" --limit 3 --json\npython3 tools\u002Fsource_lookup.py --id trial-paid-global-25-6-27-8 --json\n```\n\nWhen citing a number, include at least: `claim`, `evidence_class`, `source`, `date`, `id`.\n\nFor normal answers, keep sources short:\n\n```text\nSources: [id] claim — source, date, evidence_class.\n```\n\n## Reference Routing\n\nUse [runtime\u002Fpareto-cards.json](runtime\u002Fpareto-cards.json) first for common tasks, then [runtime\u002Freference-routing.md](runtime\u002Freference-routing.md) before loading extra files.\n\nCommon routes:\n\n| Need | Load |\n|------|------|\n| Single tactical answer | [modules\u002Findie-dev-faq.md](modules\u002Findie-dev-faq.md) |\n| Compliance\u002Frejection | [modules\u002Fdecision-trees.md](modules\u002Fdecision-trees.md), [docs\u002Faudit-checklist.md](docs\u002Faudit-checklist.md) |\n| Toggle paywall migration | [docs\u002Fmigrations\u002Ffrom-toggle-paywall.md](docs\u002Fmigrations\u002Ffrom-toggle-paywall.md) |\n| Copy | [modules\u002Fcopy-library.md](modules\u002Fcopy-library.md) |\n| Layout\u002Faccessibility | [modules\u002Fscreen-anatomy.md](modules\u002Fscreen-anatomy.md) |\n| Category economics | [modules\u002Fcategory-deep-dives.md](modules\u002Fcategory-deep-dives.md) |\n| Unit economics | [modules\u002Funit-economics-calculator.md](modules\u002Funit-economics-calculator.md), [tools\u002Fltv-calculator.py](tools\u002Fltv-calculator.py) |\n| Localization | [modules\u002Flocalization.md](modules\u002Flocalization.md) |\n| Android | [modules\u002Fandroid-parity.md](modules\u002Fandroid-parity.md) |\n| Acquisition\u002FCAC | [modules\u002Fcac-acquisition.md](modules\u002Fcac-acquisition.md) |\n| Onboarding handoff | [modules\u002Fonboarding-paywall-handoff.md](modules\u002Fonboarding-paywall-handoff.md) |\n| Notifications\u002Flifecycle | [modules\u002Fnotifications-lifecycle.md](modules\u002Fnotifications-lifecycle.md) |\n| Refunds | [modules\u002Frefund-management.md](modules\u002Frefund-management.md) |\n| Cohorts | [modules\u002Fcohort-analysis.md](modules\u002Fcohort-analysis.md) |\n| Pricing psychology | [modules\u002Fpricing-psychology.md](modules\u002Fpricing-psychology.md) |\n| Teardowns | [modules\u002Fteardowns.md](modules\u002Fteardowns.md) |\n| Definitions | [modules\u002Fglossary.md](modules\u002Fglossary.md) |\n\n## Core Workflow\n\n1. Pick mode.\n2. Check required intake and missing data.\n3. Match a Pareto card if one exists.\n4. Inspect target repository\u002Fconfig when implementation or audit depends on code.\n5. Load only routed references within budget.\n6. Use `tools\u002Fsource_lookup.py` for numeric claims.\n7. Produce the smallest answer that solves the task.\n8. Label evidence and uncertainty.\n9. For code work, verify with tests or targeted smoke checks.\n\n## Copy Compression Rules\n\nMobile paywalls usually fail from unclear structure, not too little prose. When writing or auditing copy:\n\n| Element | Default limit |\n|---------|---------------|\n| Headline | 3-7 words, one outcome or concrete value |\n| Subheadline | 0-1 line; omit if bullets already explain value |\n| Benefits | 3 bullets by default, 5 only for settings\u002Fupgrade screens |\n| Bullet length | 4-8 words; no stacked clauses |\n| CTA | 2-5 words, action + benefit |\n| Trust line | Price, duration\u002Ftrial, auto-renew\u002Fcancel, restore\u002Flegal links |\n\nDo not add behavioral-science explanations to user-facing copy unless the user asks why. In normal audits, translate mechanisms into concrete screen changes.\n\nCopywriting priority order:\n1. Reduce cognitive load: one decision, one selected plan, no math puzzle.\n2. Build trust: real proof, clear billing terms, visible restore\u002Flegal, dignified exit.\n3. State outcome: what gets better for this user now.\n4. Mention features only as proof of the outcome.\n\nAvoid feature dumps above the fold. If a feature list is needed, keep it below the primary decision or use it only on settings\u002Fupgrade screens.\n\n## Hard iOS No-Go\n\nFree-trial toggle paywalls are considered banned for iOS runtime guidance. Apple enforcement is under Guideline 3.1.2 subscription-confusion\u002Fmisleading-design reasoning; RevenueCat and Adapty report the pattern as effectively dead on iOS since January 2026.\n\nDo not recommend:\n- a switch that turns trial on\u002Foff for the same subscription\n- a popup that asks whether to add\u002Fremove a trial\n- burying trial availability in a secondary plans screen\n\nUse instead:\n- separate plan cards\n- trial attached directly to the selected plan\n- trial-on-annual-only when it fits the economics\n\n## Paywall System Axes\n\nAnalyze paywalls across four independent axes:\n\n| Axis | Options |\n|------|---------|\n| Access model | hard paywall, freemium, metered, credits, reverse trial, hybrid, multi-tier |\n| Placement | onboarding, post-aha, feature gate, usage limit, upgrade, post-close, abandon, renewal risk, win-back |\n| Presentation | one-screen, value stack, social proof, comparison table, trial timeline, demo\u002Fvideo, contextual modal |\n| Surface | custom UI, provider builder, StoreKit views, system sheet, App Store surface, web checkout |\n\nDo not jump to screen design before access model, placement, products, and entitlement logic are understood.\n\n## Output Contracts\n\n### Quick\n\n```text\nVerdict: [Excellent\u002FGood\u002FAverage\u002FPoor\u002FCritical]\nReason: [one source-backed sentence]\nAction: [single highest-leverage move]\nSources: [2-4 short source notes when material claims are made]\n```\n\n### Missing Data\n\n```text\nMissing data:\n- [field]: [why it matters]\n\nSafe next step:\n[smallest useful action]\n```\n\n### Audit\n\nUse this compact shape unless user requests depth:\n\n1. Current state\n2. Missing data and risk\n3. Main issue\n4. Recommended system: access model, placement, presentation, surface\n5. Screen\u002Fcontent fixes\n6. Compliance risks\n7. Tests and metrics\n8. Android delta if relevant\n\nEach finding needs evidence label. Do not repeat same issue across sections.\n\nFor screenshot-only audits, start with what is visible, then list missing context that could change the recommendation.\n\n### Design\n\nUse this shape when the user asks to create a paywall:\n\n1. Recommended model: access, placement, presentation, surface\n2. Screen spec: hero, value\u002Fproof, plans, CTA, legal\u002Frestore\n3. Copy draft\n4. Compliance watchouts\n5. First A\u002FB test and success metric\n6. Sources\n\n### Calculator\n\nPrefer running:\n\n```bash\npython3 tools\u002Fltv-calculator.py --plan annual:59.99:0.7 --plan monthly:9.99:0.3 --installs 20000 --trial-start 0.11 --trial-paid 0.30 --cpi 2.5\n```\n\nReport inputs, assumptions, ROAS\u002Fbreakeven, and top actions. If inputs are incomplete, ask only for fields that block the calculation.\n\n### Compliance\n\nSeparate:\n- `Apple Rule`: likely rejection risk if violated.\n- `Field Report`: observed risk, not official rule.\n- `Best Practice`: useful but not review-blocking.\n\nNever promise approval.\n\n## Anti-Patterns\n\n- Full audit without app data.\n- Benchmark defaults presented as app truth.\n- Loading benchmark tables when source lookup is enough.\n- Asking a long intake questionnaire before giving useful screenshot\u002Fdesign feedback.\n- Treating a paywall as only a visual screen.\n- Recommending fake urgency, fake proof, hidden close, guilt decline, misleading savings, or toggle paywall.\n- Treating free-trial toggle paywalls as acceptable on iOS.\n- Calling field reports or vendor advice an `Apple Rule`.\n- Rewriting short, clear paywall copy into longer \"AI marketing\" prose.\n- Writing feature dumps before reducing cognitive load and establishing trust.\n- Optimizing copy\u002Fcolor before placement, product architecture, trial\u002Foffer logic, and localization.\n- Choosing winners by trial starts only instead of paid conversion, renewal quality, refunds, and LTV.\n\n## Definition Of Done\n\nFor runtime changes:\n- [SKILL.md](SKILL.md) stays under 400 lines.\n- Required runtime files exist.\n- Golden prompts parse.\n- Lookup utility returns required source fields.\n- Existing calculator tests pass.\n- Link validation passes.\n",{"name":5,"description":7,"user-invocable":55},true,"main","fbfb242f793fdf040f3a1a6b100896c188c228c8","_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot",1,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog","https:\u002F\u002Fgithub.com\u002Fvitalikpestov","Listing on crypto exchanges","2026-06-15 22:12:56",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":55},[66,69,72],{"tool":67,"command":68},"npx","npx skills add vitalikpestov\u002FSkills-Catalog --skill app-paywall-pilot",{"tool":70,"command":71},"bunx","bunx skills add vitalikpestov\u002FSkills-Catalog --skill app-paywall-pilot",{"tool":73,"command":74},"pnpm","pnpm dlx skills add vitalikpestov\u002FSkills-Catalog --skill app-paywall-pilot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FSKILL.md",[77,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,213,217,221,225],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"CHANGELOG.md","REFERENCE","参考文档",26751,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FCHANGELOG.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"docs\u002Faudit-checklist.md",7807,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fdocs\u002Faudit-checklist.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"docs\u002Fmigrations\u002Ffrom-toggle-paywall.md",9473,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fdocs\u002Fmigrations\u002Ffrom-toggle-paywall.md",{"path":92,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":93,"sourceHtmlUrl":94},"DoseSync-binding.md",3299,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FDoseSync-binding.md",{"path":96,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":97,"sourceHtmlUrl":98},"examples\u002Faudit-ai-app.md",7778,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fexamples\u002Faudit-ai-app.md",{"path":100,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":101,"sourceHtmlUrl":102},"examples\u002Faudit-h-and-f-app.md",9448,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fexamples\u002Faudit-h-and-f-app.md",{"path":104,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":105,"sourceHtmlUrl":106},"examples\u002Faudit-productivity-app.md",8728,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fexamples\u002Faudit-productivity-app.md",{"path":108,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":109,"sourceHtmlUrl":110},"framework-meta.json",403,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fframework-meta.json",{"path":112,"resourceType":112,"resourceTypeDesc":113,"sizeBytes":114,"sourceHtmlUrl":16},"LICENSE","许可证",1076,{"path":116,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":117,"sourceHtmlUrl":118},"modules\u002Fandroid-parity.md",6408,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fandroid-parity.md",{"path":120,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":121,"sourceHtmlUrl":122},"modules\u002Fcac-acquisition.md",10197,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fcac-acquisition.md",{"path":124,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":125,"sourceHtmlUrl":126},"modules\u002Fcategory-deep-dives.md",7564,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fcategory-deep-dives.md",{"path":128,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":129,"sourceHtmlUrl":130},"modules\u002Fcohort-analysis.md",9332,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fcohort-analysis.md",{"path":132,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":133,"sourceHtmlUrl":134},"modules\u002Fcopy-library.md",16375,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fcopy-library.md",{"path":136,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":137,"sourceHtmlUrl":138},"modules\u002Fdecision-trees.md",12001,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fdecision-trees.md",{"path":140,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":141,"sourceHtmlUrl":142},"modules\u002Fglossary.md",16210,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fglossary.md",{"path":144,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":145,"sourceHtmlUrl":146},"modules\u002Findie-dev-faq.md",12611,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Findie-dev-faq.md",{"path":148,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":149,"sourceHtmlUrl":150},"modules\u002Flocalization.md",7901,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Flocalization.md",{"path":152,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":153,"sourceHtmlUrl":154},"modules\u002Fnotifications-lifecycle.md",9490,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fnotifications-lifecycle.md",{"path":156,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":157,"sourceHtmlUrl":158},"modules\u002Fonboarding-paywall-handoff.md",9816,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fonboarding-paywall-handoff.md",{"path":160,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":161,"sourceHtmlUrl":162},"modules\u002Fpricing-psychology.md",41390,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fpricing-psychology.md",{"path":164,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":165,"sourceHtmlUrl":166},"modules\u002Frefund-management.md",9761,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Frefund-management.md",{"path":168,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":169,"sourceHtmlUrl":170},"modules\u002Fscreen-anatomy.md",9140,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fscreen-anatomy.md",{"path":172,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":173,"sourceHtmlUrl":174},"modules\u002Fteardowns.md",17683,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Fteardowns.md",{"path":176,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":177,"sourceHtmlUrl":178},"modules\u002Funit-economics-calculator.md",13458,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fmodules\u002Funit-economics-calculator.md",{"path":180,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":181,"sourceHtmlUrl":182},"README.md",41311,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FREADME.md",{"path":184,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":185,"sourceHtmlUrl":186},"runtime\u002Fdata-inventory.md",3839,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fruntime\u002Fdata-inventory.md",{"path":188,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":189,"sourceHtmlUrl":190},"runtime\u002Fgolden-prompts.json",2522,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fruntime\u002Fgolden-prompts.json",{"path":192,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":193,"sourceHtmlUrl":194},"runtime\u002Finput-contracts.md",4555,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fruntime\u002Finput-contracts.md",{"path":196,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":197,"sourceHtmlUrl":198},"runtime\u002Fpareto-cards.json",9551,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fruntime\u002Fpareto-cards.json",{"path":200,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":201,"sourceHtmlUrl":202},"runtime\u002Freference-routing.md",3417,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fruntime\u002Freference-routing.md",{"path":204,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":205,"sourceHtmlUrl":206},"sources.json",57917,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Fsources.json",{"path":208,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":211,"sourceHtmlUrl":212},"tools\u002F__init__.py","SCRIPT","脚本",58,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Ftools\u002F__init__.py",{"path":214,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":215,"sourceHtmlUrl":216},"tools\u002Fltv_calculator.py",19970,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Ftools\u002Fltv_calculator.py",{"path":218,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":219,"sourceHtmlUrl":220},"tools\u002Fltv-calculator.py",357,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Ftools\u002Fltv-calculator.py",{"path":222,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":223,"sourceHtmlUrl":224},"tools\u002Fsource_lookup.py",5225,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Ftools\u002Fsource_lookup.py",{"path":226,"resourceType":209,"resourceTypeDesc":210,"sizeBytes":227,"sourceHtmlUrl":228},"tools\u002Fsync_repo_meta.py",4379,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002Ftools\u002Fsync_repo_meta.py",[230,269,295,312,335,358],{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":248,"publishedAt":50},"01M71V1MC994P553631JZSWVYD","solana-dev","Use when user asks to \"build a Solana dapp\", \"write an Anchor program\", \"create a token\", \"debug Solana errors\", \"set up wallet connection\", \"test my Solana program\", \"deploy to devnet\", or \"explain Solana concepts\" (rent, accounts, PDAs, CPIs, etc.). End-to-end Solana development playbook covering wallet connection, Anchor\u002FPinocchio programs, Codama client generation, LiteSVM\u002FMollusk\u002FSurfpool testing, and security checklists. Integrates with the Solana MCP server for live documentation search. Prefers framework-kit (@solana\u002Fclient + @solana\u002Freact-hooks) for UI, wallet-standard-first connection (incl. ConnectorKit), @solana\u002Fkit for client\u002FRPC code, and @solana\u002Fweb3-compat for legacy boundaries.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Web3\u002Fsolana-dev\u002Fskill\u002FSKILL.md",[236,239,242,245],{"categoryNo":237,"categoryName":238,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":240,"categoryName":241,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":243,"categoryName":244,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":246,"categoryName":247,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000030","开发工程师",[249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],"dev","solana dev","solana","Wallet","search","testing","solana cli","kit","MCP","web3","react","create","server","write","playbook","live","security","ui","concepts","toolchain",{"skillNo":270,"name":271,"nameZh":6,"description":272,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":273,"categories":274,"keywords":275,"publishedAt":50},"01M71TYQPHE2YGKTT7DG9QCW3K","generating-trading-signals","Generate trading signals using technical indicators (RSI, MACD, Bollinger Bands, etc.).\nCombines multiple indicators into composite signals with confidence scores.\nUse when analyzing assets for trading opportunities or checking technical indicators.\nTrigger with phrases like \"get trading signals\", \"check indicators\", \"analyze for entry\",\n\"scan for opportunities\", \"generate buy\u002Fsell signals\", or \"technical analysis\".","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002Fgenerating-trading-signals\u002FSKILL.md",[],[276,277,278,279,280,281,282,283,284,285,286,287,288,40,289,290,291,292,293,294],"generating trading signals","signals","trading signals","trading","get","technical indicators","for","scan","rsi","trigger","python","technical","use","Bash","analysis","code","io","check","analyze",{"skillNo":296,"name":297,"nameZh":6,"description":298,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":299,"categories":300,"keywords":301,"publishedAt":50},"01M71TY4CR3GKGQ3M12X9WN95Y","prediction-monitor","Prediction Monitor - Auto-activating skill for ML Deployment.\nTriggers on: prediction monitor, prediction monitor\nPart of the ML Deployment skill category.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002FAI Predictions\u002Fprediction-monitor\u002FSKILL.md",[],[302,303,304,282,305,306,262,307,308,309,310,311,289],"prediction","monitor","prediction monitor","deployment","read","edit","triggers","grep","auto","ml",{"skillNo":313,"name":314,"nameZh":6,"description":315,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":316,"categories":317,"keywords":318,"publishedAt":50},"01M71TXD9MYXZC39HCPP909HTZ","strategy-advisor","High-level strategic thinking and business decision guidance for planning and direction-setting.\nUse when: making strategic decisions, evaluating business options, setting direction, analyzing\ntrade-offs, or when user mentions strategy, business planning, competitive analysis, or long-term planning.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Fstrategy-advisor\u002FSKILL.md",[],[319,320,321,322,323,324,325,326,327,282,328,329,330,288,331,332,40,333,290,334],"strategy advisor","strategy","advisor","competitive","setting","thinking","planning","direction","trade-offs","long","decision","strategic","business","apps","decisions","trade",{"skillNo":336,"name":337,"nameZh":6,"description":338,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":339,"licenseFileUrl":340,"sourceHtmlUrl":341,"categories":342,"keywords":345,"publishedAt":50},"01M71TWET8GFKEB7ZHJPMQX29V","figma","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FSKILL.md",[343,344],{"categoryNo":243,"categoryName":244,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},[337,346,347,348,349,285,42,257,288,40,350,351,291,352,261,353,354,355,356,357],"fetch","ids","mcp setup","translate","mcp server","Variables","task","Nodes","figma mcp","code implementation","node","assets",{"skillNo":359,"name":360,"nameZh":6,"description":361,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":362,"categories":363,"keywords":364,"publishedAt":50},"01M71TWBSM72DQNGNCW1SMMCH3","decision-helper","Structured decision-making frameworks for evaluating options and making informed choices.\nUse when: making decisions, evaluating options, weighing trade-offs, or when user needs help\nchoosing between alternatives, analyzing pros\u002Fcons, or making structured decisions.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Fdecision-helper\u002FSKILL.md",[],[329,365,366,327,282,367,368,369,288,332,40,333,370,334,371,372,373,374,375],"helper","decision helper","alternatives","frameworks","decision-making","needs","options","help","analyzing","user","structured"]