tddworks/asc-cli-skills

asc-iris

Manage App Store Connect private API (iris) with cookie-based authentication using the `asc` CLI tool. Use this skill when: (1) Checking iris session status: "asc iris status", "am I logged in to iris", "check iris cookies" (2) Listing apps via iris private API: "asc iris apps list", "list my apps with iris" (3) Creating a new app: "asc iris apps create --name NAME --bundle-id ID --sku SKU", "create app", "register new app", "add app to App Store Connect" (4) User mentions "iris", "private API"…

First seen Mar 24, 2026

Installation

$ npx skills add tddworks/asc-cli-skills --skill asc-iris

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tddworks/asc-cli-skills · top by installs.

npx skills add tddworks/asc-cli-skills

Browse all from tddworks/asc-cli-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License MIT
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,896 B
  • docs SUMMARY.md 767 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 61 installs

SKILL.md

asc iris — App Store Connect Private API

Access App Store Connect private API (iris) endpoints using cookie-based authentication. The iris API powers the ASC web UI and exposes capabilities not available through the public REST API, such as app creation.

Authentication

Iris uses browser cookies, not JWT API keys. Two resolution methods:

  1. Browser auto-extraction (default) — log in to appstoreconnect.apple.com in Chrome/Safari/Firefox. Cookies are extracted automatically via SweetCookieKit.
  2. Environment variable — set ASCIRISCOOKIES for CI/CD:

``bash export ASCIRISCOOKIES="myacinfo=DAWT...; itctx=eyJ..." ``

The essential cookie is myacinfo (set on .apple.com). Additional cookies (itctx, dqsid, wosid) are collected from appstoreconnect.apple.com.

How to Navigate (CAEOAS Affordances)

Every JSON response contains an "affordances" field with ready-to-run commands:

{
  "source": "browser",
  "cookieCount": 5,
  "affordances": {
    "listApps": "asc iris apps list",
    "createApp": "asc iris apps create --name <name> --bundle-id <id> --sku <sku>"
  }
}

Commands

status — check iris session

asc iris status --pretty

Output:

{
  "data": [{
    "affordances": {
      "createApp": "asc iris apps create --name <name> --bundle-id <id> --sku <sku>",
      "listApps": "asc iris apps list"
    },
    "cookieCount": 5,
    "source": "browser"
  }]
}

If cookies are not found, the error message will suggest logging in to appstoreconnect.apple.com or setting ASCIRISCOOKIES.

apps list — list all apps

asc iris apps list --pretty

Output:

{
  "data": [{
    "affordances": {
      "listAppInfos": "asc app-infos list --app-id 1234567890",
      "listVersions": "asc versions list --app-id 1234567890"
    },
    "bundleId": "com.example.app",
    "id": "1234567890",
    "name": "My App",
    "platforms": ["IOS"],
    "primaryLocale": "en-US",
    "sku": "MYSKU"
  }]
}

apps create — create a new app

asc iris apps create \
  --name "My App" \
  --bundle-id com.example.app \
  --sku com.example.app \
  [--primary-locale en-US] \
  [--platforms IOS] \
  [--version 1.0] \
  --pretty
Flag Required Default Description
--name ✅ — App name (shown on App Store)
--bundle-id ✅ — Bundle identifier (must match a registered bundle ID)
--sku ✅ — SKU identifier (unique within your account)
--primary-locale ❌ en-US Primary locale
--platforms ❌ IOS One or more: IOS, MAC_OS
--version ❌ 1.0 Initial version string

Multi-platform example:

asc iris apps create \
  --name "My Universal App" \
  --bundle-id com.example.universal \
  --sku com.example.universal \
  --platforms IOS MAC_OS \
  --version 2.0 \
  --pretty

Important: The --bundle-id must reference an already-registered bundle identifier. Register one first with asc bundle-ids register if needed.

Typical Workflow

# 1. Check if you're logged in
asc iris status --pretty

# 2. Create a new app
asc iris apps create \
  --name "My New App" \
  --bundle-id com.example.newapp \
  --sku com.example.newapp \
  --pretty

# 3. Continue with public API commands (use the app ID from step 2)
asc versions list --app-id <id>
asc app-infos list --app-id <id>

Troubleshooting

"No App Store Connect cookies found"

  • Make sure you're logged in to appstoreconnect.apple.com in your browser
  • If using Chrome, the CLI needs Keychain access to decrypt cookies — grant access when prompted
  • For CI/CD, set ASCIRISCOOKIES with the cookie string

409 ENTITYERROR.INCLUDED.INVALIDID

  • Placeholder IDs in the create request must use the ${local-id} format — this is handled automatically by the CLI

Empty results from iris apps list

  • This is normal if no apps have been created yet — create one with asc iris apps create