About asc-testflight
asc-testflight is a command-line skill for managing TestFlight beta groups and testers. It guides workflows with ready-to-run commands embedded in responses and supports CSV import and export.
Key features
- 01List beta groups and testers
- 02Import and export testers as CSV
- 03Use suggested follow-up commands
- 04Format output as JSON, table, or Markdown
Use cases
- 01Find an app's beta groups
- 02Review testers in a group
- 03Import or export tester lists
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ tddworks/ asc-cli-skills --skill asc-testflightAfter installing, type/asc-testflightin Claude Code to confirm it loaded.
Bundled filesreferences/commands.md
Details
From the project READMETestFlight Beta Tester Management with asc
Manage beta groups and testers for your TestFlight distribution.
Authentication
Set up credentials before any TestFlight commands:
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" with ready-to-run commands:
BetaGroup affordances:
{
"id": "g-abc123",
"appId": "6450406024",
"name": "External Beta",
"affordances": {
"listTesters": "asc testflight testers list --group-id g-abc123",
"importTesters": "asc testflight testers import --group-id g-abc123 --file testers.csv",
"exportTesters": "asc testflight testers export --group-id g-abc123"
}
}
BetaTester affordances:
{
"id": "t-xyz789",
"groupId": "g-abc123",
"email": "[email protected]",
"affordances": {
"listSiblings": "asc testflight testers list --group-id g-abc123",
"remove": "asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789"
}
}
Copy affordance commands directly — no need to look up IDs.
Resolve App ID
See project-context.md — check .asc/project.json before asking the user or running asc apps list.
Typical Workflow
APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')
# If empty: ask user or run `asc apps list | jq -r '.data[0].id'`
# 1. Find beta groups for an app
asc testflight groups list --app-id "$APP_ID" --pretty
# 2. List testers in a group (copy affordance "listTesters" from step 1)
asc testflight testers list --group-id g-abc123 --pretty
# 3. Add a single tester
asc testflight testers add \
--group-id g-abc123 \
--email [email protected] \
--first-name Jane \
--last-name Doe
# 4. Remove a tester (copy affordance "remove" from tester JSON)
asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789
# 5. Bulk import from CSV (header row required: email,firstName,lastName)
asc testflight testers import --group-id g-abc123 --file testers.csv
# 6. Export to CSV (pipe to file or use redirect)
asc testflight testers export --group-id g-abc123 > testers.csv
# 7. Clone a group's testers to a new group
asc testflight testers export --group-id g-abc123 > testers.csv
asc testflight testers import --group-id g-new456 --file testers.csv
CSV Format
Import/export CSV — header row required, firstName and lastName are optional:
email,firstName,lastName
[email protected],Jane,Doe
[email protected],John,Smith
[email protected],,
Output Flags
--pretty # Pretty-print JSON
--output table # Table format
--output markdown # Markdown table
Full Command Reference
See commands.md for all flags, filters, and examples.