review-request-audit

Detects SKStoreReviewController requestReview misuse violating App Store Guideline 5.6.1 in Swift code.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tvh25082004/Badminton --skill review-request-audit-tvh25082004
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: review-request-audit
Source: https://github.com/tvh25082004/Badminton/tree/main/.claude/skills/apple-app-review/quality/review-request-audit
Command: npx skills add https://github.com/tvh25082004/Badminton --skill review-request-audit-tvh25082004

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Apps get rejected from the App Store under Guideline 5.6.1 for manipulating reviews — for example, triggering review prompts from button taps, gating prompts behind satisfaction surveys, or calling requestReview() too aggressively. This Skill scans iOS/macOS Swift code to find these rejection-causing patterns before submission. ## Core Features & Use Cases - Button-triggered prompt detection: Finds requestReview() calls inside @IBAction handlers, Button closures, or onTapGesture callbacks, which Apple explicitly prohibits. - Review gating detection: Flags satisfaction-survey flows that only show the system review prompt to users who respond positively. - Deep-link and frequency checks: Identifies direct itms-apps write-review deep links and multiple unguarded requestReview() call sites. - Use Case: Before submitting an app update, run this audit on your Swift project to get a prioritized findings list (CRITICAL/HIGH/MEDIUM) with file paths, line numbers, and fixes mapped to Guideline 5.6.1. ## Quick Start Audit my iOS project for App Store review prompt violations under Guideline 5.6.1.

Frequently Asked Questions about review-request-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if my app violates App Store Guideline 5.6.1?▼

Scan your Swift code for requestReview() calls triggered by button taps, satisfaction gating before prompts, and direct write-review deep links. This audit flags each pattern with severity, file path, and line number mapped to Guideline 5.6.1.

Why was my app rejected for SKStoreReviewController requestReview?▼

Common rejection causes include calling requestReview() inside an @IBAction or button handler, showing the prompt only to users who say they enjoy the app, or calling it on every launch. Apple requires prompts at natural journey moments without user-triggered activation.

Is it allowed to add a Rate Us button in an iOS app?▼

A button that directly calls requestReview() on tap violates Guideline 5.6.1 and risks rejection. Deep-linking to the App Store write-review URL also bypasses Apple's system controls and is flagged as high risk.

How many times can requestReview be called per year?▼

Apple's system caps review prompts at 3 per 365-day period, and calls beyond the cap are silently ignored. However, calling requestReview() at many unguarded sites can still be flagged as abusive intent during review.

Does this audit modify my Swift source code?▼

No. The audit is read-only and makes no file edits or network calls. It only searches Swift files with Glob, Grep, and Read, then reports findings with recommended fixes for you to apply.