1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | verified-email-android-skills |
| 作者/维护者 | Google LLC |
| 来源链接 | https://github.com/android/skills/tree/main/identity/verified-email |
| 许可证 | Apache License 2.0(数据来自 GitHub API) |
| GitHub Stars | 所属合集仓库 android/skills 整体 7,313(数据来自 GitHub API;该数字属整个合集,不代表本技能自身热度) |
| Forks | 477(同上,属合集整体数字) |
| 最新版本 | SKILL.md 标注 last-updated 2026-09-04 |
| 安装方式 | Android CLI 一条命令,或手动复制目录到 Agent 技能目录 |
2. 功能介绍与亮点
- 基于 Android Credential Manager API,为应用实现 OTP-less(免验证码)邮箱验证:借助 Google 签发的可加密验证凭据(Digital Credentials / SD-JWT),跳过传统“发验证码邮件”步骤。
- 覆盖三类场景:注册免手动验证、账户找回验证邮箱所有权、敏感操作二次校验。
- 给出从依赖声明、初始化 CredentialManager、构造 DCQL 查询、展示凭据请求、客户端预解析到服务端加密校验的完整 Kotlin 代码示例,遵循 OpenID4VP + SD-JWT 开放标准。
- 明确划清客户端与服务端职责:技能只负责客户端集成,反复提醒签名与 nonce 校验须在开发者服务端完成,并单列安全准则章节。
- 2026-09-04 仍在更新,已覆盖 2026 年 8 月的一次响应格式协议变更。
3. 适用场景
所属固定分类:工程效率与代码质量——该技能教的是如何在 Android 客户端代码中集成 androidx.credentials SDK 的具体编码流程,属技术栈/SDK 编码指南,与同仓库 CameraX 集成技能的分类判定一致。
适用人群:正在为 Android 应用实现注册、登录、账户找回或敏感操作二次验证流程的开发者,尤其适合希望减少手动邮箱验证码摩擦、提升注册转化率的团队。要求项目最低 SDK 28(Android 9,覆盖绝大多数在网设备)及 Google Play services 25.49 及以上版本。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持。技能目录即标准 SKILL.md + YAML frontmatter + references 结构,遵循开放的 Agent Skills 标准,可直接复制到
.claude/skills/使用。 - Codex:✅ 官方文档与第三方综述均将其列入该开放标准兼容的 Agent 名单。
- OpenClaw:⚠️ 未经本技能专门验证。
- Hermes Agent:⚠️ 未经本技能专门验证。
需注意:官方 Android CLI 默认仅为 Gemini 与 Antigravity 自动安装技能,面向 Claude Code / Codex 需手动指定 --agent 参数或手动复制(见第 9 章)。
5. 推荐理由
Google 官方出品,针对几乎所有 App 都会遇到的痛点(注册/找回流程中的邮箱验证)给出现代化替代方案:用系统级加密凭据取代验证码邮件,降低用户流失。文档给出完整代码链路、明确安全边界,且真实用户反馈的问题已被官方及时修复(见第 8 章)。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | Google LLC 官方出品;所属合集仓库整体 7,313★,该数字属整个合集,不代表本技能自身热度;子技能自身除第 8 章 GitHub issue 外,暂无更大规模独立第三方讨论证据 |
| 可用性 | 8 | 步骤清晰、含完整 Kotlin/Groovy 代码示例与依赖声明,2026-09-04 近期仍有更新维护,全部 references 文档链接经核实均可访问;但核心依赖 androidx.credentials 目前为 1.7.0-alpha03 预发布版本,且要求开发者自行实现服务端加密校验逻辑,非纯复制即用 |
| 安全性 | 9 | 纯文档/代码指南类技能,本身不执行 shell 命令、不联网外发数据;License 明确、官方维护、无夹带私货或可疑指令迹象 |
安全检查清单:
① Shell 命令:无,技能不执行任何 shell 命令,仅指导添加 Gradle 依赖与编写 Kotlin 代码。 ② 联网外发:技能本身不联网;文档描述的是 App 运行时调用系统级 Credential Manager API 与 Google 身份验证服务器交互,属功能本身而非技能夹带的外发行为。 ③ API key/凭据:无需 API key;凭据以加密 SD-JWT 形式经系统 UI 流转,SKILL.md 未索取任何开发者凭据,且明确要求服务端做签名校验。 ④ 可疑指令:未发现 prompt injection 或夹带私货迹象。 ⑤ 作者信誉:Google LLC 官方维护,无造假迹象。 ⑥ License:Apache License 2.0,明确。 ⑦ 维护时间:2026-09-04 更新,活跃维护。
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 差异 |
|---|---|---|
| auth0-auth0-agent-skills | Auth0 第三方托管身份平台的 Agent 集成技能 | 需注册 Auth0 账号并管理平台 API 凭据,是“接入外部身份托管服务”路线;本技能调用 Android 系统内置 Credential Manager,无需额外身份服务商账号 |
| clerk-cli-clerk-skills | Clerk 第三方托管用户认证平台的 CLI 技能 | 同为 SaaS 身份服务集成路线,依赖 Clerk 账号体系;本技能面向纯客户端原生 API,验证由 Google 身份服务器与设备本地凭据共同完成,不引入新的第三方账号依赖 |
差异化在于:不是接入新的身份托管平台,而是用系统已有能力替换一段传统流程(邮箱验证码),对已有账号体系的应用改造成本更低。
8. 用户评价
GitHub 用户 saadkhalidkhan 于 2026-05-23 提交 issue,指出 verified-email 技能正文中一处代码检索模式书写错误(onCrea teAccount 应为 onCreateAccount),并附带修复分支;Google 团队已于 2026-07-06 关闭该 issue,经核实当前正文该处已更正为正确写法。除该条反馈外,该技能目前在第三方平台尚无更多具名用户评价。
9. 安装使用方式
方式一:Android CLI(官方,需先安装 Android CLI)
android skills add verified-email --project=.
未指定 --agent 时默认为 Gemini 与 Antigravity 自动安装;面向 Claude Code / Codex 需显式使用 --agent 参数,或使用下方手动方式。
方式二:手动安装(适用于 Claude Code / Codex)
从 https://github.com/android/skills/tree/main/identity/verified-email 下载 SKILL.md 与 references/ 目录,整体复制到项目对应 Agent 的技能目录(如 .claude/skills/verified-email/)。
安装后注意事项:向 Agent 描述“给 App 加邮箱验证/注册免验证码”等相关任务,Agent 会自动检索并使用该技能;无需重启,生效范围仅限当前项目/会话;首次使用需在 build.gradle 声明 androidx.credentials 相关依赖(技能会指导添加)。
10. 注意事项
- 核心依赖
androidx.credentials目前为 1.7.0-alpha03 预发布版本,生产环境使用需自行评估稳定性风险。 - 技能不包含服务端加密校验实现,需开发者自行完成 SD-JWT 签名与 nonce 校验等后端逻辑。
- 仅覆盖 Android 客户端集成,最低要求 SDK 28(Android 9)及 GMS 25.49 以上版本。
- Google 不为 Workspace 企业邮箱账号签发可验证凭据;非 @gmail.com 邮箱缺少“新鲜度”声明,建议叠加 OTP 等额外挑战。
- OpenClaw、Hermes Agent 兼容性未经专门验证,建议先小范围试点。
- 2026 年 8 月响应格式发生过一次协议层变更,需同时兼容新旧两种 JSON 结构。