sentry-snapshots-cocoa
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".
- 0
- Installs
- —
- Rating
- —
- Success rate
- 7
- Files scanned
Security scan
Needs reviewSuspicious-but-common patterns. Skim the findings before installing.
- mediumUses sudo or world-writable permissions
references/github-actions-fanout.md:63
run: sudo xcode-select -s /Applications/Xcode_26.5.app
Root access or chmod 777 widens the blast radius of anything the skill runs.
- mediumUses sudo or world-writable permissions
references/github-actions-fanout.md:137
run: sudo xcode-select -s /Applications/Xcode_26.5.app
Root access or chmod 777 widens the blast radius of anything the skill runs.
- mediumUses sudo or world-writable permissions
references/github-actions-simple.md:65
run: sudo xcode-select -s /Applications/Xcode_26.5.app
Root access or chmod 777 widens the blast radius of anything the skill runs.
- mediumUses sudo or world-writable permissions
references/github-actions-swift-snapshot-testing.md:62
run: sudo xcode-select -s /Applications/Xcode_26.5.app
Root access or chmod 777 widens the blast radius of anything the skill runs.
Content sha256 fc6807787ecaad80… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Sentry Snapshots for Apple/Cocoa
Scope
- Goal: generate Apple snapshot images and upload them to Sentry Snapshots.
- Detect existing snapshot generation first, including Point-Free
swift-snapshot-testing; preserve it when it already emits or can emit PNGs or JPEGs. - Use the Sentry Wizard
appleSnapshotsflow only when setting up Sentry’s first-party SnapshotPreviews solution. - Use manual setup only if the wizard is unavailable, cannot resolve targets non-interactively after disambiguation, or fails after explicit disambiguation.
- Package-only SwiftPM: stop and ask for the host app/test target; standalone
swift testrendering is not supported.
Snapshot uploads send generated images and metadata to Sentry. Confirm the target organization/project and export directory, and check whether the images contain customer data or other sensitive content before uploading. Upload only the selected snapshot output within the user’s requested scope.
Detect
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.
Route
Resolve routing in this order; setup is the primary path and CI is optional follow-up.
- Select or create the image generator:
- named generator wins;
- multiple existing generators with no user choice -> ask;
- existing non-SnapshotPreviews generator -> preserve it;
- existing SnapshotPreviews -> use it;
- no existing generator -> set up SnapshotPreviews by default for Sentry Snapshots or Apple snapshot testing.
- For SnapshotPreviews, stop before setup/verification/CI if there is no
.xcodeprojhost app or no hosted XCTest target. These stops do not apply when preserving another generator. - For setup or verification:
- existing non-SnapshotPreviews generator -> read
references/snapshots.md; - existing SnapshotPreviews -> read
references/snapshot-previews.mdandreferences/snapshots.md; - new SnapshotPreviews setup -> read
references/wizard-setup.md; - wizard reports no Swift previews -> ask before adding previews or choosing another generator.
- existing non-SnapshotPreviews generator -> read
- For GitHub Actions/CI only after an image generator exists:
- Point-Free
swift-snapshot-testing-> readreferences/github-actions-swift-snapshot-testing.mdandreferences/snapshots.md; - other non-SnapshotPreviews generator -> read
references/snapshots.mdand adapt existing CI/upload; - SnapshotPreviews, one simulator only, no matrix/fanout/selective CI -> read
references/github-actions-simple.md; - SnapshotPreviews with multiple simulators, device families, matrix, or any
selective CI -> read
references/github-actions-fanout.mdandreferences/snapshot-previews.md.
- Point-Free
Optional References
| 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 |
Completion Checks
- The selected snapshot image generator is documented and preserved or configured according to the route above.
- Snapshot generation appears in the relevant local or CI test logs.
- Export directory contains
.pngfiles and any generated.jsonsidecars. - Upload succeeds and prints a Sentry URL or snapshot id.
- Base branch upload is full; selective PR upload includes the full image-name manifest.
Files
7- SKILL.md
5409028f9c5.6 KB - references/github-actions-fanout.md
b898782d197.5 KB - references/github-actions-simple.md
3d9b7a6d3e3.5 KB - references/github-actions-swift-snapshot-testing.md
ea5962fdb24.1 KB - references/snapshot-previews.md
e433a7d29b4.1 KB - references/snapshots.md
cb80ec078a5.4 KB - references/wizard-setup.md
de480acdd66.1 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from getsentry/sentry-for-ai7
Create Sentry alerts using the workflow engine API. Use when asked to create alerts, set up notifications, configure issue priority alerts, or build workflow automations. Supports email, Slack, PagerDuty, Discord, and other notification actions.
Debug and fix a Sentry issue — find it (by link, ID, or search), pull full context (stack trace, breadcrumbs, trace, logs), optionally run Seer root-cause / autofix, apply the code fix, and resolve it via a `Fixes PROJECT-NAME-12A` commit/PR. Use when working a known error or hunting one down to fix
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 f
Guided entry point for using Sentry through your agent. Orients you to your current setup and, for a new project, sets up Sentry end to end with sane defaults — provision a project, install the SDK (errors, tracing, and whatever it enables by default), and confirm real telemetry reaches Sentry. Rout
Instrument an application with Sentry — detect the platform, install and initialize the SDK if needed, and wire up any signal — error monitoring, tracing/performance, logging, metrics, profiling, session replay, user feedback, cron check-ins, uptime monitors for the deployed app, and AI/LLM monitori
Configure the OpenTelemetry Collector with Sentry Exporter for multi-project routing and automatic project creation. Use when setting up OTel with Sentry, configuring collector pipelines for traces and logs, or routing telemetry from multiple services to Sentry projects.
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 s
Related methodology skillsscan passed
Quality review of a change: is the logic right, is it safe, does it hold under real load, is risky code tested, is it fast enough, and is every line needed. Reads the connected code, not only the diff. Each finding is explained in plain English. Use for "review this", "code review", "review the last
Idiomatic Rust patterns, ownership, error handling, traits, concurrency, and best practices for building safe, performant applications. Use when writing or reviewing Rust code and ownership, error handling, traits, or concurrency is in question.