Skill v1.0.0
currentAutomated scan100/100version: "1.0.0"
Xcode Preview Capture Skill
<skill-definition> name: preview description: Build and capture Xcode/SwiftUI previews for visual analysis invocation: /preview </skill-definition>
Overview
This skill allows you to build SwiftUI views and capture screenshots of their rendered output for visual analysis. It supports:
- Building standalone Swift files containing SwiftUI views
- Building views from existing Xcode projects
- Building views from SPM packages
- Capturing the current simulator screen
- Analyzing the captured screenshots
Installation Path
Scripts are located at ${CLAUDE_PLUGIN_ROOT}/scripts/
Available Commands
Unified Preview (Recommended)
Auto-detects project type and uses the best approach:
"${CLAUDE_PLUGIN_ROOT}"/scripts/preview \<path-to-file.swift> \--output /tmp/preview.png
Quick Capture (Current Simulator)
Capture a screenshot of whatever is currently displayed on the booted simulator.
"${CLAUDE_PLUGIN_ROOT}"/scripts/capture-simulator.sh \--output /tmp/preview-capture.png
Xcode Project with #Preview
Fast builds by injecting a minimal PreviewHost target (handled automatically by the unified script):
"${CLAUDE_PLUGIN_ROOT}"/scripts/preview \<path-to-file.swift> \--project <path.xcodeproj> \--output /tmp/preview.png
SPM Package Preview
Auto-detected from Package.swift in parent directories:
"${CLAUDE_PLUGIN_ROOT}"/scripts/preview \<path-to-file.swift> \--output /tmp/preview.png
Standalone Swift File
Build a standalone Swift file with system frameworks only:
"${CLAUDE_PLUGIN_ROOT}"/scripts/preview \<path-to-file.swift> \--output /tmp/preview.png
Workflow
When the user invokes /preview, follow this workflow:
- Identify the target: Determine what needs to be previewed:
- A specific Swift file
- An Xcode project/workspace with a scheme
- The current simulator state
- Build and capture: Use the appropriate script based on the target
- Read and analyze: Use the Read tool to view the captured PNG image
- Report findings: Describe what you see in the preview, including:
- Layout and structure
- Colors and styling
- Any potential issues (alignment, overflow, etc.)
- Suggestions for improvement
Parameters
The user can specify:
file: Path to a Swift file to previewproject: Path to an Xcode projectworkspace: Path to an Xcode workspacescheme: Build scheme namesimulator: Simulator to use (default: "iPhone 17 Pro")wait: Seconds to wait before capture (default: 3)
Example Usage
User: /preview ContentView.swiftUser: /preview --project MyApp.xcodeproj --scheme MyAppUser: /preview --capture-only
Error Handling
If the build fails:
- Show the build error output
- Suggest fixes based on the error messages
- Offer to try again after fixes are applied
If no simulator is booted:
- List available simulators
- Offer to boot one
Output
After capturing, always:
- Confirm the screenshot was saved
- Read the image using the Read tool
- Provide analysis of what's visible