| name | asc-testflight |
| description | Manage TestFlight beta groups and testers using the `asc` CLI tool.
Use this skill when:
(1) Listing beta groups for an app (`asc testflight groups list`)
(2) Creating internal or external beta groups (`asc testflight groups create --internal`)
(3) Listing testers in a group (`asc testflight testers list --group-id <id>`)
(3) Adding a single tester by email (`asc testflight testers add`)
(4) Removing a tester from a group (`asc testflight testers remove`)
(5) Bulk-importing testers from a CSV file (`asc testflight testers import`)
(6) Exporting testers to CSV for re-use (`asc testflight testers export`)
(7) User says "add beta tester", "invite tester", "remove tester", "import testers",
"export testers", "list beta groups", or any TestFlight tester management task
|
TestFlight 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": "jane@example.com",
"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')
asc testflight groups list --app-id "$APP_ID" --pretty
asc testflight testers list --group-id g-abc123 --pretty
asc testflight testers add \
--group-id g-abc123 \
--email jane@example.com \
--first-name Jane \
--last-name Doe
asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789
asc testflight testers import --group-id g-abc123 --file testers.csv
asc testflight testers export --group-id g-abc123 > testers.csv
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
jane@example.com,Jane,Doe
john@example.com,John,Smith
anon@example.com,,
Output Flags
--pretty
--output table
--output markdown
Full Command Reference
See commands.md for all flags, filters, and examples.