>- Skill to run xcodebuild tests on iOS Simulator while recording a video walkthrough, dynamically selecting the highest available OS and device. Most useful for running XCUITests.
npx skills add https://github.com/firebase/firebase-ios-sdk --skill ios-simulator-test-recording
This skill provides a generalized bash script to test run and record iOS Simulator workflows and UI tests. It handles
everything natively through AWK TTY streams to ensure the camera triggers exactly when the app launches — eliminating
the simulator's booting and install sequence.
run_test_and_record.shThe core logic of this skill resides in ./.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh.
You can call this script whenever you need to execute a test block accompanied by screen recording.
./.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh [OPTIONS] -- COMMAND
--video PATH : Change the video output file. Default: simulator_test_walkthrough.mp4--show-ui : Explicitly brings the Simulator.app window to the foreground so the user sees the execution happening.By default, it runs the simulator headless or in the background.
--udid UDID : Specifies the ID of the simulator to attach to. If left omitted, it queriesxcrun simctl list devices available -j and auto-bootstraps the highest tier iPhone class.
If your test script requires injecting the target UDID dynamically, you can use the {UDID} placeholder inside your
command execution block. The script will intercept and substitute it before launching.
1. Basic Automated Fallback (Latest Simulator + Default Video)
./.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh \
-- xcodebuild test -project SampleApp.xcodeproj -scheme SampleApp \
-destination "platform=iOS Simulator,id={UDID}" -quiet
*Note the usage of {UDID} to let the script automatically populate the chosen device ID.*
2. Custom Video Path & Show UI
./.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh \
--show-ui \
--video "~/Code/firebase-ios-sdk/auth_test.mp4" \
-- xcodebuild test -workspace App.xcworkspace -scheme AppUITests \
-destination "platform=iOS Simulator,id={UDID}" -only-testing:AppUITests/testLogin -quiet
3. With a specific Custom UDID provided
./.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh \
--udid "62425200-F824-4E55-ACB4-08D031165A82" \
--video ./fast_test.mp4 \
-- xcodebuild test -project Proj.xcodeproj ... -destination "platform=iOS Simulator,id={UDID}"
If future framework changes cause the script to fail, take these notes into consideration:
tail -F on XCTest logs inside CI arrays (it natively locks trailing descriptors indefinitely).sleep commands to time the simulator launch. The script uses a robustTTY-based stream hook that triggers exactly when the test runner starts, ensuring perfect synchronization without
timing dependencies.
xcodebuild into tee logs natively; block buffering will cache the entire script payload untiltest execution completion, causing the hook to deploy at the literal end of the tape, wiping your data. Always use
the internal TTY script wrapper!
Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
| Diagnose and fix browser, preview, or Electron export/download failures, especially image export issues involving Save As, Blob/Data URLs, the File System Access API, createWritable failures, and 0 KB files.
Prioritize assumptions using an Impact × Risk matrix and suggest experiments for each. Use when triaging a list of assumptions, deciding what to test first, or applying the assumption prioritization canvas.
Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.
Run comprehensive UI tests for the Image Studio feature. Covers Media Library entry points, Edit Mode, Generate Mode, Block Editor integration, navigation, and delete. Use when running the full UI smoke test or testing any Image Studio surface.
Use for new frontend applications, dashboards, games, creative websites, hero sections, and visually driven UI from scratch, or when the user explicitly asks for a redesign/restyle/modernization. Builds from clean, airy, high-taste, readable image-generated concept design with section-specific references, faithful implementation, and browser testing.
>- Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", or "test this app" on mobile. Produces a structured report with reproducible evidence: screenshots, optional repro videos, and detailed steps for every issue.
Take firebase/ios-simulator-test-recording from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.