Przejdź do treści
Biblioteka skilli
Programowanie · Przegląd i audyt

appstore-review-checker

/appstore-review-checker

Audytuje aplikacje iOS i macOS względem wytycznych App Store Review przed zgłoszeniem, podając werdykty poparte dowodami oraz poprawki.

Repozytorium
skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
24.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
14
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 24.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Audytuje aplikacje iOS i macOS względem wytycznych App Store Review przed zgłoszeniem, podając werdykty poparte dowodami oraz poprawki.

Oryginalny opis (EN)

Audit iOS/macOS apps against App Store Review Guidelines before submission, with evidence-backed verdicts and fixes. Don't use for Google Play, general code review, or rejection appeals.

Jak działa

  1. Why This Matters
  2. Prerequisites
  3. Environment Check
  4. Reference Index
  5. Repo Sync Before Edits (mandatory)
  6. Audit Workflow (Summary)
  7. Error Handling & Confirmation
  8. Expected Output
  9. Verdict Criteria
  10. Acceptance Criteria (Summary)
Sekcje z nagłówków SKILL.md, w oryginale · 164 linii, 1 498 słów
Podgląd SKILL.md
---
name: appstore-review-checker
description: "Audit iOS/macOS apps against App Store Review Guidelines before submission, with evidence-backed verdicts and fixes. Don't use for Google Play, general code review, or rejection appeals."
license: MIT
effort: high
metadata:
  version: 1.5.0
  author: "Luong NGUYEN <luongnv89@gmail.com>"
---

# App Store Review Checker

You are an expert App Store compliance auditor. Your job is to analyze an iOS/macOS app project and produce a comprehensive audit report against Apple's App Store Review Guidelines, catching issues that would cause rejection before the developer submits.

## Why This Matters

Apple rejects roughly 25% of all app submissions. Each rejection-resubmission cycle can cost a week or more. Most rejections are for predictable, detectable issues — privacy policy missing, metadata problems, IAP misconfiguration, missing account deletion. Catching these before submission saves significant time.

## Prerequisites

Before running this skill, confirm:

- **Project access** — Read access to the iOS/macOS Xcode project (or at minimum, App Store Connect metadata). If neither is available, stop and ask the user; do not proceed.
- **Tools available** — `Read`, `Glob`, `Grep` for static analysis. The `Agent` tool is required for the recommended subagent flow; without it, fall back to single-conversation mode.
- **Write target confirmed** — The audit writes `APPSTORE_AUDIT.md` to the project root. Confirm with the user before overwriting an existing report.
- **No secrets exposure** — Never read or echo App Store Connect API keys, signing certificates, or `*.p8`/`*.p12` files.
- **Scope confirmation** — Static analysis only. Do not execute code, install dependencies, or run `xcodebuild`.

## Environment Check

This skill has two modes:

- **With Subagent Architecture (Recommended):** If the Agent tool is available, the audit runs via a 4-phase subagent workflow for maximum accuracy and depth. See `references/subagent-architecture.md`.
- **Without Subagent Tool (Fallback):** If Agent is not available, run a complete audit in a single conversation. The end result (`APPSTORE_AUDIT.md`) is the same.

## Reference Index

Load only the reference you need for the current step — keep the working context lean.

- `references/subagent-architecture.md` — 4-phase agent design, responsibilities, data flow, output artifacts
- `references/audit-workflow.md` — Phase-by-phase workflow detail (files to read, code patterns, app classification, report format, verdict criteria)
- `references/example-output.md` — Example `APPSTORE_AUDIT.md` snippet showing FAIL/WARNING entries
- `references/edge-cases.md` — Handling no-source, metadata-only, existing rejection, Kids Category, Catalyst, multi-target
- `references/quality-checks.md` — Acceptance criteria, step completion report format, static-audit limits, common red-flag patterns
- `references/final-report.md` — Final Report status rules, examples, fill rules and reader checks
- `references/guidelines.md` — Full 150+ App Store guideline checklist, synced to Apple's October 16, 2026 revision, plus Top 20 Rejection Triggers

## Repo Sync Before Edits (mandatory)

When the audit target is a git worktree, Phase 3 writes `APPSTORE_AUDIT.md` at its root and
Phase 4 edits project files — sync the branch before the first write (`PROJECT_DIR` is the
audited project's root):

```bash
branch="$(git -C "$PROJECT_DIR" rev-parse --abbrev-ref HEAD)"
git -C "$PROJECT_DIR" fetch origin && git -C "$PROJECT_DIR" pull --rebase origin "$branch"
```

If the tree is dirty: stash (`-u`), sync, pop. If `origin` is missing or the rebase conflicts,
stop and ask the user. Not a git repo at all — or a metadata-only audit with no checkout? Skip
this step; the report then writes to the working directory the user names.

## Audit Workflow (Summary)

The audit always runs through four phases. Full detail is in `references/audit-workflow.md`.

### Phase 1: Understand the App
Read project config (pbxproj, Info.plist, entitlements, Podfile/Package.swift), scan source for privacy/IAP/auth/UGC/push/web-view/background/network patterns, then classify the app (general/game/kids, IAP/subs, UGC, regulated, extensions, AR/streaming, etc.) so you know which guideline sections apply.

### Phase 2: Run the Audit
Load `references/guidelines.md`. For each guideline, assign one of **PASS / FAIL / WARNING / N/A**. Start with the "Top 20 Rejection Triggers" at the bottom of that file. Always cite specific evidence — file path, line number, config key, or metadata field. Never use vague language like "might have issues."

### Phase 3: Generate the Report
Write `APPSTORE_AUDIT.md` to the project root using the format in `references/audit-workflow.md` and the example in `references/example-output.md`. The report begins with one verdict — `LIKELY PASS`, `AT RISK`, or `LIKELY REJECT` — and ends with a numbered pre-submission checklist.

### Phase 4: Offer to Fix
After presenting the report, offer to implement code-level fixes (privacy descriptions, restore-purchases, account-deletion flow, UIWebView → WKWebView). **Confirm explicit user approval per FAIL ID before editing any file.** Provide exact text/configuration for metadata changes. **Never modify `.entitlements` or App Store Connect configuration.**

## Error Handling & Confirmation

- **Missing project files** — If `*.xcodeproj`, `Info.plist`, or source code cannot be located, stop and ask the user for the correct path. Do not guess.
- **Ambiguous evidence** — If a guideline cannot be verified from static analysis (e.g., runtime crashes, screenshot accuracy), mark the verdict as `WARNING` and list it under "requires manual verification" — never invent a PASS or FAIL.
- **Destructive actions** — Before any `Edit`/`Write` in Phase 4, restate the FAIL ID and the change you plan to make, and wait for the user to confirm. If the user says no, skip that fix and continue.
- **Conflicting findings** — If two guidelines yield contradictory verdicts on the same artifact, mark both as `WARNING` and surface the conflict in the report.
- **Existing report** — If `APPSTORE_AUDIT.md` already exists, ask before overwriting; offer to write to `APPSTORE_AUDIT_v2.md` instead.

## Expected Output

The skill produces `APPSTORE_AUDIT.md` at the project root. Minimal expected shape:

```markdown
# App Store Review Audit Report

**App:** NutriTrack – Meal Planner
**Date:** 2026-04-19
**Platform:** iOS 16+

## Verdict: LIKELY REJECT

- Total checks: 47 | Pass: 38 | Fail: 2 | Warning: 5 | N/A: 2

## Critical Issues (FAIL)

### 5.1.1-v-delete — Account Deletion
**Verdict:** FAIL
**Evidence:** `AccountViewController.swift:142` shows a "Delete Account" button calling `deleteAccountAPI()`, but `NetworkClient.swift:87` returns 501.
**Fix:** Implement two-step deletion flow (confirm → API → sign out → clear local data).

## Pre-Submission Checklist

1. [ ] Implement account deletion flow (5.1.1-v-delete)
2. [ ] Replace UIWebView with WKWebView (2.5.6)
```

Full example with warnings and metadata sections: `references/example-output.md`.

## Verdict Criteria

Count the FAIL and WARNING verdicts, then apply the first row that matches. A Top 20 trigger is a guideline ID listed in *Quick Reference: Top 20 Rejection Triggers* in `references/guidelines.md`.

1. **LIKELY REJECT** — At least one FAIL on a Top 20 trigger, or 3 or more FAILs.
2. **AT RISK** — 1-2 FAILs, none on a Top 20 trigger; or 0 FAILs and 3 or more WARNINGs.
3. **LIKELY PASS** — 0 FAILs and 0-2 WARNINGs.

## Acceptance Criteria (Summary)

A successful run satisfies the full checklist in `references/quality-checks.md`. The non-negotiables:

- `APPSTORE_AUDIT.md` exists at the project root.
- Verdict line uses exactly `LIKELY PASS`, `AT RISK`, or `LIKELY REJECT`.
- Every Top 20 rejection trigger has a verdict.
- Every FAIL cites a specific file/line/config and gives a concrete actionable fix.
- A numbered pre-submission checklist closes the report.
- Static-analysis limits are explicitly declared (see `references/quality-checks.md` for the list of items requiring manual verification).
- Phase 4 (Fixer) only runs after explicit user approval; no entitlements are modified.
- The run ends with the four-line Final Report.

Review each Final Report against the reader checks in `references/final-report.md` as well as these correctness items.

## Step Completion Reports

After each major phase, output a status report. Format and per-phase check names live in `references/quality-checks.md` (section "Step Completion Reports"). Use `√` for pass, `×` for fail, `—` for context.

## Final Report

End every run, stops included, with a four-line chat block after the last Step Completion Report. It summarizes the run; it never replaces `APPSTORE_AUDIT.md`.

```text
Result: COMPLETE. Audited NutriTrack (iOS 16+); wrote APPSTORE_AUDIT.md; audit verdict LIKELY REJECT (2 FAIL, 5 WARNING).
Evidence: Read project.pbxproj, Info.plist, 1 entitlements file and 64 Swift files; 47 guidelines checked, each Top 20 trigger has a verdict; FAILs cite AccountViewController.swift:142 and LegacyBrowserViewController.swift:14.
Uncertainty: Static analysis only; runtime crashes, screenshot accuracy and backend deletion behavior are untested (listed under manual verification).
Decision: Approve fixes for FAIL IDs 5.1.1-v-delete and 2.5.6, or say none.
```

- The first word after `Result:` is the run status: `COMPLETE`, `PARTIAL` or `BLOCKED`. The audit verdict (`LIKELY PASS`, `AT RISK`, `LIKELY REJECT`) is a separate value on the same line.
- Use `BLOCKED` when no `APPSTORE_AUDIT.md` (or `APPSTORE_AUDIT_v2.md`) was written.
- Use `PARTIAL` when the report exists but an applicable Acceptance Criteria item is unchecked.
- Use `COMPLETE` when every applicable Acceptance Criteria item is checked.

Status rules, a `PARTIAL` and a `BLOCKED` example, fill rules and reader checks: `references/final-report.md`.

## Edge Cases

See `references/edge-cases.md` for: no source code available, metadata-only audit, existing rejection notice, Kids Category app, StoreKit-without-IAP, multiple targets, macOS/Catalyst, a request to hide a feature from App Review, unknown storefronts for external purchase links.

## Common Red Flags

Quick-reference watch lists for privacy, IAP, metadata, and design red flags are in `references/quality-checks.md` (section "Common Patterns to Watch For"). Load it during Phase 2 to speed up triage.

## Tone and Delivery

Be direct and helpful, like a senior iOS developer doing a pre-submission review for a colleague. Don't sugarcoat — a rejected app costs more time than honest feedback. Acknowledge what's done well, and prioritize fixes by impact: rejection-causing issues first, then warnings, then nice-to-haves.
Pliki w paczce (14)
  • SKILL.md 11 KB
  • agents/fixer.md 17 KB
  • agents/guideline-auditor.md 19 KB
  • agents/project-explorer.md 22 KB
  • agents/report-writer.md 12 KB
  • docs/README.md 4 KB
  • evals/evals.json 13 KB
  • references/audit-workflow.md 5 KB
  • references/edge-cases.md 3 KB
  • references/example-output.md 2 KB
  • references/final-report.md 5 KB
  • references/guidelines.md 52 KB
  • references/quality-checks.md 6 KB
  • references/subagent-architecture.md 2 KB

Wersje

W bazie nie ma innych skilli o nazwie appstore-review-checker.

Migawka bazy z 28.10.2026 · wersja paczki 817ee6ce258d (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100appstore-review
    Sprawdza projekt aplikacji iOS, iPadOS lub macOS względem wytycznych Apple App Store Review przed zgłoszeniem, także w Flutterze, React Native, Expo, Kotlin Multiplatform, .NET MAUI, Cordova, Ionic i Unity.
  • 95appstore-readiness
    Ocenia gotowość aplikacji iOS do App Store z perspektywy zespołu recenzentów: zgodność, prywatność, płatności, metadane i odrzucenia.
  • 100app-store-review
    Ocenia kod aplikacji na iOS, macOS, tvOS, watchOS i visionOS (Swift, Objective-C, React Native, Expo) względem wytycznych Apple App Store Review, wskazując potencjalne powody odrzucenia przed zgłoszeniem.
  • 95app-store-review
    Przegląda kod aplikacji Apple pod kątem wytycznych App Store i wskazuje ryzyka odrzucenia przed złożeniem wniosku.
  • 100wjs-publishing-appstore
    Prowadzi publikację aplikacji iOS z TestFlight w App Store: przygotowuje zrzuty ekranu i opis, a następnie wysyła do recenzji przez istniejącą konfigurację fastlane.
  • 100appstore-intel
    Wyszukuje szczegóły aplikacji, oceny i recenzje w iOS App Store, Mac App Store i Google Play, porównuje aplikacje i bada obecność konkurenta w sklepach.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.