Android 技能概览

Android 技能是经过 AI 优化的指令,可帮助 AI 工具和代理更好地理解并执行遵循 Android 开发最佳实践和指南的特定模式。它们位于 Android 技能 GitHub 代码库中。

您可以使用 Android 技能执行以下任务:

  • 从 XML 迁移到 Compose
  • 升级到 AGP 9
  • 设置较新的框架,例如 Navigation 3
  • 通过让应用采用无边框设计,实现应用界面的现代化
  • 通过审核 R8 配置来提升性能

通过使用 Android 技能,您可以帮助 LLM 掌握有关专业 Android 工作流的最新知识和上下文。

Android 技能遵循代理技能开放标准,因此与任何支持技能的 AI 工具兼容。本页介绍了如何在 Android Studio 中使用技能,以及如何使用 Android CLI 安装技能,以便与您选择的任何代理和工具搭配使用。

Android 技能的主要优势

Android 技能可提供多项关键优势,旨在加快智能体工作流程,从而更高效地生成高质量的 Android 代码:

  • 基于专家知识进行接地:为智能体提供更多特定于 Android 的上下文,根据需求进行接地,并将其默认知识和专业技能扩展到常规模型训练周期之外。
  • 可重复的工作流:提供标准说明,帮助确保 Android 开发中的多步任务以一致的方式执行。
  • 资源捆绑:在主 SKILL.md 说明中包含脚本、模板或其他文档,以便代理在一个位置获取所需的一切内容,避免需要手动附加文件来提示。
  • 共享专业知识:将团队的 Android 开发模式打包到共享文件夹中,以便统一访问和协作。

运用 Android 技能

Android 技能已集成到 Android CLI 中,可与您选择的任何代理搭配使用。

gemini_cli_skills_demo.gif

Android CLI

我们建议您使用 Android CLI 安装 Android 技能,这样可以更轻松地发现、下载和管理您选择的任何代理的技能。

Android Studio

您可以从 Android 技能 GitHub 代码库下载技能,然后将其导入到 Android Studio 中的项目中

激活技能

智能体会自动激活与任务相关的技能。如需使用技能,请提示智能体完成与该技能相关的任务,例如“Make my app UI edge-to-edge”(使我的应用界面实现全屏显示)。如果技能可用,代理应自动查找并使用该技能。

Android Studio 中,您还可以通过在聊天窗口中直接输入 @skill-name 来手动调用技能。

创建自己的技能

您可以创建自己的技能,以打包和分享团队的工作流。 如需详细了解技能要求,请参阅客服人员技能规范

代理会从项目根目录中的 .skills/.agent/skills/ 目录开始查找技能。如需构建自定义技能,请按照以下步骤操作:

  1. 为技能创建目录(例如 my-new-skill/)。
  2. 在新目录中创建 SKILL.md 文件(区分大小写)。

技能必须遵循以下规则:

  • 每个技能一个目录:每个技能都必须有自己的唯一目录,其中包含 SKILL.md 文件和任何其他资源
  • 嵌套:所有技能都必须位于项目根目录中的 .skills/.agent/skills/ 目录下。不过,您可以使用子目录来更好地整理文件(例如 skills/ui-flows/<skill name>/SKILL.mdskills/testing/<skill name>/SKILL.md)。
  • 适用范围:目前,仅支持位于项目代码库中的技能。

SKILL.md 文件使用 YAML 块来存储元数据,并使用标准 Markdown 来存储说明。

  • name:技能的唯一标识符。此值应与目录名称一致。
  • description:对技能的功能以及代理何时应使用该技能的清晰说明。
  • 正文:YAML 块下方的 Markdown 正文包含在技能处于有效状态时指导代理行为的指令。
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

格式准则

  • 名称:最多 64 个字符(只能包含小写字母、数字和连字符)。
  • 说明:最多 1024 个字符。
  • 正文内容:目标是 1 万到 2 万个字符(约 2,500 到 5,000 个令牌)。如果您的指令超过此限制,请考虑将详细文档移至资源文件,如可选技能目录中所述。

可选技能目录

为使 SKILL.md 文件简洁且模块化,您可以在技能文件夹内的以下可选目录中添加其他资源:

  • scripts/:包含代理可以运行的可执行代码(例如 Python 或 Bash)。
  • references/:包含详细的技术文档、API 参考或特定于网域的指南。
  • assets/:包含静态资源,例如文档模板、界面图或 JSON 架构。

SKILL.md 指令中引用这些文件时,请使用技能根目录中的相对路径。例如:Run the script at scripts/cleanup.py

技能的运作方式

技能代表按需提供的专业知识。这种结构可让智能体保持大量专业化能力,而不会使模型的即时上下文窗口变得杂乱无章。

模型会根据您的请求和技能的说明自主决定何时使用技能。当模型识别出相关技能时,会动态提取完成任务所需的完整指令和资源。