testflight

testflight is a skill for Claude Code from Sassy-Dog/sassydog-skills. It costs 84 tokens per session (933 once invoked), scanned A, original, Apache-2.0.

A workflow for querying TestFlight and App Store Connect, Apple's services for distributing beta apps and managing app releases. It can retrieve feedback, testers, builds, and beta groups through Apple's API.

In plain words
What is it for?
Reviewing TestFlight feedback, listing beta testers and groups, checking recent builds, and querying App Store Connect data.
Why use it?
It avoids manually searching Apple's dashboards when checking beta testing activity and build information.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the sassy-dog plugin — 21 skills, 10 agents shipped together

Good fit Reviewing TestFlight feedback, listing beta testers and groups, checking recent builds, and querying App Store Connect data.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/sassy-dog/sassydog-skills/testflight
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Sassy-Dog/sassydog-skills --skill testflight
Clone the repo
git clone --depth 1 https://github.com/Sassy-Dog/sassydog-skills

Made for: Claude Code.

Or install sassy-dog, the plugin that ships this one along with the rest of its 21 skills, 10 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for testflight

README.md
[![agentmods](https://agentmods.dev/badge/skills/sassy-dog/sassydog-skills/testflight/github.svg)](https://agentmods.dev/skills/sassy-dog/sassydog-skills/testflight)
Your own site
<a href="https://agentmods.dev/skills/sassy-dog/sassydog-skills/testflight"><img src="https://agentmods.dev/badge/skills/sassy-dog/sassydog-skills/testflight/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for testflight

Your own site · 80×15
<a href="https://agentmods.dev/skills/sassy-dog/sassydog-skills/testflight"><img src="https://agentmods.dev/badge/skills/sassy-dog/sassydog-skills/testflight.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 933 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00084 $0.00933
Opus 5 $0.00042 $0.00466
Sonnet 5 $0.00017 $0.00187
Haiku 4.5 $0.00008 $0.00093

Measured 10d ago against content hash d6412c5e0c26, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

testflight scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/appstore-connect.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **`scripts/appstore-connect.sh`** — Bundled query script with JWT generation, multi-command support, and error handling. Prefers `python3` with PyJWT for reliable ES256 JWT signing; falls back to `openssl` with DER-to-
skills/testflight/SKILL.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

TestFlight & App Store Connect

Query TestFlight feedback, beta testers, builds, and beta groups via the App Store Connect API using a bundled script.

Prerequisites

Three environment variables must be available (typically from Doppler via direnv). The canonical APPLE_ASC_* names are preferred; the legacy APPLE_APP_STORE_CONNECT_* names are still accepted as a fallback.

Variable (canonical) Legacy fallback Source
APPLE_ASC_API_KEY_ID APPLE_APP_STORE_CONNECT_API_KEY_ID Apple Developer > Keys
APPLE_ASC_ISSUER_ID APPLE_APP_STORE_CONNECT_ISSUER_ID Apple Developer > Keys
APPLE_ASC_API_KEY_BASE64 APPLE_APP_STORE_CONNECT_API_KEY_BASE64 .p8 file, base64-encoded

If missing, prompt the user to add them to Doppler and run direnv allow.

Usage

The bundled script scripts/appstore-connect.sh handles JWT generation and API calls.

Available Commands

# TestFlight feedback (default)
bash ${SKILL_DIR}/scripts/appstore-connect.sh <bundle-id> feedback

# List beta testers
bash ${SKILL_DIR}/scripts/appstore-connect.sh <bundle-id> testers

# Recent builds
bash ${SKILL_DIR}/scripts/appstore-connect.sh <bundle-id> builds

# Beta groups
bash ${SKILL_DIR}/scripts/appstore-connect.sh <bundle-id> groups

# Raw API query (any App Store Connect endpoint path)
bash ${SKILL_DIR}/scripts/appstore-connect.sh <bundle-id> raw /v1/apps/{appId}/betaAppLocalizations

Bundle IDs

Look up the bundle ID from the project's iOS config. Common locations:

  • Flutter: ios/Runner.xcodeproj/project.pbxproj or ios/Runner/Info.plist
  • Xcode: target > General > Bundle Identifier
  • If unknown, run with any bundle ID — the script lists available apps on auth errors

Workflow

  1. Verify env vars are set: check APPLE_APP_STORE_CONNECT_API_KEY_ID exists in environment
  2. Determine the bundle ID from project config
  3. Run the appropriate command via the bundled script
  4. Parse and present the JSON output to the user in a readable format

Read the full file on GitHub · 91 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 91 lines · 84 tokens per session scan A d6412c5e0c26

Subscribe to this mod's changes

testflight is a skill published in the GitHub repository Sassy-Dog/sassydog-skills (0 stars, last pushed 2d ago), licensed Apache-2.0. It adds 84 tokens to every session and 933 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

test-native-extension

Validate a third-party control repo across four automated layers plus one printed manual recipe. Layer 1 asserts native-source structure (Android getName() and iOS +moduleName to manifest nativeModule; @ReactMethod / RCTEXPORTMETHOD to methods; no @ReactModule) plus load/init readiness (ReactPackage public no-arg…

microsoft/power-platform-skills · 211 tokens

add-native

Public entry point for native device capabilities and native controls — camera, image picker, barcode/QR scanner, document picker, file picker, secure storage, file system, sharing, PDF generation/viewing, pen/signature capture, background GPS/geolocation tracking, or supported local file workflows — in a Power Apps…

microsoft/power-platform-skills · 96 tokens

audit-ppmplugin

Statically audit a built .ppmplugin before wrap testing. Checks archive layout, manifest compatibility, bundle consistency, Android DEX integrity and SDK leakage, iOS framework structure, native source-to-receiver alignment, and the PCF composite-key/sendAsync transport contract. Reports CRITICAL, WARNING, and INFO…

microsoft/power-platform-skills · 112 tokens

build-android-binary

Compile a PAM control's Android Kotlin module into the runtime-loadable DEX for a .ppmplugin. Creates a staged Gradle build with the pinned wrapper and react-android compile dependency, verifies manifest/module/package alignment and runtime-loading constraints, builds the release AAR, then runs d8 --min-api 24. Writes…

microsoft/power-platform-skills · 150 tokens

generate-ppmplugin

Build and verify a third-party .ppmplugin end to end. This recommended entry point detects Android and iOS source, confirms target platforms, then invokes the manifest, platform build, assemble, and audit stages in order. Advanced users can invoke a stage directly for focused reruns or debugging. Produces a…

microsoft/power-platform-skills · 107 tokens

add-pdf-report

Internal implementation skill invoked by /add-native for app-generated PDF report workflows using expo-print and, when present, expo-sharing.

microsoft/power-platform-skills · 30 tokens