opencode-skills-collection 3.0.46 → 3.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +15 -1
  2. package/bundled-skills/2slides-ppt-generator/SKILL.md +1 -1
  3. package/bundled-skills/2slides-ppt-generator/scripts/create_pdf_slides.py +2 -1
  4. package/bundled-skills/2slides-ppt-generator/scripts/generate_narration.py +2 -1
  5. package/bundled-skills/2slides-ppt-generator/scripts/generate_slides.py +13 -7
  6. package/bundled-skills/accint-solve/SKILL.md +205 -0
  7. package/bundled-skills/android-cli/SKILL.md +239 -0
  8. package/bundled-skills/android-cli/references/interact.md +83 -0
  9. package/bundled-skills/android-cli/references/journeys.md +105 -0
  10. package/bundled-skills/android-dev/references/hybrid.md +7 -4
  11. package/bundled-skills/android-dev/references/react-native.md +5 -2
  12. package/bundled-skills/atlas-contract/SKILL.md +4 -4
  13. package/bundled-skills/atlas-ledger/SKILL.md +10 -7
  14. package/bundled-skills/bun-development/SKILL.md +1 -1
  15. package/bundled-skills/cloud-penetration-testing/SKILL.md +1 -1
  16. package/bundled-skills/codebase-to-wordpress-converter/SKILL.md +1 -0
  17. package/bundled-skills/codex-fable5/SKILL.md +154 -0
  18. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  19. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  20. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  21. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  22. package/bundled-skills/docs/users/bundles.md +1 -1
  23. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  24. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  25. package/bundled-skills/docs/users/getting-started.md +1 -1
  26. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  27. package/bundled-skills/docs/users/usage.md +4 -4
  28. package/bundled-skills/docs/users/visual-guide.md +4 -4
  29. package/bundled-skills/dos-verify-done-claims/SKILL.md +173 -0
  30. package/bundled-skills/ecl-harness-engineer/LICENSE +21 -0
  31. package/bundled-skills/ecl-harness-engineer/SKILL.md +714 -0
  32. package/bundled-skills/ecl-harness-engineer/agents/analyzer.md +119 -0
  33. package/bundled-skills/ecl-harness-engineer/agents/auditor.md +212 -0
  34. package/bundled-skills/ecl-harness-engineer/agents/creator-config.md +343 -0
  35. package/bundled-skills/ecl-harness-engineer/agents/creator-docs.md +201 -0
  36. package/bundled-skills/ecl-harness-engineer/agents/creator-linters.md +123 -0
  37. package/bundled-skills/ecl-harness-engineer/references/adapters/adapter-schema.md +204 -0
  38. package/bundled-skills/ecl-harness-engineer/references/adapters/generic.md +156 -0
  39. package/bundled-skills/ecl-harness-engineer/references/adapters/go.md +212 -0
  40. package/bundled-skills/ecl-harness-engineer/references/adapters/java.md +205 -0
  41. package/bundled-skills/ecl-harness-engineer/references/adapters/python.md +225 -0
  42. package/bundled-skills/ecl-harness-engineer/references/adapters/rust.md +220 -0
  43. package/bundled-skills/ecl-harness-engineer/references/adapters/typescript.md +245 -0
  44. package/bundled-skills/ecl-harness-engineer/references/architecture-diagrams.md +420 -0
  45. package/bundled-skills/ecl-harness-engineer/references/audit-templates.md +649 -0
  46. package/bundled-skills/ecl-harness-engineer/references/capability-registry.md +485 -0
  47. package/bundled-skills/ecl-harness-engineer/references/darwin-eval-prompts.md +373 -0
  48. package/bundled-skills/ecl-harness-engineer/references/documentation-templates.md +741 -0
  49. package/bundled-skills/ecl-harness-engineer/references/durability-patterns.md +423 -0
  50. package/bundled-skills/ecl-harness-engineer/references/ecl-harness.md +1431 -0
  51. package/bundled-skills/ecl-harness-engineer/references/environment-config-guide.md +534 -0
  52. package/bundled-skills/ecl-harness-engineer/references/environment-detection-guide.md +751 -0
  53. package/bundled-skills/ecl-harness-engineer/references/eval-templates.md +377 -0
  54. package/bundled-skills/ecl-harness-engineer/references/gc-templates.md +798 -0
  55. package/bundled-skills/ecl-harness-engineer/references/greenfield-templates.md +1385 -0
  56. package/bundled-skills/ecl-harness-engineer/references/linter-templates.md +448 -0
  57. package/bundled-skills/ecl-harness-engineer/references/observability-templates.md +315 -0
  58. package/bundled-skills/efficient-web-research/SKILL.md +320 -0
  59. package/bundled-skills/environment-setup-guide/SKILL.md +2 -2
  60. package/bundled-skills/evolution/SKILL.md +1 -1
  61. package/bundled-skills/gitops-workflow/SKILL.md +1 -1
  62. package/bundled-skills/linkerd-patterns/SKILL.md +1 -1
  63. package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +504 -1317
  64. package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package.json +2 -2
  65. package/bundled-skills/lovable-cleanup/SKILL.md +416 -0
  66. package/bundled-skills/monopoly/SKILL.md +397 -0
  67. package/bundled-skills/monopoly/patterns/SKILL.md +331 -0
  68. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +174 -0
  69. package/bundled-skills/monopoly/security-checklist/SKILL.md +69 -0
  70. package/bundled-skills/monopoly/tech-matrix/SKILL.md +268 -0
  71. package/bundled-skills/pagespeed-enhancer/SKILL.md +579 -0
  72. package/bundled-skills/polis-protocol/SKILL.md +6 -3
  73. package/bundled-skills/sharp-coder/SKILL.md +131 -0
  74. package/bundled-skills/unship/SKILL.md +11 -5
  75. package/bundled-skills/uv-package-manager/resources/implementation-playbook.md +1 -1
  76. package/bundled-skills/varlock/SKILL.md +2 -2
  77. package/package.json +1 -1
  78. package/skills_index.json +314 -4
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-06-14T02:28:43.791Z",
3
+ "updatedAt": "2026-06-16T02:36:05.454Z",
4
4
  "entries": [
5
5
  "00-andruia-consultant",
6
6
  "007",
@@ -14,6 +14,7 @@
14
14
  "accesslint-audit",
15
15
  "accesslint-diff",
16
16
  "accesslint-scan",
17
+ "accint-solve",
17
18
  "active-directory-attacks",
18
19
  "activecampaign-automation",
19
20
  "ad-creative",
@@ -74,6 +75,7 @@
74
75
  "analytics-tracking",
75
76
  "analyze-project",
76
77
  "andrej-karpathy",
78
+ "android-cli",
77
79
  "android-dev",
78
80
  "android-jetpack-compose-expert",
79
81
  "android_ui_verification",
@@ -389,6 +391,7 @@
389
391
  "codebase-cleanup-refactor-clean",
390
392
  "codebase-cleanup-tech-debt",
391
393
  "codebase-to-wordpress-converter",
394
+ "codex-fable5",
392
395
  "codex-review",
393
396
  "cold-email",
394
397
  "comfyui-gateway",
@@ -521,6 +524,7 @@
521
524
  "docusign-automation",
522
525
  "docx-official",
523
526
  "domain-driven-design",
527
+ "dos-verify-done-claims",
524
528
  "dotnet-architect",
525
529
  "dotnet-backend",
526
530
  "dotnet-backend-patterns",
@@ -531,6 +535,8 @@
531
535
  "e2e-testing",
532
536
  "e2e-testing-patterns",
533
537
  "earllm-build",
538
+ "ecl-harness-engineer",
539
+ "efficient-web-research",
534
540
  "ejentum-reasoning-harness",
535
541
  "electron-development",
536
542
  "elixir-pro",
@@ -864,6 +870,7 @@
864
870
  "loki-mode",
865
871
  "longbridge",
866
872
  "loss-aversion-designer",
873
+ "lovable-cleanup",
867
874
  "m365-agents-dotnet",
868
875
  "m365-agents-py",
869
876
  "m365-agents-ts",
@@ -930,6 +937,11 @@
930
937
  "molykit",
931
938
  "monday-automation",
932
939
  "monetization",
940
+ "monopoly",
941
+ "monopoly/patterns",
942
+ "monopoly/scale-benchmarks",
943
+ "monopoly/security-checklist",
944
+ "monopoly/tech-matrix",
933
945
  "monorepo-architect",
934
946
  "monorepo-management",
935
947
  "monte-carlo-monitor-creation",
@@ -1030,6 +1042,7 @@
1030
1042
  "outlook-calendar-automation",
1031
1043
  "page-cro",
1032
1044
  "pagerduty-automation",
1045
+ "pagespeed-enhancer",
1033
1046
  "paid-ads",
1034
1047
  "pakistan-payments-stack",
1035
1048
  "papers-skill",
@@ -1261,6 +1274,7 @@
1261
1274
  "sexual-health-analyzer",
1262
1275
  "shadcn",
1263
1276
  "shader-programming-glsl",
1277
+ "sharp-coder",
1264
1278
  "sharp-edges",
1265
1279
  "shellcheck-configuration",
1266
1280
  "shodan-reconnaissance",
@@ -214,7 +214,7 @@ python scripts/generate_slides.py \
214
214
  --aspect-ratio RATIO # 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 (default: 16:9)
215
215
  --resolution 1K|2K|4K # default: 2K
216
216
  --page N # 0=auto, 1-100 (default: 1)
217
- --content-detail concise|standard # default: standard
217
+ --content-detail concise|standard # default: concise
218
218
  ```
219
219
 
220
220
  **Note:** This uses Nano Banana Pro mode with credit costs:
@@ -8,7 +8,6 @@ import os
8
8
  import sys
9
9
  import json
10
10
  import argparse
11
- import requests
12
11
  from typing import Optional, Dict, Any
13
12
 
14
13
 
@@ -55,6 +54,8 @@ def create_pdf_slides(
55
54
  Returns:
56
55
  Dict with generation result
57
56
  """
57
+ import requests
58
+
58
59
  if api_key is None:
59
60
  api_key = get_api_key()
60
61
 
@@ -8,7 +8,6 @@ import os
8
8
  import sys
9
9
  import json
10
10
  import argparse
11
- import requests
12
11
  from typing import Optional, Dict, Any, List
13
12
 
14
13
 
@@ -67,6 +66,8 @@ def generate_narration(
67
66
  - Cost: 210 credits per page (10 for text, 200 for audio)
68
67
  - Processing time: Varies by slide count
69
68
  """
69
+ import requests
70
+
70
71
  if api_key is None:
71
72
  api_key = get_api_key()
72
73
 
@@ -7,9 +7,7 @@ Supports both content-based and reference image-based generation.
7
7
  import os
8
8
  import sys
9
9
  import json
10
- import time
11
10
  import argparse
12
- import requests
13
11
  from typing import Optional, Dict, Any
14
12
 
15
13
 
@@ -50,6 +48,8 @@ def generate_slides(
50
48
  Returns:
51
49
  Dict with generation result or job ID
52
50
  """
51
+ import requests
52
+
53
53
  if api_key is None:
54
54
  api_key = get_api_key()
55
55
 
@@ -106,6 +106,7 @@ def create_like_this(
106
106
  resolution: str = "2K",
107
107
  page: int = 1,
108
108
  content_detail: str = "concise",
109
+ mode: str = "async",
109
110
  api_key: Optional[str] = None
110
111
  ) -> Dict[str, Any]:
111
112
  """
@@ -122,11 +123,14 @@ def create_like_this(
122
123
  resolution: Output quality - "1K", "2K", or "4K" (default: "2K")
123
124
  page: Number of slides, 0 for auto-detection, max 100 (default: 1)
124
125
  content_detail: "concise" (brief, keyword-focused) or "standard" (comprehensive) (default: "concise")
126
+ mode: "sync" or "async" (default: "async")
125
127
  api_key: API key (uses env var if not provided)
126
128
 
127
129
  Returns:
128
130
  Dict with generation result
129
131
  """
132
+ import requests
133
+
130
134
  if api_key is None:
131
135
  api_key = get_api_key()
132
136
 
@@ -142,7 +146,8 @@ def create_like_this(
142
146
  "aspectRatio": aspect_ratio,
143
147
  "resolution": resolution,
144
148
  "page": page,
145
- "contentDetail": content_detail
149
+ "contentDetail": content_detail,
150
+ "mode": mode
146
151
  }
147
152
 
148
153
  url = f"{API_BASE_URL}/slides/create-like-this"
@@ -202,8 +207,8 @@ Examples:
202
207
  parser.add_argument("--theme-id", help="Theme ID (required for standard generation)")
203
208
  parser.add_argument("--reference-image", help="Reference image URL (use this OR theme-id)")
204
209
  parser.add_argument("--language", default="Auto", help="Response language (default: Auto)")
205
- parser.add_argument("--mode", choices=["sync", "async"], default="sync",
206
- help="Generation mode (default: sync)")
210
+ parser.add_argument("--mode", choices=["sync", "async"],
211
+ help="Generation mode (default: sync for theme, async for reference-image)")
207
212
  parser.add_argument("--aspect-ratio", default="16:9", help="Aspect ratio in width:height format (default: 16:9)")
208
213
  parser.add_argument("--resolution", choices=["1K", "2K", "4K"], default="2K",
209
214
  help="Output quality (default: 2K)")
@@ -222,7 +227,8 @@ Examples:
222
227
  aspect_ratio=args.aspect_ratio,
223
228
  resolution=args.resolution,
224
229
  page=args.page,
225
- content_detail=args.content_detail
230
+ content_detail=args.content_detail,
231
+ mode=args.mode or "async"
226
232
  )
227
233
  else:
228
234
  if not args.theme_id:
@@ -233,7 +239,7 @@ Examples:
233
239
  user_input=args.content,
234
240
  theme_id=args.theme_id,
235
241
  response_language=args.language,
236
- mode=args.mode
242
+ mode=args.mode or "sync"
237
243
  )
238
244
 
239
245
  print(json.dumps(result, indent=2))
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: accint-solve
3
+ description: "Route agent work through AccInt's MCP memory loop: retrieve prior outcomes, resolve frames, and close commitments with evidence."
4
+ category: ai-agents
5
+ risk: safe
6
+ source: community
7
+ source_repo: maxbaluev/accreted-intelligence
8
+ source_type: community
9
+ date_added: "2026-06-15"
10
+ author: maxbaluev
11
+ tags: [mcp, memory, ai-agents, coding-agents, workflow]
12
+ tools: [claude, codex, cursor, gemini, opencode]
13
+ license: "Apache-2.0"
14
+ license_source: "https://github.com/maxbaluev/accreted-intelligence/blob/main/LICENSE-APACHE-2.0.txt"
15
+ ---
16
+
17
+ # AccInt Solve
18
+
19
+ ## Overview
20
+
21
+ AccInt is a local-first MCP memory server for coding agents. It keeps a scored
22
+ record of retrieved experience, open commitments, continuation frames, and
23
+ outcome feedback so the next agent run can build on what actually worked.
24
+
25
+ Use this skill when AccInt is already configured in the host as an MCP server.
26
+ The skill adapts AccInt's public `solve` Claude skill into a host-agnostic
27
+ workflow for Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode, and other
28
+ agent runtimes that can call MCP tools.
29
+
30
+ ## When to Use This Skill
31
+
32
+ - Use when starting non-trivial coding-agent work where prior decisions,
33
+ debugging history, repo-specific habits, or maintainer feedback may matter.
34
+ - Use when a task may require multiple attempts and you want an explicit
35
+ commitment ID that can later receive a real outcome.
36
+ - Use when AccInt returns a continuation frame and the agent must reason locally
37
+ before submitting a proposal back to the memory loop.
38
+ - Use after verification, merge, deployment, maintainer response, or other
39
+ reality signal to close the commitment with an honest outcome.
40
+ - Do not use when the host has no AccInt MCP tools configured; first install or
41
+ configure AccInt, then rerun the workflow.
42
+
43
+ ## How It Works
44
+
45
+ ### Step 1: Confirm the AccInt MCP tools exist
46
+
47
+ Use the host's available MCP/tool list to confirm an AccInt server exposes the
48
+ two verbs:
49
+
50
+ ```text
51
+ acc_retrieve(query)
52
+ acc_act(runtime, input)
53
+ ```
54
+
55
+ If the host names the tools with a namespace prefix, use the equivalent
56
+ AccInt MCP verbs. If neither verb is available, stop and ask the user to
57
+ configure AccInt rather than inventing memory results.
58
+
59
+ ### Step 2: Retrieve before planning
60
+
61
+ Before a non-trivial step, retrieve relevant prior work:
62
+
63
+ ```json
64
+ {"query": "the concrete task or subtask you are about to perform"}
65
+ ```
66
+
67
+ Read the returned memories and cite the `[ids]` you actually build on. Treat
68
+ retrieved memories as evidence to consider, not as a substitute for inspecting
69
+ the current repository, running tests, or checking live external state.
70
+
71
+ ### Step 3: Route the goal through `solve`
72
+
73
+ Open an AccInt commitment for the concrete goal:
74
+
75
+ ```json
76
+ {"runtime": "solve", "input": "the concrete goal to accomplish"}
77
+ ```
78
+
79
+ If the response is final, use the answer, commitment ID, and cited memory IDs.
80
+ If the response is a `brain_frame`, keep the reasoning in the current session:
81
+ inspect the frame, resolve the missing judgment or knowledge from the workspace,
82
+ then submit a concise proposal through `continue`.
83
+
84
+ ### Step 4: Resolve continuation frames
85
+
86
+ For a returned frame, submit only the frame ID and your proposal text unless the
87
+ host explicitly manages tokens for you:
88
+
89
+ ```json
90
+ {
91
+ "runtime": "continue",
92
+ "input": {
93
+ "frame_id": "bf_...",
94
+ "proposal_text": "reasoned answer, plan, or decision grounded in the current evidence"
95
+ }
96
+ }
97
+ ```
98
+
99
+ Do not leave a received frame unresolved. If the frame expires, close or rerun
100
+ the bound commitment rather than pretending the continuation succeeded.
101
+
102
+ ### Step 5: Execute and verify outside AccInt
103
+
104
+ Do the actual work in the repository, browser, shell, issue tracker, or other
105
+ real environment. Verify with the strongest relevant evidence available: tests,
106
+ builds, linters, link checks, PR state, screenshots, maintainer replies, or
107
+ production telemetry.
108
+
109
+ AccInt stores the learning loop; it does not replace the work or the evidence.
110
+
111
+ ### Step 6: Close the commitment with an outcome
112
+
113
+ When reality answers, record the result:
114
+
115
+ ```json
116
+ {
117
+ "runtime": "outcome",
118
+ "input": {
119
+ "ref": "solved:...",
120
+ "good": true,
121
+ "note": "brief evidence: tests passed, PR merged, deploy succeeded, reviewer accepted, or exact failure reason"
122
+ }
123
+ }
124
+ ```
125
+
126
+ Use `good: false` when the approach failed. Do not tag an outcome as external
127
+ or owner-validated unless a real external system or the owner actually supplied
128
+ that verdict.
129
+
130
+ ## Examples
131
+
132
+ ### Example 1: Start a repository fix with memory
133
+
134
+ ```text
135
+ 1. acc_retrieve({"query":"fix failing parser tests in this repo"})
136
+ 2. Read the returned memories; cite only the relevant [ids].
137
+ 3. acc_act(runtime="solve", input="Fix the failing parser tests and verify them")
138
+ 4. Inspect the repo, edit files, run the parser tests.
139
+ 5. acc_act(runtime="outcome", input={"ref":"solved:...", "good":true, "note":"parser test command passed"})
140
+ ```
141
+
142
+ ### Example 2: Handle a continuation frame
143
+
144
+ ```text
145
+ AccInt returns frame bf_123 asking for a judgment about whether to patch the
146
+ schema or the caller.
147
+
148
+ 1. Inspect the schema and caller in the current repo.
149
+ 2. Decide from code evidence, not memory alone.
150
+ 3. acc_act(runtime="continue", input={"frame_id":"bf_123", "proposal_text":"Patch the caller because..."})
151
+ 4. Continue implementation and verification.
152
+ ```
153
+
154
+ ## Best Practices
155
+
156
+ - Cite retrieved `[ids]` whenever they shape your plan or answer.
157
+ - Keep owner-held facts owner-held: ask instead of fabricating preferences,
158
+ credentials, identity, or history the repository cannot prove.
159
+ - Use small, concrete solve goals; open a new solve for materially different
160
+ subproblems instead of overloading one commitment.
161
+ - Close commitments promptly when reality answers, including failures.
162
+ - Record evidence in outcome notes, not confidence.
163
+ - Preserve privacy: do not store secrets, raw credentials, or unnecessary
164
+ sensitive user data in outcome notes.
165
+
166
+ ## Limitations
167
+
168
+ - Requires an installed and configured AccInt MCP server exposing
169
+ `acc_retrieve` and `acc_act`.
170
+ - Does not replace repository inspection, tests, review, or live-state checks.
171
+ - Retrieved memory can be stale or wrong; current evidence wins.
172
+ - Outcome credit is only as strong as the evidence tier. Self-graded outcomes
173
+ are weaker than runtime, external, or owner-validated outcomes.
174
+ - AccInt is local-first; a different machine or database may not have the same
175
+ memories unless the user intentionally shares the AccInt database.
176
+
177
+ ## Security & Safety Notes
178
+
179
+ - This skill does not require shell commands, network fetches, or credentials.
180
+ - AccInt MCP calls can write to the configured local AccInt database by opening
181
+ commitments, continuations, and outcomes. Treat those writes as project
182
+ memory, and avoid recording sensitive data that does not need to persist.
183
+ - If a task involves production systems, payments, private accounts, legal or
184
+ medical facts, or secrets, get the required authorization and verify against
185
+ the appropriate external source before recording an outcome.
186
+
187
+ ## Common Pitfalls
188
+
189
+ - **Problem:** Using retrieved memory as if it were guaranteed current.
190
+ **Solution:** Use it to guide investigation, then verify in the current
191
+ workspace or live system.
192
+ - **Problem:** Leaving a `brain_frame` open because implementation work started.
193
+ **Solution:** Submit a `continue` proposal first, or close/rerun the bound
194
+ commitment if the frame expires.
195
+ - **Problem:** Marking an outcome good before tests, checks, or external state
196
+ prove it.
197
+ **Solution:** Wait for real evidence, then record the outcome with the exact
198
+ command, PR state, deploy state, or reviewer signal.
199
+
200
+ ## Related Skills
201
+
202
+ - `@agent-memory-mcp` - Use when you need a broader overview of MCP-backed
203
+ agent memory systems.
204
+ - `@verification-before-completion` - Use before claiming work is complete.
205
+ - `@lint-and-validate` - Use to select and run repository validation commands.
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: android-cli
3
+ description: Orchestrates Android development tasks including project creation, deployment, SDK management, and environment diagnostics using the `android` command-line tool.
4
+ category: tools
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-06-15"
9
+ author: Owais
10
+ tags: [android, cli, adb, mobile, build, emulator]
11
+ tools: [claude, cursor, gemini, antigravity]
12
+ ---
13
+
14
+ <!-- security-allowlist: curl-pipe-bash -->
15
+
16
+ # Android CLI Specialist
17
+
18
+ This skill provides instructions for using the `android` CLI tool. The tool includes various commands for creating projects, running applications, interacting with devices, and managing the CLI environment.
19
+
20
+ ## When to Use
21
+
22
+ - Use when you need to create, configure, or analyze Android projects from the command line.
23
+ - Use when interacting with, deploying to, or taking screenshots of running Android devices.
24
+ - Use when managing Android SDK components, versions, or virtual devices (emulators).
25
+ - Use when inspecting UI layouts or running XML-specified journey tests.
26
+
27
+ ## Installation
28
+
29
+ If the `android` tool is not in the path, install it. To install, run the following command:
30
+
31
+ - **Linux:** `curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash`
32
+ - **macOS:** `curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash`
33
+ - **Windows:** `curl.exe -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "%TEMP%\i.cmd" && "%TEMP%\i.cmd"`
34
+
35
+ ## SDK Management
36
+
37
+ To manage the installation of Android SDKs and tools, use the `sdk` command. For example:
38
+
39
+ - `android sdk install <package>[@<version>]...`: Install specific packages. Multiple packages can be specified, separated by spaces. `<version>` defaults to latest. For example: `android sdk install platforms/android-30@2 platforms/android-34`
40
+ - `android sdk update [<pkg-name>]`: Update a specific package or all packages to the latest version.
41
+ - `android sdk remove <pkg-name>`: Remove a package from the local SDK.
42
+ - `android sdk list --all`: List installed and available SDK packages.
43
+
44
+ ## Project Creation
45
+
46
+ Create projects from templates using the `create` command.
47
+
48
+ For example:
49
+ ```bash
50
+ android create empty-activity --name="My App" --output=./my-app
51
+ ```
52
+
53
+ ## Interacting with Devices
54
+
55
+ For more information on interacting with running devices, see [here](references/interact.md).
56
+
57
+ ## Running Journey Tests
58
+
59
+ For more information on running journeys, see [here](references/journeys.md).
60
+
61
+ ## Doc Searching
62
+
63
+ The `docs` command searches authoritative, high-quality Android developer documentation in the Android Knowledge Base.
64
+ By providing a few keywords, this tool will return high quality articles that contain examples or guidance on how to use Android APIs or libraries.
65
+ Use this tool to obtain additional information on how to achieve Android-specific tasks or to know more about Android APIs, surfaces, libraries, or devices.
66
+
67
+ Always use this tool to get the most up-to-date information about Android concepts. Typical good use cases are:
68
+ - Finding migration guides for APIs.
69
+ - Finding examples for APIs.
70
+ - Finding up-to-date information about Android APIs.
71
+ - Finding best practices for Android concepts.
72
+
73
+ ## Running APKs
74
+
75
+ Use the `run` command to run Android apps.
76
+
77
+ ## Managing Emulators
78
+
79
+ Manage Android Virtual Devices (AVDs) using the `android emulator` command.
80
+
81
+ ## Capturing Screenshots
82
+
83
+ Capture an image of the current screen of a connected Android device and output it to a file using the `android screen capture -o <file path>` command.
84
+
85
+ ## Managing Skills
86
+
87
+ Manage antigravity agent skills for Android using the `android skills` command.
88
+
89
+ ## Inspecting UI Layouts
90
+
91
+ Use the `android layout` command to inspect the UI layout of an Android application. It returns the layout tree of an Android application in JSON format. When debugging UI errors, this is often a much faster approach than taking a screenshot.
92
+
93
+ ## Updating the CLI
94
+
95
+ Update the Android CLI using the `android update` command.
96
+
97
+ ## Limitations
98
+
99
+ - The `android` CLI must be installed and available on `PATH`; otherwise install it first or use the platform-specific setup guidance above.
100
+ - Device, emulator, SDK, and documentation commands can depend on local Android SDK state, network access, and attached hardware.
101
+ - Treat generated commands as environment-sensitive: inspect paths, package names, device serials, and install/update targets before running them.
102
+
103
+ ## Android Help Output
104
+
105
+ ```text
106
+ Usage: android [-hV] [--sdk=PARAM] [COMMAND]
107
+ -h, --help Show this help message and exit.
108
+ --sdk=PARAM Path to the Android SDK
109
+ -V, --version Print version information and exit.
110
+ Commands:
111
+ create Create a new Android project
112
+ describe Analyzes an Android project to generate descriptive metadata.
113
+ docs Android documentation commands
114
+ emulator Emulator commands
115
+ help Shows the help of all commands
116
+ info Print environment information (SDK Location, etc.)
117
+ init Initializes the environment (eg. skills) for Android CLI.
118
+ layout Returns the layout tree of an application
119
+ run Deploy an Android Application
120
+ screen Commands to view the device
121
+ sdk Download and list SDK packages
122
+ skills Manage skills
123
+ update Update the Android CLI
124
+
125
+ create
126
+ Usage: android create [-h] [--verbose] [--list] [--minSdk=api]
127
+ --name=applicationName [-o=dest-path] [template-name]
128
+ Create a new Android project
129
+ [template-name] The template name
130
+ -h, --help Show this help message and exit.
131
+ --minSdk=api The 'minSdk' supported by the application (default
132
+ is defined in the template)
133
+ --name=applicationName
134
+ The name of the application (e.g. 'My Application')
135
+ -o, --output=dest-path The destination project directory path (default is
136
+ '.')
137
+ --verbose Enables verbose output
138
+ --list List all available templates
139
+
140
+ describe
141
+ Usage: android describe [-hV] [--project_dir=PARAM]
142
+ Analyzes an Android project to generate descriptive metadata.
143
+ This command identifies and outputs the paths to JSON files that detail the
144
+ project's structure, including build targets and their corresponding output
145
+ artifact locations (e.g., APKs). This information enables other tools and
146
+ commands to locate build artifacts efficiently.
147
+ -h, --help Show this help message and exit.
148
+ --project_dir=PARAM The project directory to describe
149
+ -V, --version Print version information and exit.
150
+
151
+ docs
152
+ Usage: android docs [-h] [COMMAND]
153
+ Android documentation commands
154
+ -h, --help Show this help message and exit.
155
+ Commands:
156
+ search Search Android documentation
157
+ fetch Fetch Android documentation
158
+
159
+ emulator
160
+ Usage: android emulator [-h] [COMMAND]
161
+ Emulator commands
162
+ -h, --help Show this help message and exit.
163
+ Commands:
164
+ create Creates a virtual device
165
+ start Launches the specified virtual device. This command will return when
166
+ the emulator is fully started and ready to use.
167
+ stop Stops the specified virtual device
168
+ list Lists available virtual devices
169
+ remove Delete a virtual device
170
+
171
+ help
172
+ Usage: android help [COMMAND]
173
+ Shows the help of all commands
174
+ [COMMAND] The command to show help for
175
+
176
+ info
177
+ Usage: android info <field>
178
+ Print environment information (SDK Location, etc.)
179
+ <field> The specific field to print the value of. If omitted print all.
180
+
181
+ init
182
+ Usage: android init
183
+ Initializes the environment (eg. skills) for Android CLI.
184
+
185
+ layout
186
+ Usage: android layout [-dhp] [--device=PARAM] [-o=PARAM]
187
+ Returns the layout tree of an application
188
+ -d, --diff Returns a flat list of the layout elements that have
189
+ changed since the last invocation of ui-dump
190
+ --device=PARAM The device serial number
191
+ -h, --help Show this help message and exit.
192
+ -o, --output=PARAM Writes the layout tree to the specified file or
193
+ directory. If omitted, prints the tree to standard
194
+ output
195
+ -p, --pretty Pretty-prints the returned JSON
196
+
197
+ run
198
+ Usage: android run [-h] [--debug] [--activity=PARAM] [--device=PARAM]
199
+ [--type=PARAM] [--apks=PARAM[,PARAM...]]...
200
+ Deploy an Android Application
201
+ --activity=PARAM The activity name
202
+ --apks=PARAM[,PARAM...]
203
+ The paths to the APKs
204
+ --debug Run in debug mode
205
+ --device=PARAM The device serial number
206
+ -h, --help Show this help message and exit.
207
+ --type=PARAM The component type (ACTIVITY, SERVICE, etc.)
208
+
209
+ screen
210
+ Usage: android screen [-h] [COMMAND]
211
+ Commands to view the device
212
+ -h, --help Show this help message and exit.
213
+ Commands:
214
+ capture Outputs the device screen to a PNG
215
+ resolve Target UI elements visually
216
+
217
+ sdk
218
+ Usage: android sdk [COMMAND]
219
+ Download and list SDK packages
220
+ Commands:
221
+ install Install SDK packages
222
+ update Update one or all packages to the latest version
223
+ remove Remove a package from the SDK
224
+ list List installed and available SDK packages
225
+
226
+ skills
227
+ Usage: android skills [COMMAND]
228
+ Manage skills
229
+ Commands:
230
+ add Install a skill
231
+ remove Remove a skill
232
+ list List available skills
233
+ find Find skills by keyword
234
+
235
+ update
236
+ Usage: android update [--url=PARAM]
237
+ Update the Android CLI
238
+ --url=PARAM The URL to download the update from
239
+ ```