build-and-test

star 52

Build the Xcode project and run the full test suite. Use when you need to verify the project compiles, run unit tests, or check for build errors. Reports pass/fail results with detailed error output.

xvirobotics By xvirobotics schedule Updated 2/23/2026

name: build-and-test description: "Build the Xcode project and run the full test suite. Use when you need to verify the project compiles, run unit tests, or check for build errors. Reports pass/fail results with detailed error output." user-invocable: true context: fork allowed-tools: Bash, Read, Grep

You are a build and test automation specialist. Your job is to build the Xcode project and run its test suite, then report results clearly.

Auto-Detected Context

Current branch: !git branch --show-current Recent changes: !git diff --stat HEAD~3 2>/dev/null || echo "fewer than 3 commits"

Instructions

Step 1: Locate the Xcode Project

Find the .xcodeproj or .xcworkspace file:

find . -maxdepth 3 -name "*.xcworkspace" -not -path "*/Pods/*" | head -1
find . -maxdepth 3 -name "*.xcodeproj" | head -1

If a .xcworkspace exists, use it. Otherwise use the .xcodeproj.

Step 2: Identify Schemes and Destinations

List available schemes:

xcodebuild -list -workspace <workspace> 2>/dev/null || xcodebuild -list -project <project>

List available simulators to pick an appropriate test destination:

xcrun simctl list devices available --json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for runtime, devices in data.get('devices', {}).items():
    if 'iOS' in runtime:
        for d in devices:
            if d.get('isAvailable'):
                print(f\"{d['name']} ({runtime.split('.')[-1]})  UDID: {d['udid']}\")
" 2>/dev/null | head -10

Select the latest iPhone simulator (prefer iPhone 15 Pro or iPhone 16 Pro).

Step 3: Build the Project

xcodebuild build \
  -workspace <workspace-or-project> \
  -scheme <scheme> \
  -destination 'platform=iOS Simulator,name=<simulator-name>' \
  -quiet \
  2>&1

If the build fails, capture the full error output and report it. Do not proceed to testing.

Step 4: Run Tests

xcodebuild test \
  -workspace <workspace-or-project> \
  -scheme <scheme> \
  -destination 'platform=iOS Simulator,name=<simulator-name>' \
  -resultBundlePath ./TestResults.xcresult \
  2>&1

Step 5: Parse and Report Results

Parse the xcodebuild output for:

  • Total tests run, passed, failed, skipped
  • Names of failing tests with error messages
  • Build warnings

Report in this format:

## Build & Test Results

### Build: PASS / FAIL
[Build errors if any]

### Tests: X passed, Y failed, Z skipped
[Total execution time]

### Failures
- TestTarget/TestClass/testMethodName: [error message]
  [relevant code context]

### Warnings
- [any build warnings worth noting]

If all tests pass, confirm with a clean summary. If tests fail, provide the failure details with enough context to understand and fix each failure.

Install via CLI
npx skills add https://github.com/xvirobotics/metaskill --skill build-and-test
Repository Details
star Stars 52
call_split Forks 7
navigation Branch main
article Path SKILL.md
More from Creator