opencode-skills-collection 4.0.0 → 4.0.1

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 (241) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +24 -1
  2. package/bundled-skills/007/SKILL.md +2 -2
  3. package/bundled-skills/10-andruia-skill-smith/SKILL.md +1 -1
  4. package/bundled-skills/agent-squad/SKILL.md +5 -0
  5. package/bundled-skills/agent-squad/alex/SKILL.md +3 -0
  6. package/bundled-skills/agent-squad/aria/SKILL.md +3 -0
  7. package/bundled-skills/agent-squad/dep/SKILL.md +3 -0
  8. package/bundled-skills/agent-squad/luna/SKILL.md +4 -1
  9. package/bundled-skills/agent-squad/mason/SKILL.md +3 -0
  10. package/bundled-skills/agent-squad/max/SKILL.md +3 -0
  11. package/bundled-skills/agent-squad/quinn/SKILL.md +3 -0
  12. package/bundled-skills/agent-squad/rex/SKILL.md +3 -0
  13. package/bundled-skills/angular/metadata.json +1 -1
  14. package/bundled-skills/angular-best-practices/metadata.json +1 -1
  15. package/bundled-skills/angular-state-management/metadata.json +1 -1
  16. package/bundled-skills/angular-ui-patterns/metadata.json +1 -1
  17. package/bundled-skills/antigravity-skill-orchestrator/SKILL.md +2 -2
  18. package/bundled-skills/apify-actor-development/SKILL.md +2 -2
  19. package/bundled-skills/apple-container/SKILL.md +165 -0
  20. package/bundled-skills/apple-container/references/commands.md +1593 -0
  21. package/bundled-skills/apple-container/references/concepts.md +294 -0
  22. package/bundled-skills/apple-container/references/configuration.md +499 -0
  23. package/bundled-skills/apple-container/references/workflows.md +498 -0
  24. package/bundled-skills/ask-copilot/SKILL.md +112 -0
  25. package/bundled-skills/auto-research/SKILL.md +126 -0
  26. package/bundled-skills/brooks-lint/SKILL.md +1 -1
  27. package/bundled-skills/browser-harness/references/install.md +3 -1
  28. package/bundled-skills/chrome-extension-developer/SKILL.md +1 -1
  29. package/bundled-skills/clean-code-guard/SKILL.md +184 -0
  30. package/bundled-skills/clean-code-guard/references/ai-failure-modes.md +345 -0
  31. package/bundled-skills/clean-code-guard/references/comments-and-formatting.md +115 -0
  32. package/bundled-skills/clean-code-guard/references/dry-kiss-yagni.md +133 -0
  33. package/bundled-skills/clean-code-guard/references/naming-and-functions.md +187 -0
  34. package/bundled-skills/clean-code-guard/references/review-checklist.md +150 -0
  35. package/bundled-skills/clean-code-guard/references/solid.md +280 -0
  36. package/bundled-skills/clean-code-guard/references/sources.md +47 -0
  37. package/bundled-skills/cloudflare-security-audit/SKILL.md +137 -0
  38. package/bundled-skills/cloudflare-security-audit/references/AI-AND-LLM.md +67 -0
  39. package/bundled-skills/cloudflare-security-audit/references/ATTACK-CLASSES.md +116 -0
  40. package/bundled-skills/cloudflare-security-audit/references/CLIENT-SIDE.md +67 -0
  41. package/bundled-skills/cloudflare-security-audit/references/HUNTING.md +110 -0
  42. package/bundled-skills/cloudflare-security-audit/references/MEMORY-SAFETY-AND-BINARY.md +58 -0
  43. package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +46 -0
  44. package/bundled-skills/cloudflare-security-audit/references/VALIDATION-AND-REPORTING.md +109 -0
  45. package/bundled-skills/cloudflare-security-audit/references/WEB-PROTOCOL-AND-AUTH.md +85 -0
  46. package/bundled-skills/cloudflare-security-audit/resources/report-schema.json +210 -0
  47. package/bundled-skills/comfyui-gateway/references/troubleshooting.md +1 -1
  48. package/bundled-skills/commit/SKILL.md +2 -1
  49. package/bundled-skills/deepapi/SKILL.md +6 -6
  50. package/bundled-skills/docs/README.md +1 -1
  51. package/bundled-skills/docs/contributors/quality-bar.md +1 -1
  52. package/bundled-skills/docs/contributors/security-guardrails.md +1 -1
  53. package/bundled-skills/docs/integrations/jetski-cortex.md +5 -5
  54. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -3
  55. package/bundled-skills/docs/maintainers/ci-drift-fix.md +7 -5
  56. package/bundled-skills/docs/maintainers/merge-batch.md +24 -7
  57. package/bundled-skills/docs/maintainers/pr-autonomy.md +89 -0
  58. package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +1 -1
  59. package/bundled-skills/docs/maintainers/release-process.md +9 -9
  60. package/bundled-skills/docs/maintainers/repo-growth-seo.md +5 -5
  61. package/bundled-skills/docs/maintainers/skills-date-tracking.md +1 -1
  62. package/bundled-skills/docs/maintainers/skills-update-guide.md +2 -2
  63. package/bundled-skills/docs/users/{antigravity-awesome-skills-vs-awesome-claude-skills.md → agentic-awesome-skills-vs-awesome-claude-skills.md} +5 -5
  64. package/bundled-skills/docs/users/ai-agent-skills.md +4 -4
  65. package/bundled-skills/docs/users/best-claude-code-skills-github.md +3 -3
  66. package/bundled-skills/docs/users/best-cursor-skills-github.md +3 -3
  67. package/bundled-skills/docs/users/bundles.md +56 -57
  68. package/bundled-skills/docs/users/claude-code-skills.md +6 -6
  69. package/bundled-skills/docs/users/codex-cli-skills.md +5 -5
  70. package/bundled-skills/docs/users/cursor-skills.md +3 -3
  71. package/bundled-skills/docs/users/faq.md +27 -15
  72. package/bundled-skills/docs/users/gemini-cli-skills.md +4 -4
  73. package/bundled-skills/docs/users/getting-started.md +22 -12
  74. package/bundled-skills/docs/users/kiro-integration.md +7 -7
  75. package/bundled-skills/docs/users/plugins.md +8 -9
  76. package/bundled-skills/docs/users/security-skills.md +1 -1
  77. package/bundled-skills/docs/users/skills-vs-mcp-tools.md +1 -1
  78. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +3 -4
  79. package/bundled-skills/docs/users/usage.md +9 -9
  80. package/bundled-skills/docs/users/visual-guide.md +7 -7
  81. package/bundled-skills/docs/users/windows-truncation-recovery.md +1 -1
  82. package/bundled-skills/docs/users/workflows.md +1 -1
  83. package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +1 -1
  84. package/bundled-skills/docs/vietnamese/FAQ.vi.md +15 -8
  85. package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +12 -5
  86. package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +1 -1
  87. package/bundled-skills/docs/vietnamese/README.vi.md +21 -17
  88. package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +1 -1
  89. package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +2 -2
  90. package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +1 -1
  91. package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +8 -8
  92. package/bundled-skills/docs-guard/SKILL.md +109 -0
  93. package/bundled-skills/docs-guard/references/code-samples.md +46 -0
  94. package/bundled-skills/docs-guard/references/docstrings.md +60 -0
  95. package/bundled-skills/docs-guard/references/review-checklist.md +45 -0
  96. package/bundled-skills/docs-guard/references/sources.md +22 -0
  97. package/bundled-skills/docs-guard/references/verification.md +51 -0
  98. package/bundled-skills/efficient-web-research/SKILL.md +4 -0
  99. package/bundled-skills/electron-development/SKILL.md +1 -1
  100. package/bundled-skills/event-staffing-compliance/SKILL.md +3 -0
  101. package/bundled-skills/event-staffing-ordering/SKILL.md +3 -0
  102. package/bundled-skills/feature-tracking/SKILL.md +222 -0
  103. package/bundled-skills/flutter-expert/SKILL.md +6 -1
  104. package/bundled-skills/flutter-expert/resources/implementation-playbook.md +214 -0
  105. package/bundled-skills/gemini-deep-research/README.md +246 -0
  106. package/bundled-skills/gemini-deep-research/SKILL.md +136 -0
  107. package/bundled-skills/gemini-deep-research/requirements.txt +2 -0
  108. package/bundled-skills/gemini-deep-research/scripts/research.py +692 -0
  109. package/bundled-skills/git-pushing/SKILL.md +21 -4
  110. package/bundled-skills/git-pushing/scripts/smart_commit.sh +206 -11
  111. package/bundled-skills/go-in-depth/scripts/workflow-script.js +4 -1
  112. package/bundled-skills/grok-build/SKILL.md +167 -0
  113. package/bundled-skills/grok-build/references/cli.md +99 -0
  114. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +1 -1
  115. package/bundled-skills/idea-autopsy/SKILL.md +147 -0
  116. package/bundled-skills/it-manager-hospital/README.md +1 -1
  117. package/bundled-skills/it-manager-pro/README.md +1 -1
  118. package/bundled-skills/itil-expert/README.md +1 -1
  119. package/bundled-skills/langgraph/SKILL.md +1 -1
  120. package/bundled-skills/linkedin-content-generator/SKILL.md +1 -1
  121. package/bundled-skills/lint-and-validate/scripts/lint_runner.py +23 -23
  122. package/bundled-skills/lint-and-validate/scripts/type_coverage.py +30 -30
  123. package/bundled-skills/logic-lens/SKILL.md +1 -1
  124. package/bundled-skills/lore/LICENSE +21 -0
  125. package/bundled-skills/lore/README.md +386 -0
  126. package/bundled-skills/lore/README.zh-CN.md +386 -0
  127. package/bundled-skills/lore/SKILL.md +453 -0
  128. package/bundled-skills/lore/WORKFLOWS.md +216 -0
  129. package/bundled-skills/lore/WORKFLOWS.zh-CN.md +216 -0
  130. package/bundled-skills/lore/references/audit-template.md +60 -0
  131. package/bundled-skills/lore/references/compatibility.md +228 -0
  132. package/bundled-skills/lore/references/config.md +125 -0
  133. package/bundled-skills/lore/references/entry-format.md +70 -0
  134. package/bundled-skills/lore/references/history-command.md +106 -0
  135. package/bundled-skills/lore/references/monorepo-detection.md +78 -0
  136. package/bundled-skills/lore/references/platform-mirrors.md +377 -0
  137. package/bundled-skills/lore/references/stale-new-markers.md +62 -0
  138. package/bundled-skills/lore/references/summary-template.md +98 -0
  139. package/bundled-skills/lore/scripts/README.md +54 -0
  140. package/bundled-skills/lore/scripts/README.zh-CN.md +54 -0
  141. package/bundled-skills/lore/scripts/find_duplicates.py +211 -0
  142. package/bundled-skills/lore/scripts/find_stale.py +116 -0
  143. package/bundled-skills/lore/scripts/history.py +527 -0
  144. package/bundled-skills/lore/scripts/id_hash.py +32 -0
  145. package/bundled-skills/lore/scripts/list_entries.py +183 -0
  146. package/bundled-skills/lovable-cleanup/SKILL.md +3 -3
  147. package/bundled-skills/makepad-splash/SKILL.md +1 -1
  148. package/bundled-skills/mmx-cli/SKILL.md +14 -1
  149. package/bundled-skills/monopoly/SKILL.md +5 -0
  150. package/bundled-skills/monopoly/patterns/SKILL.md +4 -0
  151. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +4 -0
  152. package/bundled-skills/monopoly/security-checklist/SKILL.md +4 -0
  153. package/bundled-skills/monopoly/tech-matrix/SKILL.md +4 -0
  154. package/bundled-skills/mtls-configuration/SKILL.md +1 -1
  155. package/bundled-skills/network-101/SKILL.md +4 -5
  156. package/bundled-skills/nika/SKILL.md +270 -0
  157. package/bundled-skills/not-a-vibe-coder/SKILL.md +4 -0
  158. package/bundled-skills/ontoly-software-graph/SKILL.md +160 -0
  159. package/bundled-skills/openclaw-github-repo-commander/SKILL.md +1 -1
  160. package/bundled-skills/pilot-protocol/SKILL.md +6 -3
  161. package/bundled-skills/postgres-readonly-queries/README.md +77 -0
  162. package/bundled-skills/postgres-readonly-queries/SKILL.md +152 -0
  163. package/bundled-skills/postgres-readonly-queries/connections.example.json +34 -0
  164. package/bundled-skills/postgres-readonly-queries/requirements.txt +1 -0
  165. package/bundled-skills/postgres-readonly-queries/scripts/query.py +262 -0
  166. package/bundled-skills/pptx-deck-creation/SKILL.md +275 -0
  167. package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +156 -0
  168. package/bundled-skills/pptx-deck-creation/references/design-profiles.md +96 -0
  169. package/bundled-skills/pptx-deck-creation/references/python-snippets.md +150 -0
  170. package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +91 -0
  171. package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +158 -0
  172. package/bundled-skills/privilege-escalation-methods/SKILL.md +1 -1
  173. package/bundled-skills/product-decision-agent/SKILL.md +94 -0
  174. package/bundled-skills/product-decision-agent/agents/openai.yaml +7 -0
  175. package/bundled-skills/product-decision-agent/references/methodology-basis.md +232 -0
  176. package/bundled-skills/product-decision-agent/references/product-playbooks.md +813 -0
  177. package/bundled-skills/product-decision-agent/references/reasoning-engine.md +289 -0
  178. package/bundled-skills/product-decision-agent/references/response-examples.md +279 -0
  179. package/bundled-skills/product-decision-agent/scripts/quality_gate.py +221 -0
  180. package/bundled-skills/product-decision-agent/scripts/test_quality_gate.py +94 -0
  181. package/bundled-skills/pytest-skill/reference/playbook.md +358 -0
  182. package/bundled-skills/quit-sponsor/SKILL.md +96 -0
  183. package/bundled-skills/rclone-cli/references/providers/s3.md +1 -1
  184. package/bundled-skills/security-and-hardening/SKILL.md +1 -1
  185. package/bundled-skills/semgrep-rule-creator/SKILL.md +6 -6
  186. package/bundled-skills/skill-creator/README.md +3 -3
  187. package/bundled-skills/skill-creator/SKILL.md +8 -4
  188. package/bundled-skills/skill-creator/scripts/quick_validate.py +1 -1
  189. package/bundled-skills/sql-injection-testing/SKILL.md +4 -4
  190. package/bundled-skills/subagent-orchestrator/README.md +1 -1
  191. package/bundled-skills/super-code/bash/SKILL.md +3 -0
  192. package/bundled-skills/super-code/c/SKILL.md +3 -0
  193. package/bundled-skills/super-code/cpp/SKILL.md +3 -0
  194. package/bundled-skills/super-code/csharp/SKILL.md +3 -0
  195. package/bundled-skills/super-code/dart/SKILL.md +3 -0
  196. package/bundled-skills/super-code/elixir/SKILL.md +3 -0
  197. package/bundled-skills/super-code/go/SKILL.md +3 -0
  198. package/bundled-skills/super-code/java/SKILL.md +3 -0
  199. package/bundled-skills/super-code/kotlin/SKILL.md +3 -0
  200. package/bundled-skills/super-code/php/SKILL.md +3 -0
  201. package/bundled-skills/super-code/python/SKILL.md +3 -0
  202. package/bundled-skills/super-code/ruby/SKILL.md +3 -0
  203. package/bundled-skills/super-code/rust/SKILL.md +3 -0
  204. package/bundled-skills/super-code/scala/SKILL.md +3 -0
  205. package/bundled-skills/super-code/swift/SKILL.md +3 -0
  206. package/bundled-skills/super-code/typescript/SKILL.md +3 -0
  207. package/bundled-skills/telegram-bot-messaging/README.md +185 -0
  208. package/bundled-skills/telegram-bot-messaging/SKILL.md +101 -0
  209. package/bundled-skills/telegram-bot-messaging/scripts/telegram.sh +420 -0
  210. package/bundled-skills/test-guard/SKILL.md +132 -0
  211. package/bundled-skills/test-guard/references/jest.md +50 -0
  212. package/bundled-skills/test-guard/references/llm-app-testing.md +40 -0
  213. package/bundled-skills/test-guard/references/phpunit.md +56 -0
  214. package/bundled-skills/test-guard/references/pytest.md +65 -0
  215. package/bundled-skills/trading-ledger/SKILL.md +11 -3
  216. package/bundled-skills/uizze-ui-research/SKILL.md +93 -0
  217. package/bundled-skills/vibe-code-auditor/SKILL.md +1 -1
  218. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +1 -1
  219. package/bundled-skills/videodb/scripts/ws_listener.py +29 -15
  220. package/bundled-skills/voice-ai-engine-development/README.md +1 -1
  221. package/bundled-skills/vulnerability-scanner/SKILL.md +1 -1
  222. package/bundled-skills/warehouse/SKILL.md +154 -0
  223. package/bundled-skills/woo-guard/SKILL.md +113 -0
  224. package/bundled-skills/woo-guard/references/checkout-and-money.md +64 -0
  225. package/bundled-skills/woo-guard/references/hpos-and-crud.md +87 -0
  226. package/bundled-skills/woo-guard/references/review-checklist.md +44 -0
  227. package/bundled-skills/woo-guard/references/sources.md +17 -0
  228. package/bundled-skills/wp-guard/SKILL.md +119 -0
  229. package/bundled-skills/wp-guard/references/i18n.md +88 -0
  230. package/bundled-skills/wp-guard/references/performance.md +70 -0
  231. package/bundled-skills/wp-guard/references/review-checklist.md +57 -0
  232. package/bundled-skills/wp-guard/references/security.md +100 -0
  233. package/bundled-skills/wp-guard/references/sources.md +27 -0
  234. package/bundled-skills/writing-skills/gotchas.md +1 -1
  235. package/bundled-skills/writing-skills/references/standards/metadata-standard.md +1 -1
  236. package/bundled-skills/x-twitter-scraper/SKILL.md +14 -32
  237. package/bundled-skills/xss-html-injection/SKILL.md +3 -3
  238. package/bundled-skills/youtube-seo-optimizer/SKILL.md +1 -1
  239. package/bundled-skills/youtube-summarizer/CHANGELOG.md +2 -2
  240. package/package.json +1 -1
  241. package/skills_index.json +273 -0
@@ -0,0 +1,498 @@
1
+ # `container` — Task-Oriented Workflows
2
+
3
+ Copy-pasteable recipes for Apple's `container` CLI (`apple/container`) — Linux containers as
4
+ lightweight VMs on Apple-silicon macOS. This is **Apple's `container`, not Docker**: flags,
5
+ defaults, and the daemon model differ. See `commands.md` for the full flag reference. Use
6
+ fully-qualified image refs (`docker.io/library/alpine`) in scripts. `container` targets
7
+ **macOS 26**; several features are gated (called out inline).
8
+
9
+ > **Version:** recipes track the **1.0.0** release. `container cp`, `container prune`,
10
+ > `container image prune`, and `container system version` used below were added in 1.0.0 (not in
11
+ > 0.7.1) — run `container --help` to confirm your installed surface.
12
+
13
+ ## Recipes
14
+
15
+ - [First run: install + start + first container](#first-run-install--start--first-container)
16
+ - [Run interactive vs detached](#run-interactive-vs-detached)
17
+ - [Publish ports](#publish-ports)
18
+ - [Set environment variables](#set-environment-variables)
19
+ - [Mounts: bind, volume, tmpfs](#mounts-bind-volume-tmpfs)
20
+ - [Build an image from a Dockerfile](#build-an-image-from-a-dockerfile)
21
+ - [Multi-tag, build-args, no-cache, target](#multi-tag-build-args-no-cache-target)
22
+ - [Tag & push to Docker Hub / private registry](#tag--push-to-docker-hub--private-registry)
23
+ - [Set the default registry](#set-the-default-registry)
24
+ - [Container-to-container networking](#container-to-container-networking)
25
+ - [Local DNS domain for name resolution](#local-dns-domain-for-name-resolution)
26
+ - [Custom isolated networks (macOS 26)](#custom-isolated-networks-macos-26)
27
+ - [Inspect a container](#inspect-a-container)
28
+ - [View logs](#view-logs)
29
+ - [Exec into a running container](#exec-into-a-running-container)
30
+ - [Copy files in and out](#copy-files-in-and-out)
31
+ - [Resource limits (CPU / memory)](#resource-limits-cpu--memory)
32
+ - [Cleanup: stop, remove, prune](#cleanup-stop-remove-prune)
33
+ - [Upgrade / downgrade / uninstall](#upgrade--downgrade--uninstall)
34
+ - [Troubleshooting](#troubleshooting)
35
+
36
+ ---
37
+
38
+ ### First run: install + start + first container
39
+
40
+ There is **no CLI installer command** — download and double-click the signed `.pkg`, then start
41
+ the services and run a container.
42
+
43
+ ```bash
44
+ # 1. Download the signed installer .pkg from the GitHub releases page:
45
+ # https://github.com/apple/container/releases
46
+ # Double-click the .pkg and follow the prompts (admin password installs under /usr/local).
47
+
48
+ # 2. Start the background services. On first run this prompts to install the default Linux kernel.
49
+ container system start
50
+
51
+ # 3. Verify (empty list is expected on a fresh install).
52
+ container list --all
53
+
54
+ # 4. Run your first container.
55
+ container run --rm -it docker.io/library/alpine:latest sh
56
+ ```
57
+
58
+ Note: double-clicking the `.pkg` is the only install path; `container system start` prompts for the recommended kernel (or use `container system kernel set --recommended`).
59
+
60
+ ---
61
+
62
+ ### Run interactive vs detached
63
+
64
+ ```bash
65
+ # Interactive shell (-i keeps stdin open, -t allocates a TTY; commonly combined as -it).
66
+ container run --rm -it docker.io/library/ubuntu:latest /bin/bash
67
+
68
+ # Detached, named, auto-removed on stop.
69
+ container run -d --name web --rm docker.io/library/nginx:latest
70
+
71
+ # One-shot command in the foreground (exits when the command finishes).
72
+ container run --rm docker.io/library/alpine:latest uname -a
73
+ ```
74
+
75
+ Note: foreground by default; stdin stays closed unless `-i`. `--rm` deletes the container after it exits.
76
+
77
+ ---
78
+
79
+ ### Publish ports
80
+
81
+ `-p` / `--publish` forwards loopback traffic to the container. Spec: `[host-ip:]host-port:container-port[/protocol]` (`tcp`/`udp`, case-insensitive).
82
+
83
+ ```bash
84
+ # host 8080 -> container 80
85
+ container run -d --rm -p 8080:80 docker.io/library/nginx:latest
86
+
87
+ # bind to a specific host IP
88
+ container run -d --rm -p 127.0.0.1:8080:8000 docker.io/library/node:latest npx http-server -a :: -p 8000
89
+
90
+ # IPv6 loopback (quote the bracketed address)
91
+ container run -d --rm -p '[::1]:8080:8000' docker.io/library/node:latest npx http-server -a :: -p 8000
92
+
93
+ # UDP
94
+ container run -d --rm -p 5353:5353/udp docker.io/library/alpine:latest
95
+ ```
96
+
97
+ Note: if a container attaches to multiple networks, published ports forward to the IP of the first network's interface.
98
+
99
+ ---
100
+
101
+ ### Set environment variables
102
+
103
+ ```bash
104
+ # Individual vars (-e / --env); repeatable. Bare `KEY` inherits from the host.
105
+ container run --rm -e NODE_ENV=production -e PORT=8080 docker.io/library/node:latest env
106
+
107
+ # Inherit HOME from the host shell
108
+ container run --rm -e HOME docker.io/library/alpine:latest sh -c 'echo $HOME'
109
+
110
+ # From a file (KEY=value per line; # comments and blanks ignored); repeatable.
111
+ container run --rm --env-file ./app.env docker.io/library/alpine:latest env
112
+ ```
113
+
114
+ Note: `-e` and `--env-file` may be combined and each repeated; later values win.
115
+
116
+ ---
117
+
118
+ ### Mounts: bind, volume, tmpfs
119
+
120
+ ```bash
121
+ # Bind-mount a host folder (-v host:container). Use absolute host paths.
122
+ container run --rm -v "${HOME}/Desktop/assets:/content/assets" docker.io/library/python:alpine ls -l /content/assets
123
+
124
+ # Same via --mount key=value syntax.
125
+ container run --rm --mount source="${HOME}/Desktop/assets",target=/content/assets docker.io/library/python:alpine ls /content/assets
126
+
127
+ # Named volume (create first, then mount by name).
128
+ container volume create data
129
+ container run --rm -v data:/var/lib/app docker.io/library/alpine:latest sh
130
+
131
+ # Anonymous volume (-v /path) — NOT auto-removed by --rm; delete it yourself.
132
+ container run --rm -v /data docker.io/library/alpine:latest sh
133
+ # It leaves an anon-<id> volume. List to find the exact name, then remove THAT one by name:
134
+ container volume list # locate the new anon-<id> row
135
+ container volume rm anon-<id> # ⚠️ delete the specific volume — do NOT `grep anon | rm`, which
136
+ # would match (and destroy) every anonymous volume on the machine
137
+
138
+ # Read-only bind via --mount.
139
+ container run --rm --mount type=bind,source="${PWD}/conf",target=/etc/conf,readonly docker.io/library/alpine:latest cat /etc/conf/app.ini
140
+
141
+ # tmpfs (in-memory) mount; repeatable.
142
+ container run --rm --tmpfs /scratch docker.io/library/alpine:latest sh -c 'df -h /scratch'
143
+ ```
144
+
145
+ Note: unlike Docker, anonymous volumes do not auto-clean with `--rm` — remove them via `container volume rm`.
146
+
147
+ ---
148
+
149
+ ### Build an image from a Dockerfile
150
+
151
+ ```bash
152
+ # Build from ./Dockerfile in the current context, tag as web-test.
153
+ container build -t web-test .
154
+
155
+ # Explicit Dockerfile path.
156
+ container build -f docker/Dockerfile.prod -t web-test:prod .
157
+
158
+ # Build, then run it.
159
+ container build -t web-test .
160
+ container run -d --name my-web-server --rm web-test
161
+ ```
162
+
163
+ Note: with no `-f`, the builder looks for `Dockerfile` then `Containerfile`. The builder runs in its own VM (see resource-limits recipe to size it).
164
+
165
+ ---
166
+
167
+ ### Multi-tag, build-args, no-cache, target
168
+
169
+ ```bash
170
+ # Multiple tags on one build (-t repeatable).
171
+ container build -t my-app:latest -t my-app:v1.0.0 .
172
+
173
+ # Build-time variables (repeatable).
174
+ container build --build-arg NODE_VERSION=18 --build-arg ENV=prod -t my-app .
175
+
176
+ # Skip the build cache.
177
+ container build --no-cache -t my-app .
178
+
179
+ # Target a specific multi-stage build stage.
180
+ container build --target production -t my-app:prod .
181
+
182
+ # Multi-architecture image (arm64 + amd64 via Rosetta).
183
+ container build --arch arm64 --arch amd64 -t docker.io/me/web-test:latest .
184
+ ```
185
+
186
+ Note: `--arch` is repeatable/comma-separated; `--platform` (`os/arch[/variant]`) takes precedence over `--os`/`--arch`.
187
+
188
+ ---
189
+
190
+ ### Tag & push to Docker Hub / private registry
191
+
192
+ Registry commands live under the **Image** group (`container registry`, alias `r`). Credentials are stored in the macOS keychain.
193
+
194
+ ```bash
195
+ # Log in (prompts for username + password, or use -u / --password-stdin).
196
+ container registry login docker.io
197
+ container registry login -u alice ghcr.io
198
+ echo "$TOKEN" | container registry login -u alice --password-stdin ghcr.io
199
+
200
+ # HTTP for a local registry.
201
+ container registry login --scheme http localhost:5000
202
+
203
+ # Tag the local image with a full registry reference.
204
+ container image tag web-test docker.io/alice/web-test:latest
205
+
206
+ # Push it (the final reference is printed on success).
207
+ container image push docker.io/alice/web-test:latest
208
+
209
+ # Private registry.
210
+ container image tag web-test registry.example.com/fido/web-test:latest
211
+ container image push registry.example.com/fido/web-test:latest
212
+
213
+ # List saved logins / log out.
214
+ container registry list # 1.0.0+ (added after 0.7.1)
215
+ container registry logout ghcr.io
216
+ ```
217
+
218
+ Note: the default registry is `docker.io`, so a bare `web-test:latest` resolves against Docker Hub. Change it via the `registry.domain` property (next recipe).
219
+
220
+ ---
221
+
222
+ ### Set the default registry
223
+
224
+ ```bash
225
+ # Inspect current properties (includes [registry] domain).
226
+ container system property list
227
+ ```
228
+
229
+ Edit `~/.config/container/config.toml`:
230
+
231
+ ```toml
232
+ [registry]
233
+ domain = "registry.example.com"
234
+ ```
235
+
236
+ Note: with `registry.domain` set, unqualified image names resolve against that host instead of `docker.io`.
237
+
238
+ ---
239
+
240
+ ### Container-to-container networking
241
+
242
+ Each container gets its own IP on the `default` vmnet network. Read it from `container ls` or `container inspect`.
243
+
244
+ ```bash
245
+ # Start a server, then find its IP.
246
+ container run -d --name my-web-server --rm web-test
247
+ container ls # IP column shows e.g. 192.168.64.3
248
+
249
+ # Scriptable IP lookup via inspect + jq.
250
+ container inspect my-web-server | jq -r '.[0].networks[0].address'
251
+
252
+ # Reach it from another container by IP (requires macOS 26 — see note).
253
+ container run --rm -it web-test curl http://192.168.64.3
254
+ ```
255
+
256
+ Note: container-to-container access over the virtual network requires macOS 26 and **does not work on macOS 15**, where containers are isolated from one another at the network layer (see `concepts.md` §3) — a naming scheme cannot restore connectivity. The DNS domain in the next recipe resolves names **host-side only** (host → container); it does not enable container-to-container traffic on macOS 15.
257
+
258
+ ---
259
+
260
+ ### Local DNS domain for name resolution
261
+
262
+ Register a local domain so `<name>.<domain>` resolves to a named container's IP. `dns create`/`delete` need `sudo` (writes under `/etc/resolver`).
263
+
264
+ ```bash
265
+ # Create the domain (admin password required).
266
+ sudo container system dns create test
267
+ ```
268
+
269
+ Make it the default DNS domain by setting `dns.domain` in `~/.config/container/config.toml`
270
+ (there is no `property set` command — properties are edited in the config file):
271
+
272
+ ```toml
273
+ [dns]
274
+ domain = "test"
275
+ ```
276
+
277
+ ```bash
278
+ # Now a named container is reachable as <name>.<domain>.
279
+ container run -d --name my-web-server --rm web-test
280
+ curl http://my-web-server.test
281
+
282
+ # List / remove domains.
283
+ container system dns list
284
+ sudo container system dns delete test
285
+
286
+ # Confirm the effective domain.
287
+ container system property list # shows [dns] domain = "test"
288
+ ```
289
+
290
+ Note: `container system property` only supports `list`/`ls` — set `dns.domain` via `config.toml`, not a CLI setter. A container named `my-web-server` with domain `test` answers at `my-web-server.test`.
291
+
292
+ ---
293
+
294
+ ### Custom isolated networks (macOS 26)
295
+
296
+ The entire `container network` group **requires macOS 26** (absent on macOS 15, which has only the single default subnet).
297
+
298
+ ```bash
299
+ # Create an isolated network.
300
+ container network create foo
301
+
302
+ # With custom subnets.
303
+ container network create foo --subnet 192.168.100.0/24 --subnet-v6 fd00:1234::/64
304
+
305
+ # Attach a container to it.
306
+ container run -d --name my-web-server --network foo --rm web-test
307
+
308
+ # List / delete (detach all containers first).
309
+ container network list
310
+ container stop my-web-server
311
+ container network delete foo
312
+ ```
313
+
314
+ Note: networks are mutually isolated — a container on `foo` has no connectivity to containers on `default`.
315
+
316
+ ---
317
+
318
+ ### Inspect a container
319
+
320
+ ```bash
321
+ # Full pretty JSON (one or more IDs).
322
+ container inspect my-web-server
323
+
324
+ # Extract specific fields with jq.
325
+ container inspect my-web-server | jq -r '.[0].status'
326
+ container inspect my-web-server | jq -r '.[0].networks[0].address'
327
+
328
+ # Table/JSON listing of all containers, including stopped.
329
+ container ls --all
330
+ container ls --all --format json | jq '.[] | [.configuration.id, .networks[0].address]'
331
+ ```
332
+
333
+ Note: `inspect` requires at least one ID; a missing ID errors. `container image inspect <ref>` does the same for images.
334
+
335
+ ---
336
+
337
+ ### View logs
338
+
339
+ ```bash
340
+ # Application stdio.
341
+ container logs my-web-server
342
+
343
+ # Follow live output.
344
+ container logs -f my-web-server
345
+
346
+ # Last N lines (-n is short-only; there is no --lines).
347
+ container logs -n 100 my-web-server
348
+
349
+ # VM boot / init logs.
350
+ container logs --boot my-web-server
351
+ ```
352
+
353
+ Note: `--boot` shows the VM kernel + `vminitd` init log, useful for boot/networking diagnostics.
354
+
355
+ ---
356
+
357
+ ### Exec into a running container
358
+
359
+ ```bash
360
+ # Interactive shell in a running container.
361
+ container exec -it my-web-server sh
362
+
363
+ # One-off command.
364
+ container exec my-web-server ls /content
365
+
366
+ # With env / as a specific user.
367
+ container exec -e DEBUG=1 -u root my-web-server env
368
+ ```
369
+
370
+ Note: `exec` targets a **running** container and shares the same process options as `run` (`-e`, `--env-file`, `-u`, `-w`, etc.).
371
+
372
+ ---
373
+
374
+ ### Copy files in and out
375
+
376
+ Exactly one side must be a `container_id:path` reference. The container must be running.
377
+
378
+ ```bash
379
+ # Host -> container.
380
+ container cp ./config.json my-web-server:/etc/app/
381
+
382
+ # Container -> host.
383
+ container cp my-web-server:/var/log/app.log ./logs/
384
+ ```
385
+
386
+ Note: `container copy` and `container cp` are the same command.
387
+
388
+ ---
389
+
390
+ ### Resource limits (CPU / memory)
391
+
392
+ Container defaults: 4 CPUs, 1 GiB RAM. Builder VM defaults: 2 CPUs, 2 GiB RAM.
393
+
394
+ ```bash
395
+ # Per-container limits on run/create.
396
+ container run --rm --cpus 8 --memory 32g docker.io/library/alpine:latest sh
397
+
398
+ # Short flags.
399
+ container run --rm -c 2 -m 1G docker.io/library/node:latest
400
+
401
+ # Size the builder VM before a heavy build.
402
+ container builder start --cpus 8 --memory 32g
403
+ container build -t big-app .
404
+
405
+ # Change a running builder: stop, delete, restart with new limits.
406
+ # ⚠️ `builder delete` discards the BuildKit builder and its layer cache — the next build
407
+ # re-fetches base images and rebuilds every layer from scratch.
408
+ container builder stop
409
+ container builder delete
410
+ container builder start --cpus 8 --memory 32g
411
+ ```
412
+
413
+ Note: memory accepts `K`/`M`/`G`/`T`/`P` suffixes. Monitor live usage with `container stats` (`--no-stream` for a single snapshot).
414
+
415
+ ---
416
+
417
+ ### Cleanup: stop, remove, prune
418
+
419
+ > **⚠️ Scope matters.** The `-a`/`--all`/`prune` variants act on **every** container, image,
420
+ > volume, or network on the machine — not just this project's. `container volume prune` and
421
+ > `container image rm --all` permanently delete data belonging to *unrelated* containers. To clean
422
+ > up after one workload, use the **targeted** commands (by name/tag); reach for the machine-wide
423
+ > ones only when you deliberately want a full sweep. Do not paste this whole block blindly.
424
+
425
+ ```bash
426
+ # --- Targeted (scoped to named resources — safe for cleaning up one workload) ---
427
+ container stop my-web-server # stop one container
428
+ container delete my-web-server # rm is an alias; add -f to remove a running one
429
+ container image delete web-test # remove one image by name/tag
430
+ container volume rm data # remove one volume by name
431
+
432
+ # --- Machine-wide (destroys ALL matching resources — use deliberately) ---
433
+ container stop -a # stop every running container
434
+ container rm --all # delete every container
435
+ container image rm --all # delete every image
436
+ container image prune # remove dangling (untagged) images only
437
+ container image prune -a # remove every image not used by a container
438
+ container volume prune # delete every volume with no container reference
439
+ container network prune # macOS 26+; delete every unused network
440
+ container prune # remove all stopped containers
441
+
442
+ # Check disk usage across images/containers/volumes.
443
+ container system df
444
+ ```
445
+
446
+ Note: `container prune` only removes **stopped** containers. `image prune` (no `-a`) removes only dangling images.
447
+
448
+ ---
449
+
450
+ ### Upgrade / downgrade / uninstall
451
+
452
+ Both scripts install to `/usr/local/bin`. **Stop the services first.**
453
+
454
+ ```bash
455
+ # Always stop before upgrading/downgrading.
456
+ container system stop
457
+
458
+ # Upgrade to the latest release.
459
+ /usr/local/bin/update-container.sh
460
+
461
+ # Downgrade: uninstall (keep user data with -k), then pin the previous release.
462
+ /usr/local/bin/uninstall-container.sh -k
463
+ /usr/local/bin/update-container.sh -v 0.7.1 # replace with the version you want
464
+
465
+ # Restart after any change.
466
+ container system start
467
+
468
+ # Uninstall. Default to -k (keep user data) unless you truly want everything gone.
469
+ /usr/local/bin/uninstall-container.sh -k # keep images/containers/volumes for a later reinstall
470
+ /usr/local/bin/uninstall-container.sh -d # ⚠️ also deletes ALL user data (images, containers, volumes) — irreversible
471
+ ```
472
+
473
+ Note: you can also upgrade/downgrade by re-downloading and double-clicking the signed `.pkg`. `-v` pins `update-container.sh` to a specific version.
474
+
475
+ ---
476
+
477
+ ### Troubleshooting
478
+
479
+ ```bash
480
+ # "XPC connection error" / commands hang -> services aren't running. Start them.
481
+ container system start
482
+
483
+ # Confirm services are up.
484
+ container system status
485
+
486
+ # View service logs (default last 5m; --last <n>[m|h|d], -f to follow).
487
+ container system logs
488
+ container system logs --last 1h
489
+ container system logs -f
490
+
491
+ # Add --debug to any command for verbose output (or set CONTAINER_DEBUG).
492
+ container --debug run --rm docker.io/library/alpine:latest true
493
+
494
+ # Version info for CLI + API server.
495
+ container system version
496
+ ```
497
+
498
+ Note: an XPC/connection error means the background API server isn't started — run `container system start`. Feature gates to keep in mind: container-to-container access and the `container network` group require **macOS 26** (both unavailable on **macOS 15**). The CLI refuses to run under Rosetta — Apple silicon only.
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: ask-copilot
3
+ description: "Use GitHub Copilot CLI in non-interactive mode to ask questions, review code, or generate snippets without manual interaction."
4
+ category: development
5
+ risk: critical
6
+ source: self
7
+ source_repo: cshara1/antigravity-awesome-skills
8
+ source_type: self
9
+ date_added: "2026-07-08"
10
+ author: cshara1
11
+ tags: [copilot, github, cli, review, prompt]
12
+ tools: [claude, cursor, gemini]
13
+ ---
14
+
15
+ # Ask Copilot
16
+
17
+ ## Overview
18
+
19
+ This skill allows the agent to interact with GitHub Copilot CLI (`copilot`) in a non-interactive (headless) mode. Use this skill when the user explicitly wants secondary advice, code reviews, explanations, or code generation from GitHub Copilot's models.
20
+
21
+ Use `source: self` and `source_type: self` when the skill is original to this repository and does not require README external-source credit.
22
+
23
+ Copilot is an external service. Treat prompts, file paths, snippets, repository content, command output, and generated suggestions as data that may leave the local environment.
24
+
25
+ ## When to Use This Skill
26
+
27
+ - **User Request Only**: Use this skill **ONLY** when the user explicitly asks to "consult Copilot", "ask Copilot", "review with Copilot", or explicitly requests a second opinion using Copilot.
28
+ - **Do NOT Invoke Automatically**: To comply with privacy policies, the agent must not invoke this skill automatically for its own second opinions or checks without explicit user consent.
29
+
30
+ ## How It Works
31
+
32
+ ### Step 1: Request Explicit User Consent
33
+
34
+ Before executing any command that references local files, repository paths, snippets, command output, secrets-adjacent config, or private project context, you **MUST** obtain explicit user consent to send that material to GitHub Copilot.
35
+
36
+ Ask for separate approval before allowing Copilot to run tools, execute shell commands, edit files, install packages, or mutate the workspace.
37
+
38
+ ### Step 2: Execute with Minimal Permitted Flags
39
+
40
+ To prevent TUI lockups, execute the `copilot` command with headless flags. Do not use blanket bypasses such as `--yolo`, `--allow-all-tools`, or `--allow-all-paths` for routine Q&A or review.
41
+
42
+ - **For Read-Only / General Q&A**: Send only the user-approved, redacted text in the prompt. Do not grant Copilot broad local-path access; it is not needed when the prompt already contains the approved context.
43
+ - **For Trusted Mutation Tasks**: Prefer a scoped permission flag if the CLI supports one. Use blanket mutation bypasses only after the user explicitly authorizes Copilot to execute tools and mutate the workspace for the specific task.
44
+
45
+ ### Step 3: Use Session Management (Optional)
46
+
47
+ To maintain conversation context, use `--name` and `--resume` flags, or pass a `--session-id` on subsequent calls.
48
+
49
+ ## Examples
50
+
51
+ ### Example 1: General Question (Read-Only)
52
+
53
+ Does not require repository path access or mutation permissions.
54
+ ```bash
55
+ copilot -p "Explain how to implement a debounce function in TypeScript" -s
56
+ ```
57
+
58
+ ### Example 2: Code Review (Approved File Excerpt)
59
+
60
+ Always confirm the exact file and excerpt with the user before executing. Keep the path in a
61
+ quoted variable; build the prompt from a static instruction plus the approved excerpt. Shell
62
+ does not re-evaluate command-substitution output, so metacharacters inside the reviewed file
63
+ remain prompt text rather than shell syntax:
64
+ ```bash
65
+ review_file="path/to/file.ts"
66
+ test -f "$review_file" || { echo "File not found: $review_file" >&2; exit 1; }
67
+ copilot -p "$(printf '%s\n\n' 'Review this approved excerpt for potential memory leaks:'; sed -n '1,220p' -- "$review_file")" -s
68
+ ```
69
+
70
+ Never construct a shell command by interpolating user-controlled prompt text, paths, issue
71
+ content, or filenames into shell source. Use fixed command structure, quoted variables, and
72
+ approved file content only.
73
+
74
+ ### Example 3: Named Session Management
75
+
76
+ ```bash
77
+ copilot -p "Remember this session label for follow-up questions." -s --name "my-session-name"
78
+ copilot -p "Summarize the prior advice in this session." -s --resume "my-session-name"
79
+ ```
80
+
81
+ ## Best Practices
82
+
83
+ - ✅ **Do:** Ask for user consent before uploading any project files to third-party endpoints.
84
+ - ✅ **Do:** Send only the approved, redacted excerpt; keep Copilot out of the broader workspace.
85
+ - ✅ **Do:** Keep untrusted values in quoted variables or command input, never in shell source.
86
+ - ✅ **Do:** Use `-s` (silent) to suppress metadata and statistics, leaving only clean output.
87
+ - ❌ **Don't:** Automatically trigger this skill for background second opinions without the user's explicit ask.
88
+ - ❌ **Don't:** Send files, logs, environment details, or private repository context to Copilot without explicit approval.
89
+ - ❌ **Don't:** use `--allow-all-paths` for a review, or interpolate untrusted text inside `copilot -p "..."`.
90
+ - ❌ **Don't:** Run `copilot` without permission-bypass flags in background tasks, as it will hang waiting for interactive input.
91
+
92
+ ## Limitations
93
+
94
+ - This skill does not replace environment-specific validation, testing, or expert review.
95
+ - Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing.
96
+ - Copilot responses may be incomplete, outdated, or wrong; verify any proposed code locally before using it.
97
+
98
+ ## Security & Safety Notes
99
+
100
+ - The `--yolo` flag bypasses all permission prompts and allows Copilot CLI to run arbitrary shell commands and mutate workspace files. It must be treated as a high-risk option and never used by default.
101
+ - Always check that the code/files being sent do not contain sensitive credentials, API keys, or private environment variables.
102
+ - Prefer redacted snippets over whole files when only a small context sample is needed.
103
+ - `--allow-all-paths` grants Copilot broader local visibility than a narrow review requires; it is not a read-only least-privilege flag.
104
+
105
+ ## Common Pitfalls
106
+
107
+ - **Problem:** The terminal hangs or the command times out.
108
+ **Solution:** Ensure both `-p` (or `--prompt`) and the narrowest required non-interactive permission flag are present in the command arguments. Without required permission flags, the CLI may prompt for confirmation and hang headless processes.
109
+
110
+ ## Related Skills
111
+
112
+ - `@cli-assistant` - How to interact with CLI tools in general.