release-review — Claude Code skill: pre-release audit for iOS
Runs a macOS and iOS app through release checklists and returns a prioritised list of issues with concrete fixes. Useful before App Store or TestFlight submission.
npx skills add rshankras/claude-code-apple-skills --skill release-review -a claude-codeWhat release-review does
The skill reviews your project the way a senior developer would. It starts by locating the project with Glob over *.xcodeproj, *.xcworkspace and Info.plist, then works out the platform, app type and distribution method. From there it runs six phases: security, privacy, UX polish, distribution and API design. Each phase pulls in its own checklist file — security-checklist.md, privacy-checklist.md, ux-polish-checklist.md, distribution-checklist.md, api-design-checklist.md.
You get a markdown report. Findings are sorted into Critical, High, Medium and Low, and each one names the file and line, explains the impact, and shows the current code next to a suggested replacement. The report closes with strengths and an ordered action plan.
The skill only reads. Its allowed-tools are Read, Glob and Grep, so it will not touch your source — you apply the fixes yourself. For macOS apps the distribution phase covers menu bar window activation, sandbox exception justification, notarization and hardened runtime, so a DMG built without Developer ID signing is where the loudest findings land.
What it helps with
- spot what will get a build rejected from the App Store
- check how credentials are stored in the Keychain
- close gaps in user consent for data collection
- fix empty states and error handling before shipping
- line up notarization requirements before building a DMG
Example prompts for the agent
- Run a release review on my iOS app before I submit to the App Store
- Do a pre-release audit and show me only Critical and High findings
- Go through the distribution checklist: bundle identifier, code signing, Info.plist
How to install release-review
1Skills CLI (Vercel)
npx skills add rshankras/claude-code-apple-skills --skill release-review -a claude-code2Manually: put the files in place
~/.claude/skills/release-review/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/release-review/
1Skills CLI (Vercel)
npx skills add rshankras/claude-code-apple-skills --skill release-review -a codex2Manually: put the files in place
.agents/skills/release-review/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add rshankras/claude-code-apple-skills --skill release-review -a cursor2Manually: put the files in place
.cursor/skills/release-review/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install rshankras/claude-code-apple-skills release-review2Manually: put the files in place
.github/skills/release-review/SKILL.md1Skills CLI (Vercel)
npx skills add rshankras/claude-code-apple-skills --skill release-review -a gemini-cli2Platform CLI
gemini skills install https://github.com/rshankras/claude-code-apple-skills --path skills/release-reviewManually: put the files in place
.devin/skills/release-review/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add rshankras/claude-code-apple-skills --skill release-review -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about release-review
How do I install release-review in Claude?
Run npx skills add rshankras/claude-code-apple-skills --skill release-review -a claude-code. The skill lands at ~/.claude/skills/release-review/SKILL.md.
What does release-review do?
It audits a macOS or iOS app before release across security, privacy, UX, distribution and API design, then returns a prioritised report with suggested fixes.
Does the skill fix the code for me?
No. It has Read, Glob and Grep only, so it reads and searches while you apply the suggested changes yourself.
Source text
SKILL.md · MIT
--- name: release-review description: Senior developer-level release review for macOS/iOS apps. Identifies security, privacy, UX, and distribution issues with actionable fixes. Use when preparing an app for release, want a critical review, or before App Store submission. allowed-tools: [Read, Glob, Grep] last_verified: 2026-07-16 review_by: 2027-06-22 os_version: iOS 27 / macOS 27 --- # Release Review for Apple Platforms Performs a comprehensive pre-release audit of macOS and iOS applications from a senior developer's perspective. Identifies critical issues that could cause rejection, security vulnerabilities, privacy concerns, and UX problems—with actionable fixes. ## When This Skill Activates Use this skill when the user: - Says "review for release", "release review", or "pre-release audit" - Asks for "senior developer review" or "critical review" - Mentions preparing for "App Store", "TestFlight", or "notarization" - Wants to know what "power users might complain about" - Asks to "review before shipping" or "check before release" ## Review Process ### Phase 1: Project Discovery First, understand the project: ```bash # Find project type Glob: **/*.xcodeproj or **/*.xcworkspace Glob: **/Info.plist Glob: **/project.pbxproj ``` Identify: - Platform (macOS, iOS, or both) - App type (standard app, menu bar app, widget, extension) - Distribution method (App Store, direct download, TestFlight) ### Phase 2: Security Review Load and apply: **security-checklist.md** Key areas: - Credential storage (Keychain patterns, no hardcoded secrets) - Data transmission (HTTPS, certificate validation) - Input validation (injection prevention) - Entitlements audit - Hardened runtime (macOS) ### Phase 3: Privacy Review Load and apply: **privacy-checklist.md** Key areas: - Data collection transparency - Privacy manifest (iOS 17+) - User consent flows - Third-party SDK disclosure - GDPR compliance basics ### Phase 4: UX Polish Review Load and apply: **ux-polish-checklist.md** Key areas: - First launch / onboarding - Empty states and error handling - Loading states - Text truncation and accessibility - Platform-specific UX patterns ### Phase 5: Distribution Review Load and apply: **distribution-checklist.md** Key areas: - Bundle identifier format - Code signing configuration - Info.plist completeness - App icons - Platform-specific requirements (notarization, App Store) ### Phase 6: API Design Review Load and apply: **api-design-checklist.md** Key areas: - User-Agent headers (honest identification) - Error handling patterns - Token expiration handling - Rate limiting - Offline handling ## Output Format Present findings in this structure: ```markdown # Release Review: [App Name] **Platform**: macOS / iOS / Universal **Distribution**: App Store / Direct Download / TestFlight **Review Date**: [Date] ## Summary | Priority | Count | |----------|-------| | Critical | X | | High | X | | Medium | X | | Low | X | --- ## 🔴 Critical Issues (Must Fix) Issues that will cause rejection, crashes, or security vulnerabilities. ### [Category]: [Issue Title] **File**: `path/to/file.swift:123` **Impact**: [Why this matters] **Current Code**: ```swift // problematic code ``` **Suggested Fix**: ```swift // fixed code ``` --- ## 🟠 High Priority (Should Fix) Issues that significantly impact user experience or trust. [Same format as above] --- ## 🟡 Medium Priority (Fix Soon) Issues that should be addressed but won't block release. [Same format as above] --- ## 🟢 Low Priority / Suggestions Nice-to-have improvements and polish. [Same format as above] --- ## ✅ Strengths What the app does well: - [Strength 1] - [Strength 2] - [Strength 3] --- ## Recommended Action Plan 1. **[Critical]** [First thing to fix] 2. **[Critical]** [Second thing to fix] 3. **[High]** [Third thing to fix] ... ``` ## Priority Classification ### 🔴 Critical - Security vulnerabilities (credential exposure, injection) - Crashes or data loss scenarios - App Store rejection causes - Privacy violations - Hardcoded secrets or spoofed identifiers ### 🟠 High - Poor error handling (silent failures) - Missing user consent or transparency - Accessibility blockers - Missing required Info.plist keys - Broken functionality ### 🟡 Medium - Incomplete onboarding - Suboptimal UX patterns - Missing empty states - Performance concerns - Minor accessibility issues ### 🟢 Low - Code style improvements - Additional features - Polish and refinement - Documentation improvements ## Platform-Specific Considerations ### macOS - Menu bar app window activation (`NSApp.activate`) - Sandbox exceptions justification - Notarization requirements - Hardened runtime - Developer ID signing - DMG/installer considerations ### iOS - App Tracking Transparency - Privacy nutrition labels - Launch screen requirements - Export compliance - In-app purchase requirements - TestFlight configuration ## References - **security-checklist.md** - Detailed security review items - **privacy-checklist.md** - Privacy and data handling - **ux-polish-checklist.md** - User experience review - **distribution-checklist.md** - Release and distribution - **api-design-checklist.md** - Network and API patterns
© rshankras · MIT · rshankras/claude-code-apple-skills