Agent skill

Updating Android SDK

by flutter in flutter/flutter

Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using…

BSD-3-ClauseAuto-check passedMobile

Install Updating Android SDK

skills CLI
$ npx skills add flutter/flutter --skill updating-android-sdk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install flutter/flutter updating-android-sdk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/flutter/flutter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/updating-android-sdk .claude/skills/updating-android-sdk && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
updating-android-sdk
GitHub stars
179k
Token cost
~1.7k tokens
SKILL.md length
665 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using…

  • Works in 3 steps: Configure Target SDK Packages… → Verify Tag Uniqueness & Run Upload Script → Verify CIPD Upload & Tagging
  • A user wants to pick up a new version of Android
  • SKILL.md covers Prerequisites & Permission…, Step 1: Configure Target SDK…, Step 2: Verify Tag Uniqueness… and Step 3: Verify CIPD Upload &…, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Updating Android SDK is an agent skill from flutter/flutter. Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using createcipdpackages.sh across macOS, Linux, and Windows. Use whenever a user wants to pick up a new version of Android or upload Android SDK packages to CIPD.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Android development, Cross-platform mobile apps and Deployment. It works with Android, Flutter, Linux and macOS. The repository describes itself as: Flutter makes it easy and fast to build beautiful apps for mobile and beyond. The licence is BSD-3-Clause.

When your agent uses it

  • A user wants to pick up a new version of Android
  • Upload Android SDK packages to CIPD

Example prompts

  • “Use the updating-android-sdk skill to upgrade Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in…”
  • “/updating-android-sdk”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Configure Target SDK Packages (packages.txt)
  2. Verify Tag Uniqueness & Run Upload Script
  3. Verify CIPD Upload & Tagging

What it can do on your machine

Read from SKILL.md and the folder at commit 8679894. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • goto.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Updating Android SDK loads about 1.7k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 665 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from flutter/flutter at commit 8679894, republished under its BSD-3-Clause licence (© flutter). 665 words, ~1,702 tokens.

Download SKILL.mdSave it as .claude/skills/updating-android-sdk/SKILL.md (or your agent's skills folder).
name
updating-android-sdk
description
Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using create_cipd_packages.sh across macOS, Linux, and Windows. Use whenever a user wants to pick up a new version of Android or upload Android SDK packages to CIPD.

Updating Flutter Android SDK and CIPD Packages

This skill guides the agent step-by-step through configuring new Android SDK components in packages.txt, verifying tag uniqueness, and running the repository's automation script to upload cross-platform archives to Chrome Infrastructure Package Deployment (CIPD).

Prerequisites & Permission Verification

Before modifying packages or triggering CIPD uploads, verify that the local environment and credentials are configured correctly:

  1. Verify Depot Tools: Ensure depot_tools (which provides the cipd CLI) is available in the environment.
  2. Verify CIPD Writer Permissions: The operation requires write access to the flutter/android/sdk/all/ CIPD prefix. Verify access before proceeding:
    bash
    cipd acl-check flutter/android/sdk/all/ -writer
    If access is denied, request the user apply for the flutter-cipd-writers role and authenticate via cipd auth-login.

Step 1: Configure Target SDK Packages (packages.txt)

The script create_cipd_packages.sh reads target SDK components and versions from packages.txt.

  • Location: src/flutter/tools/android_sdk/packages.txt
  • Format: <package_name>:<subdirectory_to_upload> (delimited by : for multi-directory uploads)
Querying Official Package Identifiers

Always query the local or remote Android SDK repository to confirm exact package identifiers:

bash
sdkmanager --list --include_obsolete

[!IMPORTANT] Canary / Preview vs. Stable API Levels When adopting a pre-release or Canary Android version (such as Android 37 / Cinnamon Bun), sdkmanager often publishes platform components under a .0 suffix (e.g., platforms;android-37.0). Do not assume or enforce an integer API level string (platforms;android-37) if sdkmanager explicitly requires platforms;android-37.0. Using an incorrect package string will cause subsequent downloads to fail.

Example packages.txt Update

To add Android 37 platform and build-tools:

text
platforms;android-37.0,platforms;android-36,platforms;android-35,platforms;android-34:platforms
cmdline-tools;latest:cmdline-tools
build-tools;37.0.0,build-tools;36.1.0,build-tools;36.0.0,build-tools;35.0.0:build-tools
platform-tools:platform-tools
tools:tools
cmake;3.22.1:cmake
ndk;28.2.13676358:ndk

Step 2: Verify Tag Uniqueness & Run Upload Script

[!NOTE] Standardizing CIPD Version Tags Use clean version descriptors (e.g., 37v1, 37v2). Do not append legacy speculative suffixes such as unmodified now that create_cipd_packages.sh is the standardized upload pipeline.

CIPD tags and refs are immutable. Before executing the script, verify that your proposed version tag (e.g., 37v1) has not already been registered:

bash
cipd describe flutter/android/sdk/all/mac-arm64 -version version:<VERSION_TAG>
  • If the tag is unused: The command returns exit code 1 with Error: no such tag.. You may proceed.
  • If the tag exists: The command outputs the existing Package: and Instance ID:. You must choose a new, unique version tag.

Once uniqueness is confirmed, execute the script:

bash
cd src/flutter/tools/android_sdk
./create_cipd_packages.sh <VERSION_TAG> <PATH_TO_LOCAL_SDK>
Script Execution Mechanics
  1. Clean Workspace: The script creates a pristine temporary working directory (mktemp -d) to prevent cache reuse.
  2. Cross-Platform Bundles: It leverages REPO_OS_OVERRIDE to fetch packages for linux, macosx (amd64 and arm64), and windows.
  3. License Acceptance: All required Android SDK licenses are automatically accepted and packaged inside the upload directory.
  4. CIPD Creation: It calls cipd create to copy and tag packages under flutter/android/sdk/all/<cipd_name>.

Show full SKILL.md (264 more words)Show less

Step 3: Verify CIPD Upload & Tagging

Verify that the packages were successfully registered across all architecture targets before rolling Engine dependencies:

bash
# macOS Apple Silicon (arm64)
cipd describe flutter/android/sdk/all/mac-arm64 -version version:<VERSION_TAG>

# macOS Intel (amd64)
cipd describe flutter/android/sdk/all/mac-amd64 -version version:<VERSION_TAG>

# Linux (amd64)
cipd describe flutter/android/sdk/all/linux-amd64 -version version:<VERSION_TAG>

# Windows (amd64)
cipd describe flutter/android/sdk/all/windows-amd64 -version version:<VERSION_TAG>

Ensure the output displays a valid Instance ID and confirms the requested tag is bound to the ref.


Troubleshooting & Failure Mitigation

If any operation fails during package selection, authorization, or script execution, apply these precise remedies:

1. Permission Denied (cipd acl-check or cipd create fails)
  • Symptom: cipd acl-check reports no roles, or uploading aborts with authorization errors.
  • Mitigation: Direct the user to apply for the flutter-cipd-writers role (via MDB/Grants 8h/flutter-cipd-writers). Once granted, run cipd auth-login to refresh local access credentials before retrying.
2. Package Resolution Failure (sdkmanager aborts during download)
  • Symptom: create_cipd_packages.sh exits with Warning: Failed to find package '<package_name>'.
  • Mitigation: Do not guess or enforce strict integer rules (e.g., platforms;android-37). Run sdkmanager --list --include_obsolete to inspect published remote tags, and correct the exact package string in packages.txt (such as keeping .0 preview suffixes like platforms;android-37.0).
3. Interrupted Uploads & Tag Deprecation
  • Symptom: A network interruption halts a multi-platform upload partway, or an incorrect package bundle was uploaded.
  • Mitigation: CIPD uploads are final and cannot be overwritten. If a tag was partially uploaded or needs deprecation, direct the user to the internal LuCI Playbook guide for removing tags (Removing Duplicated CIPD Tags). When retrying an upload after a failure, you must select a new, unique version tag (e.g., bumping v1 to v2).
4. Missing Command-Line Tools
  • Symptom: The script outputs SDK directory does not contain cmdline-tools.
  • Mitigation: Ensure the path provided points to a valid Android SDK root containing cmdline-tools/latest/bin/sdkmanager (typically ~/Library/Android/sdk on macOS).

© flutter, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/updating-android-sdk of flutter/flutter.

Open the folder on GitHubat commit 8679894

Compare with similar skills

Updating Android SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Updating Android SDK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Updating Android SDK this skillflutter/flutter179k—~1.7kAutomated safety check: PassBSD-3-Clause
flutter_soloud Setupalnitak/flutter_soloud424—~3.6kAutomated safety check: NotesMIT
Fkit SetupJoker-x-dev/FlutterKit127—~720Automated safety check: PassMIT
Gui Testlibnativeapi/nativeapi161—~3.5kAutomated safety check: PassMIT
Native Desktop UI TestingFNOSP/FlyNarwhal495—~2.4kAutomated safety check: PassAGPL-3.0
Flutter Embedding Native Viewsbtwld/superdeck130—~2.1kAutomated safety check: PassBSD-3-Clause

Similar skills

  • flutter_soloud Setup

    alnitak/flutter_soloud

    Walks through adding the flutter_soloud audio engine to a Flutter app, with per-platform setup, initialization, binary-size and logging options, and output device switching.

    424 GitHub stars~3.6k tokensUpdated yesterday
    MobileAuto-check: notes
  • Fkit Setup

    Joker-x-dev/FlutterKit

    将 FlutterKit 脚手架初始化为新的应用项目,统一修改应用显示名称、Dart 包名、Android Application ID、Apple Bundle ID、Linux/Windows 标识、Web 名称、运行时品牌文案、Logo、桌面图标和启动页。用户拉取模板后要求改名、改包名、替换品牌资源或完成首次项目配置时使用。

    127 GitHub stars~720 tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Gui Test

    libnativeapi/nativeapi

    End-to-end test a desktop app (Flutter desktop apps and plain native executables such as C++ examples) by launching the real app, driving it with guarded synthetic mouse input — eased moves, clicks…

    161 GitHub stars~3.5k tokensUpdated today
    MobileAuto-check passed
  • Run and verify Flutter desktop behavior on Windows/macOS/Linux native clients.

    495 GitHub stars~2.4k tokensUpdated yesterday
    MobileAuto-check passed
  • Embeds native Android, iOS, or macOS views into a Flutter app.

    130 GitHub stars~2.1k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Sentry Flutter SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Flutter and Dart. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~7.1k tokensUpdated today
    MobileAuto-check passed

More from flutter/flutter

All 14 skills in this repo
  • Engine Whats New

    flutter/flutter

    Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).

    179k GitHub stars~978 tokensUpdated today
    Auto-check passed
  • Flutter Cherry Pick

    flutter/flutter

    How to land a formal cherry-pick of a merged PR for the flutter/flutter repo stable or beta channel.

    179k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Upgrade Browser

    flutter/flutter

    Upgrade browser versions (Chrome or Firefox) in the Flutter Web Engine and/or Framework tests.

    179k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Code Review

    flutter/flutter

    Performs a comprehensive, multi-step code review of pull requests or local code changes, using iterative refinement (generation, critique, synthesis) to ensure high-quality, actionable feedback.

    179k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Bump Dart

    flutter/flutter

    Do not trigger automatically; only run when a user runs /bump-dart.

    179k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Run Devicelab With Led

    flutter/flutter

    Run DeviceLab tests for Flutter PRs using LUCI's led CLI tool.

    179k GitHub stars~786 tokensUpdated today
    Auto-check passed

Categories

Questions about Updating Android SDK

What does Updating Android SDK do?

Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using…. Updating Android SDK is an agent skill from flutter/flutter.sh across macOS, Linux, and Windows.

When should I use Updating Android SDK?

Updating Android SDK fits situations like: A user wants to pick up a new version of Android; upload Android SDK packages to CIPD.

How do I install Updating Android SDK in Claude Code?

Run `npx skills add flutter/flutter --skill updating-android-sdk -a claude-code`. Or copy the skill folder (.agents/skills/updating-android-sdk in flutter/flutter) into .claude/skills/updating-android-sdk in your project. Claude Code loads it when a task matches its description.

How do I install Updating Android SDK in Codex?

Run `npx skills add flutter/flutter --skill updating-android-sdk -a codex`. Or copy the skill folder (.agents/skills/updating-android-sdk in flutter/flutter) into .agents/skills/updating-android-sdk in your project. Codex loads it when a task matches its description.

Can I use Updating Android SDK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flutter/flutter --skill updating-android-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/updating-android-sdk, .gemini/skills/updating-android-sdk, .github/skills/updating-android-sdk and .opencode/skills/updating-android-sdk in your project.

What does Updating Android SDK need to run?

SKILL.md names no scripts, command-line tools or credentials: Updating Android SDK is instructions for the agent only.

Does Updating Android SDK access the network?

SKILL.md names 1 domain. As links in the text: goto.google.com. This is read from the text; nothing was executed.

Is Updating Android SDK safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Updating Android SDK use?

Updating Android SDK is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Updating Android SDK use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Updating Android SDK?

Skills that share tags, products or a category with Updating Android SDK: flutter_soloud Setup (alnitak/flutter_soloud, 424 stars), Fkit Setup (Joker-x-dev/FlutterKit, 127 stars), Gui Test (libnativeapi/nativeapi, 161 stars) and Native Desktop UI Testing (FNOSP/FlyNarwhal, 495 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Updating Android SDK?

flutter (a GitHub organization) maintains it in flutter/flutter, which has 179,369 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 8, 2026.

Source: flutter/flutter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.