agentsclimarketplace

Apple three piece analytics

Skill wei18/apple-dev-skills/apple-dev-skills/skills/apple-three-piece-analytics

Reusable Claude Code skills for AI-agent-driven Swift / Apple-platform development — composable via git submodule; aggregates other specialist skill repos

Install
npx -y skills add wei18/apple-dev-skills --skill apple-three-piece-analytics

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Default analytics stack for solo / small Apple-platform Apps — App Store Connect Analytics + MetricKit + Game Center (for games), no third-party tracking SDK by default, PrivacyInfo.xcprivacy mandatory. Invoke when starting a new project, deciding analytics SDK (vs Firebase / TelemetryDeck / Amplitude), writing PrivacyInfo, or when asked "should I integrate Firebase / Mixpanel / TelemetryDeck".

SKILL.md

3.8 KB, as published. Nobody here has run it

Apple Three-Piece Analytics

When to invoke

  • Starting a new App and deciding on an analytics SDK.
  • Evaluating Firebase / TelemetryDeck / Mixpanel / Amplitude / Sentry.
  • Writing PrivacyInfo.xcprivacy.
  • User asks "what metrics should I track", "what can I see without a third-party SDK".

Default decisions

v1 uses the Apple three-piece set

SourceWhat it providesWhere to view
App Store Connect AnalyticsDownloads, sessions, active devices, retention, sources, store conversionApp Store Connect web
MetricKit (MXMetricPayload, MXDiagnosticPayload)Performance & diagnostics: crash / hang / launch time / jank / energy / memoryThe App receives them → persist to log / optionally upload later

macOS caveat: MetricKit on macOS yields a reduced payload set compared to iOS (some payload types are iOS-only, e.g. MXAppLaunchMetric). For mac-heavy apps, lean more on App Store Connect Analytics + targeted OSSignposter traces. | Game Center (if it's a game) | Leaderboards / achievement completion / peer-player comparison | Game Center API / Game Center app |

Privacy / Manifest

  • PrivacyInfo.xcprivacy is a required deliverable (hard App Store submission requirement).
  • Because no third-party SDK, no IDFA, no PII are collected, the manifest content is very minimal.
  • No ATT prompt needed (no IDFA use case).
  • CloudKit / Game Center's user-facing privacy notices are handled at the system layer by Apple; the App only needs to declare data usage in PrivacyInfo.

What's not covered (explicitly accepted)

  • Micro-behaviour streams like "which button was tapped" or "how long was spent on a screen" are not covered by the three-piece set.
  • Confirm v1 doesn't need to answer these questions; deviate if it does.

Rationale

  • At solo / small-team scale, the three pieces cover most key questions (installs / retention / performance / crashes / player comparisons).
  • No third-party SDK → no ATT, no PrivacyInfo additions, small build size, and the privacy claim is verifiable by readers via grep on import.
  • Positive for a public-repo showcase ("no third-party tracking" is a credible commitment).

Deviation considerations

Adopt TelemetryDeck (privacy-friendly first)

  • Trigger: actually need the micro-behaviour stream of "which button, where do users get stuck".
  • Priority: TelemetryDeck > Firebase (the latter has heavier privacy burden, needs ATT, and many PrivacyInfo entries).
  • How to integrate: swap in the TrackingSink implementation via telemetry-facade-pattern; call sites change nothing.

Adopt Sentry / Crashlytics

  • Trigger: MetricKit MXDiagnosticPayload persistence still isn't enough for the incident workflow.
  • Cost: third-party SDK, extra PrivacyInfo entries, build size.

Verification checklist

  • PrivacyInfo.xcprivacy exists and passes App Store Connect validation.
  • No import Firebase* / import Sentry / import Amplitude, etc.
  • MetricKit subscription is wired (MXMetricManager.shared.add(...)).
  • Game Center entitlement aligns with leaderboard / achievement definitions (for games).

Related skills

  • telemetry-facade-pattern: the sink implementations for each piece.
  • oslog-logger-defaults: MetricKit payloads persist via OSLog.
  • apple-public-repo-security: "no PII / no third-party SDK" is one of the public-repo commitments.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.