opencode-skills-collection 4.0.47 → 4.0.49

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 (63) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +11 -2
  2. package/bundled-skills/agent-qa-authoring/SKILL.md +3 -1
  3. package/bundled-skills/agy-delegate/SKILL.md +1 -1
  4. package/bundled-skills/aider-delegate/SKILL.md +1 -1
  5. package/bundled-skills/api-rate-limit-handler/SKILL.md +1 -1
  6. package/bundled-skills/atlas-cloud-media/SKILL.md +52 -18
  7. package/bundled-skills/babysit-pr/SKILL.md +1 -1
  8. package/bundled-skills/boost-asio-pro/references/pre-cpp20.md +8 -1
  9. package/bundled-skills/check-identity-pack/SKILL.md +88 -0
  10. package/bundled-skills/claude-delegate/SKILL.md +1 -1
  11. package/bundled-skills/cline-delegate/SKILL.md +1 -1
  12. package/bundled-skills/codex-delegate/SKILL.md +1 -1
  13. package/bundled-skills/commandcode-delegate/SKILL.md +1 -1
  14. package/bundled-skills/copilot-delegate/SKILL.md +1 -1
  15. package/bundled-skills/cursor-delegate/SKILL.md +1 -1
  16. package/bundled-skills/detect-ai-text/SKILL.md +91 -0
  17. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  18. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  19. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  20. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  21. package/bundled-skills/docs/users/aas-core.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/kiro-integration.md +1 -1
  26. package/bundled-skills/docs/users/usage.md +3 -3
  27. package/bundled-skills/docs/users/visual-guide.md +4 -4
  28. package/bundled-skills/extract-document-data/SKILL.md +99 -0
  29. package/bundled-skills/falsify/SKILL.md +18 -1
  30. package/bundled-skills/find-matching-tenders/SKILL.md +100 -0
  31. package/bundled-skills/graceful-shutdown/SKILL.md +76 -70
  32. package/bundled-skills/grok-delegate/SKILL.md +1 -1
  33. package/bundled-skills/inngest/SKILL.md +2 -0
  34. package/bundled-skills/kimi-delegate/SKILL.md +1 -1
  35. package/bundled-skills/liuguang-banlan-ui/SKILL.md +6 -4
  36. package/bundled-skills/liuguang-banlan-ui/scripts/manifest_parser.py +178 -0
  37. package/bundled-skills/liuguang-banlan-ui/scripts/measure_preview.py +14 -17
  38. package/bundled-skills/liuguang-banlan-ui/scripts/validate_manifest.py +12 -16
  39. package/bundled-skills/lovable-cleanup/SKILL.md +32 -6
  40. package/bundled-skills/lovable-cleanup/references/favicon-vercel-cleanup.md +106 -0
  41. package/bundled-skills/lovable-cleanup/scripts/write-transparent-favicon.js +88 -0
  42. package/bundled-skills/multi-source-search/scripts/validate_report.py +5 -0
  43. package/bundled-skills/omp-delegate/SKILL.md +1 -1
  44. package/bundled-skills/opencode-delegate/SKILL.md +1 -1
  45. package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +8 -5
  46. package/bundled-skills/pi-delegate/SKILL.md +1 -1
  47. package/bundled-skills/prompt-caching/SKILL.md +3 -1
  48. package/bundled-skills/qoder-delegate/SKILL.md +1 -1
  49. package/bundled-skills/screen-adverse-media/SKILL.md +100 -0
  50. package/bundled-skills/slideops/SKILL.md +201 -0
  51. package/bundled-skills/trigger-dev/SKILL.md +2 -0
  52. package/bundled-skills/unsloth-finetuning/SKILL.md +45 -2
  53. package/bundled-skills/upstash-qstash/SKILL.md +1 -1
  54. package/bundled-skills/upstash-ratelimit/SKILL.md +186 -0
  55. package/bundled-skills/upstash-redis/SKILL.md +156 -0
  56. package/bundled-skills/verify-citations/SKILL.md +88 -0
  57. package/bundled-skills/verify-document/SKILL.md +94 -0
  58. package/bundled-skills/vibe-delegate/SKILL.md +1 -1
  59. package/bundled-skills/warp-delegate/SKILL.md +1 -1
  60. package/bundled-skills/zcode-delegate/SKILL.md +1 -1
  61. package/package.json +1 -1
  62. package/skills_index.json +347 -54
  63. package/bundled-skills/ui-slop-score/SKILL.md +0 -80
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: upstash-redis
3
+ description: "Use the @upstash/redis HTTP client for caching, sessions, counters, and Redis data structures from serverless and edge runtimes without connection pooling."
4
+ category: backend
5
+ risk: critical
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-08-31"
9
+ author: CahidArda
10
+ tags: [upstash, redis, cache, serverless, edge, key-value]
11
+ tools: [claude, codex, cursor, gemini]
12
+ ---
13
+
14
+ # Upstash Redis
15
+
16
+ ## Overview
17
+
18
+ `@upstash/redis` is a Redis client that talks to an Upstash Redis database over
19
+ HTTPS instead of a TCP connection. Because every command is a stateless HTTP
20
+ request, it works in environments where a pooled TCP client is awkward or
21
+ impossible: Vercel and Netlify functions, Cloudflare Workers, Deno, Bun, and
22
+ Next.js middleware. The client serializes and deserializes JavaScript values
23
+ automatically, so numbers and objects round-trip without manual `JSON.parse`.
24
+
25
+ ## When to Use This Skill
26
+
27
+ - Use when the user needs a cache, session store, counter, leaderboard, or
28
+ simple queue from a serverless or edge function.
29
+ - Use when the user mentions Upstash Redis, `UPSTASH_REDIS_REST_URL`, or
30
+ `@upstash/redis`.
31
+ - Use when migrating an `ioredis` or `node-redis` call site to a runtime that
32
+ cannot hold a persistent TCP socket.
33
+ - Do not use for a self-hosted or non-Upstash Redis server; the client only
34
+ speaks the Upstash REST protocol. Use `ioredis` or `node-redis` there.
35
+ - Do not use for Redis administration or CLI work; see `redis-cli`.
36
+
37
+ ## How It Works
38
+
39
+ ### Step 1: Configure credentials
40
+
41
+ Create a database in the Upstash console and copy the REST URL and token into
42
+ environment variables. Never hardcode them.
43
+
44
+ ```bash
45
+ UPSTASH_REDIS_REST_URL=https://<your-db>.upstash.io
46
+ UPSTASH_REDIS_REST_TOKEN=<your-rest-token>
47
+ ```
48
+
49
+ ### Step 2: Create one client per module
50
+
51
+ ```typescript
52
+ import { Redis } from "@upstash/redis";
53
+
54
+ export const redis = Redis.fromEnv();
55
+ ```
56
+
57
+ On Cloudflare Workers, import from `@upstash/redis/cloudflare` and pass the
58
+ worker `env` object: `Redis.fromEnv(env)`.
59
+
60
+ ### Step 3: Call Redis commands as methods
61
+
62
+ Command names are lowercase methods (`get`, `set`, `hset`, `zadd`, `incr`).
63
+ Values are auto-serialized; pass and receive native JavaScript types.
64
+
65
+ ## Examples
66
+
67
+ ### Example 1: Cache-aside with a TTL
68
+
69
+ ```typescript
70
+ import { Redis } from "@upstash/redis";
71
+
72
+ const redis = Redis.fromEnv();
73
+
74
+ export async function getUser(id: string) {
75
+ const cached = await redis.get<{ id: string; name: string }>(`user:${id}`);
76
+ if (cached) return cached;
77
+
78
+ const user = await db.users.findById(id);
79
+ await redis.set(`user:${id}`, user, { ex: 3600 }); // expires in 1 hour
80
+ return user;
81
+ }
82
+
83
+ export async function invalidateUser(id: string) {
84
+ await redis.del(`user:${id}`);
85
+ }
86
+ ```
87
+
88
+ ### Example 2: Batch commands in a pipeline
89
+
90
+ ```typescript
91
+ const pipeline = redis.pipeline();
92
+ pipeline.hset("user:1", { name: "Alice", plan: "pro" });
93
+ pipeline.incr("signups:total");
94
+ pipeline.zadd("leaderboard", { score: 120, member: "user:1" });
95
+ const [hsetResult, signups, zaddResult] = await pipeline.exec();
96
+ ```
97
+
98
+ `pipeline()` batches independent commands into one round trip. It is not
99
+ atomic; use `redis.multi()` for MULTI/EXEC or a reviewed server-side Lua script
100
+ when commands must run as one unit.
101
+
102
+ ## Best Practices
103
+
104
+ - ✅ Read credentials with `Redis.fromEnv()` or from a secrets manager.
105
+ - ✅ Set a TTL (`{ ex: seconds }`) on cache entries so stale data expires.
106
+ - ✅ Namespace keys (`user:123`, `session:abc`) to keep the keyspace readable.
107
+ - ✅ Use `pipeline()` or `mget`/`mset` instead of many sequential awaits.
108
+ - ❌ Don't `JSON.stringify` values before `set`; the client already does it.
109
+ - ❌ Don't call `keys("*")` in request handlers; use `scan` for large keyspaces.
110
+ - ❌ Don't store secrets or PII in Redis without a retention plan and TTL.
111
+
112
+ ## Limitations
113
+
114
+ - Requires an Upstash Redis database; it cannot connect to other Redis servers.
115
+ - Each command is an HTTP request, so latency is higher than a warm TCP
116
+ connection; batch with pipelines where it matters.
117
+ - Transactions (`multi()`) do not roll back on runtime errors, and `WATCH` is
118
+ not available over REST; use a Lua script for atomic check-and-set.
119
+ - Pub/Sub subscribe and blocking commands (`BLPOP`, `XREAD BLOCK`) are not
120
+ supported over the REST client.
121
+ - This skill covers the TypeScript client only. Python, Go, and other SDKs
122
+ differ in method names.
123
+ - This skill does not replace environment-specific validation, testing, or
124
+ expert review.
125
+
126
+ ## Security & Safety Notes
127
+
128
+ - The REST token grants full read/write access to the database. Keep it in
129
+ server-side environment variables; never ship it to a browser bundle.
130
+ - Use a read-only token from the console for read-only workloads.
131
+ - Commands such as `flushdb` and `del` are destructive; confirm with the user
132
+ before running them against a production database.
133
+
134
+ ## Common Pitfalls
135
+
136
+ - **Problem:** `get` returns `null` in production but works locally.
137
+ **Solution:** The deployment is missing `UPSTASH_REDIS_REST_URL` or
138
+ `UPSTASH_REDIS_REST_TOKEN`; check the platform's environment settings.
139
+ - **Problem:** A number comes back as a string after `incr` on a value set
140
+ with `JSON.stringify`.
141
+ **Solution:** Store the raw number (`redis.set("n", 1)`) and let the client
142
+ serialize it.
143
+
144
+ ## Related Skills
145
+
146
+ - `@upstash-ratelimit` - Rate limiting built on this client.
147
+ - `@upstash-qstash` - HTTP message queue and schedules when you need delivery
148
+ guarantees rather than a data store.
149
+ - `@redis-cli` - Inspecting and administering Redis from the command line.
150
+ - `@bullmq-specialist` - Job queues on a TCP Redis you operate yourself.
151
+
152
+ ## Additional Resources
153
+
154
+ - [Upstash Redis documentation](https://upstash.com/docs/redis)
155
+ - [@upstash/redis on GitHub](https://github.com/upstash/redis-js)
156
+ - [TypeScript SDK reference](https://upstash.com/docs/redis/sdks/ts/overview)
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: verify-citations
3
+ description: Verify citations and references in a document, report, or article against real sources. Use when the user asks to fact-check, verify references, check citations, or validate evidence in research reports, tender responses, whitepapers, or academic writing.
4
+ category: document-verification
5
+ risk: critical
6
+ source: community
7
+ source_repo: Sketchjar/stipple-agent-skills
8
+ source_type: community
9
+ date_added: "2026-08-31"
10
+ author: Sketchjar
11
+ tags: [document-verification, fact-checking, stipple, authenticity]
12
+ tools: [claude, cursor, gemini, codex]
13
+ license: "Apache-2.0"
14
+ license_source: "https://github.com/Sketchjar/stipple-agent-skills/blob/main/LICENSE"
15
+ ---
16
+
17
+ # Citation Verification
18
+
19
+ Verify that citations in a document actually resolve and support the claims they're attached to. Uses the Stipple API (free anonymous tier, no signup) for citation resolution, arithmetic recomputation, and unsupported-claim detection.
20
+
21
+ ## When to use
22
+
23
+ - Before submitting or publishing a research report, tender response, or whitepaper
24
+ - Reviewing an LLM-generated document (LLM citations are plausibly-formatted and frequently wrong)
25
+ - Due diligence on third-party reports
26
+ - Academic reference checking
27
+
28
+ ## Instructions
29
+
30
+ 1. **Get the document.** Ask the user for a URL to the report, or a local file path (PDF, DOCX, Markdown). If the user pastes text directly, skip to step 3 with `text` input.
31
+
32
+ 2. **Run verification.** POST the document to Stipple's citation verification endpoint:
33
+
34
+ ```bash
35
+ curl -X POST https://www.stipple.sh/v1/verify-references \
36
+ -F "file=@report.pdf" \
37
+ -H "Authorization: Bearer $STIPPLE_API_KEY"
38
+ ```
39
+
40
+ The anonymous free tier works without the Authorization header. Deep mode (`?deep=true`) costs more credits but cross-checks citations against live web sources.
41
+
42
+ 3. **Interpret the response.** The result includes:
43
+ - `verification_coverage` — percentage of claims verified (e.g. "78%")
44
+ - `citations[]` — per-citation status: resolved and matching, resolved but mismatched, or unresolvable, with the issue explained
45
+ - `arithmetic[]` — recomputed figures vs stated figures (flags decimal shifts, wrong sums)
46
+ - `unsupported_claims[]` — claims with no citation at all
47
+
48
+ 4. **Report honestly.** Present results as *verification coverage*, not a truth verdict:
49
+ - "21/27 citations resolve and match"
50
+ - "[x] FY24+FY25 revenue stated $4.2m, actual $3.7m"
51
+ - "[!] 'industry-leading accuracy' — no source in document"
52
+ - Unverified ≠ false. The goal is telling the user *which* claims are backed and which aren't.
53
+
54
+ 5. **Offer remediation.** For failed citations, suggest: fixing the decimal shift, finding the correct source, or removing the unsupported claim.
55
+
56
+ ## Output format
57
+
58
+ ```
59
+ Verification coverage: 78%
60
+
61
+ Citations: 21/27 resolve and match
62
+ [+] "ABS unemployment 4.1% April 2026" — matches abs.gov.au
63
+ [-] "AI adoption grew 340% in 2025" — source states 34%, decimal shifted
64
+
65
+ Arithmetic: 12/13 recompute correctly
66
+ [x] FY24 + FY25 revenue — stated $4.2m, actual $3.7m
67
+
68
+ Unsupported claims: 2
69
+ [!] "industry-leading accuracy" — no source in document
70
+ ```
71
+
72
+ ## Limitations and Safety
73
+
74
+ - Uploading a report or manuscript sends its contents to a hosted third party; deep
75
+ mode also retrieves external sources. Obtain approval before transmission, remove
76
+ confidential or personal material, and verify current retention and deletion terms.
77
+ - Resolution and textual support do not establish that a source is authoritative or
78
+ that a claim is true. Inspect consequential citations in the primary source and
79
+ preserve page, edition, date, and access context.
80
+ - Treat unresolved or unsupported claims as review items, not proof of fabrication,
81
+ and keep a human reviewer responsible for publication or academic decisions.
82
+
83
+ ## Notes
84
+
85
+ - Works on PDF, DOCX, MD, TXT. For pasted text, POST JSON: `{"text": "..."}`
86
+ - Deep verification (`deep=true`) is slower and costs more credits but resolves citations against live sources
87
+ - Pairs well with `verify-document` (is the source doc itself authentic?) run first
88
+ - Anonymous free tier: shared weekly allowance. Get a free key at https://www.stipple.sh for your own metering
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: verify-document
3
+ description: Check whether a document (PDF or image) shows signs of tampering or forgery before you rely on it. Use when the user asks to verify a payslip, invoice, bank statement, ID document, contract, or any document where authenticity matters.
4
+ category: document-verification
5
+ risk: critical
6
+ source: community
7
+ source_repo: Sketchjar/stipple-agent-skills
8
+ source_type: community
9
+ date_added: "2026-08-31"
10
+ author: Sketchjar
11
+ tags: [document-verification, fact-checking, stipple, authenticity]
12
+ tools: [claude, cursor, gemini, codex]
13
+ license: "Apache-2.0"
14
+ license_source: "https://github.com/Sketchjar/stipple-agent-skills/blob/main/LICENSE"
15
+ ---
16
+
17
+ # Document Verification
18
+
19
+ Inspect a document for forensic authenticity signals — not a fraud verdict, but a risk band with the evidence behind it. Uses the Stipple API (free anonymous tier, no signup).
20
+
21
+ ## When to use
22
+
23
+ - Before onboarding a tenant, contractor, or employee from uploaded documents
24
+ - Before paying an invoice that arrived by email
25
+ - Before relying on a bank statement, payslip, or certificate in any workflow
26
+ - Reviewing documents in due diligence, claims processing, or loan applications
27
+
28
+ ## Instructions
29
+
30
+ 1. **Get the document.** URL or local file path (PDF, PNG, JPEG, BMP, TIFF).
31
+
32
+ 2. **Optionally check the cache first.** If the user has the file's SHA-256, check whether it's already been inspected (free):
33
+
34
+ ```bash
35
+ curl "https://www.stipple.sh/v1/warrants/check?sha256=<hash>"
36
+ ```
37
+
38
+ 3. **Run verification.** POST the document:
39
+
40
+ ```bash
41
+ curl -X POST https://www.stipple.sh/v1/warrants \
42
+ -F "file=@payslip.pdf" \
43
+ -H "Authorization: Bearer $STIPPLE_API_KEY"
44
+ ```
45
+
46
+ Add `?fresh=true` to force re-inspection of a previously cached document. Add `?deep=true` for deep inspection (more thorough, more credits).
47
+
48
+ 4. **Interpret the response.** Two independent axes — read both:
49
+
50
+ | Axis | Question it answers |
51
+ |---|---|
52
+ | `risk_band` | Does anything look tampered? (low / medium / high) |
53
+ | `inspection_quality` | Could the engine actually see enough to judge? (thorough / limited / poor) |
54
+
55
+ A clean phone photo of a real payslip is commonly `low` risk + `limited` quality — **low coverage is not risk**. Per-signal `evidence` includes: amount/words mismatch, font discontinuity in values, date anomalies, document label integrity, identifier checksums (ABN/ACN/TFN), table arithmetic.
56
+
57
+ 5. **Report honestly.** This is a *signal with evidence*, not a verdict:
58
+ - "risk_band: LOW — nothing looks tampered"
59
+ - "inspection_quality: limited — couldn't inspect everything; low coverage is NOT fraud"
60
+ - Show the per-signal evidence for anything flagged
61
+
62
+ 6. **Pair with related checks.** For identity documents, follow with a 100-point identity check (`/v1/identity-check`). For extraction, use `extract-document-data`.
63
+
64
+ ## Output format
65
+
66
+ ```
67
+ risk_band: LOW — Nothing looks tampered.
68
+ inspection_quality: limited
69
+ recommended action: review_before_action
70
+
71
+ evidence (signals):
72
+ [pass] Amount words/figure mismatch: Spelled-out amounts agree with figures.
73
+ [pass] Font discontinuity in value: Numeric values share the font of surrounding text.
74
+ [skip] Identifier checksum: No checksummable identifier (ABN/ACN/TFN) present.
75
+ ```
76
+
77
+ ## Limitations and Safety
78
+
79
+ - This workflow uploads documents to a hosted third party. Obtain explicit approval,
80
+ minimize personal, financial, identity, and confidential data, and confirm the
81
+ provider's current retention, residency, access, and deletion terms first.
82
+ - Forensic signals can miss sophisticated tampering or flag benign editing, scanning,
83
+ compression, and template artifacts. A low-risk result is not proof of authenticity,
84
+ and a high-risk result is not proof of fraud.
85
+ - Preserve the original bytes and use authoritative issuer verification plus a
86
+ qualified human reviewer before payment, onboarding, lending, employment,
87
+ disciplinary, compliance, or legal action.
88
+
89
+ ## Notes
90
+
91
+ - Document types the engine recognizes (payslips, invoices, bank statements) get type-specific checks; unrecognized types get generic checks only — say so in your report
92
+ - Identical files are cached by content hash — re-checking the same bytes returns instantly and free
93
+ - This measures *forensic integrity*, not *authorship style* — for "was this written by AI", use AI-text detection instead
94
+ - Anonymous free tier: shared weekly allowance. Free key at https://www.stipple.sh
@@ -2,7 +2,7 @@
2
2
  name: vibe-delegate
3
3
  description: Delegate coding tasks to the Mistral Vibe CLI (`vibe`) only when the
4
4
  user explicitly requests it, while the orchestrator retains review and landing responsibility.
5
- risk: safe
5
+ risk: critical
6
6
  category: agent-orchestration
7
7
  source: https://github.com/amElnagdy/delegate-skills
8
8
  source_repo: amElnagdy/delegate-skills
@@ -2,7 +2,7 @@
2
2
  name: warp-delegate
3
3
  description: Delegate coding tasks to the Warp Agent CLI (`oz`) only when the user
4
4
  explicitly requests it, while the orchestrator retains review and landing responsibility.
5
- risk: safe
5
+ risk: critical
6
6
  category: agent-orchestration
7
7
  source: https://github.com/amElnagdy/delegate-skills
8
8
  source_repo: amElnagdy/delegate-skills
@@ -2,7 +2,7 @@
2
2
  name: zcode-delegate
3
3
  description: Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly
4
4
  requests it, while the orchestrator retains review and landing responsibility.
5
- risk: safe
5
+ risk: critical
6
6
  category: agent-orchestration
7
7
  source: https://github.com/amElnagdy/delegate-skills
8
8
  source_repo: amElnagdy/delegate-skills
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-skills-collection",
3
- "version": "4.0.47",
3
+ "version": "4.0.49",
4
4
  "description": "OpenCode CLI plugin that automatically downloads and keeps skills up to date.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",