Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates smart App Store review prompt infrastructure with configurable conditions and platform detection. Use when user wants to add review prompts, request ratings, or implement StoreKit reviews.
.claude/skills/rshankras-review-prompt/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 25% | 0% |
Generate smart App Store review prompting with configurable trigger conditions, platform detection, and proper timing logic.
Use this skill when the user:
This skill only applies to App Store distributed apps.
Detection steps:
com.apple.application-identifier entitlementSearch for existing implementations:
Grep: "requestReview" or "SKStoreReviewController" or "StoreKit"
Glob: **/*Review*.swiftIf found, ask user:
Ask user via AskUserQuestion:
Generate these files:
ReviewPromptManager.swift - Core logic and timingReviewPromptCondition.swift - Configurable conditionsReviewPromptStorage.swift - Persistence for trackingCheck project structure:
Sources/ exists → Sources/Reviews/App/ exists → App/Reviews/Reviews/For macOS, include:
swift#if os(macOS) // Check if running from App Store guard Bundle.main.appStoreReceiptURL?.lastPathComponent != "sandboxReceipt" else { // Running in sandbox but not App Store - skip return } #endif
After generation, provide:
Sources/Reviews/
├── ReviewPromptManager.swift # Core logic
├── ReviewPromptCondition.swift # Conditions enum
└── ReviewPromptStorage.swift # UserDefaults persistenceOption 1: Automatic (Recommended)
swift@main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() .onAppear { ReviewPromptManager.shared.incrementSession() } } } } // In relevant places (after positive actions): ReviewPromptManager.shared.recordPositiveAction() ReviewPromptManager.shared.requestReviewIfAppropriate()
Option 2: Manual Trigger Points
swift// After user completes a significant action func completeTask() { // ... task completion logic ... ReviewPromptManager.shared.recordPositiveAction() ReviewPromptManager.shared.requestReviewIfAppropriate() }
ReviewPromptManager.debugAlwaysShow = trueReviewPromptStorage.reset()For custom UI or macOS direct distribution:
swift// Deep link to App Store review page let appID = "YOUR_APP_ID" let url = URL(string: "https://apps.apple.com/app/id\(appID)?action=write-review")! NSWorkspace.shared.open(url) // macOS UIApplication.shared.open(url) // iOS
Other measured skills in the registry, with their headline benchmark lift.