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.
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.
Use this skill when the user:
First, understand the project:
# Find project type
Glob: **/*.xcodeproj or **/*.xcworkspace
Glob: **/Info.plist
Glob: **/project.pbxproj
Identify:
Load and apply: security-checklist.md
Key areas:
Load and apply: privacy-checklist.md
Key areas:
Load and apply: ux-polish-checklist.md
Key areas:
Load and apply: distribution-checklist.md
Key areas:
Load and apply: api-design-checklist.md
Key areas:
Present findings in this structure:
# 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:
// fixed code
Issues that significantly impact user experience or trust.
[Same format as above]
Issues that should be addressed but won't block release.
[Same format as above]
Nice-to-have improvements and polish.
[Same format as above]
What the app does well:
## 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
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer