asc-analytics-reports
Collect, download, and verify App Store Connect Analytics reports with asc. Use when users need to discover analytics report requests, select report instances…
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to registered devices outside TestFlight, reconciling ad hoc profiles, publishing through caller-owned S3-compatible storage, or diagnosing a resumable
$ npx -y skills add rudrankriyam/asc-skills --skill asc-ad-hoc-distribution --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/asc-ad-hoc-distributionContext preview
The summary Claude sees to decide when to auto-load this skill.
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to registered devices outside TestFlight, reconciling ad hoc profiles, publishing through caller-owned S3-compatible storage, or diagnosing a resumable
name: asc-ad-hoc-distribution description: Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to registered devices outside TestFlight, reconciling ad hoc profiles, publishing through caller-owned S3-compatible storage, or diagnosing a resumable private distribution run.
Use the experimental `asc distribute` workflow to turn an existing iOS archive into a private, verified install link for registered devices. Use TestFlight or the App Store release skills instead when the build should go through Apple-hosted distribution.
Confirm the installed contract before acting:
asc distribute --help asc distribute plan --help asc distribute apply --help asc distribute resume --help asc distribute status --help asc distribute verify --help
hash-authorized run starting from an `.xcarchive`.
ad hoc IPA and wants to operate the lower-level boundaries separately.
run state, and exact install-link artifact as private. Keep them out of Git and require owner-only permissions.
output, logs, issues, or chat. Use `ASC_S3_ACCESS_KEY_ID`, `ASC_S3_SECRET_ACCESS_KEY`, and optional `ASC_S3_SESSION_TOKEN`, or the standard AWS SDK credential chain.
typed blockers and effects before continuing.
profiles, write local artifacts, and publish immutable objects. Run it only after the user authorizes the exact plan hash and effect inventory.
S3-compatible bucket. It does not create buckets, change policies, delete old builds, install the app, or launch it.
expired private link requires a new plan. Do not force the old run forward.
extensions, Watch apps, and App Clips make the v1 plan not ready.
{"schemaVersion":1,"devices":[{"name":"Test iPhone","udid":"DEVICE_UDID","platform":"IOS"}]}certificates, and profiles.
Relative paths resolve from the spec directory. The spec does not interpolate environment variables or accept credentials. A representative private config is:
{
"schemaVersion": 1,
"devicesFile": "devices.json",
"signing": {
"identity": {
"format": "pkcs12",
"path": "../signing/distribution.p12",
"passwordFile": "../secrets/distribution-p12-password"
},
"minimumValidityDays": 7,
"maxMutations": 32
},
"publication": {
"endpoint": "https://objects.example.com",
"downloadEndpoint": "https://downloads.example.com",
"region": "auto",
"bucket": "ios-builds",
"prefix": "team/app",
"addressingStyle": "path",
"urlTtl": "24h",
"downloadGrace": "1h",
"verifyTimeout": "30s"
},
"metadata": {
"title": "App",
"channel": "pull-request-42",
"sourceRevision": "abc123",
"sourceUrl": "https://example.com/team/app/commit/abc123"
}
}`passwordFile`, `certificateSha256`, `downloadEndpoint`, and every metadata field are optional. An omitted password file means the PKCS#12 must use an empty password. Protect the config and secret inputs before planning:
chmod 600 ".asc/distribution/config.json" ".asc/distribution/devices.json" chmod 600 ".asc/signing/distribution.p12" ".asc/secrets/distribution-p12-password"
asc distribute plan \ --archive-path ".asc/artifacts/App.xcarchive" \ --config ".asc/distribution/config.json" \ --plan ".asc/distribution/plan.json" \ --state-dir ".asc/distribution/runs" \ --output json
Inspect `ready`, `planHash`, signing validity, destination, and the complete ordered `effects` inventory. Resolve blockers and create a new plan when `ready` is false. Do not infer readiness from exit code alone.
After approval of the exact effects, pass the full 64-character hash:
PLAN_HASH="$(jq -er '.planHash' ".asc/distribution/plan.json")" asc distribute apply \ --plan ".asc/distribution/plan.json" \ --confirm "$PLAN_HASH" \ --output json
Missing, malformed, or unequal confirmation is rejected before side effects. Success means publication and live fetch verification completed; it does not mean a device installed or launched the app.
Use the returned `runId`:
asc distribute status --run "RUN_ID" --state-dir ".asc/distribution/runs" --output json asc distribute resume --run "RUN_ID" --state-dir ".asc/distribution/runs" --output json asc distribute verify --run "RUN_ID" --state-dir ".asc/distribution/runs" --timeout 30s --output json
`status` is local-only and succeeds for `running`, `recoverable`, and `blocked` runs; branch on typed fields rather than prose. `resume` revalidates durable evidence before retrying and never blindly repeats a remote write. `verify` is read-only but performs live fetches. Add `--device "DEVICE_SELECTOR"` only when the user asks to observe the matching installed bundle, version, and build on a connected device; th
A collection of Agent Skills for shipping with the asc cli (asc). These skills help agents run builds, TestFlight, metadata, submissions, signing, and Apple Ads workflows. This is a community-maintained, unofficial skill pack and is not affiliated with Apple.
Collect, download, and verify App Store Connect Analytics reports with asc. Use when users need to discover analytics report requests, select report instances…
Create a new App Store Connect app record via browser automation. Use when there is no public API for app creation and you need an agent to drive the New App…
Use when managing Apple Ads with asc, including OAuth profiles, ad-account discovery, Platform API v1 campaigns and targeting, reports, assets,…
Run an offline ASO audit on canonical App Store metadata under `./metadata` and surface keyword gaps using Astro MCP. Use after pulling metadata with `asc…
Track build processing, find latest builds, and clean up old builds with asc. Use when managing build retention or waiting on processing.
Guidance for using asc cli in this repo (flags, output formats, pagination, auth, and discovery). Use when asked to run or design asc commands or interact with…