preview

A command-line toolkit for building and capturing SwiftUI previews, which are visual snapshots of Apple app interfaces. It supports standalone Swift files, Xcode projects, Swift Package Manager packages, and the current simulator screen.

In plain words
What is it for?
Use it to build SwiftUI previews, capture simulator screenshots, and review views from standalone files, Xcode projects, or Swift packages.
Why use it?
It makes it easier to inspect interface changes as images without manually setting up a preview host or simulator capture process. The command chooses an approach based on the project type.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/iron-ham/xcodepreviews/preview
Clone the repo
git clone --depth 1 https://github.com/Iron-Ham/XcodePreviews

Made for: Cursor.

Per session 454 This file is loaded in full into every session.
When invoked 454 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00454 $0.00454
Opus 5 $0.00227 $0.00227
Sonnet 5 $0.00091 $0.00091
Haiku 4.5 $0.00045 $0.00045

Measured 2d ago against content hash 7f7fe9aaf32d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

preview scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/preview.mdc · 63 lines

What it actually says

PreviewBuild - SwiftUI Preview Capture Toolkit

A toolkit for building and capturing SwiftUI previews for visual analysis.

Quick Start

# Standalone Swift file (no external dependencies)
./scripts/preview MyView.swift

# File in an Xcode project (auto-injects PreviewHost target)
./scripts/preview ContentView.swift --project MyApp.xcodeproj

# File in an SPM package
./scripts/preview Sources/Module/MyView.swift

# Just capture current simulator
./scripts/preview --capture-only

How It Works

Project Type Approach Build Time Script
Standalone Swift Minimal host app ~5 seconds preview-minimal.sh
Xcode project Dynamic target injection ~3-4 seconds preview-tool
SPM package Temporary project creation ~20 seconds preview-tool

Scripts & Tools

Path Purpose
scripts/preview Unified entry point - auto-detects best approach
scripts/preview-minimal.sh Build standalone Swift files
scripts/xcode-preview.sh Build full Xcode project schemes
scripts/capture-simulator.sh Screenshot current simulator
scripts/sim-manager.sh Simulator management
tools/preview-tool Swift CLI for dynamic preview injection, SPM preview, dependency resolution

Workflow for Cursor

When asked to preview a SwiftUI view:

  1. Run the preview script:

    ./scripts/preview path/to/MyView.swift --output /tmp/preview.png
    
  2. View the screenshot: Read the file at /tmp/preview.png

  3. Analyze and report: Describe layout, styling, colors, and any issues

Requirements

  • macOS with Xcode installed
  • iOS Simulator
  • Swift toolchain (preview-tool auto-builds on first run)
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 63 lines · 454 tokens per session scan A 7f7fe9aaf32d

Subscribe to this mod's changes

preview is a cursor rule published in the GitHub repository Iron-Ham/XcodePreviews (151 stars, last pushed 1mo ago), licensed MIT. It adds 454 tokens to every session, about $0.0023 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.