Community코딩 & 개발github.com

agent-device (기기 에이전트)

Apple 플랫폼(iOS, tvOS, macOS) 및 Android 기기 앱과의 상호 작용을 자동화합니다. 앱 탐색, 스크린샷/캡처, 탭, 타이핑, 스크롤, UI 정보 추출 등 모바일, TV, 데스크톱 대상 작업에 사용하세요.

agent-device (기기 에이전트)란 무엇인가요?

이 스킬은 iOS, tvOS, macOS, Android 등 다양한 플랫폼의 앱을 자동화하는 라우터 역할을 합니다. 주된 목표는 UI 검사, 상호 작용, 검증을 안전하고 효율적으로 수행하는 것입니다. `bootstrap-install.md`와 `exploration.md` 두 개의 참조 파일을 기본으로 로드하며, 부트스트랩을 통해 대상 기기와 앱 세션을 확정하고, 탐색을 통해 UI를 검사하고 조작합니다. `snapshot`, `snapshot -i`, `fill`, `type` 등 구체적인 명령어가 있으며, `@ref`나 셀렉터를 통한 타겟팅을 권장합니다. 디버깅, 검증, macOS 데스크톱, 원격 테넌시 등 추가 기능을 위한 참조 파일도 제공합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/callstackincubator/agent-skills/tree/main/plugins/vendored/.agents/skills/agent-device

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

agent-device (기기 에이전트)은(는) 무엇을 하나요?

이 스킬은 필수 기본값과 함께 라우터로 사용하세요. 이 파일을 먼저 읽으세요. 일반적인 기기 작업의 경우, 작업을 시작하기 전에 항상 references/bootstrap-install.md와 references/exploration.md를 로드하세요. 부트스트랩을 사용하여 결정론적 설정을 확인하거나 확립하세요. 탐색은 앱 세션이 열린 후 UI 검사, 상호 작용, 검증에 사용하세요.

기본 운영 규칙

  • 보수적으로 시작하세요. UI를 변경하기 전에 읽기 전용 검사를 선호합니다.
  • 화면에 현재 보이는 텍스트나 구조를 확인하는 작업에는 일반 snapshot을 사용하세요.
  • 요청된 작업이나 대상 쿼리에 대해 @e3과 같은 대화형 참조가 필요할 때만 snapshot -i를 사용하세요.
  • 추측에 의한 변경은 피하세요. 팝업 닫기, 알림 해제, 의도하지 않은 표면 정리 등 검사를 진행하거나 요청된 작업을 완료하는 데 필요한 최소한의 되돌릴 수 있는 UI 작업만 수행할 수 있습니다.
  • 사용자가 명시적으로 요청하지 않는 한 웹을 탐색하거나 외부 소스를 사용하지 마세요.
  • 오래된 참조를 재사용하는 대신 의미 있는 UI 변경 후에는 다시 스냅샷을 찍으세요.
  • 원시 좌표보다는 @ref 또는 셀렉터 타겟팅을 선호합니다.
  • 상호 작용하기 전에 올바른 대상이 고정되어 있고 앱 세션이 열려 있는지 확인하세요.
  • 루프를 짧게 유지하세요: open -> 검사/실행 -> 필요한 경우 검증 -> close

기본 흐름

  1. 일반적인 기기 작업을 수행하기 전에 references/bootstrap-install.md와 references/exploration.md를 로드하세요.
  2. 먼저 부트스트랩을 사용하여 올바른 대상, 앱 설치, 열린 앱 세션을 확인하거나 확립하세요.
  3. 앱 세션이 열리고 안정화되면 탐색을 사용하여 검사, 상호 작용, 검증을 수행하세요.
  4. 보이는 것을 읽거나 확인하는 것이 목표라면 일반 snapshot으로 시작하세요.
  5. 대화형 탐색이나 요청된 작업에 대한 참조가 필요한 경우에만 snapshot -i로 전환하세요.
  6. 읽기 전용 명령으로 질문에 답할 수 있을 때는 UI를 변경하기 전에 get, is, 또는 find를 사용하세요.
  7. 필요한 경우 증거를 캡처한 후 close로 마칩니다.

QA 모드

필수 참조

  • 모든 일반 기기 작업의 경우, 이 파일을 읽은 후 먼저 references/bootstrap-install.md를 로드하고, 그 다음 references/exploration.md를 로드한 후 작업을 수행하세요.
  • 특히 샌드박스 또는 클라우드 환경에서 결정론적 설정을 확인하거나 확립하려면 부트스트랩을 사용하세요.
  • 앱 세션이 열리고 안정화되면 탐색을 사용하세요.
  • 추가 참조는 해당 범위가 필요할 때만 로드하세요.

결정 규칙

  • 텍스트가 보이는지 확인해야 할 때는 일반 snapshot을 사용하세요.
  • 주로 대화형 탐색 및 참조 선택에는 snapshot -i를 사용하세요.
  • UI 상태를 변경하지 않고 질문에 답할 수 있을 때는 get, is, 또는 find를 사용하세요.
  • 텍스트를 바꾸려면 fill을 사용하세요.
  • 텍스트를 추가하려면 type을 사용하세요.
  • 작업에서 "뒤로 가기"를 요청하면 예측 가능한 앱 소유 탐색을 위해 일반 back을 사용하고, 플랫폼 뒤로 가기 제스처나 버튼 의미에는 back --system을 사용하세요.
  • 너무 빨리 입력할 때 문자를 놓치는 디바운스 검색 필드에는 type --delay-ms 또는 fill --delay-ms를 사용하세요.
  • 시뮬레이터가 없거나, 앱 설치가 없거나, 열린 앱 세션이 아직 없는 경우 설정 단계를 즉흥적으로 만들지 말고 bootstrap-install.md로 전환하세요.
  • 일시적인 UI가 검사를 막을 때는 가장 작은 해제 동작을 먼저 사용하되, 사용자가 해당 상호 작용을 요청하지 않는 한 UI가 데이터를 표시하도록 탐색, 검색, 새 텍스트 입력을 수행하지 마세요.
  • 사용자가 요청하지 않는 한 화면에 없는 데이터를 보완하기 위해 외부 조회를 사용하지 마세요.
  • 필요한 정보가 화면에 표시되지 않으면 추가 탐색, 텍스트 입력, 웹 검색으로 보완하는 대신 명확하게 그렇게 말하세요.
  • 원시 좌표보다는 @ref 또는 셀렉터 타겟팅을 선호합니다.

추가 참조

Individual skills in this repo

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

assess-react-native-migration

Assesses whether and how an existing mobile product should migrate to React Native. Use when auditing one or more product repositories for migration readiness, including products whose iOS, Android, and other clients live in separate directories or repositories; choosing brownfield, greenfield, or a checkpoint-based path; defining a representative trial; or preparing a baseline and ROI decision before implementation. When product scope or material evidence is unavailable, grills the stakeholder with exactly one question per turn instead of sending a questionnaire.

callstackincubator/github

GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.

callstackincubator/validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

create-react-native-library

Scaffolds React Native libraries with create-react-native-library for standalone libraries or local native modules and views. Use when creating or working on React Native libraries or adding native functionality in an existing app.

dogfood

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.

github-actions

GitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts. Use when setting up CI build pipelines or downloading GitHub Actions artifacts via gh CLI and GitHub API.

react-native-best-practices

Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.

react-native-brownfield-migration

Implements an accepted incremental brownfield migration from native iOS or Android to React Native or Expo using @callstack/react-native-brownfield. Use after the brownfield path has been selected, when setting up the integration, packaging XCFramework or AAR artifacts, or adding React Native surfaces to native hosts.

react-native-testing

Write tests using React Native Testing Library (RNTL) v13 and v14 (`@testing-library/react-native`). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React 18, sync render) and v14 (React 19+, async render). Triggers on: test files for React Native components, RNTL imports, mentions of "testing library", "write tests", "component tests", or "RNTL".

react-native-tv-best-practices

Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use when building, debugging, or reviewing react-native-tvos, Expo TV, Amazon Vega/Kepler, or React Native web TV targets where the issue depends on remote input, TV focus, TV packaging, TV hardware, or TV playback constraints.

react-navigation

Provides React Navigation UI patterns for stacks, tabs, drawers etc. Use when building navigation UIs with React Navigation, configuring headers, bottom sheets or handling safe areas and insets.

upgrading-react-native

Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.

validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

vercel-react-native-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

writing-user-docs

House style for user-facing documentation — voice, scope, structure, and what to leave out. Use this skill whenever writing, editing, or reviewing anything a user reads to learn how to use a tool — help center articles, getting-started guides, tutorials, feature docs, README usage sections, in-app help, release notes, or FAQ entries. Trigger it even when the request is phrased plainly — "document this feature", "write docs for X", "explain this to users", "write a README for this library", "turn these notes into a guide" — and even when no style guidelines are mentioned. Also use it to review existing docs for tone, bloat, or leaked implementation detail. Do not use it for internal engineering docs, architecture write-ups, RFCs, or code comments.

관련 스킬