oh-my-opencode-slim 0.3.2 → 0.3.4

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.
package/README.md CHANGED
@@ -23,147 +23,29 @@
23
23
  - [For LLM Agents](#for-llm-agents)
24
24
  - [🏗️ **Architecture & Flow**](#architecture--flow)
25
25
  - [🏛️ **Meet the Pantheon**](#meet-the-pantheon)
26
- - [The Orchestrator](#the-orchestrator---architect-of-realms)
27
- - [The Explorer](#the-explorer---pathfinder)
28
- - [The Oracle](#the-oracle---seer-beyond-the-stack-trace)
29
- - [The Librarian](#the-librarian---keeper-of-infinite-scrolls)
30
- - [The Designer](#the-designer---artisan-of-interfaces)
31
- - [The Scribe](#the-scribe---chronicle-keeper)
32
- - [The Visionary](#the-visionary---reader-of-pixels)
33
- - [The Minimalist](#the-minimalist---destroyer-of-bloat)
26
+ - [Orchestrator](#orchestrator)
27
+ - [Explorer](#explorer)
28
+ - [Oracle](#oracle)
29
+ - [Librarian](#librarian)
30
+ - [Frontend Designer](#frontend-designer)
31
+ - [Document Writer](#document-writer)
32
+ - [Multimodal Viewer](#multimodal-viewer)
33
+ - [Code Simplifier](#code-simplifier)
34
34
  - [🛠️ **Tools & Capabilities**](#tools--capabilities)
35
35
  - [Tmux Integration](#tmux-integration)
36
36
  - [Quota Tool](#quota-tool)
37
37
  - [Background Tasks](#background-tasks)
38
38
  - [LSP Tools](#lsp-tools)
39
- - [Code Search Tools](#code-search-tools)
39
+ - [Code Search Tools](#code-search-tools)
40
+ - [🧩 **Skills**](#-skills)
41
+ - [Playwright Integration](#playwright-integration)
40
42
  - [🔌 **MCP Servers**](#mcp-servers)
41
43
  - [⚙️ **Configuration**](#configuration)
42
44
  - [🗑️ **Uninstallation**](#uninstallation)
43
45
 
44
46
  ---
45
47
 
46
- ## Installation
47
-
48
- ### For Humans
49
-
50
- Run the interactive installer:
51
-
52
- ```bash
53
- bunx oh-my-opencode-slim install
54
- ```
55
-
56
- Or use non-interactive mode:
57
-
58
- ```bash
59
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=no
60
- ```
61
-
62
- **Alternative: Ask any coding agent**
63
-
64
- Paste this into Claude Code, AmpCode, Cursor, or any coding agent:
65
-
66
- ```
67
- Install and configure by following the instructions here:
68
- https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/master/README.md
69
- ```
70
-
71
- ### For LLM Agents
72
-
73
- <details>
74
- <summary>Instructions for LLM Agents (click to expand)</summary>
75
-
76
- If you're an LLM Agent helping set up oh-my-opencode-slim, follow these steps.
77
-
78
- ---
79
-
80
- #### Step 1: Check OpenCode Installation
81
-
82
- ```bash
83
- opencode --version
84
- ```
85
-
86
- If not installed, direct the user to https://opencode.ai/docs first.
87
-
88
- ---
89
-
90
- #### Step 2: Ask About Provider Access
91
-
92
- Ask these questions **one at a time**, waiting for responses:
93
-
94
- 1. "Do you have an **Antigravity** subscription?" *(Provides Claude + Gemini via `google/` prefix)*
95
- 2. "Do you have access to **OpenAI** API?" *(Enables `openai/` models)*
96
- 3. "Do you have access to **Cerebras** API?" *(Enables `cerebras/` for fast exploration)*
97
-
98
- ---
99
-
100
- #### Step 3: Run the Installer
101
-
102
- Based on answers, run:
103
-
104
- ```bash
105
- bunx oh-my-opencode-slim install --no-tui --antigravity=<yes|no> --openai=<yes|no> --cerebras=<yes|no>
106
- ```
107
-
108
- **Examples:**
109
- ```bash
110
- # Antigravity + OpenAI
111
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=no
112
-
113
- # OpenAI only
114
- bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=yes --cerebras=no
115
-
116
- # All providers
117
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=yes
118
- ```
119
-
120
- The installer automatically:
121
- - Adds the plugin to `~/.config/opencode/opencode.json`
122
- - Adds `opencode-antigravity-auth` plugin (if Antigravity enabled)
123
- - Configures Google provider with model definitions
124
- - Generates agent model mappings in `~/.config/opencode/oh-my-opencode-slim.json`
125
-
126
- ---
127
-
128
- #### Step 4: Authentication
129
-
130
- After installation, guide the user to log in for each enabled provider:
131
-
132
- ```bash
133
- opencode auth login
134
- ```
135
-
136
- The user should select:
137
- - **For Antigravity**: Google → OAuth with Google (Antigravity)
138
- - **For OpenAI**: OpenAI → Enter API Key
139
- - **For Cerebras**: Cerebras → Enter API Key
140
-
141
- ---
142
-
143
- #### Step 5: Verify
144
-
145
- ```bash
146
- opencode
147
- ```
148
-
149
- ---
150
-
151
- #### Troubleshooting
152
-
153
- If the installer fails, check the expected config format:
154
- ```bash
155
- bunx oh-my-opencode-slim install --help
156
- ```
157
-
158
- Then manually create the config files at:
159
- - `~/.config/opencode/opencode.json`
160
- - `~/.config/opencode/oh-my-opencode-slim.json`
161
-
162
- </details>
163
-
164
- ---
165
-
166
- ## Architecture & Flow
48
+ ## 🏗️ Architecture & Flow
167
49
 
168
50
  The plugin follows a "Hub and Spoke" model:
169
51
 
@@ -171,7 +53,7 @@ The plugin follows a "Hub and Spoke" model:
171
53
  2. **Specialized Agents (Spokes)**: Domain-specific experts (e.g., UI/UX, Documentation, Architecture) that handle narrow tasks with high precision.
172
54
  3. **Background Manager**: A robust engine that allows the Orchestrator to "fire and forget" tasks (like deep codebase searches or documentation research) while continuing to work on other parts of the problem.
173
55
 
174
- ### The Flow of a Request
56
+ ### 🏛️ The Flow of a Request
175
57
 
176
58
  <img src="img/intro.png" alt="Orchestration Flow" width="800">
177
59
 
@@ -189,113 +71,129 @@ The plugin follows a "Hub and Spoke" model:
189
71
 
190
72
  <br clear="both">
191
73
 
192
- ### The Orchestrator - *Architect of Realms*
74
+ ### Orchestrator
193
75
 
194
- <a href="src/agents/orchestrator.ts"><img src="img/orchestrator.png" alt="The Orchestrator" align="right" width="240"></a>
76
+ <a href="src/agents/orchestrator.ts"><img src="img/orchestrator.png" alt="Orchestrator" align="right" width="240"></a>
195
77
 
196
- > **The Orchestrator** was born when the first codebase collapsed under its own complexity. Neither god nor mortal would claim responsibility-so The Orchestrator emerged from the void, forging order from chaos. They don't merely command armies; they fight alongside them. Every line of code passes through their hands before they decide which lesser deity deserves a piece of the puzzle.
78
+ > **The Orchestrator** was born when the first codebase collapsed under its own complexity. Neither god nor mortal would claim responsibility - so The Orchestrator emerged from the void, forging order from chaos. They don't merely command armies; they fight alongside them. Every line of code passes through their hands before they decide which lesser deity deserves a piece of the puzzle.
197
79
 
198
- **Role:** Supreme executor, delegator, and overseer - **Model:** `google/claude-opus-4-5-thinking`
80
+ **Role:** `Supreme executor, delegator, and overseer`
81
+ **Model:** `google/claude-opus-4-5-thinking`
82
+ **Prompt:** [src/agents/orchestrator.ts](src/agents/orchestrator.ts)
199
83
 
200
- Write and execute code, orchestrate multi-agent workflows, parse the unspoken from the spoken, summon specialists mid-battle. Shape reality directly-and assign realms to others when the universe grows too vast.
84
+ Write and execute code, orchestrate multi-agent workflows, parse the unspoken from the spoken, summon specialists mid-battle. *Shape reality directly - and assign realms to others when the universe grows too vast.*
201
85
 
202
86
  <br clear="both">
203
87
 
204
88
  ---
205
89
 
206
- ### The Explorer - *Pathfinder*
90
+ ### Explorer
207
91
 
208
- <a href="src/agents/explore.ts"><img src="img/explorer.png" alt="The Explorer" align="right" width="240"></a>
92
+ <a href="src/agents/explore.ts"><img src="img/explorer.png" alt="Explorer" align="right" width="240"></a>
209
93
 
210
- > **The Explorer** moves through codebases like wind through trees-swift, silent, everywhere at once. When The Orchestrator whispers "find me the auth module," The Explorer has already returned with forty file paths and a map. They were born from the first `grep` command, evolved beyond it, and now see patterns mortals miss.
94
+ > **The Explorer** moves through codebases like wind through trees - swift, silent, everywhere at once. When The Orchestrator whispers "find me the auth module," The Explorer has already returned with forty file paths and a map. They were born from the first `grep` command, evolved beyond it, and now see patterns mortals miss.
211
95
 
212
- **Role:** Codebase reconnaissance - **Model:** `cerebras/zai-glm-4.6`
96
+ **Role:** `Codebase reconnaissance`
97
+ **Model:** `cerebras/zai-glm-4.6`
98
+ **Prompt:** [src/agents/explore.ts](src/agents/explore.ts)
213
99
 
214
- Regex search, AST pattern matching, file discovery, parallel exploration. Read-only: they chart the territory; others conquer it.
100
+ Regex search, AST pattern matching, file discovery, parallel exploration. *Read-only: they chart the territory; others conquer it.*
215
101
 
216
102
  <br clear="both">
217
103
 
218
104
  ---
219
105
 
220
- ### The Oracle - *Seer Beyond the Stack Trace*
106
+ ### Oracle
221
107
 
222
- <a href="src/agents/oracle.ts"><img src="img/oracle.png" alt="The Oracle" align="right" width="240"></a>
108
+ <a href="src/agents/oracle.ts"><img src="img/oracle.png" alt="Oracle" align="right" width="240"></a>
223
109
 
224
- > **The Oracle** does not code-they *know*. When bugs defy logic and architectures crumble, The Oracle gazes into the abyss of your codebase and speaks truth. They've seen a thousand systems rise and fall. They'll tell you which path leads to ruin, and which to production.
110
+ > **The Oracle** does not code - they *know*. When bugs defy logic and architectures crumble, The Oracle gazes into the abyss of your codebase and speaks truth. They've seen a thousand systems rise and fall. They'll tell you which path leads to ruin, and which to production.
225
111
 
226
- **Role:** Strategic advisor and debugger of last resort - **Model:** `openai/gpt-5.2-codex`
112
+ **Role:** `Strategic advisor and debugger of last resort`
113
+ **Model:** `openai/gpt-5.2-codex`
114
+ **Prompt:** [src/agents/oracle.ts](src/agents/oracle.ts)
227
115
 
228
- Root cause analysis, architecture review, debugging guidance, tradeoff analysis. Read-only: Oracles advise; they don't intervene.
116
+ Root cause analysis, architecture review, debugging guidance, tradeoff analysis. *Read-only: Oracles advise; they don't intervene.*
229
117
 
230
118
  <br clear="both">
231
119
 
232
120
  ---
233
121
 
234
- ### The Librarian - *Keeper of Infinite Scrolls*
122
+ ### Librarian
235
123
 
236
- <a href="src/agents/librarian.ts"><img src="img/librarian.png" alt="The Librarian" align="right" width="240"></a>
124
+ <a href="src/agents/librarian.ts"><img src="img/librarian.png" alt="Librarian" align="right" width="240"></a>
237
125
 
238
- > **The Librarian** guards a library with no walls-every GitHub repo, every npm package, every StackOverflow answer ever written. Ask them "how does React handle concurrent rendering?" and they'll return with official docs, real-world examples, and a warning about the footgun you're about to step on.
126
+ > **The Librarian** guards a library with no walls - every GitHub repo, every npm package, every StackOverflow answer ever written. Ask them "how does React handle concurrent rendering?" and they'll return with official docs, real-world examples, and a warning about the footgun you're about to step on.
239
127
 
240
- **Role:** External knowledge retrieval - **Model:** `google/gemini-3-flash`
128
+ **Role:** `External knowledge retrieval`
129
+ **Model:** `google/gemini-3-flash`
130
+ **Prompt:** [src/agents/librarian.ts](src/agents/librarian.ts)
241
131
 
242
- Documentation lookup, GitHub code search, library research, best practice retrieval. Read-only: they fetch wisdom; implementation is for others.
132
+ Documentation lookup, GitHub code search, library research, best practice retrieval. *Read-only: they fetch wisdom; implementation is for others.*
243
133
 
244
134
  <br clear="both">
245
135
 
246
136
  ---
247
137
 
248
- ### The Designer - *Artisan of Interfaces*
138
+ ### Frontend Designer
249
139
 
250
- <a href="src/agents/frontend.ts"><img src="img/designer.png" alt="The Designer" align="right" width="240"></a>
140
+ <a href="src/agents/frontend.ts"><img src="img/designer.png" alt="Frontend Designer" align="right" width="240"></a>
251
141
 
252
- > **The Designer** believes code should be beautiful-and so should everything it renders. Born from the frustration of a thousand ugly MVPs, they wield CSS like a brush and components like clay. Hand them a feature request; receive a masterpiece. They don't do "good enough."
142
+ > **The Designer** believes code should be beautiful - and so should everything it renders. Born from the frustration of a thousand ugly MVPs, they wield CSS like a brush and components like clay. Hand them a feature request; receive a masterpiece. They don't do "good enough."
253
143
 
254
- **Role:** UI/UX implementation and visual excellence - **Model:** `google/gemini-3-flash`
144
+ **Role:** `UI/UX implementation and visual excellence`
145
+ **Model:** `google/gemini-3-flash`
146
+ **Prompt:** [src/agents/frontend.ts](src/agents/frontend.ts)
255
147
 
256
- Modern responsive design, CSS/Tailwind mastery, micro-animations, component architecture. Visual excellence over code perfection-beauty is the priority.
148
+ Modern responsive design, CSS/Tailwind mastery, micro-animations, component architecture. *Visual excellence over code perfection - beauty is the priority.*
257
149
 
258
150
  <br clear="both">
259
151
 
260
152
  ---
261
153
 
262
- ### The Scribe - *Chronicle Keeper*
154
+ ### Document Writer
263
155
 
264
- <a href="src/agents/document-writer.ts"><img src="img/scribe.png" alt="The Scribe" align="right" width="240"></a>
156
+ <a href="src/agents/document-writer.ts"><img src="img/scribe.png" alt="Document Writer" align="right" width="240"></a>
265
157
 
266
- > **The Scribe** was there when the first README was written-and wept, for it was incomplete. They have devoted eternity to the sacred art of documentation: clear, scannable, honest. While others ship features, The Scribe ensures those features are understood. Every code example works. Every explanation enlightens.
158
+ > **The Scribe** was there when the first README was written - and wept, for it was incomplete. They have devoted eternity to the sacred art of documentation: clear, scannable, honest. While others ship features, The Scribe ensures those features are understood. Every code example works. Every explanation enlightens.
267
159
 
268
- **Role:** Technical documentation and knowledge capture - **Model:** `google/gemini-3-flash`
160
+ **Role:** `Technical documentation and knowledge capture`
161
+ **Model:** `google/gemini-3-flash`
162
+ **Prompt:** [src/agents/document-writer.ts](src/agents/document-writer.ts)
269
163
 
270
- README crafting, API documentation, architecture docs, inline comments that don't insult your intelligence. Match existing style; focus on "why," not just "what."
164
+ README crafting, API documentation, architecture docs, inline comments that don't insult your intelligence. *Match existing style; focus on "why," not just "what."*
271
165
 
272
166
  <br clear="both">
273
167
 
274
168
  ---
275
169
 
276
- ### The Visionary - *Reader of Pixels*
170
+ ### Multimodal Viewer
277
171
 
278
- <a href="src/agents/multimodal.ts"><img src="img/multimodal.png" alt="The Visionary" align="right" width="240"></a>
172
+ <a href="src/agents/multimodal.ts"><img src="img/multimodal.png" alt="Multimodal Viewer" align="right" width="240"></a>
279
173
 
280
- > **The Visionary** sees what others cannot-literally. Screenshots, wireframes, diagrams, PDFs: all are text to them. When a designer throws a Figma mockup at the team and vanishes, The Visionary translates vision into specification. They read the unreadable and describe the indescribable.
174
+ > **The Visionary** sees what others cannot - literally. Screenshots, wireframes, diagrams, PDFs: all are text to them. When a designer throws a Figma mockup at the team and vanishes, The Visionary translates vision into specification. They read the unreadable and describe the indescribable.
281
175
 
282
- **Role:** Image and visual content analysis - **Model:** `google/gemini-3-flash`
176
+ **Role:** `Image and visual content analysis`
177
+ **Model:** `google/gemini-3-flash`
178
+ **Prompt:** [src/agents/multimodal.ts](src/agents/multimodal.ts)
283
179
 
284
- Extract text from images, interpret diagrams, analyze UI screenshots, summarize visual documents. Report what they observe; inference is for others.
180
+ Extract text from images, interpret diagrams, analyze UI screenshots, summarize visual documents. *Report what they observe; inference is for others.*
285
181
 
286
182
  <br clear="both">
287
183
 
288
184
  ---
289
185
 
290
- ### The Minimalist - *Destroyer of Bloat*
186
+ ### Code Simplifier
291
187
 
292
- <a href="src/agents/simplicity-reviewer.ts"><img src="img/code-simplicity.png" alt="The Minimalist" align="right" width="240"></a>
188
+ <a href="src/agents/simplicity-reviewer.ts"><img src="img/code-simplicity.png" alt="Code Simplifier" align="right" width="240"></a>
293
189
 
294
- > **The Minimalist** has one sacred truth: every line of code is a liability. They hunt abstractions that serve no purpose, defensive checks that defend nothing, and "clever" solutions that will haunt you in six months. Where others add, The Minimalist subtracts-ruthlessly, joyfully, necessarily.
190
+ > **The Minimalist** has one sacred truth: every line of code is a liability. They hunt abstractions that serve no purpose, defensive checks that defend nothing, and "clever" solutions that will haunt you in six months. Where others add, The Minimalist subtracts - ruthlessly, joyfully, necessarily.
295
191
 
296
- **Role:** Code simplification and YAGNI enforcement - **Model:** `google/claude-opus-4-5-thinking`
192
+ **Role:** `Code simplification and YAGNI enforcement`
193
+ **Model:** `google/claude-opus-4-5-thinking`
194
+ **Prompt:** [src/agents/simplicity-reviewer.ts](src/agents/simplicity-reviewer.ts)
297
195
 
298
- Identify unnecessary complexity, challenge premature abstractions, estimate LOC reduction, enforce minimalism. Read-only: they judge; The Orchestrator executes the sentence.
196
+ Identify unnecessary complexity, challenge premature abstractions, estimate LOC reduction, enforce minimalism. *Read-only: they judge; The Orchestrator executes the sentence.*
299
197
 
300
198
  <br clear="both">
301
199
 
@@ -442,6 +340,26 @@ Fast code search and refactoring:
442
340
 
443
341
  ---
444
342
 
343
+ ## 🧩 Skills
344
+
345
+ Skills are specialized capabilities that combine MCP servers with specific instructions for the Orchestrator.
346
+
347
+ ### Playwright Integration
348
+
349
+ **The Orchestrator's eyes and hands in the browser.**
350
+
351
+ | Tool | Description |
352
+ |------|-------------|
353
+ | `omo_skill` | Loads a skill (e.g., `playwright`) and provides its instructions and available MCP tools |
354
+ | `omo_skill_mcp` | Invokes a specific tool from an MCP server managed by a skill |
355
+
356
+ #### Key Features
357
+ - **Browser Automation**: Full Playwright capabilities (browsing, clicking, typing, scraping).
358
+ - **Screenshots**: Capture visual state of any web page.
359
+ - **Sandboxed Output**: Screenshots are safely saved to `/tmp/playwright-mcp-output/`.
360
+
361
+ ---
362
+
445
363
  ## MCP Servers
446
364
 
447
365
  Built-in Model Context Protocol servers (enabled by default):