sentry-snapshots-cocoa
This skill configures Apple projects to generate snapshot images and upload them to Sentry Snapshots.
Identity proven by GitHub's verified organisation badge (getsentry)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- Apache-2.0 (permissive)
- Pin
- d8fd106pinned Oct 9, 2026
- Context cost
- about 1,300 tokenswhen the skill loads
- GitHub stars
- 268on getsentry/sentry-for-ai
- Scripts
- None found
What it does
“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".”
Generated summary from the skill's own text
This skill configures Apple projects to generate snapshot images and upload them to Sentry Snapshots. It detects existing snapshot tools like Point-Free swift-snapshot-testing, sets up Sentry's SnapshotPreviews when needed, and routes to the appropriate GitHub Actions workflow for CI integration.
When to use it
- Setting up snapshot testing for iOS or macOS Xcode projects
- Configuring snapshot image uploads to Sentry
- Adding GitHub Actions CI for snapshot generation and comparison
- Integrating with existing Point-Free snapshot-testing libraries
When not to
- Package-only SwiftPM projects without a host app or test target
- When another snapshot tool is already fully configured and CI is complete
- Projects without Xcode projects or XCTest targets
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add getsentry/sentry-for-ai --skill sentry-snapshots-cocoaInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install getsentry/sentry-for-ai sentry-snapshots-cocoa@d8fd106782e609625704f5348b25c43b2f5dbeffInstalls the commit we checked (d8fd106).
Copy by hand
Download the folder at d8fd106 and put it in .claude/skills/sentry-snapshots-cocoa for Claude Code and in .agents/skills/sentry-snapshots-cocoa for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install sentry@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Claude Code plugin
/plugin install sentry-cli@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "sentry-snapshots-cocoa" by Sentry. Source, pinned to commit d8fd106782e609625704f5348b25c43b2f5dbeff: https://github.com/getsentry/sentry-for-ai/tree/d8fd106782e609625704f5348b25c43b2f5dbeff/src/skills/sentry-snapshots-cocoa 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/sentry-snapshots-cocoa/ for Claude Code and .agents/skills/sentry-snapshots-cocoa/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/sentry/sentry-snapshots-cocoa
SKILL.md at the pin
---
name: sentry-snapshots-cocoa
description: 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".
license: Apache-2.0
---
# 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 `appleSnapshots` flow 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 test` rendering is not supported.
## Detect
Do only enough detection to route before calling the wizard:
```bash
# 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.
1. 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.
2. For SnapshotPreviews, stop before setup/verification/CI if there is no `.xcodeproj`
host app or no hosted XCTest target.
These stops do not apply when preserving another generator.
3. For setup or verification:
- existing non-SnapshotPreviews generator -> read `references/snapshots.md`;
- existing SnapshotPreviews -> read `references/snapshot-previews.md` and
`references/snapshots.md`;
- new SnapshotPreviews setup -> read `references/wizard-setup.md`;
- wizard reports no Swift previews -> ask before adding previews or choosing another
generator.
4. For GitHub Actions/CI only after an image generator exists:
- Point-Free `swift-snapshot-testing` -> read
`references/github-actions-swift-snapshot-testing.md` and
`references/snapshots.md`;
- other non-SnapshotPreviews generator -> read `references/snapshots.md` and 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.md` and
`references/snapshot-previews.md`.
## 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 `.png` files and any generated `.json` sidecars.
- Upload succeeds and prints a Sentry URL or snapshot id.
- Base branch upload is full; selective PR upload includes the full image-name manifest.
From getsentry/sentry-for-ai at d8fd106, shown as plain text under its license: Apache-2.0 (permissive). The license text is in src/skills/sentry-snapshots-cocoa/SKILL.md.
View SKILL.md on GitHub at d8fd106Files
- SKILL.md5.4 KB · 1a3e9a08aac9
- references/
- github-actions-fanout.md7.7 KB · 237f629eaa83
- github-actions-simple.md3.6 KB · af0e9c7cd6af
- github-actions-swift-snapshot-testing.md4.2 KB · 9e4133c6cd37
- snapshot-previews.md4.2 KB · e433a7d29b33
- snapshots.md5.5 KB · cb80ec078a73
- wizard-setup.md6.0 KB · 7980ece1d4ee
7 files, 37 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at d8fd106More from Sentry
claude-settings-audit
This skill analyzes a repository to detect its tech stack, build tools, and service integrations, then generates recommended Claude Code settings.json…
Claude Code · about 2.9K tokens · pinned 6 days ago
commit
This skill enables the agent to create conventional commit messages following Sentry's style guide.
Claude Code, Codex, Cursor +4 · about 430 tokens · pinned 6 days ago
django-access-review
This skill guides agents through investigating Django and Django REST Framework code for IDOR and access control vulnerabilities.
Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago
django-perf-review
This skill audits Django codebases for performance problems by validating issues through code tracing before reporting.
Claude Code, Codex, Cursor +4 · about 2.8K tokens · pinned 6 days ago
iterate-pr
This skill automates PR iteration by fetching CI check statuses and review feedback, then fixing actionable failures and high/medium priority comments until…
Contains scripts
Claude Code · about 1.2K tokens · pinned 6 days ago
pr-writer
This skill helps agents write clear, reviewer-focused PR titles and descriptions by inspecting the branch, diff, and existing PR state, then crafting concise…
Claude Code, Codex, Cursor +4 · about 1.3K tokens · pinned 6 days ago
Related in Testing and QA
e2e-testing
This skill sets up end-to-end testing for Falcon Foundry applications using Playwright and the @crowdstrike/foundry-playwright library.
by CrowdStrikeOfficial publisher
Claude Code, Codex, Cursor +3 · about 5.1K tokens · pinned 6 days ago
playwright-testing
Enables end-to-end testing of web applications using Playwright with cross-browser support, page object patterns, and CI/CD integration.
by alinaqiCommunity
Claude Code · about 5.7K tokens · pinned 6 days ago
next-partial-prefetching-optimizer
This skill optimizes Next.js client-side navigation under Partial Prefetching by defining what UI loads before and after a click.
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.8K tokens · pinned 6 days ago
Invalid--Name
This skill cannot be described because its name format is invalid and no functional description or instructions are provided in the skill metadata.
by CrewAIOfficial publisher
Claude Code, Codex, Cursor +4 · about 0 tokens · pinned 6 days ago
chrome-devtools-cli
This skill enables agents to automate browser interactions and inspect web pages using Chrome DevTools via command-line interface.
by GoogleOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago
triaging-visual-review-runs
Inspects PostHog Visual Review screenshot regression runs that gate pull requests, helping engineers triage diff results, identify flaky stories, and decide…
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 8.9K tokens · pinned 6 days ago