Agent skill · Audited from source
app-store-connect-cli-skills
skill · rorkai/app-store-connect-cli-skillsMIT licenceAudited 26 Oct 2026 · source dd8203c7bf09
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit dd8203c7bf09 and found no filesystem, network or shell access and no hard-coded secrets. What it does: 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…
Cite
Cite this page
ModelsAtlas. “app-store-connect-cli-skills (rorkai/app-store-connect-cli-skills)”. Retrieved 26 Oct 2026. https://modelsatlas.com/skills/rorkai/app-store-connect-cli-skills
Trust audit
Audit 0.4.1 · source read 26 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 2 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (2)
INFOPrompt injectionprompt.authority_framing · skills/asc-app-create-ui/SKILL.md:21
- user access (Full Access or Limited Access)
- Why
- No further detail recorded for this rule.
- Fix
- —
INFOPrompt injectionprompt.authority_framing · skills/asc-app-create-ui/SKILL.md:76
- Options: `Limited Access` or `Full Access`.
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha dd8203c7bf09 · 26 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherrorkai GitHub organizationOwner of the repository this skill is read from
- Source folderrorkai/app-store-connect-cli-skillsThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdictdd8203c7bf09A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its 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…
---
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.
---
# ASC ad hoc distribution
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:
```bash
asc distribute --help
asc distribute plan --help
asc distribute apply --help
asc distribute resume --help
asc distribute status --help
asc distribute verify --help
```
## Choose the workflow
- Use `plan` -> `apply` -> `resume`/`status` -> `verify` for an end-to-end,
hash-authorized run starting from an `.xcarchive`.
- Use `inspect` -> `prepare` -> `publish` only when the caller already owns the
ad hoc IPA and wants to operate the lower-level boundaries separately.
## Guardrails
- Treat the distribution spec, devices file, PKCS#12 identity, password file,
run state, and exact install-link artifact as private. Keep them out of Git and
require owner-only permissions.
- Never put S3 credentials or presigned URLs in the distribution spec, command
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.
- `plan` is read-only and may exit successfully with `ready: false`. Inspect the
typed blockers and effects before continuing.
- `apply` can register missing devices, create safe App IDs and successor ad hoc
profiles, write local artifacts, and publish immutable objects. Run it only
after the user authorizes the exact plan hash and effect inventory.
- The orchestrated workflow supports private access to an existing
S3-compatible bucket. It does not create buckets, change policies, delete old
builds, install the app, or launch it.
- Input drift, an immutable-object conflict, expired signing material, or an
expired private link requires a new plan. Do not force the old run forward.
## Preconditions
- An existing iOS `.xcarchive` with one main app target. Embedded apps,
extensions, Watch apps, and App Clips make the v1 plan not ready.
- A local iOS distribution PKCS#12 identity and optional protected password file.
- A protected strict-v1 devices file. For example:
```json
{"schemaVersion":1,"devices":[{"name":"Test iPhone","udid":"DEVICE_UDID","platform":"IOS"}]}
```
- App Store Connect authentication with access to devices, Bundle IDs,
certificates, and profiles.
- An existing S3-compatible bucket and valid credentials.
## 1. Create the private distribution spec
Relative paths resolve from the spec directory. The spec does not interpolate
environment variables or accept credentials. A representative private config is:
```json
{
"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:
```bash
chmod 600 ".asc/distribution/config.json" ".asc/distribution/devices.json"
chmod 600 ".asc/signing/distribution.p12" ".asc/secrets/distribution-p12-password"
```
## 2. Plan without mutation
```bash
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.
## 3. Apply the exact authorized plan
After approval of the exact effects, pass the full 64-character hash:
```bash
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.
## 4. Inspect, resume, and verify
Use the returned `runId`:
```bash
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; thExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit dd8203c
npx skills add rorkai/app-store-connect-cli-skills claude plugin install asc@rorkai npx skills add rorkai/app-store-connect-cli-skills --agent codex pip install koubou==0.20.0
git clone https://github.com/rorkai/app-store-connect-cli-skills git -C app-store-connect-cli-skills checkout dd8203c7bf09
Commands as the repository documents them: shown, never run by us. Our verdict covers commit dd8203c7bf09 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
dd8203c7bf09
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/rorkai/app-store-connect-cli-skills/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
All automation skills →rorkai/app-store-connect-cli-skills
Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands. Use when adjusting prices by country or implementing localized…
rorkai/app-store-connect-cli-skills
Orchestrate App Store releases with asc, including staging a version, uploading or building an artifact, publishing, and submitting for review. Use when the user wants to prepare or execute a release. Keep Game Center…
rudrankriyam/app-store-connect-cli-skills
Orchestrate App Store releases with asc, including staging a version, uploading or building an artifact, publishing, and submitting for review. Use when the user wants to prepare or execute a release. Keep Game Center…
rudrankriyam/app-store-connect-cli-skills
Reconcile App Store Connect subscriptions and in-app purchases with RevenueCat products, entitlements, offerings, and packages using asc and RevenueCat MCP. Use when setting up or syncing subscription catalogs across…
rorkai/app-store-connect-cli-skills
Archive, export, and notarize macOS apps using xcodebuild and asc. Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple notarization.
rudrankriyam/app-store-connect-cli-skills
Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands. Use when adjusting prices by country or implementing localized…
Add this badge to your README
[](https://modelsatlas.com/skills/rorkai/app-store-connect-cli-skills/)
<a href="https://modelsatlas.com/skills/rorkai/app-store-connect-cli-skills/"><img src="https://modelsatlas.com/skills/rorkai/app-store-connect-cli-skills/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about app-store-connect-cli-skills
What does the app-store-connect-cli-skills skill do?
Is app-store-connect-cli-skills safe to install?
What can app-store-connect-cli-skills access on my machine?
Which assistants does app-store-connect-cli-skills work with?
How current is this page?
Sources
- github.com/rorkai/app-store-connect-cli-skills — the audited source at commit dd8203c7bf09 and every finding aboveObserved · 26 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the app-store-connect-cli-skills skill do?
- Is app-store-connect-cli-skills safe to install?
- What can app-store-connect-cli-skills access on my machine?