opencode-skills-collection 3.0.31 → 3.0.33

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 (51) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +14 -1
  2. package/bundled-skills/bilig-workpaper/SKILL.md +12 -3
  3. package/bundled-skills/bumblebee/SKILL.md +6 -2
  4. package/bundled-skills/bun-development/SKILL.md +5 -3
  5. package/bundled-skills/cloud-penetration-testing/SKILL.md +5 -3
  6. package/bundled-skills/container-security-hardening/SKILL.md +1001 -0
  7. package/bundled-skills/container-security-hardening/references/base-image-comparison.md +245 -0
  8. package/bundled-skills/container-security-hardening/references/kubernetes-pod-security.md +567 -0
  9. package/bundled-skills/container-security-hardening/references/seccomp-profile-template.json +337 -0
  10. package/bundled-skills/doc2math/SKILL.md +102 -0
  11. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  12. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  13. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  14. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  15. package/bundled-skills/docs/users/bundles.md +1 -1
  16. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  17. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  18. package/bundled-skills/docs/users/getting-started.md +6 -2
  19. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  20. package/bundled-skills/docs/users/usage.md +4 -4
  21. package/bundled-skills/docs/users/visual-guide.md +4 -4
  22. package/bundled-skills/environment-setup-guide/SKILL.md +10 -6
  23. package/bundled-skills/evolution/SKILL.md +5 -3
  24. package/bundled-skills/github-actions-advanced/SKILL.md +1100 -0
  25. package/bundled-skills/gitops-workflow/SKILL.md +5 -3
  26. package/bundled-skills/ii-commons/SKILL.md +15 -1
  27. package/bundled-skills/lemmaly/SKILL.md +15 -6
  28. package/bundled-skills/linkerd-patterns/SKILL.md +5 -3
  29. package/bundled-skills/longbridge/SKILL.md +95 -0
  30. package/bundled-skills/mercury-mcp/SKILL.md +9 -1
  31. package/bundled-skills/moatmri/SKILL.md +84 -0
  32. package/bundled-skills/nextjs-seo-indexing/SKILL.md +263 -0
  33. package/bundled-skills/openclaw-github-repo-commander/scripts/repo-audit.sh +42 -0
  34. package/bundled-skills/photopea-embedded-editor/SKILL.md +7 -3
  35. package/bundled-skills/runaway-guard/SKILL.md +331 -0
  36. package/bundled-skills/schema-markup-generator/SKILL.md +319 -0
  37. package/bundled-skills/sendblue/sendblue-api/SKILL.md +6 -1
  38. package/bundled-skills/sendblue/sendblue-cli/SKILL.md +6 -1
  39. package/bundled-skills/sendblue/sendblue-notify/SKILL.md +6 -1
  40. package/bundled-skills/sendblue/textme/SKILL.md +4 -0
  41. package/bundled-skills/social-metadata-hardening/SKILL.md +230 -0
  42. package/bundled-skills/socialclaw/SKILL.md +6 -1
  43. package/bundled-skills/uv-package-manager/resources/implementation-playbook.md +5 -3
  44. package/bundled-skills/varlock/SKILL.md +10 -6
  45. package/bundled-skills/vibe-code-cleanup/SKILL.md +231 -0
  46. package/bundled-skills/vibecode-production-qa-validator/SKILL.md +237 -0
  47. package/bundled-skills/wordpress-centric-high-seo-optimized-blogwriting-skill/SKILL.md +229 -162
  48. package/bundled-skills/yield-intelligence/SKILL.md +121 -0
  49. package/bundled-skills/youtube-full/SKILL.md +144 -0
  50. package/package.json +1 -1
  51. package/skills_index.json +330 -28
@@ -0,0 +1,245 @@
1
+ # Base Image Comparison Reference
2
+
3
+ Quick decision guide for choosing the right container base image — balancing security, compatibility, size, and debuggability.
4
+
5
+ ---
6
+
7
+ ## Quick Decision Matrix
8
+
9
+ | Runtime / Need | Best Choice | Fallback |
10
+ |---|---|---|
11
+ | Go / Rust — fully static binary | `scratch` | `gcr.io/distroless/static-debian12` |
12
+ | Go / Rust — with CGO or dynamic libs | `gcr.io/distroless/base-debian12` | `alpine:3.20` |
13
+ | Node.js app (production) | `gcr.io/distroless/nodejs20-debian12` | `node:20-slim` |
14
+ | Python app (production) | `gcr.io/distroless/python3-debian12` | `python:3.12-slim` |
15
+ | Java app (production) | `gcr.io/distroless/java21-debian12` | `eclipse-temurin:21-jre-alpine` |
16
+ | Shell scripts required | `alpine:3.20` | `debian:12-slim` |
17
+ | musl compatibility issue | `node:20-slim` (glibc) | `debian:12-slim` |
18
+ | Debugging in staging | distroless `:debug` variant | `ubuntu:24.04` (temporary) |
19
+
20
+ ---
21
+
22
+ ## Size & CVE Comparison
23
+
24
+ > Approximate values as of mid-2025. Run `trivy image <name>` for current counts.
25
+
26
+ | Image | Compressed Size | Typical CVE Count | Shell | Package Manager | libc |
27
+ |---|---|---|---|---|---|
28
+ | `scratch` | 0 MB | 0 | No | No | None |
29
+ | `gcr.io/distroless/static-debian12` | ~2 MB | 0–2 | No | No | None |
30
+ | `gcr.io/distroless/base-debian12` | ~20 MB | 0–3 | No | No | glibc |
31
+ | `gcr.io/distroless/nodejs20-debian12` | ~55 MB | 0–5 | No | No | glibc |
32
+ | `gcr.io/distroless/python3-debian12` | ~50 MB | 0–5 | No | No | glibc |
33
+ | `gcr.io/distroless/java21-debian12` | ~220 MB | 0–5 | No | No | glibc |
34
+ | `alpine:3.20` | ~3.5 MB | 0–5 | Yes (ash) | Yes (apk) | musl |
35
+ | `node:20-alpine` | ~65 MB | 5–20 | Yes | Yes | musl |
36
+ | `python:3.12-alpine` | ~55 MB | 5–20 | Yes | Yes | musl |
37
+ | `node:20-slim` | ~90 MB | 15–40 | Yes | Yes (minimal apt) | glibc |
38
+ | `python:3.12-slim` | ~60 MB | 15–40 | Yes | Yes (minimal apt) | glibc |
39
+ | `eclipse-temurin:21-jre-alpine` | ~180 MB | 5–20 | Yes | Yes | musl |
40
+ | `node:20` (full) | ~370 MB | 80–200 | Yes | Yes (full apt) | glibc |
41
+ | `ubuntu:24.04` | ~30 MB | 20–60 | Yes | Yes (full apt) | glibc |
42
+ | `ubuntu:24.04` (full packages) | ~200 MB+ | 50–150 | Yes | Yes | glibc |
43
+
44
+ ---
45
+
46
+ ## Detailed Trade-offs
47
+
48
+ ### `scratch`
49
+ **Best for:** Go, Rust, or any fully static binary with `CGO_ENABLED=0`
50
+
51
+ - ✅ Zero attack surface — literally empty
52
+ - ✅ Smallest possible image
53
+ - ✅ No package manager to exploit
54
+ - ❌ No libc, no shell, no CA certs, no timezone data — must `COPY` them in
55
+ - ❌ Cannot exec into for debugging (no shell at all)
56
+
57
+ ```dockerfile
58
+ FROM golang:1.22-alpine AS builder
59
+ WORKDIR /build
60
+ COPY go.* ./
61
+ RUN go mod download
62
+ COPY . .
63
+ RUN CGO_ENABLED=0 GOOS=linux go build \
64
+ -ldflags="-s -w -extldflags=-static" \
65
+ -o app .
66
+
67
+ FROM scratch
68
+ # Copy CA certs for HTTPS calls
69
+ COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
70
+ # Copy timezone data if needed
71
+ COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
72
+ COPY --from=builder /build/app /app
73
+ USER 65532:65532
74
+ ENTRYPOINT ["/app"]
75
+ ```
76
+
77
+ ---
78
+
79
+ ### `gcr.io/distroless` (Google)
80
+ **Best for:** Production Node.js, Python, Java, Go (with CGO)
81
+
82
+ - ✅ No shell, no package manager — dramatically reduced attack surface
83
+ - ✅ Includes CA certs and tzdata by default
84
+ - ✅ Built-in `nonroot` user (UID 65532)
85
+ - ✅ Based on Debian — glibc compatibility (no musl issues)
86
+ - ✅ Regularly patched by Google
87
+ - ❌ Cannot exec into with `docker exec -it` (no shell) — use `:debug` variant for staging
88
+
89
+ ```bash
90
+ # Available distroless variants
91
+ gcr.io/distroless/static-debian12 # No libc — for fully static binaries
92
+ gcr.io/distroless/base-debian12 # glibc + openssl — for dynamic Go/Rust
93
+ gcr.io/distroless/nodejs20-debian12 # Node.js 20 runtime
94
+ gcr.io/distroless/nodejs22-debian12 # Node.js 22 runtime
95
+ gcr.io/distroless/python3-debian12 # Python 3 runtime
96
+ gcr.io/distroless/java21-debian12 # JRE 21
97
+ gcr.io/distroless/cc-debian12 # C/C++ runtime
98
+
99
+ # Debug variants — include busybox shell for staging only
100
+ gcr.io/distroless/nodejs20-debian12:debug
101
+ gcr.io/distroless/python3-debian12:debug
102
+ ```
103
+
104
+ **Debugging a distroless container (staging only):**
105
+ ```bash
106
+ # Use a sidecar debug container instead of modifying the production image
107
+ kubectl debug -it deploy/myapp \
108
+ --image=busybox \
109
+ --target=app \
110
+ --copy-to=debug-pod
111
+ ```
112
+
113
+ ---
114
+
115
+ ### `alpine`
116
+ **Best for:** Images where a shell is required, or when image size is a primary concern
117
+
118
+ - ✅ Very small (~3.5 MB)
119
+ - ✅ Has shell (ash) and package manager (apk) — great for debugging
120
+ - ✅ Regularly patched, active community
121
+ - ⚠️ Uses **musl libc** — some Python C extensions, Node.js native modules, or glibc-dependent binaries may fail
122
+ - ❌ More CVEs than distroless (more packages)
123
+
124
+ **musl compatibility check:**
125
+ ```bash
126
+ # Test your app on alpine before committing
127
+ docker run -it --rm -v $(pwd):/app node:20-alpine sh -c "cd /app && npm ci && npm test"
128
+ ```
129
+
130
+ **Common musl issues:**
131
+ - `bcrypt`, `node-gyp`, `sharp`, `canvas` native modules → may need build tools
132
+ - Python with `numpy`, `scipy`, `pandas` → use `python:3.12-slim` instead
133
+ - Java apps → generally fine, but test thoroughly
134
+
135
+ ---
136
+
137
+ ### `slim` variants (Debian-based)
138
+ **Best for:** Apps with glibc dependencies that can't use distroless
139
+
140
+ - ✅ glibc compatibility — no musl issues
141
+ - ✅ Familiar `apt` ecosystem
142
+ - ✅ Smaller than full image (~60–90 MB vs 300–400 MB)
143
+ - ❌ More CVEs than distroless (has apt, shell, more system libraries)
144
+ - ❌ Larger than alpine
145
+
146
+ ```dockerfile
147
+ FROM node:20-slim
148
+ # Install only what's needed and clean up in the same layer
149
+ RUN apt-get update && \
150
+ apt-get install -y --no-install-recommends \
151
+ libssl3 \
152
+ && rm -rf /var/lib/apt/lists/*
153
+ ```
154
+
155
+ ---
156
+
157
+ ### Full Images (`node:20`, `ubuntu:24.04`, `python:3.12`)
158
+ **Only for:** Development, CI build stages, or debugging — NEVER as production runtime
159
+
160
+ - ❌ Massive attack surface (50–200+ CVEs)
161
+ - ❌ Includes compilers, build tools, package managers — not needed at runtime
162
+ - ❌ Huge size increases pull time and storage costs
163
+
164
+ Use as a build stage only:
165
+ ```dockerfile
166
+ FROM node:20 AS builder # Full image for building
167
+ FROM node:20-slim AS runtime # Slim image for production
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Keeping Base Images Updated
173
+
174
+ **The most common source of container CVEs is outdated base images.**
175
+
176
+ ### Manual Check
177
+ ```bash
178
+ # Pull latest and check digest
179
+ docker pull node:20-slim
180
+ docker inspect node:20-slim --format='{{index .RepoDigests 0}}'
181
+
182
+ # Check for CVEs in current base before updating
183
+ trivy image node:20-slim --severity HIGH,CRITICAL
184
+ ```
185
+
186
+ ### Automate with Renovate (Recommended)
187
+ ```json
188
+ // .renovaterc.json
189
+ {
190
+ "extends": ["config:base"],
191
+ "dockerfile": {
192
+ "enabled": true,
193
+ "pinDigests": true
194
+ },
195
+ "packageRules": [
196
+ {
197
+ "matchDatasources": ["docker"],
198
+ "matchPackagePatterns": ["^gcr.io/distroless"],
199
+ "automerge": true,
200
+ "automergeType": "branch"
201
+ }
202
+ ]
203
+ }
204
+ ```
205
+
206
+ ### Automate with Dependabot
207
+ ```yaml
208
+ # .github/dependabot.yml
209
+ version: 2
210
+ updates:
211
+ - package-ecosystem: "docker"
212
+ directory: "/"
213
+ schedule:
214
+ interval: "weekly"
215
+ open-pull-requests-limit: 5
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Distroless Digest Pinning Reference
221
+
222
+ Always pin to digest. Check current digests at:
223
+ - `gcr.io/distroless/nodejs20-debian12` → `docker pull gcr.io/distroless/nodejs20-debian12 && docker inspect gcr.io/distroless/nodejs20-debian12 --format='{{index .RepoDigests 0}}'`
224
+ - Use [Google's distroless tags page](https://github.com/GoogleContainerTools/distroless/blob/main/README.md) for latest releases
225
+
226
+ ---
227
+
228
+ ## Image Size Reduction Checklist
229
+
230
+ When an image is too large:
231
+
232
+ - [ ] Switched to distroless or alpine runtime stage?
233
+ - [ ] Multi-stage build separating build from runtime?
234
+ - [ ] `npm ci --only=production` / `pip install --no-dev`?
235
+ - [ ] Build cache cleaned in same `RUN` layer (`rm -rf /var/lib/apt/lists/*`, `npm cache clean --force`)?
236
+ - [ ] `.dockerignore` excludes `node_modules`, `.git`, `tests/`, `docs/`?
237
+ - [ ] Using `--mount=type=cache` for package manager cache (BuildKit)?
238
+ - [ ] Only necessary files `COPY`-ed into runtime stage?
239
+ - [ ] No debug tools in production image?
240
+
241
+ ```bash
242
+ # Analyze image layers to find what's taking space
243
+ docker history --no-trunc myapp:latest
244
+ dive myapp:latest # Interactive layer explorer: https://github.com/wagoodman/dive
245
+ ```