타이핑처럼 코드를 작성하는 시간 자체는 크게 줄어든다. 대신 생성된 코드를 검증하는데 많은 시간이 소요된다. Explore Plan Implement Code tt Link: h ps://code.claude.com/docs/en/best-practices Commit Verify
검색까지 터미널에서 가능하다. Claude Code, Codex, Gemini 등 특정 AI 에이전트에 종속되지 않는다. journeys skills create describe sdk docs build run Android CLI studio emulator init update layout screen info help
AI Agent • 1) 정제 — CLI가 미리 데이터를 정제하여 전달한다. • 2) 대기 — 비동기 작업의 완료 시점을 CLI가 확인하고 반환한다. • 3) 확장 — 기존에 에이전트가 할 수 없던 것을 하게 한다. Android CLI docs emulator studio
HTML을 파싱하는 과정이 필요하다. "string" 요청 AI Agent URL markdown WebSearch WebFetch WebSearch("jetpack compose state management") WebFetch("https://developer.android.com/develop/ui/compose/state", "How do I manage state in Compose?") Web HTML
Jetpack Compose URL: kb://android/develop/ui/compose/state This document explains what state is in an Android app, how to manage it in ... ... $ android docs fetch kb://android/develop/ui/compose/state Title: State in Jetpack Compose URL: kb://android/develop/ui/compose/state ---------------------------------------[Video](https://www.youtube.com/watch?v=mymWGMy9pYI) State in an app is any value that can change over time. This is a very broad definition and encompasses everything from a Room database to a variable in a class. ...
그려 저장할 수 있다. $ android screen capture --annotate -o img/screen.png 각 annotate 라벨을 UI 요소 좌표로 변환하여, 기기를 제어할 수 있다. $ android screen resolve --screenshot img/screen.png \ --string "tap #82 then #10" tap 540 1294 then 402 218
수 있다. 단, 에이전트가 작업하는 프로젝트가 열려 있어야 한다. (1) 탐색 find-declaration (2) 검증 analyze-file (3) 유틸 check find-usages render-compose-preview open-file version-lookup
잡는다. $ android studio analyze-file --project nowinandroid \ core/designsystem/.../component/Button.kt ERROR in .../Button.kt line: 318, column: 0 message: Unresolved reference 'undefinedVariable'. WARNING in .../Button.kt line: 315, column: 0 message: Function "brokenFunction" is never used ... studio
없이 렌더링한다. $ android studio render-compose-preview \ --project nowinandroid \ --output-image-file img/compose-preview.png \ feature/foryou/.../ForYouScreen.kt \ ForYouScreenTopicSelection Wrote rendering to compose-preview.png studio
판단하기에 매칭되면 본문을 로드 --This skill guides through the process of migrating an existing Android XML View to Jetpack Compose. It performs a stable, safe and visually consistent transition by following a structured, 10-step methodology. This skill migrates UI (XML to Jetpack Compose) only. ## Objective ...
AGP 9로 업그레이드 • Navigation 3과 같은 최신 프레임워크 설정 • 앱 UI를 더 넓은 화면으로 만들어 현대화 • R8 구성을 감사하여 성능 개선 tt Link: h ps://developer.android.com/tools/agents/android-skills/browse
bash (2) 최신버전을 사용하려면, Android CLI를 정기적으로 업데이트해야 한다. $ android update Checking for updates... Successfully updated from version 1.0.15498356 to version 1.0.15857036. tt Link: h ps://developer.android.com/tools/agents/android-cli#install
~/.android/ ├─ bin/android-cli └─ cli/ // CLI 본체 ↓ 첫 실행 시 추출 ├─ bundles/<sha>/ │ ├─ main.jar // 실제 명령어 클래스 │ └─ jre/ // JetBrains Runtime 21 ├─ docs/ │ ├─ kbzip/dac.zip // 문서 Knowledge Base (docs 호출 시 7일마다 etag 확인, 변경 시 갱신) │ └─ index/ // Lucene 인덱스 ├─ skills/ └─ ... // android/skills 캐시 (skills 호출 시 매번 etag 확인, 변경 시 갱신)
캐시에 자동 반영된다. https://github.com/android/skills # 원본 ~/.android/cli/skills/ # 캐시 (자동 갱신) ~/.claude/skills/ # 에이전트 설치본 (수동 갱신) 단, 실제 에이전트에 설치된 스킬을 갱신하려면 매번 skills add 명령어를 호출해야 한다. $ android skills add migrate-xml-views-to-jetpack-compose ❌ 현재 Claude Code, Codex 등 공식 플러그인/마켓플레이스 형태로는 제공되지 않는다. tt Link: h ps://github.com/android/skills/issues/29
~/.android/ ├─ bin/android-cli └─ cli/ // CLI 본체 ↓ 첫 실행 시 추출 ├─ bundles/<sha>/ │ ├─ main.jar // 실제 명령어 클래스 │ └─ jre/ // JetBrains Runtime 21 ├─ docs/ │ ├─ kbzip/dac.zip // 문서 Knowledge Base (docs 호출 시 7일마다 etag 확인, 변경 시 갱신) │ └─ index/ // Lucene 인덱스 ├─ skills/ // android/skills 캐시 (skills 호출 시 매번 etag 확인, 변경 시 갱신) ├─ analytics/ // 사용 통계 spool └─ studio/<pid> // 실행 중인 Studio 접속 정보 (포트, 토큰)
수집한다. $ android sdk list "build-tools;35.0.0" 명령을 한 번 쓰면 이벤트가 로컬 큐에 쌓이고, 나중에 모아서 서버로 올라간다. 인자 값은 <elided>로 가려 전송되지 않는다. # 실제 이벤트 (.trk, 85B) $4342bd2f-...-73480c (세션 UUID) 1.0.15857036 (CLI 버전) sdk (명령) list (서브커맨드) <elided> <-- "build-tools;35.0.0" 값은 가려진다.
수집 자체를 막는다. $ android --no-metrics <command> (2) 설정 파일에서 옵션을 끄면, 로컬 spool엔 계속 기록되지만 서버 전송만 차단된다. # ~/.android/analytics.settings {..., "debugDisablePublishing":true, ...} command (1) Local spool (2) Google Server
layout과 screen 명령으로 수행한다. <journey name="NIA Interests Navigation"> <description>...</description> <actions> <action>Tap the "Interests" tab in the bottom navigation</action> <action>Verify that a list of topics is displayed</action> <action>Tap the topic "Compose"</action> <action>Verify that the Compose topic screen is displayed</action> </actions> </journey>
제공한다. 하지만 description이 도구 중심이라 매칭이 잘 안 돼서, 정작 필요한 순간에 발동하지 않는다. 그래서 내 워크플로우에 맞는 skill을 직접 작성하여 쓰는 것을 추천한다. 문서 조회 docs search docs fetch 코드 검증 analyze-file render-compose-preview 그 스킬은 에이전트에게 help 명령어를 실행하게 해서 대신 작성하게 하면 된다. $ android help
화면을 "검증"하는 눈을 줄 수 있다 최소한 에이전트 스킬은 설치하여 사용해보자 layout이 화면 정보를 정제하여 소모되는 토큰을 줄여주고, 반복 확인을 없애 턴 수를 줄일 수 있다. analyze-file로 오류를 분석하고, 에뮬레이터 없이 UI를 검수하고, Journeys로 앱 동작을 시나리오 기반으로 검증할 수 있다. XML to Compose 전환, AGP 9, Edge-to-Edge 등 공식 지원되는 스킬을 사용해보고 나만의 스킬을 만들어보자.