一键导入
play-policy-insights
用于核查 Android 应用是否符合 Google Play 政策域的自动化审计器。它交叉比对静态代码分析与 Play 商店声明,生成确定性的合规报告,识别权限与 API 卫生、用户账号与身份、数据安全与隐私领域中未声明的数据收集、架构风险和缺失披露。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
用于核查 Android 应用是否符合 Google Play 政策域的自动化审计器。它交叉比对静态代码分析与 Play 商店声明,生成确定性的合规报告,识别权限与 API 卫生、用户账号与身份、数据安全与隐私领域中未声明的数据收集、架构风险和缺失披露。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
提供使用 CameraX 进行 Android 相机开发的技术指导。当实现相机功能、处理异步录制生命周期、使用 CameraX 进行底层硬件互操作,或集成 ML Kit 或 Media3 特效时使用。
提供基于 Android Credential Manager API 实现已验证邮箱获取的完整工作流。使用此 skill 向 Android 应用集成安全、免 OTP 的邮箱验证流程。该 skill 利用来自 Google 等可信提供商的加密验证凭证,解决注册流程摩擦过大的问题。
提供让应用 UI 适配不同 Android 设备(手机、平板、折叠屏、笔记本、桌面、TV、Auto 和 XR)的说明。涵盖使用 Compose MediaQuery API 处理不同窗口尺寸、指针设备(如鼠标)和文本输入设备(如键盘);使用 Navigation3 Scenes 实现多窗格布局;使用 Compose Grid 和 FlexBox API 实现随目标尺寸变化的自适应 UI 组件(如按钮)和自适应布局(含导航区——nav rails 和 nav bars)。
提供将 Android XML View 迁移到 Jetpack Compose 的结构化工作流。该 skill 详述从规划和依赖设置,到主题和布局迁移、验证及 XML 清理的分步流程。当需要在 Android 项目中把 XML View 迁移到 Jetpack Compose 时使用。它解决将旧版 XML View 的 UI 转换为现代声明式 Compose 组件、同时保持互操作性的问题。
使用此 skill 将 Jetpack Compose Styles API 集成到 Android 项目。引导你升级依赖、设置组件主题、让自定义组件可样式化,以及将现有布局属性迁移到统一样式。迁移自定义设计系统组件、用 Style 属性替换硬编码参数、使用 Modifier.styleable 处理交互状态。
学习如何安装并迁移到 Jetpack Navigation 3,以及如何实现 deep links、多个 backstack、scenes(对话框、底部表、list-detail、two-pane、supporting pane)、条件导航(如已登录导航 vs 匿名导航)、从流程返回结果、与 Hilt/ViewModel/Kotlin/View 互操作集成等功能和模式。
| name | play-policy-insights |
| description | 用于核查 Android 应用是否符合 Google Play 政策域的自动化审计器。它交叉比对静态代码分析与 Play 商店声明,生成确定性的合规报告,识别权限与 API 卫生、用户账号与身份、数据安全与隐私领域中未声明的数据收集、架构风险和缺失披露。 |
| license | Complete terms in LICENSE.txt |
| metadata | {"author":"Google LLC","last-updated":"2026-07-10","keywords":["account deletion","accessibility api","all files access","audio recording","audit","compliance","contacts access","data disclosure","data safety","data safety label","data transmission","demo credentials","exact alarm","foreground services","location access","login credentials","manifest hygiene","package visibility","permissions hygiene","photo and video access","photopicker","play policy","pre-submission audit","privacy policy","prominent disclosure","restricted permissions","scoped storage","sms and call log","static analysis","target sdk","user consent"]} |
You must audit Android apps for three specific policy domains. You must check data safety, demo login credentials, and restricted permissions.
SKILL.md..scratch/play_policy_insights_<uuid>. Containment
Mandate: You must confine all file system writes, intermediate artifacts,
and logs strictly to this directory. This ensures the skill remains portable
and safe across diverse execution environments, including local harnesses
and CI/CD pipelines, by avoiding reliance on system-level temporary paths or
user home directories.Execution Mode Awareness Before starting Phase 2, evaluate if your
execution environment provides a tool to spawn or delegate tasks to
general-purpose sub-agents (e.g., tools often named invoke_agent,
delegate_task, or spawn_worker, using generic agent profiles like
'generalist' or 'coding_agent').
If YES, you MUST use Mode A (Delegation).
If NO, use Mode B (Sequential Self-Execution). You must read the prompt files intended for the subagents, follow their instructions, and write the expected output files to disk.
Sub-agents orchestration:
If you use "Mode A (Delegation)", wait for "SUCCESS" confirmation from sub-agents to know when they are done.
Idempotency & Timeout Safeguard: If a sub-agent fails or times out,
you MUST verify the presence and integrity of its target output file
(e.g., <temp_dir>/worker_<goal_name>.json) before retrying. If the
file exists and contains valid JSON, treat the execution as SUCCESS
and proceed. Otherwise, retry up to three times.
Fail-fast mandate: The automated audit in Phase 1 is the source of
truth. If orchestrator.py fails, you must stop immediately with an
explanation of failure. Do not use manual auditing as a fallback.
python3 <repo_root>/scripts/orchestrator.py init <app_dir>.temp_dir, and
activated_goals from the JSON output. You will need them in Phase 2.activated_goals is empty, skip to step 3 of Phase 2
(Aggregation). Otherwise, proceed to step 1 of Phase 2 (Detailed analysis).Determine your execution capabilities and proceed with either Mode A OR Mode B.
activated_goals (e.g.,
permissions_and_apis, data_safety_part_1, data_safety_part_2),
delegate to a sub-agent. Concurrency Limit: You must not spawn more than
3 sub-agents simultaneously. Spawn the first batch of up to 3, wait for
their completions, and then spawn the next batch. Repeat until all goals are
complete. Pass the prompt: "Read your instructions from <temp_dir>/prompt_worker_<goal_name>.md and execute. MANDATORY: You must use your file-writing capabilities to save your final JSON findings directly to the file system at <temp_dir>/worker_<goal_name>.json. You are strictly forbidden from outputting the JSON in your chat response. To minimize context usage, your final response must be exactly 'SUCCESS' and nothing else." Validate: Confirm every
<temp_dir>/worker_<goal_name>.json exists and contains valid JSON. If a
sub-agent fails or times out, but the valid JSON output file is already
present on disk, do NOT retry; proceed normally. Only retry the
corresponding worker (up to three times) if the file is missing or invalid.python3 <repo_root>/scripts/orchestrator.py aggregate <temp_dir>. This
produces aggregated_findings.json and returns a JSON object containing
critic_chunks representing the number of chunks to verify (e.g.,
{"temp_dir": "...", "critic_chunks": 2}).i from 1 to
critic_chunks, delegate to a sub-agent. Concurrency Limit: You must not
spawn more than 3 critic sub-agents simultaneously. Batch them in groups of 3
as above. Pass the prompt:
"Read your instructions from <temp_dir>/prompt_critic_<i>.md and execute. MANDATORY: You must use your file-writing capabilities to save your final JSON findings directly to the file system at <temp_dir>/critic_output_<i>.json. You are strictly forbidden from outputting the JSON in your chat response. To minimize context usage, your final response must be exactly 'SUCCESS' and nothing else."
Validate: Confirm each <temp_dir>/critic_output_<i>.json exists and
contains valid JSON before proceeding. If it failed or timed out, but the
valid JSON file is present, proceed normally. Otherwise, retry that specific
critic chunk.activated_goals, sequentially:
<temp_dir>/prompt_worker_<goal_name>.md.<temp_dir>/worker_<goal_name>.json. Do not
summarize findings in your thoughts or chat; move to the next task.<temp_dir>/worker_<goal_name>.json exists before
moving to the next goal.python3 <repo_root>/scripts/orchestrator.py --aggregate <temp_dir>.
This produces aggregated_findings.json and returns a JSON object containing
critic_chunks representing the number of chunks to verify.i from 1 to
critic_chunks, sequentially:
<temp_dir>/prompt_critic_<i>.md.<temp_dir>/critic_output_<i>.json.<temp_dir>/critic_output_<i>.json exists before
moving to the next chunk.python3 <repo_root>/scripts/generate_report.py <temp_dir>.
It will produce <temp_dir>/compliance_report.md. Present this output file to user.