mcpField
A
asc-users

asc-users

github.com/tddworksSecurity588 installsUpdated 5w ago
Repository

About asc-users

A skill for managing App Store Connect team members and invitations with the `asc` CLI. It supports role changes, access removal, and invitation handling, including directory and access-automation workflows.

Key features

  1. 01List team members by role
  2. 02Assign or update member roles
  3. 03Remove team access
  4. 04Create and cancel invitations
  5. 05Use response commands with IDs filled in

Use cases

  1. 01Onboard a developer with a role
  2. 02Revoke access for a departing employee
  3. 03Audit administrators

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-users

After installing, type/asc-usersin Claude Code to confirm it loaded.

Bundled filesreferences/commands.md

Details

From the project README

Team Members & Invitations with asc

Manage your App Store Connect team: list members, assign roles, revoke access, and control pending invitations. Built for directory integration and automated access workflows.

Authentication

asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8

CAEOAS — Affordances Guide Next Steps

Every JSON response includes "affordances" — ready-to-run commands with IDs pre-filled:

TeamMember affordances:

{
  "id": "u-abc123",
  "username": "[email protected]",
  "roles": ["DEVELOPER", "APP_MANAGER"],
  "affordances": {
    "remove":      "asc users remove --user-id u-abc123",
    "updateRoles": "asc users update --user-id u-abc123 --role DEVELOPER --role APP_MANAGER"
  }
}

UserInvitationRecord affordances:

{
  "id": "inv-xyz789",
  "email": "[email protected]",
  "roles": ["DEVELOPER"],
  "affordances": {
    "cancel": "asc user-invitations cancel --invitation-id inv-xyz789"
  }
}

Available Roles

Use uppercase values with --role:

ADMIN · FINANCE · ACCOUNT_HOLDER · SALES · MARKETING · APP_MANAGER · DEVELOPER · ACCESS_TO_REPORTS · CUSTOMER_SUPPORT · CREATE_APPS · CLOUD_MANAGED_DEVELOPER_ID · CLOUD_MANAGED_APP_DISTRIBUTION · GENERATE_INDIVIDUAL_KEYS

Typical Workflows

Offboard a departing employee
DEPARTED_EMAIL="[email protected]"

# Check for an active team member
USER_ID=$(asc users list | jq -r --arg e "$DEPARTED_EMAIL" \
  '.data[] | select(.username == $e) | .id')

if [ -n "$USER_ID" ]; then
  asc users remove --user-id "$USER_ID"
  echo "Access revoked."
else
  # Check for a pending invitation that hasn't been accepted yet
  INV_ID=$(asc user-invitations list | jq -r --arg e "$DEPARTED_EMAIL" \
    '.data[] | select(.email == $e) | .id')
  [ -n "$INV_ID" ] && asc user-invitations cancel --invitation-id "$INV_ID"
fi
Onboard a new developer
asc user-invitations invite \
  --email [email protected] \
  --first-name Alex \
  --last-name Smith \
  --role DEVELOPER
Promote a developer to App Manager
# Get the user's ID first
USER_ID=$(asc users list | jq -r '.data[] | select(.username == "[email protected]") | .id')

# Update replaces all roles — include every role you want them to keep
asc users update --user-id "$USER_ID" --role APP_MANAGER --role DEVELOPER
Audit: list all admins
asc users list --role ADMIN --output table

Output Flags

--pretty          # Pretty-print JSON
--output table    # Aligned table
--output markdown # Markdown table

Full Command Reference

See commands.md for all flags, filters, and examples.

Comments

Markdown supported