mcpField
A
asc-game-center

asc-game-center

github.com/tddworksDevelopment584 installsUpdated 6w ago
Repository

About asc-game-center

asc-game-center is a skill for managing Game Center configuration, achievements, and leaderboards through the App Store Connect API. It guides developers through CLI workflows with ready-to-run commands embedded in JSON responses.

Key features

  1. 01Retrieve app Game Center details
  2. 02List, create, and delete achievements
  3. 03List, create, and delete leaderboards
  4. 04Navigate using generated command affordances
  5. 05Format output as JSON or tables

Use cases

  1. 01Set up Game Center for an app
  2. 02Review existing achievements and leaderboards
  3. 03Add or remove achievements and leaderboards

Install

Copy the command and run it in a terminal.

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

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

Details

From the project README

Game Center with asc

Manage Game Center detail, achievements, and leaderboards through the App Store Connect API.

Authentication

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

How to Navigate (CAEOAS Affordances)

Every JSON response contains an "affordances" field with ready-to-run commands — IDs already filled in. Start from the Game Center detail and navigate to achievements and leaderboards.

{
  "id": "gc-abc123",
  "appId": "6443417124",
  "isArcadeEnabled": false,
  "affordances": {
    "getDetail": "asc game-center detail get --app-id 6443417124",
    "listAchievements": "asc game-center achievements list --detail-id gc-abc123",
    "listLeaderboards": "asc game-center leaderboards list --detail-id gc-abc123"
  }
}

Typical Workflow

Set up Game Center for an app
# 1. Get the Game Center detail (find the detail ID)
asc game-center detail get --app-id 6443417124 --pretty

# 2. List existing achievements
asc game-center achievements list --detail-id gc-abc123 --pretty

# 3. Create a new achievement
asc game-center achievements create \
  --detail-id gc-abc123 \
  --reference-name "First Steps" \
  --vendor-identifier first_steps \
  --points 10 \
  --pretty

# 4. Create a leaderboard
asc game-center leaderboards create \
  --detail-id gc-abc123 \
  --reference-name "All Time High" \
  --vendor-identifier all_time_high \
  --score-sort-type DESC \
  --submission-type BEST_SCORE \
  --pretty
View all Game Center content at a glance
DETAIL_ID=$(asc game-center detail get --app-id APP_ID | jq -r '.data[0].id')
asc game-center achievements list --detail-id "$DETAIL_ID" --output table
asc game-center leaderboards list --detail-id "$DETAIL_ID" --output table
Clean up — delete an achievement
# Copy the delete affordance from the achievement and run it
asc game-center achievements delete --achievement-id ach-abc123

Commands

asc game-center detail get

Get Game Center configuration for an app.

FlagRequiredDescription
--app-idyesApp Store Connect app ID
--output table|jsonnoOutput format (default: json)
--prettynoPretty-print JSON
asc game-center detail get --app-id 6443417124 --pretty
asc game-center detail get --app-id 6443417124 --output table
asc game-center achievements list

List all achievements for a Game Center detail.

FlagRequiredDescription
--detail-idyesGame Center detail ID
--output table|jsonnoOutput format
--prettynoPretty-print JSON
asc game-center achievements list --detail-id gc-abc123 --pretty
asc game-center achievements list --detail-id gc-abc123 --output table
asc game-center achievements create

Create a new achievement.

FlagRequiredDescription
--detail-idyesGame Center detail ID
--reference-nameyesInternal reference name
--vendor-identifieryesUnique identifier (e.g. first_steps)
--pointsyesPoint value for the achievement
--show-before-earnednoShow achievement before earned (flag)
--repeatablenoAchievement can be earned multiple times (flag)
--prettynoPretty-print JSON
asc game-center achievements create \
  --detail-id gc-abc123 \
  --reference-name "Speed Runner" \
  --vendor-identifier speed_runner \
  --points 50 \
  --repeatable
asc game-center achievements delete

Delete an achievement.

FlagRequiredDescription
--achievement-idyesAchievement ID to delete
asc game-center achievements delete --achievement-id ach-abc123
asc game-center leaderboards list

List all leaderboards for a Game Center detail.

FlagRequiredDescription
--detail-idyesGame Center detail ID
--output table|jsonnoOutput format
--prettynoPretty-print JSON
asc game-center leaderboards list --detail-id gc-abc123 --output table
asc game-center leaderboards create

Create a new leaderboard.

FlagRequiredDescription
--detail-idyesGame Center detail ID
--reference-nameyesInternal reference name
--vendor-identifieryesUnique identifier (e.g. all_time_high)
--score-sort-typeyesASC or DESC
--submission-typeyesBEST_SCORE or MOST_RECENT_SCORE
--prettynoPretty-print JSON
asc game-center leaderboards create \
  --detail-id gc-abc123 \
  --reference-name "Speed Run" \
  --vendor-identifier speed_run \
  --score-sort-type ASC \
  --submission-type MOST_RECENT_SCORE
asc game-center leaderboards delete

Delete a leaderboard.

FlagRequiredDescription
--leaderboard-idyesLeaderboard ID to delete
asc game-center leaderboards delete --leaderboard-id lb-abc123

Domain Models

GameCenterDetail — Game Center configuration for an app

  • id — Game Center detail ID
  • appId — parent App ID (injected from request, not returned by API)
  • isArcadeEnabled — whether Apple Arcade is enabled
  • Affordances: getDetail, listAchievements, listLeaderboards

GameCenterAchievement — A single Game Center achievement

  • id — achievement ID
  • gameCenterDetailId — parent detail ID (injected)
  • referenceName — internal name
  • vendorIdentifier — unique bundle-style identifier
  • points — point value
  • isShowBeforeEarned — visible before earned
  • isRepeatable — can be earned multiple times
  • isArchived — whether archived
  • Affordances: listAchievements, delete

GameCenterLeaderboard — A single Game Center leaderboard

  • id — leaderboard ID
  • gameCenterDetailId — parent detail ID (injected)
  • referenceName — internal name
  • vendorIdentifier — unique identifier
  • scoreSortType — ASC or DESC
  • submissionType — BEST_SCORE or MOST_RECENT_SCORE
  • isArchived — whether archived
  • Affordances: listLeaderboards, delete

Full Command Reference

See commands.md for all flags and examples.

Comments

Markdown supported