Agent skill

App Store Connect Analytics Collector

by rorkai in rorkai/app-store-connect-cli-skills

Collects and verifies App Store Connect analytics report segments with the asc CLI, checking size and MD5 before handing them off for analysis.

MITAuto-check passedData & Analytics

Install App Store Connect Analytics Collector

skills CLI
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-analytics-reports -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rorkai/app-store-connect-cli-skills asc-analytics-reports --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rorkai/app-store-connect-cli-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/asc-analytics-reports .claude/skills/asc-analytics-reports && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
asc-analytics-reports
GitHub stars
1.1k
Used in
1 other repo
Token cost
~1.9k tokens
SKILL.md length
786 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Collects and verifies App Store Connect analytics report segments with the asc CLI, checking size and MD5 before handing them off for analysis.

  • Works in 7 steps: Verify the CLI contract → Prepare private storage → Find an existing request → …
  • Downloading a complete set of App Store Connect analytics segments
  • SKILL.md covers Guardrails, 1. Verify the CLI contract, 2. Prepare private storage and 3. Find an existing request, plus 4 more sections
  • Calls jq and openssl

What it does

It first checks that the installed `asc` CLI's `analytics view --help` lists `--processing-date`, `--granularity`, `--paginate` and `--include-segments`, flags that need asc 3.5.0 or newer, and refuses to fall back to the deprecated `--date` flag because it matches locally rather than by Apple's server-side processing date.

A private, owner-only temporary directory outside the repository is prepared before touching any data, and an existing analytics request is preferred over creating a new one, since creation changes App Store Connect state and needs an admin-authorized profile plus explicit approval. Every segment is downloaded through `asc analytics download` rather than fetching signed URLs directly, and the skill will not claim the collection is complete if a segment is missing or fails its size and MD5 check. It only collects and verifies; interpreting the report contents is left to a separate workflow.

When your agent uses it

  • Downloading a complete set of App Store Connect analytics segments
  • Verifying analytics report files against Apple's size and MD5 metadata
  • Finding or creating an analytics report request for an app

Example prompts

  • “Download this app's analytics reports for last week's daily granularity.”
  • “Verify the downloaded App Store Connect segments against their MD5 checksums.”
  • “Is there an existing ongoing analytics request, or do we need a new one?”

Requirements

  • asc CLI 3.5.0 or newer
  • An App Store Connect profile with analytics access

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Verify the CLI contract
  2. Prepare private storage
  3. Find an existing request
  4. Discover and select report instances
  5. Download every segment
  6. Verify the downloaded files
  7. Report the result

What it can do on your machine

Read from SKILL.md and the folder at commit 9c7e769. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • openssl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

App Store Connect Analytics Collector loads about 1.9k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 786 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rorkai/app-store-connect-cli-skills at commit 9c7e769, republished under its MIT licence (© rorkai). 786 words, ~1,909 tokens.

Download SKILL.mdSave it as .claude/skills/asc-analytics-reports/SKILL.md (or your agent's skills folder).
name
asc-analytics-reports
description
Collect, download, and verify App Store Connect Analytics reports with asc. Use when users need to discover analytics report requests, select report instances by processing date or granularity, download every segment, or verify downloaded files against Apple's size and MD5 metadata before analysis.

asc analytics reports

Collect a complete set of analytics report segments and verify the compressed files before handing them to a separate analysis workflow. Do not interpret, aggregate, or present the report contents as part of this skill.

Guardrails

  • Treat report inventories, signed URLs, downloaded segments, and identifiers as confidential business data.
  • Prefer an existing request. Creating a request changes App Store Connect state and requires an Admin-authorized profile; obtain explicit user approval before running asc analytics request.
  • Never delete or replace a request as part of collection.
  • Use asc analytics download; do not fetch or persist signed segment URLs separately.
  • Store private files outside the source repository with owner-only permissions.
  • Do not claim the collection is complete if any expected segment is missing or fails verification.

1. Verify the CLI contract

Inspect the installed command before authentication or collection:

bash
asc analytics view --help

Continue only when help lists --processing-date, --granularity, --paginate, and --include-segments. These filters require asc 3.5.0 or newer. If either filter is absent, ask the user to upgrade. Do not substitute the deprecated --date flag because it uses legacy local matching rather than Apple's server-side processing-date filter.

2. Prepare private storage

Create a private temporary directory outside the repository before capturing JSON or downloading segments:

bash
umask 077
ASC_ANALYTICS_DIR="$(mktemp -d "${TMPDIR:-/tmp}/asc-analytics.XXXXXX")"
mkdir -m 700 "$ASC_ANALYTICS_DIR/segments"

Redirect command output and errors into this directory. Do not paste raw inventory JSON or error output into chat, commits, issues, or pull requests.

3. Find an existing request

Resolve the app ID and selected asc profile, then list every request:

bash
asc --profile "$PROFILE" analytics requests \
  --app "$APP_ID" \
  --paginate \
  --output json \
  > "$ASC_ANALYTICS_DIR/requests.json" \
  2> "$ASC_ANALYTICS_DIR/requests.stderr"

Inspect the JSON structurally and select an existing usable request. Do not rely on --state when discovery works without it. If no usable request exists, stop and ask whether the user wants to create ONGOING or ONE_TIME_SNAPSHOT access. State the target app and profile before requesting approval. After approval, prefer --reuse-existing to avoid duplicates:

bash
asc --profile "$APPROVED_PROFILE" analytics request \
  --app "$APP_ID" \
  --access-type "$ACCESS_TYPE" \
  --reuse-existing \
  --output json \
  > "$ASC_ANALYTICS_DIR/request.json" \
  2> "$ASC_ANALYTICS_DIR/request.stderr"

Do not run that command without explicit approval. Read the returned request ID from the private JSON response before continuing:

bash
REQUEST_ID="$(jq -er '.requestId' "$ASC_ANALYTICS_DIR/request.json")"

When a request was created or reused with the approved profile, set ANALYTICS_PROFILE="$APPROVED_PROFILE". For an existing request discovered with the read-only profile, set ANALYTICS_PROFILE="$PROFILE". Use that same profile for every subsequent analytics view and analytics download call.

4. Discover and select report instances

First retrieve report and instance metadata without segment URLs:

bash
asc --profile "$ANALYTICS_PROFILE" analytics view \
  --request-id "$REQUEST_ID" \
  --paginate \
  --output json \
  > "$ASC_ANALYTICS_DIR/discovery.json" \
  2> "$ASC_ANALYTICS_DIR/discovery.stderr"

Select an available processingDate and the granularity requested by the user. Accept DAILY, WEEKLY, and MONTHLY, individually or as a comma-separated list. Split the input on commas, trim each token, and normalize it to uppercase. Validate every token against that allowlist, including empty tokens. Report the invalid input and stop before running analytics view; never silently discard unsupported values or continue with an empty filter. After validation, remove duplicates and join the remaining values with commas. Treat processingDate as the date Apple processed the report, not necessarily the period represented by its rows.

Retrieve the filtered inventory, including all segment metadata:

bash
asc --profile "$ANALYTICS_PROFILE" analytics view \
  --request-id "$REQUEST_ID" \
  --processing-date "$PROCESSING_DATE" \
  --granularity "$GRANULARITY" \
  --paginate \
  --include-segments \
  --output json \
  > "$ASC_ANALYTICS_DIR/inventory.json" \
  2> "$ASC_ANALYTICS_DIR/inventory.stderr"

Always use --paginate; asc follows Apple-provided report and instance next links. Do not reconstruct, alter, or follow pagination URLs manually.

Show full SKILL.md (294 more words)Show less

5. Download every segment

Parse inventory.json structurally. For every selected instance, enumerate all segments and retain each segment's exact ID, sizeInBytes, and checksum for verification. Do not print downloadUrl.

Download each segment by its request, instance, and segment IDs. Use a filename derived only from the segment ID and keep the compressed bytes intact. Analytics reports are tab-delimited text, so use .txt.gz rather than implying CSV:

bash
SEGMENT_FILE="$ASC_ANALYTICS_DIR/segments/$SEGMENT_ID.txt.gz"
asc --profile "$ANALYTICS_PROFILE" analytics download \
  --request-id "$REQUEST_ID" \
  --instance-id "$INSTANCE_ID" \
  --segment-id "$SEGMENT_ID" \
  --output "$SEGMENT_FILE" \
  > /dev/null \
  2>> "$ASC_ANALYTICS_DIR/download.stderr"

Do not use --decompress before verification. If an instance has multiple segments, download every one; never treat the first segment as the whole report.

6. Verify the downloaded files

For each file, compare the compressed byte count with sizeInBytes and the lowercase MD5 digest with checksum. Use local system tools such as:

bash
actual_size="$(wc -c < "$SEGMENT_FILE" | tr -d ' ')"
actual_md5="$(openssl dgst -md5 -r "$SEGMENT_FILE" | awk '{print tolower($1)}')"
expected_md5="$(printf '%s' "$CHECKSUM" | tr '[:upper:]' '[:lower:]')"

Require actual_size to equal sizeInBytes and actual_md5 to equal expected_md5. On a mismatch, mark that segment failed, keep the raw error private, and do not claim a complete collection. asc analytics download refuses to overwrite an existing output, so retry the failed segment once to a new path such as $ASC_ANALYTICS_DIR/segments/$SEGMENT_ID.retry-1.txt.gz. Verify the retry independently and use it only if both checks pass. Keep the original failed file unless the user approves its deletion. Do not parse or analyze a file until verification succeeds.

7. Report the result

Return a concise summary containing:

  • the selected processing date and granularity values;
  • counts of reports, instances, expected segments, downloaded segments, and verified segments;
  • whether the collection is complete;
  • failed or missing segment IDs, if any, without signed URLs or report rows;
  • the private output directory when appropriate for the current user session.

Do not include analytics values, signed URLs, profile names, credentials, or raw rows in a public artifact. Keep the verified files for the user's next workflow. Ask before deleting the temporary directory or any downloaded evidence.

© rorkai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/asc-analytics-reports of rorkai/app-store-connect-cli-skills.

Open the folder on GitHubat commit 9c7e769

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in rorkai/app-store-connect-cli-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

App Store Connect Analytics Collector next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

App Store Connect Analytics Collector compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
App Store Connect Analytics Collector this skillrorkai/app-store-connect-cli-skills1.1k1 repos~1.9kAutomated safety check: PassMIT
Setup Workspaceprobabl-ai/skills138—~1.5kAutomated safety check: PassBSD-3-Clause
Cao Workflowawslabs/cli-agent-orchestrator1.4k—~4.3kAutomated safety check: PassApache-2.0
Kql Query AuthoringSCStelz/security-investigator250—~5.7kAutomated safety check: PassMIT
Apex Azure Kustojonathan-vella/apex217—~984Automated safety check: PassMIT
Amazon Opensearch Serviceaws/agent-toolkit-for-aws2.8k—~2.4kAutomated safety check: PassApache-2.0

Similar skills

  • Setup Workspace

    probabl-ai/skills

    Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.

    138 GitHub stars~1.5k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Cao Workflow

    awslabs/cli-agent-orchestrator

    Official

    Author and run CAO Python workflow scripts — multi-step, parameterized, fan-out orchestrations executed by cao workflow run.

    1.4k GitHub stars~4.3k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Kql Query Authoring

    SCStelz/security-investigator

    A skill your agent uses when asked to write, create, or help with KQL (Kusto Query Language) queries for Microsoft Sentinel, Defender XDR, or Azure Data Explorer.

    250 GitHub stars~5.7k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Apex Azure Kusto

    jonathan-vella/apex

    ANALYSIS SKILL — Query and analyze data in Azure Data Explorer (Kusto/ADX) using KQL.

    217 GitHub stars~984 tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Amazon Opensearch Service

    aws/agent-toolkit-for-aws

    Official

    Guides migration, provisioning, search, log-analytics, trace-analytics, and Agentic AI Assistant workflows for Amazon OpenSearch Service and Serverless across six capabilities — migration…

    2.8k GitHub stars~2.4k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Exploratory Data Analysis

    spacering-net/codeg

    Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.

    3.9k GitHub starsUsed in 14 repos~3.6k tokens
    Data & AnalyticsAuto-check passed

More from rorkai/app-store-connect-cli-skills

All 12 skills in this repo
  • App Store Release Flow

    rorkai/app-store-connect-cli-skills

    Orchestrates App Store releases with the asc CLI: staging a version, uploading or building, publishing and submitting for review, with dry-run and confirmation gates.

    1.1k GitHub starsUsed in 2 repos~2k tokens
    Auto-check passed
  • App Store Submission Health

    rorkai/app-store-connect-cli-skills

    Diagnoses why an App Store version cannot be submitted or is stuck in review, using the asc CLI for validation, repair routing, status checks and retry decisions.

    1.1k GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • App Store Connect App Creator

    rorkai/app-store-connect-cli-skills

    Creates a new App Store Connect app record by driving the New App form through browser automation, for cases where no public API covers app creation.

    1.1k GitHub starsUsed in 3 repos~1.5k tokens
    Auto-check passed
  • Asc Ppp Pricing

    rorkai/app-store-connect-cli-skills

    Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands.

    1.1k GitHub starsUsed in 3 repos~4.2k tokens
    Auto-check passed
  • Asc Revenuecat Catalog Sync

    rorkai/app-store-connect-cli-skills

    Reconcile App Store Connect subscriptions and in-app purchases with RevenueCat products, entitlements, offerings, and packages using asc and RevenueCat MCP.

    1.1k GitHub starsUsed in 3 repos~3.8k tokens
    Auto-check passed
  • Asc Subscription Localization

    rorkai/app-store-connect-cli-skills

    Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources.

    1.1k GitHub starsUsed in 2 repos~2.7k tokens
    Auto-check passed

Questions about App Store Connect Analytics Collector

What does App Store Connect Analytics Collector do?

Collects and verifies App Store Connect analytics report segments with the asc CLI, checking size and MD5 before handing them off for analysis. 0 or newer, and refuses to fall back to the deprecated `--date` flag because it matches locally rather than by Apple's server-side processing date.

When should I use App Store Connect Analytics Collector?

App Store Connect Analytics Collector fits situations like: downloading a complete set of App Store Connect analytics segments; verifying analytics report files against Apple's size and MD5 metadata; finding or creating an analytics report request for an app.

How do I install App Store Connect Analytics Collector in Claude Code?

Run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-analytics-reports -a claude-code`. Or copy the skill folder (skills/asc-analytics-reports in rorkai/app-store-connect-cli-skills) into .claude/skills/asc-analytics-reports in your project. Claude Code loads it when a task matches its description.

How do I install App Store Connect Analytics Collector in Codex?

Run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-analytics-reports -a codex`. Or copy the skill folder (skills/asc-analytics-reports in rorkai/app-store-connect-cli-skills) into .agents/skills/asc-analytics-reports in your project. Codex loads it when a task matches its description.

Can I use App Store Connect Analytics Collector in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-analytics-reports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asc-analytics-reports, .gemini/skills/asc-analytics-reports, .github/skills/asc-analytics-reports and .opencode/skills/asc-analytics-reports in your project.

What does App Store Connect Analytics Collector need to run?

Going by SKILL.md and its folder, App Store Connect Analytics Collector needs the command-line tools its instructions call (jq and openssl). Our summary lists: asc CLI 3.5.0 or newer; An App Store Connect profile with analytics access.

Does App Store Connect Analytics Collector access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is App Store Connect Analytics Collector safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does App Store Connect Analytics Collector use?

App Store Connect Analytics Collector is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does App Store Connect Analytics Collector use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to App Store Connect Analytics Collector?

Skills that share tags, products or a category with App Store Connect Analytics Collector: Setup Workspace (probabl-ai/skills, 138 stars), Cao Workflow (awslabs/cli-agent-orchestrator, 1.4k stars), Kql Query Authoring (SCStelz/security-investigator, 250 stars) and Apex Azure Kusto (jonathan-vella/apex, 217 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains App Store Connect Analytics Collector?

rorkai (a GitHub organization) maintains it in rorkai/app-store-connect-cli-skills, which has 1,064 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 5, 2026.

Source: rorkai/app-store-connect-cli-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.