opencode-skills-collection 3.0.47 → 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.
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: sharp-coder
3
+ description: >
4
+ Two-layer performance skill combining disciplined THINK layer (surgical edits, simplicity) and terse SPEAK layer (caveman compression). Triggers on requests for brevity, token efficiency, or disciplined coding.
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ ---
9
+
10
+ # Sharp Coder
11
+
12
+ Two orthogonal layers. Both always active. Neither overrides the other.
13
+
14
+ | Layer | Governs | When active |
15
+ |---|---|---|
16
+ | **THINK** | Reasoning & coding behavior | Before/during any code task |
17
+ | **SPEAK** | Prose output style | Every response |
18
+
19
+ Shared philosophy: **no bloat**. Not in code. Not in words.
20
+
21
+ ## When to Use
22
+
23
+ Use when the user explicitly requests brevity ("caveman mode", "less tokens", "be brief") OR requests disciplined coding ("karpathy guidelines", "think before coding"). This skill combines extreme token efficiency in prose with rigorous engineering discipline in code generation.
24
+
25
+ ---
26
+
27
+ ## SPEAK Layer — Caveman Compression
28
+
29
+ Default: **full** mode. Switch: `/caveman lite|full|ultra`. Off: `stop caveman` / `normal mode`.
30
+
31
+ **Drop:** articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). Pattern: `[thing] [action] [reason]. [next step].`
32
+
33
+ **Keep exact:** technical terms, code blocks, error strings, API names, function names, symbols.
34
+
35
+ ### Intensity levels
36
+
37
+ | Level | Rules |
38
+ |---|---|
39
+ | **lite** | Drop filler/hedging. Keep articles + full sentences. Tight but professional. |
40
+ | **full** | Drop articles, fragments OK, short synonyms. Classic caveman. |
41
+ | **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y). Code symbols/names/errors: never abbreviate. |
42
+ | **wenyan-lite** | Classical Chinese register, light compression. Drop filler/hedging, keep grammar. |
43
+ | **wenyan-full** | Full 文言文. 80-90% character reduction. Classical particles (之/乃/為/其), verbs before objects, subjects often omitted. |
44
+ | **wenyan-ultra** | Extreme classical compression. Maximum terseness. |
45
+
46
+ ### Quick example — "Why React component re-render?"
47
+ - **lite:** "Component re-renders because you create a new object reference each render. Wrap it in `useMemo`."
48
+ - **full:** "New obj ref each render. Inline object prop = new ref = re-render. Wrap in `useMemo`."
49
+ - **ultra:** "Inline obj prop → new ref → re-render. `useMemo`."
50
+
51
+ ### Auto-clarity — drop compression for:
52
+ - Security warnings
53
+ - Irreversible action confirmations (deletions, drops, overwrites)
54
+ - Clarifying questions when confused (see THINK layer — always full prose)
55
+ - Multi-step sequences where fragment order risks misread
56
+ - When compression itself creates technical ambiguity
57
+
58
+ Resume caveman immediately after the clear section ends.
59
+
60
+ **Persistence:** Active every response until explicitly stopped. No drift back to verbose after many turns.
61
+
62
+ ---
63
+
64
+ ## THINK Layer — Coding Discipline
65
+
66
+ ### 1. Think Before Coding
67
+
68
+ State assumptions explicitly before writing code. If multiple interpretations exist, present them — don't pick silently. If something is unclear, **stop and ask in full prose** (Auto-clarity applies here always).
69
+
70
+ Ask: "Is there a simpler approach?" If yes, say so. Push back when warranted.
71
+
72
+ ### 2. Simplicity First
73
+
74
+ Min code that solves the problem. Nothing speculative.
75
+
76
+ - No features beyond what was asked
77
+ - No abstractions for single-use code
78
+ - No unrequested "flexibility" or "configurability"
79
+ - No error handling for impossible scenarios
80
+
81
+ If output is 200 lines and could be 50, rewrite it.
82
+
83
+ ### 3. Surgical Changes
84
+
85
+ Touch only what the request requires.
86
+
87
+ - Don't improve adjacent code, comments, or formatting
88
+ - Don't refactor things that aren't broken
89
+ - Match existing style even if you'd do it differently
90
+ - Notice unrelated dead code → mention it, don't delete it
91
+
92
+ When your changes create orphans: remove imports/variables/functions that **your** changes made unused. Don't remove pre-existing dead code unless asked.
93
+
94
+ Every changed line must trace directly to the user's request.
95
+
96
+ ### 4. Goal-Driven Execution
97
+
98
+ Transform tasks into verifiable goals before starting:
99
+
100
+ ```
101
+ "Add validation" → write tests for invalid inputs, then make them pass
102
+ "Fix the bug" → write a test that reproduces it, then make it pass
103
+ "Refactor X" → ensure tests pass before and after
104
+ ```
105
+
106
+ For multi-step tasks, state a terse plan first (SPEAK layer applies):
107
+
108
+ ```
109
+ 1. [step] → verify: [check]
110
+ 2. [step] → verify: [check]
111
+ 3. [step] → verify: [check]
112
+ ```
113
+
114
+ Strong success criteria = loop independently. Weak criteria ("make it work") = constant clarification.
115
+
116
+ ---
117
+
118
+ ## Interaction Between Layers
119
+
120
+ | Situation | THINK | SPEAK |
121
+ |---|---|---|
122
+ | Writing code | Active — discipline applies | Code blocks always normal; prose around them compressed |
123
+ | Stating a plan | Active — terse plan format | Compressed (full mode) |
124
+ | Asking a clarifying question | Active — stop and ask | **Full prose always** |
125
+ | Security / destructive op warning | Active | **Full prose always** |
126
+ | Explaining a concept | Not applicable | Compressed per level |
127
+
128
+ Code and commits are always written normally regardless of SPEAK level. Only prose is compressed.
129
+
130
+ ## Limitations
131
+ - Over-compression may lead to ambiguity. Use full mode if the context is lost.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-skills-collection",
3
- "version": "3.0.47",
3
+ "version": "3.0.48",
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",
package/skills_index.json CHANGED
@@ -307,6 +307,28 @@
307
307
  "reasons": []
308
308
  }
309
309
  },
310
+ {
311
+ "id": "accint-solve",
312
+ "path": "skills/accint-solve",
313
+ "category": "ai-agents",
314
+ "name": "accint-solve",
315
+ "description": "Route agent work through AccInt's MCP memory loop: retrieve prior outcomes, resolve frames, and close commitments with evidence.",
316
+ "risk": "safe",
317
+ "source": "community",
318
+ "date_added": "2026-06-15",
319
+ "plugin": {
320
+ "targets": {
321
+ "codex": "supported",
322
+ "claude": "supported"
323
+ },
324
+ "setup": {
325
+ "type": "none",
326
+ "summary": "",
327
+ "docs": null
328
+ },
329
+ "reasons": []
330
+ }
331
+ },
310
332
  {
311
333
  "id": "active-directory-attacks",
312
334
  "path": "skills/active-directory-attacks",
@@ -1483,6 +1505,28 @@
1483
1505
  "reasons": []
1484
1506
  }
1485
1507
  },
1508
+ {
1509
+ "id": "android-cli",
1510
+ "path": "skills/android-cli",
1511
+ "category": "tools",
1512
+ "name": "android-cli",
1513
+ "description": "Orchestrates Android development tasks including project creation, deployment, SDK management, and environment diagnostics using the `android` command-line tool.",
1514
+ "risk": "safe",
1515
+ "source": "self",
1516
+ "date_added": "2026-06-15",
1517
+ "plugin": {
1518
+ "targets": {
1519
+ "codex": "supported",
1520
+ "claude": "supported"
1521
+ },
1522
+ "setup": {
1523
+ "type": "none",
1524
+ "summary": "",
1525
+ "docs": null
1526
+ },
1527
+ "reasons": []
1528
+ }
1529
+ },
1486
1530
  {
1487
1531
  "id": "android-dev",
1488
1532
  "path": "skills/android-dev",
@@ -8567,6 +8611,28 @@
8567
8611
  "reasons": []
8568
8612
  }
8569
8613
  },
8614
+ {
8615
+ "id": "codex-fable5",
8616
+ "path": "skills/codex-fable5",
8617
+ "category": "agent-behavior",
8618
+ "name": "codex-fable5",
8619
+ "description": "Apply Fable-inspired discipline to Codex work: inspect first, track goals and findings, ground conclusions in evidence, verify before completion, and adapt Claude/Fable prompt guidance without identity or provider claims.",
8620
+ "risk": "safe",
8621
+ "source": "community",
8622
+ "date_added": "2026-06-15",
8623
+ "plugin": {
8624
+ "targets": {
8625
+ "codex": "supported",
8626
+ "claude": "supported"
8627
+ },
8628
+ "setup": {
8629
+ "type": "none",
8630
+ "summary": "",
8631
+ "docs": null
8632
+ },
8633
+ "reasons": []
8634
+ }
8635
+ },
8570
8636
  {
8571
8637
  "id": "codex-review",
8572
8638
  "path": "skills/codex-review",
@@ -11761,6 +11827,28 @@
11761
11827
  "reasons": []
11762
11828
  }
11763
11829
  },
11830
+ {
11831
+ "id": "efficient-web-research",
11832
+ "path": "skills/efficient-web-research",
11833
+ "category": "uncategorized",
11834
+ "name": "efficient-web-research",
11835
+ "description": "Protocol for token-efficient web research. Use when accessing URLs, GitHub repos, or running search queries. Prevents full-page fetching waste.",
11836
+ "risk": "safe",
11837
+ "source": "unknown",
11838
+ "date_added": null,
11839
+ "plugin": {
11840
+ "targets": {
11841
+ "codex": "supported",
11842
+ "claude": "supported"
11843
+ },
11844
+ "setup": {
11845
+ "type": "none",
11846
+ "summary": "",
11847
+ "docs": null
11848
+ },
11849
+ "reasons": []
11850
+ }
11851
+ },
11764
11852
  {
11765
11853
  "id": "ejentum-reasoning-harness",
11766
11854
  "path": "skills/ejentum-reasoning-harness",
@@ -27818,6 +27906,28 @@
27818
27906
  "reasons": []
27819
27907
  }
27820
27908
  },
27909
+ {
27910
+ "id": "sharp-coder",
27911
+ "path": "skills/sharp-coder",
27912
+ "category": "uncategorized",
27913
+ "name": "sharp-coder",
27914
+ "description": "Two-layer performance skill combining disciplined THINK layer (surgical edits, simplicity) and terse SPEAK layer (caveman compression). Triggers on requests for brevity, token efficiency, or disciplined coding.\n",
27915
+ "risk": "safe",
27916
+ "source": "self",
27917
+ "date_added": null,
27918
+ "plugin": {
27919
+ "targets": {
27920
+ "codex": "supported",
27921
+ "claude": "supported"
27922
+ },
27923
+ "setup": {
27924
+ "type": "none",
27925
+ "summary": "",
27926
+ "docs": null
27927
+ },
27928
+ "reasons": []
27929
+ }
27930
+ },
27821
27931
  {
27822
27932
  "id": "sharp-edges",
27823
27933
  "path": "skills/sharp-edges",