src/skills/sentry-snapshots-cocoa/SKILL.md
Full Sentry Snapshots setup for Apple/Cocoa projects. Use when asked to "setup SnapshotPreviews", "setup Apple snapshot testing", "upload Apple snapshots to Sentry", "setup Apple snapshot GitHub Actions", or "setup Apple selective snapshot testing".
npx skillsauth add getsentry/sentry-for-claude sentry-snapshots-cocoaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
swift-snapshot-testing; preserve it when it already emits or can emit PNGs or JPEGs.appleSnapshots flow only when setting up Sentry’s first-party
SnapshotPreviews solution.swift test rendering is not supported.Do only enough detection to route before calling the wizard:
# SnapshotPreviews (Sentry first-party) -> prefer wizard / SnapshotPreviews routing
find . \( -name Package.swift -o -name Package.resolved -o -path '*/project.pbxproj' \) -print0 2>/dev/null | xargs -0 grep -lE "SnapshotPreviews" 2>/dev/null
# Point-Free swift-snapshot-testing -> preserve generator, swift-snapshot-testing CI path
find . \( -name Package.swift -o -name Package.resolved -o -path '*/project.pbxproj' \) -print0 2>/dev/null | xargs -0 grep -lE "swift-snapshot-testing|SnapshotTesting|assertSnapshot|__Snapshots__|TEST_RUNNER_SNAPSHOT_TESTING_RECORD" 2>/dev/null
# Required wizard input
find . -name '*.xcodeproj' -print 2>/dev/null | head -20
# Workflow shape
ls fastlane/Fastfile Gemfile 2>/dev/null
# Sentry auth presence only -> never print secret values
[ -n "$SENTRY_AUTH_TOKEN" ] && echo "SENTRY_AUTH_TOKEN=set" || echo "SENTRY_AUTH_TOKEN=unset"
[ -n "$SENTRY_ORG" ] && echo "SENTRY_ORG=set" || echo "SENTRY_ORG=unset"
[ -n "$SENTRY_PROJECT" ] && echo "SENTRY_PROJECT=set" || echo "SENTRY_PROJECT=unset"
Record: existing SnapshotPreviews setup, existing snapshot generator/library, output
directory if known, Xcode project directory, CI provider, Fastlane, and Sentry auth.
For each .xcodeproj match, record the containing directory for --xcode-project-dir;
if find prints ./MyApp/MyApp.xcodeproj, pass ./MyApp, not the bundle path.
Let the wizard detect app targets, hosted XCTest targets, and Swift previews only when
no existing generator is present.
Resolve routing in this order; setup is the primary path and CI is optional follow-up.
.xcodeproj
host app or no hosted XCTest target.
These stops do not apply when preserving another generator.references/snapshots.md;references/snapshot-previews.md and
references/snapshots.md;references/wizard-setup.md;swift-snapshot-testing -> read
references/github-actions-swift-snapshot-testing.md and
references/snapshots.md;references/snapshots.md and adapt
existing CI/upload;references/github-actions-simple.md;references/github-actions-fanout.md and
references/snapshot-previews.md.| Need | Read |
| --- | --- |
| First-party SnapshotPreviews setup, disambiguation, or manual fallback | references/wizard-setup.md |
| SnapshotPreviews metadata, rendering preferences, selective rendering, or SnapshotPreviews-specific troubleshooting | references/snapshot-previews.md |
| Upload any generated snapshot images to Sentry with Fastlane, sentry-cli, manifests, CI notes, or upload troubleshooting | references/snapshots.md |
| One-destination GitHub Actions workflow | references/github-actions-simple.md |
| Multi-destination/fan-out GitHub Actions workflow | references/github-actions-fanout.md |
| Point-Free swift-snapshot-testing GitHub Actions workflow | references/github-actions-swift-snapshot-testing.md |
.png files and any generated .json sidecars.development
Set up Sentry releases and deploy tracking — tag events with a version and environment, create the release in CI with its commits, and wire up suspect commits and code mappings, so Sentry can show which release introduced an issue, which commit is responsible, and release health. Use when asked to set up releases, track deploys, see what changed, or when issues show an unknown release or no suspect commit.
development
Make Sentry stack traces readable — upload source maps for JavaScript/TypeScript, or debug files for native and mobile (dSYM, ProGuard/R8, NDK symbols, Dart obfuscation maps, .NET PDBs). Use when frames in Sentry show minified names, bundled paths, hex addresses, "unknown", or method names with no file/line, instead of your original source.
development
Setup Sentry AI Agent Monitoring in any project. Use when asked to monitor LLM calls, track AI agents, track conversations, or instrument OpenAI/Anthropic/Vercel AI/LangChain/Google GenAI/Pydantic AI/Laravel AI. Detects installed AI SDKs and configures appropriate integrations.
development
Upgrade the Sentry JavaScript SDK across major versions. Use when asked to upgrade Sentry, migrate to a newer version, fix deprecated Sentry APIs, or resolve breaking changes after a Sentry version bump.