Communitygithub.com

rudrankriyam/asc-shots-pipeline

iOS 스크린샷 자동화 파이프라인: xcodebuild/simctl로 빌드 및 실행, AXe로 UI 동작, JSON 설정 및 계획 파일, Koubou 기반 프레이밍, 스크린샷 업로드를 조율합니다.

asc-shots-pipeline란 무엇인가요?

이 스킬은 iOS 앱의 스크린샷 자동화를 위한 엔드투엔드 파이프라인을 제공합니다. xcodebuild와 simctl을 사용하여 시뮬레이터에서 앱을 빌드하고 실행하며, AXe 프레임워크를 통해 UI 동작을 자동화하여 다양한 화면의 스크린샷을 캡처합니다. JSON 형식의 설정 및 계획 파일을 통해 캡처할 화면과 시뮬레이터 구성을 유연하게 정의할 수 있습니다. 또한, Koubou 기반의 `asc screenshots frame` 명령어로 스크린샷에 디바이스 프레임을 적용하고, `asc screenshots upload` 명령어로 최종 이미지를 업로드합니다. 주로 애플 앱스토어에 제출할 스크린샷을 자동으로 생성하고 관리하는 개발자에게 유용하며, Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 활용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rudrankriyam/asc-skills/tree/main/skills/asc-shots-pipeline

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

asc-shots-pipeline은(는) 무엇을 하나요?

iOS 스크린샷 자동화 파이프라인 - xcodebuild/simctl로 시뮬레이터 빌드 및 실행을 조율하고, AXe를 사용하여 UI 동작을 자동화하며, JSON 설정 및 계획 파일을 통해 스크린샷 캡처를 구성합니다. 이후 Koubou 기반의 asc screenshots frame 명령어로 프레이밍을 적용하고, asc screenshots upload 명령어로 업로드합니다. 사용자가 자동 스크린샷 캡처, AXe 기반 시뮬레이터 플로우, 프레임 합성, 또는 스크린샷-업로드 파이프라인을 요청할 때 사용하십시오.

주요 기능

  • 빌드 및 실행: xcodebuild와 simctl을 사용하여 iOS 시뮬레이터에서 앱 빌드 및 실행
  • UI 자동화: AXe 프레임워크를 통해 UI 상호작용 및 스크린샷 캡처 자동화
  • 설정 및 계획: JSON 파일로 시뮬레이터 구성과 캡처할 화면 계획 정의
  • 프레이밍: Koubou를 사용한 asc screenshots frame 명령어로 디바이스 프레임 적용
  • 업로드: asc screenshots upload 명령어로 스크린샷을 지정된 대상에 업로드

사전 조건

  • macOS 환경
  • Xcode 및 명령줄 도구 설치
  • xcodebuild 및 simctl 사용 가능
  • AXe CLI 설치 및 PATH 설정
  • Koubou 도구 설치 (asc 명령어 사용 가능)
  • Node.js (설정 파일 처리 및 업로드 스크립트 실행용)

사용 방법

  1. 설정 파일 준비

    • shots-config.json: 시뮬레이터 타입, OS 버전, 앱 경로 등 정의
    • shots-plan.json: 캡처할 화면 목록, 각 화면의 UI 동작 순서 정의
  2. 파이프라인 실행

    # 1단계: 시뮬레이터 빌드 및 실행
    xcodebuild -project YourApp.xcodeproj -scheme YourScheme -destination 'platform=iOS Simulator,name=iPhone 15' build
    xcrun simctl boot "iPhone 15"
    xcrun simctl install booted path/to/YourApp.app
    xcrun simctl launch booted com.yourapp.bundle
    
    # 2단계: AXe를 사용한 UI 동작 및 스크린샷 캡처
    axe run --config shots-config.json --plan shots-plan.json
    
    # 3단계: 프레이밍 적용
    asc screenshots frame --input ./screenshots --output ./framed-screenshots
    
    # 4단계: 스크린샷 업로드
    asc screenshots upload --input ./framed-screenshots
    
  3. 설정 파일 예시 (shots-config.json)

    {
      "simulators": [
        { "name": "iPhone 15", "os": "17.0" },
        { "name": "iPad Pro (12.9-inch)", "os": "17.0" }
      ],
      "appPath": "/path/to/YourApp.app",
      "bundleId": "com.yourapp.bundle"
    }
    
  4. 계획 파일 예시 (shots-plan.json)

    {
      "screens": [
        {
          "name": "홈 화면",
          "actions": [
            { "type": "wait", "duration": 2 },
            { "type": "tap", "element": "mainButton" }
          ]
        },
        {
          "name": "설정 화면",
          "actions": [
            { "type": "swipe", "direction": "up" }
          ]
        }
      ]
    }
    

환경 변수

  • AXE_API_KEY: AXe API 인증 키
  • ASC_UPLOAD_URL: 업로드 대상 URL (선택 사항)
  • ASC_UPLOAD_TOKEN: 업로드 인증 토큰 (선택 사항)

참고 사항

  • 모든 명령어는 macOS 터미널에서 실행되어야 합니다.
  • AXe 설정 파일과 계획 파일은 정확한 JSON 형식을 따라야 합니다.
  • Koubou 도구 (asc)는 별도 설치가 필요합니다: npm install -g koubou 또는 brew install koubou
  • 스크린샷 캡처 중 시뮬레이터가 응답하지 않으면 simctl shutdown 또는 simctl erase로 초기화하십시오.

문제 해결

  • 빌드 실패: Xcode 버전과 프로젝트 설정을 확인하십시오.
  • UI 동작 실패: AXe 설정에서 요소 식별자(element)가 올바른지 확인하십시오.
  • 프레이밍 오류: Koubou가 최신 버전인지 확인하고, asc screenshots frame --help로 옵션을 점검하십시오.
  • 업로드 실패: 환경 변수 ASC_UPLOAD_URL과 ASC_UPLOAD_TOKEN이 올바르게 설정되었는지 확인하십시오.

라이선스

이 스킬은 MIT 라이선스에 따라 배포됩니다. 자세한 내용은 리포지토리의 LICENSE 파일을 참조하십시오.

Individual skills in this repo

This repo contains 16 individual skills — each has its own dedicated page.

rudrankriyam/asc-app-create-ui

Create a new App Store Connect app record via browser automation. Use when there is no public API for app creation and you need an agent to drive the New App form.

rudrankriyam/asc-build-lifecycle

Track build processing, find latest builds, and clean up old builds with asc. Use when managing build retention or waiting on processing.

rudrankriyam/asc-cli-usage

Guidance for using asc cli in this repo (flags, output formats, pagination, auth, and discovery). Use when asked to run or design asc commands or interact with App Store Connect via the CLI.

rudrankriyam/asc-crash-triage

Triage TestFlight crashes, beta feedback, and performance diagnostics using asc. Use when the user asks about TF crashes, TestFlight crash reports, beta tester feedback, app hangs, disk writes, launch diagnostics, or wants a crash summary for a build or app.

rudrankriyam/asc-id-resolver

Resolve App Store Connect IDs (apps, builds, versions, groups, testers) from human-friendly names using asc. Use when commands require IDs.

rudrankriyam/asc-localize-metadata

Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI. Use when asked to localize an app's App Store listing, translate app descriptions, or add new languages to App Store Connect.

rudrankriyam/asc-metadata-sync

Sync, validate, and apply App Store metadata with the current asc canonical metadata workflow. Use when updating metadata, localizations, keywords, or migrating legacy fastlane metadata.

rudrankriyam/asc-notarization

Archive, export, and notarize macOS apps using xcodebuild and asc. Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple notarization.

rudrankriyam/asc-ppp-pricing

Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands. Use when adjusting prices by country or implementing localized PPP strategies.

rudrankriyam/asc-release-flow

Determine whether an app is ready to submit, then drive the current App Store release flow with asc, including validation, staging, review submission, first-time availability, subscriptions, IAP, Game Center, and App Privacy checks.

rudrankriyam/asc-signing-setup

Set up bundle IDs, capabilities, signing certificates, provisioning profiles, and encrypted signing sync with the asc cli. Use when onboarding a new app, rotating signing assets, or sharing them across a team.

rudrankriyam/asc-submission-health

Validate App Store submission readiness, submit prepared versions, and monitor review status with current asc commands. Use when shipping or troubleshooting review submissions.

rudrankriyam/asc-subscription-localization

Bulk-localize subscription and in-app purchase display names across all App Store locales using asc. Use when you want to fill in subscription/IAP names for every language without clicking through App Store Connect manually.

rudrankriyam/asc-testflight-orchestration

Orchestrate TestFlight distribution, groups, testers, and What to Test notes using asc. Use when rolling out betas.

rudrankriyam/asc-workflow

Define, validate, run, resume, and audit repo-local multi-step automations with current `asc workflow` and `.asc/workflow.json`, including step outputs and safe release/TestFlight workflows.

rudrankriyam/asc-xcode-build

Build, archive, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers before App Store Connect upload or submission. Use when creating an IPA or PKG for upload.

관련 스킬