# Send Audit App Store Readiness to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "auditing-appstore-readiness",
    "name": "Audit App Store Readiness",
    "source": "tencent",
    "type": "skill",
    "category": "安全合规",
    "sourceUrl": "https://clawhub.ai/tristanmanchester/auditing-appstore-readiness",
    "canonicalUrl": "https://clawhub.ai/tristanmanchester/auditing-appstore-readiness",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/auditing-appstore-readiness",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=auditing-appstore-readiness",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/audit.mjs",
      "references/react-native.md",
      "references/native-ios.md",
      "references/report-template.md",
      "references/expo.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/auditing-appstore-readiness"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/auditing-appstore-readiness",
    "downloadUrl": "https://openagent3.xyz/downloads/auditing-appstore-readiness",
    "agentUrl": "https://openagent3.xyz/skills/auditing-appstore-readiness/agent",
    "manifestUrl": "https://openagent3.xyz/skills/auditing-appstore-readiness/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/auditing-appstore-readiness/agent.md"
  }
}
```
## Documentation

### App Store Readiness Audit

This skill reviews an app repository and produces a release readiness report for iOS App Store / TestFlight submission.

It supports:

Native iOS (Swift/Obj‑C, Xcode project/workspace)
React Native (bare)
Expo (managed or prebuild)

### Quick start (recommended)

Run the read‑only audit script from the repo root:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo . --format md" }

If you want JSON output as well:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo . --format md --json audit.json" }

If the repo is a monorepo, point at the app directory:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo apps/mobile --format md" }

### Output contract

Always return:

Overall verdict: PASS / WARN / FAIL
Detected project flavour and key identifiers (bundle id, version, build)
A list of checks with evidence and remediation steps
A Publish checklist the developer can tick off

Use: references/report-template.md

### Safety rules (don’t break the repo)

Default to read‑only commands. Do not run commands that modify the workspace unless:

the user explicitly asks, or
the fix is trivial and clearly desired (then explain what will change first)

Examples of mutating commands:

dependency installs (npm i, yarn, pnpm i, pod install)
config generation (expo prebuild)
signing automation (fastlane match)
archiving (xcodebuild archive, eas build) — creates artefacts and may require signing

If you must run a mutating command, label it clearly as MUTATING before running.

### 1) Identify the repo and project flavour

Prefer scripted detection (audit.mjs). If doing manually:

Expo likely: package.json contains expo and app.json / app.config.* exists
React Native (bare): package.json contains react-native and ios/ exists
Native iOS: *.xcodeproj or *.xcworkspace exists

If multiple apps exist, pick the one matching the user’s intent; otherwise pick the directory with:

a single ios/<AppName>/Info.plist, and
exactly one .xcodeproj or .xcworkspace near the root.

### 2) Run static compliance checks (works everywhere)

Run these checks even without Xcode:

Repo hygiene: clean git status; obvious secrets not committed
iOS identifiers: bundle id, version, build number
App icons: includes an App Store (1024×1024) icon
Launch screen present
Privacy & permissions:

Privacy manifest present (PrivacyInfo.xcprivacy) or explicitly accounted for
Permission usage strings present when relevant (camera, location, tracking, etc.)
Avoid broad ATS exemptions (NSAllowsArbitraryLoads)


Third‑party SDK hygiene: licences, privacy manifests, tracking disclosures
Store listing basics: privacy policy URL exists somewhere in repo/docs; support/contact info

The script outputs PASS/WARN/FAIL for these.

### 3) Run build‑accuracy checks (macOS + Xcode, optional but high confidence)

Only if you have Xcode available (local macOS gateway or a paired macOS node).

Recommended sequence (creates build artefacts):

Show Xcode + SDK versions:
{ "tool": "exec", "command": "xcodebuild -version" }


List schemes (project/workspace as detected):
{ "tool": "exec", "command": "xcodebuild -list -json -workspace <path>.xcworkspace" }
or
{ "tool": "exec", "command": "xcodebuild -list -json -project <path>.xcodeproj" }


Release build for simulator (fast, avoids signing):
{ "tool": "exec", "command": "xcodebuild -workspace <...> -scheme <...> -configuration Release -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 15' build" }


If you need a distribution artefact (MUTATING / signing):

Prefer Fastlane if already configured
Otherwise xcodebuild archive + xcodebuild -exportArchive

If build checks aren’t possible, the report must explicitly say so and keep the verdict at WARN (unless there are definite FAIL items).

### 4) Produce the final readiness report

Use references/report-template.md
Include a “Go / No‑Go” recommendation:

FAIL → must fix before submitting
WARN → submission may work, but risk areas remain
PASS → ready to submit; remaining items are administrative

### Manual checks the agent cannot fully verify

Always include these as a final checklist section (even if automated checks pass):

App Store Connect metadata: screenshots, description, keywords, age rating, pricing, categories
Privacy Nutrition Labels match actual behaviour
Export compliance (encryption) answers are correct
Content/IP rights: licences, third‑party assets, trademarks
Account / regional requirements (e.g. EU trader status if applicable)
In‑app purchases / subscriptions configured if used

See: references/manual-checklist.md

### When the user asks “make it compliant”

Switch to fix mode:

Identify failing items that can be fixed safely in‑repo (Info.plist strings, PrivacyInfo.xcprivacy template, ATS exceptions tightening, etc.)
Propose minimal patches and apply with apply_patch
Re‑run audit.mjs and update the report

### Quick search

Permissions mapping: references/permissions-map.md
Expo‑specific checks: references/expo.md
React Native iOS checks: references/react-native.md
Native iOS checks: references/native-ios.md
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: tristanmanchester
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/auditing-appstore-readiness)
- [Send to Agent page](https://openagent3.xyz/skills/auditing-appstore-readiness/agent)
- [JSON manifest](https://openagent3.xyz/skills/auditing-appstore-readiness/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/auditing-appstore-readiness/agent.md)
- [Download page](https://openagent3.xyz/downloads/auditing-appstore-readiness)