본문으로 건너뛰기
cccskills
무료GitHub에 공개

android-use

Control Android devices via ADB. Use when user asks to tap, swipe, type, launch apps, take screenshots, or automate Android device interactions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use스타 21(GitHub 21 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(120)

  • SKILL.md10.9 KB
  • .agents/skills/audio-transcribe/scripts/package.json176 B
  • .agents/skills/audio-transcribe/scripts/transcribe.test.ts3.2 KB
  • .agents/skills/audio-transcribe/scripts/transcribe.ts17.1 KB
  • .agents/skills/audio-transcribe/SKILL.md4.1 KB
  • .agents/skills/better-ui/animations.md7.4 KB
  • .agents/skills/better-ui/enter-exit.md3.9 KB
  • .agents/skills/better-ui/icon-transitions.md4.2 KB
  • .agents/skills/better-ui/icons.md4.3 KB
  • .agents/skills/better-ui/performance.md2.9 KB
  • .agents/skills/better-ui/review-output.md2.5 KB
  • .agents/skills/better-ui/SKILL.md8.1 KB
  • .agents/skills/better-ui/surfaces.md6.4 KB
  • .agents/skills/brainstorming/SKILL.md2.8 KB
  • .agents/skills/bro/SKILL.md385 B
  • .agents/skills/chatgpt-imagegen/requirements.txt18 B
  • .agents/skills/chatgpt-imagegen/scripts/chatgpt-img455 B
  • .agents/skills/chatgpt-imagegen/scripts/generate_image.py18.2 KB
  • .agents/skills/chatgpt-imagegen/SKILL.md2.8 KB
  • .agents/skills/coding-standards/SKILL.md8.0 KB
  • .agents/skills/deslopify/references/editing-checklist.md16.9 KB
  • .agents/skills/deslopify/SKILL.md1.4 KB
  • .agents/skills/domain-modeling/ADR-FORMAT.md2.1 KB
  • .agents/skills/domain-modeling/CONTEXT-FORMAT.md3.2 KB
  • .agents/skills/domain-modeling/SKILL.md4.7 KB
  • .agents/skills/gemini-tts/requirements.txt24 B
  • .agents/skills/gemini-tts/scripts/generate_tts.py15.8 KB
  • .agents/skills/gemini-tts/scripts/test_generate_tts.py2.2 KB
  • .agents/skills/gemini-tts/SKILL.md3.8 KB
  • .agents/skills/gemini-tts/templates.json7.8 KB
  • .agents/skills/goal/SKILL.md2.8 KB
  • .agents/skills/readback/SKILL.md2.0 KB
  • .agents/skills/rephrase/SKILL.md455 B
  • .agents/skills/reply-bro/SKILL.md2.0 KB
  • .agents/skills/setup-goal/PLANNOTATOR.md2.8 KB
  • .agents/skills/setup-goal/SKILL.md6.1 KB
  • .agents/skills/skill-cleaner/scripts/skill-cleaner.mjs35.8 KB
  • .agents/skills/skill-cleaner/SKILL.md4.1 KB
  • .agents/skills/strunk-writing-quality/NOTICE.md682 B
  • .agents/skills/strunk-writing-quality/references/report-writing-style.md5.4 KB
  • .agents/skills/strunk-writing-quality/SKILL.md15.3 KB
  • .agents/skills/tech-spec/SKILL.md4.2 KB
  • .agents/skills/technical-writing/SKILL.md11.3 KB
  • .agents/skills/tool-install/SKILL.md8.5 KB
  • .agents/skills/type-breakdown/SKILL.md3.3 KB
  • .ai-artifacts/SEMANTIC_MAP.md9.4 KB
  • .github/dependabot.yml482 B
  • .github/ISSUE_TEMPLATE/bug.md453 B
  • .github/pull_request_template.md316 B
  • .github/workflows/ci.yml419 B
  • .github/workflows/dependabot-auto-merge.yml2.2 KB
  • .gitignore2.2 KB
  • .husky/pre-commit359 B
  • AGENTS.md1.4 KB
  • ai-artifacts/_index.md322 B
  • assets/logo-banner.png27.1 KB
  • biome.json281 B
  • CHANGELOG.md1.3 KB
  • dist/index.js539.3 KB
  • install.sh7.3 KB
  • LICENSE1.0 KB
  • opencode.json272 B
  • package.json1.4 KB
  • README.md2.3 KB
  • references/01-taking-a-screenshot.md1.1 KB
  • references/02-opening-an-app.md1.6 KB
  • references/03-tapping-a-button.md2.0 KB
  • references/04-filling-a-form.md2.5 KB
  • references/05-scrolling-to-find-content.md2.9 KB
  • references/06-handling-dialogs.md3.0 KB
  • references/AGENT_WORKFLOWS.md3.3 KB
  • references/AGENTS_GETTING_STARTED.md6.3 KB
  • src/core/cache.ts923 B
  • src/core/contracts/config.ts1012 B
  • src/core/contracts/index.ts116 B
  • src/core/contracts/inputs.ts3.9 KB
  • src/core/contracts/outputs.ts5.3 KB
  • src/core/domain/device-parser.ts3.5 KB
  • src/core/domain/index.ts95 B
  • src/core/domain/text-escape.ts2.7 KB
  • src/core/parsers/screen-xml.ts2.4 KB
  • src/core/types/app.ts1.6 KB
  • src/core/types/coordinates.ts1.0 KB
  • src/core/types/device.ts811 B
  • src/core/types/index.ts202 B
  • src/core/types/keys.ts1.3 KB
  • src/core/types/result.ts3.5 KB
  • src/core/types/trace.ts1.3 KB
  • src/index.ts170 B
  • src/shell/cli.ts4.6 KB
  • src/shell/commands/check-device.ts2.5 KB
  • src/shell/commands/get-screen.ts3.3 KB
  • src/shell/commands/index.ts471 B
  • src/shell/commands/install-apk.ts2.5 KB
  • src/shell/commands/key.ts2.3 KB
  • src/shell/commands/launch-app.ts3.2 KB
  • src/shell/commands/screenshot.ts2.2 KB
  • src/shell/commands/swipe.ts1.9 KB
  • src/shell/commands/tap.ts1.4 KB
  • src/shell/commands/type-text.ts2.2 KB
  • src/shell/commands/wake.ts3.2 KB
  • src/shell/formatters/index.ts1.1 KB
  • src/shell/formatters/json.ts581 B
  • src/shell/formatters/text.ts3.7 KB
  • src/shell/providers/adb-local.ts2.1 KB
  • src/shell/providers/adb-mock.ts3.7 KB
  • src/shell/providers/adb.ts1.3 KB
  • src/shell/providers/index.ts117 B
  • src/shell/registry.ts3.6 KB
  • src/tests/core/contracts.test.ts9.1 KB
  • src/tests/core/device-parser.test.ts6.4 KB
  • src/tests/core/keys.test.ts1.8 KB
  • src/tests/core/result.test.ts3.8 KB
  • src/tests/core/text-escape.test.ts4.2 KB
  • src/tests/core/trace.test.ts2.2 KB
  • src/tests/shell/commands.test.ts9.7 KB
  • src/tests/shell/formatters.test.ts4.0 KB
  • src/tests/shell/install-script-smoke.test.ts2.8 KB
  • src/tests/shell/registry.test.ts4.1 KB
  • tsconfig.json804 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Android Device Control

CLI for Android device control via ADB. Requires device connected with USB debugging enabled.

Prerequisites

Before using this skill:

  1. Android device with USB debugging enabled
  2. ADB installed (adb version should work)
  3. Device connected via USB or emulator running

Agent Installation (Autonomous Setup)

When this skill is not installed, agents should:

  1. Run installer (recommended):

    curl -fsSL https://raw.githubusercontent.com/iurysza/android-use/main/install.sh | bash
    
  2. Installed structure:

    • ~/.config/opencode/skill/android-use/SKILL.md
    • ~/.config/opencode/skill/android-use/scripts/android-use
    • ~/.config/opencode/skill/android-use/references/
    • ~/.config/opencode/skill/android-use/assets/
    • ~/.config/opencode/skill/android-use/repo/
  3. Verify installation:

    ~/.config/opencode/skill/android-use/scripts/android-use check-device
    

Quick Start

android-use check-device        # List connected devices
android-use get-screen          # Get UI hierarchy (compact JSON)
android-use tap 540 960         # Tap at coordinates
android-use type-text "Hello"   # Type text
android-use key HOME            # Press key
android-use screenshot ./screen.png  # Capture screen

Core Agent Workflow

STEP 1: Check device

android-use check-device
  • Lists all connected devices
  • Note the serial number if multiple devices
  • For "phone" use [PHYSICAL] device
  • For "emulator" use [EMULATOR] device

STEP 2: Get screen state

android-use get-screen
  • Returns compact JSON with pre-calculated tap coordinates
  • Search for: text, contentDesc, resourceId
  • Use the center field for coordinates (e.g., "center": [540, 289])
  • Cache location: /tmp/.ai-artifacts/skills/android-use/screen.json

STEP 3: Execute action

  • Tap: android-use tap <center_x> <center_y>
  • Type: android-use tap <field_x> <field_y> then android-use type-text "text"
  • Swipe: android-use swipe <x1> <y1> <x2> <y2> [duration_ms]
  • Key: android-use key <KEY_NAME> (HOME, BACK, ENTER, etc.)

STEP 4: Verify and repeat

  • Run get-screen again to verify state change
  • Handle any dialogs that appeared
  • Repeat until goal achieved

Commands

Device & Screen

CommandArgsDescription
check-device[serial]List/verify connected devices
wake[serial]Wake device + dismiss lock
get-screen[serial]Dump UI accessibility tree (compact JSON)
screenshot[path] [serial]Capture screen image

Input Actions

CommandArgsDescription
tap<x> <y> [serial]Tap at coordinates
type-text<text> [serial]Type text string
swipe<x1> <y1> <x2> <y2> [ms] [serial]Swipe gesture
key<keycode|name> [serial]Press key

App Management

CommandArgsDescription
launch-app<package> [serial]Launch app by package name
install-apk<path> [serial]Install APK file

Global Options

OptionDescription
-s, --serial <id>Target specific device
--jsonOutput as JSON
--verboseVerbose logging
--timeout <ms>Timeout (default: 15000)
--adb-path <path>Path to ADB binary
--fullFull XML output (for get-screen)

Common App Package Names

Use these package names with launch-app:

App NamePackage Name
Chromecom.android.chrome
Settingscom.android.settings
Phone / Dialercom.android.dialer
Messages / SMScom.google.android.apps.messaging
Cameracom.android.camera
Photoscom.google.android.apps.photos
Gmailcom.google.android.gm
Mapscom.google.android.apps.maps
YouTubecom.google.android.youtube
Play Storecom.android.vending
Calendarcom.google.android.calendar
Clockcom.google.android.deskclock
Calculatorcom.google.android.calculator
Contactscom.android.contacts
Filescom.google.android.documentsui
WhatsAppcom.whatsapp
Instagramcom.instagram.android
Facebookcom.facebook.katana
Twitter / Xcom.twitter.android
Spotifycom.spotify.music
Netflixcom.netflix.mediaclient
Telegramorg.telegram.messenger
Discordcom.discord
Slackcom.Slack
Zoomus.zoom.videomeetings
Teamscom.microsoft.teams
Outlookcom.microsoft.office.outlook
Drivecom.google.android.apps.docs
Keep / Notescom.google.android.keep
Redditcom.reddit.frontpage
Blueskyxyz.blueskyweb.app

Reading Screen Data

Compact JSON (default): get-screen outputs pre-calculated tap coordinates and filtered elements (99% smaller than XML):

{
  "elements": [
    {
      "text": "Settings",
      "resourceId": "com.android.settings:id/title",
      "contentDesc": "",
      "clickable": true,
      "scrollable": false,
      "focused": false,
      "bounds": [42, 234, 1038, 345],
      "center": [540, 289]
    }
  ],
  "clickable": [...],
  "scrollable": [...],
  "withText": [...],
  "withContentDesc": [...]
}

Key attributes:

  • text - Visible text
  • contentDesc - Accessibility description (icons)
  • resourceId - Element identifier
  • clickable / scrollable - Interaction states
  • center - Pre-calculated tap coordinates [x, y]
  • bounds - Original bounds [left, top, right, bottom]

Use pre-calculated center:

  • Already calculated: tap 540 289 (no manual math needed)

Full XML (when needed):

  • Use get-screen --full for raw XML
  • Saves to /tmp/.ai-artifacts/skills/android-use/screen.xml

Cache location (memory-backed):

  • /tmp/.ai-artifacts/skills/android-use/screen.json (compact)
  • /tmp/.ai-artifacts/skills/android-use/screen.xml (full)

Key Names

HOME, BACK, MENU, POWER, ENTER, TAB, DEL, ESCAPE, VOLUME_UP, VOLUME_DOWN, DPAD_UP, DPAD_DOWN, DPAD_LEFT, DPAD_RIGHT

Multi-Device Support

When multiple devices connected:

  1. Run check-device to see all devices with types
  2. User says "phone/physical" -> use [PHYSICAL] device
  3. User says "emulator" -> use [EMULATOR] device
  4. Pass -s <serial> to ALL subsequent commands
android-use check-device
# Multiple devices connected (2):
#   [PHYSICAL] 1A051FDF6007PA - Pixel 6
#   [EMULATOR] emulator-5554 - sdk_gphone64_arm64

android-use -s 1A051FDF6007PA get-screen
android-use -s 1A051FDF6007PA tap 540 960

Common Patterns

Tap a button

android-use get-screen              # Get JSON with pre-calculated centers
# Search JSON for button, find center: [540, 289]
android-use tap 540 289             # Tap at center

Enter text in field

android-use tap 540 184             # Focus field
android-use type-text "search term"
android-use key ENTER               # Submit

Scroll to find content

android-use get-screen              # Check if visible
android-use swipe 540 1500 540 500  # Swipe up (scroll down)
android-use get-screen              # Check again

Handle dialogs

# Look for "OK", "Allow", "Accept" buttons in XML
android-use tap <button-center>
# Or dismiss with back
android-use key BACK

Open app and navigate

android-use launch-app com.android.chrome
android-use get-screen
# Find URL bar, tap it
android-use tap 540 184
android-use type-text "example.com"
android-use key ENTER

Agent Examples

See the references/ directory for:

  • AGENTS_GETTING_STARTED.md - Setup and command guide
  • AGENT_WORKFLOWS.md - End-to-end agent workflows
  • 01-taking-a-screenshot.md - Capture and verify screenshots
  • 02-opening-an-app.md - App launch and navigation
  • 03-tapping-a-button.md - Tap flow from screen JSON
  • 04-filling-a-form.md - Multi-step form input pattern
  • 05-scrolling-to-find-content.md - Scroll/search interaction loop
  • 06-handling-dialogs.md - Popup detection and dismissal

JSON Output

Use --json for structured output:

android-use --json check-device
{
  "success": true,
  "exitCode": 0,
  "data": { "devices": [...], "count": 1 },
  "message": "Found 1 device(s)",
  "trace": { ... }
}

Error Handling

  • No device: Check USB, verify USB debugging enabled, accept "Allow USB debugging?" prompt
  • Element not found: Get fresh screen dump, try scrolling
  • Action didn't work: Add minimal delay (300ms max) only if retrying, then verify coordinates, check for popups/dialogs, get fresh screen dump
  • Device offline: Reconnect USB, run adb kill-server && adb start-server

Agent Best Practices

  1. Always get-screen first - understand current UI state
  2. No artificial delays needed - Commands execute synchronously; UI is ready for next command immediately
  3. Check your work - get-screen after each action to verify
  4. Use screenshots - when JSON doesn't capture enough info
  5. Be consistent - use same serial for all commands in session
  6. Compact JSON default - 99% smaller, pre-calculated tap coords, cached to /tmp/.ai-artifacts/skills/android-use/
  7. Handle dialogs - popups often block interactions
  8. Use center coordinates - from JSON output, no manual calculation needed

Compact JSON Filter Logic

The compact JSON includes elements with ANY of:

  • Non-empty text (visible labels)
  • Non-empty contentDesc (accessibility descriptions)
  • clickable = true (interactive elements)
  • scrollable = true (scrollable containers)

This filters ~336 raw nodes → ~55 useful elements (4x smaller)

Repository

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps. Use for interviews, meetings, lectures, podcasts, voice notes, and similar recordings.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

better-ui

무료

Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, micro-interactions, enter/exit animations, choosing or reviewing icons, or any visual detail work. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, theme switch transitions, border radius, optical alignment, image outlines, box shadows, icons, icon stroke weight, icon states, motion restraint.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

Explores and validates a feature, component, workflow, or behavior change before implementation. Use when work needs clarified intent, compared approaches, and an approved direction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

bro

무료

Restates the previous response in plain, concise language. Use only when the user invokes bro or explicitly asks for a simpler explanation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

Generates or edits raster images through OpenAI's Image API. Use for text-to-image work, reference-based edits, masks, transparent assets, and product or editorial visuals.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

Applies language-neutral engineering standards when writing or reviewing code, especially around boundaries, failures, domain models, dependencies, tests, and type safety.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

iurysza/android-use212026년 10월 7일 업데이트

iurysza의 스킬 모두 보기

이 스킬의 문제 신고