oh-my-claudecode-opencode 0.2.1 → 0.4.0

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 (72) hide show
  1. package/assets/AGENTS.md +20 -20
  2. package/assets/agents/analyst.md +85 -0
  3. package/assets/agents/architect-low.md +88 -0
  4. package/assets/agents/architect-medium.md +147 -0
  5. package/assets/agents/architect.md +147 -0
  6. package/assets/agents/build-fixer-low.md +83 -0
  7. package/assets/agents/build-fixer.md +160 -0
  8. package/assets/agents/code-reviewer-low.md +82 -0
  9. package/assets/agents/code-reviewer.md +155 -0
  10. package/assets/agents/critic.md +131 -0
  11. package/assets/agents/designer-high.md +113 -0
  12. package/assets/agents/designer-low.md +89 -0
  13. package/assets/agents/designer.md +80 -0
  14. package/assets/agents/executor-high.md +139 -0
  15. package/assets/agents/executor-low.md +94 -0
  16. package/assets/agents/executor.md +78 -0
  17. package/assets/agents/explore-medium.md +113 -0
  18. package/assets/agents/explore.md +86 -0
  19. package/assets/agents/planner.md +299 -0
  20. package/assets/agents/qa-tester.md +109 -0
  21. package/assets/agents/researcher-low.md +84 -0
  22. package/assets/agents/researcher.md +70 -0
  23. package/assets/agents/scientist-high.md +1023 -0
  24. package/assets/agents/scientist-low.md +258 -0
  25. package/assets/agents/scientist.md +1302 -0
  26. package/assets/agents/security-reviewer-low.md +83 -0
  27. package/assets/agents/security-reviewer.md +186 -0
  28. package/assets/agents/tdd-guide-low.md +81 -0
  29. package/assets/agents/tdd-guide.md +191 -0
  30. package/assets/agents/vision.md +39 -0
  31. package/assets/agents/writer.md +152 -0
  32. package/assets/omco.schema.json +3 -3
  33. package/assets/skills/analyze.md +64 -0
  34. package/assets/skills/autopilot.md +168 -0
  35. package/assets/skills/cancel-autopilot.md +53 -0
  36. package/assets/skills/cancel-ralph.md +43 -0
  37. package/assets/skills/cancel-ultraqa.md +29 -0
  38. package/assets/skills/cancel-ultrawork.md +42 -0
  39. package/assets/skills/deepinit.md +321 -0
  40. package/assets/skills/deepsearch.md +39 -0
  41. package/assets/skills/doctor.md +192 -0
  42. package/assets/skills/frontend-ui-ux.md +53 -0
  43. package/assets/skills/git-master.md +58 -0
  44. package/assets/skills/help.md +66 -0
  45. package/assets/skills/hud.md +239 -0
  46. package/assets/skills/learner.md +136 -0
  47. package/assets/skills/mcp-setup.md +196 -0
  48. package/assets/skills/note.md +63 -0
  49. package/assets/skills/omc-default-global.md +75 -0
  50. package/assets/skills/omc-default.md +78 -0
  51. package/assets/skills/omc-setup.md +245 -0
  52. package/assets/skills/orchestrate.md +409 -0
  53. package/assets/skills/plan.md +38 -0
  54. package/assets/skills/planner.md +106 -0
  55. package/assets/skills/ralph-init.md +61 -0
  56. package/assets/skills/ralph.md +136 -0
  57. package/assets/skills/ralplan.md +272 -0
  58. package/assets/skills/release.md +84 -0
  59. package/assets/skills/research.md +511 -0
  60. package/assets/skills/review.md +37 -0
  61. package/assets/skills/tdd.md +80 -0
  62. package/assets/skills/ultraqa.md +123 -0
  63. package/assets/skills/ultrawork.md +93 -0
  64. package/dist/agents/index.d.ts +14 -1
  65. package/dist/agents/loader.d.ts +13 -0
  66. package/dist/agents/types.d.ts +14 -0
  67. package/dist/config/index.d.ts +1 -1
  68. package/dist/index.js +7307 -166
  69. package/dist/skills/index.d.ts +14 -0
  70. package/dist/skills/loader.d.ts +9 -0
  71. package/dist/skills/types.d.ts +9 -0
  72. package/package.json +6 -3
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: help
3
+ description: Guide on using oh-my-claudecode plugin
4
+ user-invocable: true
5
+ ---
6
+
7
+ # How OMC Works
8
+
9
+ **You don't need to learn any commands!** OMC enhances Claude Code with intelligent behaviors that activate automatically.
10
+
11
+ ## What Happens Automatically
12
+
13
+ | When You... | I Automatically... |
14
+ |-------------|-------------------|
15
+ | Give me a complex task | Parallelize and delegate to specialist agents |
16
+ | Ask me to plan something | Start a planning interview |
17
+ | Need something done completely | Persist until verified complete |
18
+ | Work on UI/frontend | Activate design sensibility |
19
+ | Say "stop" or "cancel" | Intelligently stop current operation |
20
+
21
+ ## Magic Keywords (Optional Shortcuts)
22
+
23
+ You can include these words naturally in your request for explicit control:
24
+
25
+ | Keyword | Effect | Example |
26
+ |---------|--------|---------|
27
+ | **ralph** | Persistence mode | "ralph: fix all the bugs" |
28
+ | **ralplan** | Iterative planning | "ralplan this feature" |
29
+ | **ulw** | Max parallelism | "ulw refactor the API" |
30
+ | **plan** | Planning interview | "plan the new endpoints" |
31
+
32
+ **Combine them:** "ralph ulw: migrate the database"
33
+
34
+ ## Stopping Things
35
+
36
+ Just say:
37
+ - "stop"
38
+ - "cancel"
39
+ - "abort"
40
+
41
+ I'll figure out what to stop based on context.
42
+
43
+ ## First Time Setup
44
+
45
+ If you haven't configured OMC yet:
46
+
47
+ ```
48
+ /oh-my-claudecode:omc-setup
49
+ ```
50
+
51
+ This is the **only command** you need to know. It downloads the configuration and you're done.
52
+
53
+ ## For 2.x Users
54
+
55
+ Your old commands still work! `/ralph`, `/ultrawork`, `/planner`, etc. all function exactly as before.
56
+
57
+ But now you don't NEED them - everything is automatic.
58
+
59
+ ## Need More Help?
60
+
61
+ - **README**: https://github.com/Yeachan-Heo/oh-my-claudecode
62
+ - **Issues**: https://github.com/Yeachan-Heo/oh-my-claudecode/issues
63
+
64
+ ---
65
+
66
+ *Version: 3.0.11*
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: hud
3
+ description: Configure HUD display options (layout, presets, display elements)
4
+ user-invocable: true
5
+ role: config-writer # DOCUMENTATION ONLY - This skill writes to ~/.claude/ paths
6
+ scope: ~/.claude/** # DOCUMENTATION ONLY - Allowed write scope
7
+ ---
8
+
9
+ # HUD Skill
10
+
11
+ Configure the OMC HUD (Heads-Up Display) for the statusline.
12
+
13
+ ## Quick Commands
14
+
15
+ | Command | Description |
16
+ |---------|-------------|
17
+ | `/oh-my-claudecode:hud` | Show current HUD status (auto-setup if needed) |
18
+ | `/oh-my-claudecode:hud setup` | Install/repair HUD statusline |
19
+ | `/oh-my-claudecode:hud minimal` | Switch to minimal display |
20
+ | `/oh-my-claudecode:hud focused` | Switch to focused display (default) |
21
+ | `/oh-my-claudecode:hud full` | Switch to full display |
22
+ | `/oh-my-claudecode:hud status` | Show detailed HUD status |
23
+
24
+ ## Auto-Setup
25
+
26
+ When you run `/oh-my-claudecode:hud` or `/oh-my-claudecode:hud setup`, the system will automatically:
27
+ 1. Check if `~/.claude/hud/omc-hud.mjs` exists
28
+ 2. Check if `statusLine` is configured in `~/.claude/settings.json`
29
+ 3. If missing, create the HUD wrapper script and configure settings
30
+ 4. Report status and prompt to restart Claude Code if changes were made
31
+
32
+ **IMPORTANT**: If the argument is `setup` OR if the HUD script doesn't exist at `~/.claude/hud/omc-hud.mjs`, you MUST create the HUD files directly using the instructions below.
33
+
34
+ ### Setup Instructions (Run These Commands)
35
+
36
+ **Step 1:** Check if setup is needed:
37
+ ```bash
38
+ ls ~/.claude/hud/omc-hud.mjs 2>/dev/null && echo "EXISTS" || echo "MISSING"
39
+ ```
40
+
41
+ **Step 2:** Check if the plugin is built (CRITICAL - common issue!):
42
+ ```bash
43
+ # Find the latest version and check if dist/hud/index.js exists
44
+ PLUGIN_VERSION=$(ls ~/.claude/plugins/cache/omc/oh-my-claudecode/ 2>/dev/null | sort -V | tail -1)
45
+ if [ -n "$PLUGIN_VERSION" ]; then
46
+ ls ~/.claude/plugins/cache/omc/oh-my-claudecode/$PLUGIN_VERSION/dist/hud/index.js 2>/dev/null && echo "BUILT" || echo "NOT_BUILT"
47
+ fi
48
+ ```
49
+
50
+ **If NOT_BUILT**, the plugin needs to be compiled. Run:
51
+ ```bash
52
+ cd ~/.claude/plugins/cache/omc/oh-my-claudecode/$PLUGIN_VERSION && npm install
53
+ ```
54
+ This will install dependencies and build the TypeScript code automatically (via the `prepare` script).
55
+
56
+ **Step 3:** If omc-hud.mjs is MISSING or argument is `setup`, create the HUD directory and script:
57
+
58
+ First, create the directory:
59
+ ```bash
60
+ mkdir -p ~/.claude/hud
61
+ ```
62
+
63
+ Then, use the Write tool to create `~/.claude/hud/omc-hud.mjs` with this exact content:
64
+
65
+ ```javascript
66
+ #!/usr/bin/env node
67
+ /**
68
+ * OMC HUD - Statusline Script
69
+ * Wrapper that imports from plugin cache or development paths
70
+ */
71
+
72
+ import { existsSync, readdirSync } from "node:fs";
73
+ import { homedir } from "node:os";
74
+ import { join } from "node:path";
75
+
76
+ async function main() {
77
+ const home = homedir();
78
+
79
+ // 1. Try plugin cache first (marketplace: omc, plugin: oh-my-claudecode)
80
+ const pluginCacheBase = join(home, ".claude/plugins/cache/omc/oh-my-claudecode");
81
+ if (existsSync(pluginCacheBase)) {
82
+ try {
83
+ const versions = readdirSync(pluginCacheBase);
84
+ if (versions.length > 0) {
85
+ const latestVersion = versions.sort().reverse()[0];
86
+ const pluginPath = join(pluginCacheBase, latestVersion, "dist/hud/index.js");
87
+ if (existsSync(pluginPath)) {
88
+ await import(pluginPath);
89
+ return;
90
+ }
91
+ }
92
+ } catch { /* continue */ }
93
+ }
94
+
95
+ // 2. Development paths
96
+ const devPaths = [
97
+ join(home, "Workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
98
+ join(home, "workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
99
+ join(home, "Workspace/oh-my-claudecode/dist/hud/index.js"),
100
+ join(home, "workspace/oh-my-claudecode/dist/hud/index.js"),
101
+ ];
102
+
103
+ for (const devPath of devPaths) {
104
+ if (existsSync(devPath)) {
105
+ try {
106
+ await import(devPath);
107
+ return;
108
+ } catch { /* continue */ }
109
+ }
110
+ }
111
+
112
+ // 3. Fallback
113
+ console.log("[OMC] run /omc-setup to install properly");
114
+ }
115
+
116
+ main();
117
+ ```
118
+
119
+ **Step 3:** Make it executable:
120
+ ```bash
121
+ chmod +x ~/.claude/hud/omc-hud.mjs
122
+ ```
123
+
124
+ **Step 4:** Update settings.json to use the HUD:
125
+
126
+ Read `~/.claude/settings.json`, then update/add the `statusLine` field:
127
+ ```json
128
+ {
129
+ "statusLine": {
130
+ "type": "command",
131
+ "command": "node ~/.claude/hud/omc-hud.mjs"
132
+ }
133
+ }
134
+ ```
135
+
136
+ Use the Edit tool to add/update this field while preserving other settings.
137
+
138
+ **Step 5:** Clean up old HUD scripts (if any):
139
+ ```bash
140
+ rm -f ~/.claude/hud/sisyphus-hud.mjs 2>/dev/null
141
+ ```
142
+
143
+ **Step 6:** Tell the user to restart Claude Code for changes to take effect.
144
+
145
+ ## Display Presets
146
+
147
+ ### Minimal
148
+ Shows only the essentials:
149
+ ```
150
+ [OMC] ralph | ultrawork | todos:2/5
151
+ ```
152
+
153
+ ### Focused (Default)
154
+ Shows all relevant elements:
155
+ ```
156
+ [OMC] ralph:3/10 | US-002 | ultrawork skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5
157
+ ```
158
+
159
+ ### Full
160
+ Shows everything including multi-line agent details:
161
+ ```
162
+ [OMC] ralph:3/10 | US-002 (2/5) | ultrawork | ctx:[████░░]67% | agents:3 | bg:3/5 | todos:2/5
163
+ ├─ O architect 2m analyzing architecture patterns...
164
+ ├─ e explore 45s searching for test files
165
+ └─ s executor 1m implementing validation logic
166
+ ```
167
+
168
+ ## Multi-Line Agent Display
169
+
170
+ When agents are running, the HUD shows detailed information on separate lines:
171
+ - **Tree characters** (`├─`, `└─`) show visual hierarchy
172
+ - **Agent code** (O, e, s) indicates agent type with model tier color
173
+ - **Duration** shows how long each agent has been running
174
+ - **Description** shows what each agent is doing (up to 45 chars)
175
+
176
+ ## Display Elements
177
+
178
+ | Element | Description |
179
+ |---------|-------------|
180
+ | `[OMC]` | Mode identifier |
181
+ | `ralph:3/10` | Ralph loop iteration/max |
182
+ | `US-002` | Current PRD story ID |
183
+ | `ultrawork` | Active mode badge |
184
+ | `skill:name` | Last activated skill (cyan) |
185
+ | `ctx:67%` | Context window usage |
186
+ | `agents:2` | Running subagent count |
187
+ | `bg:3/5` | Background task slots |
188
+ | `todos:2/5` | Todo completion |
189
+
190
+ ## Color Coding
191
+
192
+ - **Green**: Normal/healthy
193
+ - **Yellow**: Warning (context >70%, ralph >7)
194
+ - **Red**: Critical (context >85%, ralph at max)
195
+
196
+ ## Configuration Location
197
+
198
+ HUD config is stored at: `~/.claude/.omc/hud-config.json`
199
+
200
+ ## Manual Configuration
201
+
202
+ You can manually edit the config file:
203
+
204
+ ```json
205
+ {
206
+ "preset": "focused",
207
+ "elements": {
208
+ "omcLabel": true,
209
+ "ralph": true,
210
+ "prdStory": true,
211
+ "activeSkills": true,
212
+ "lastSkill": true,
213
+ "contextBar": true,
214
+ "agents": true,
215
+ "backgroundTasks": true,
216
+ "todos": true
217
+ },
218
+ "thresholds": {
219
+ "contextWarning": 70,
220
+ "contextCritical": 85,
221
+ "ralphWarning": 7
222
+ }
223
+ }
224
+ ```
225
+
226
+ ## Troubleshooting
227
+
228
+ If the HUD is not showing:
229
+ 1. Run `/oh-my-claudecode:hud setup` to auto-install and configure
230
+ 2. Restart Claude Code after setup completes
231
+ 3. If still not working, run `/oh-my-claudecode:doctor` for full diagnostics
232
+
233
+ Manual verification:
234
+ - HUD script: `~/.claude/hud/omc-hud.mjs`
235
+ - Settings: `~/.claude/settings.json` should have `statusLine` configured
236
+
237
+ ---
238
+
239
+ *The HUD updates automatically every ~300ms during active sessions.*
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: learner
3
+ description: Extract a learned skill from the current conversation
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Learner Skill
8
+
9
+ ## The Insight
10
+
11
+ Reusable skills are not code snippets to copy-paste, but **principles and decision-making heuristics** that teach Claude HOW TO THINK about a class of problems.
12
+
13
+ **The difference:**
14
+ - BAD (mimicking): "When you see ConnectionResetError, add this try/except block"
15
+ - GOOD (reusable skill): "In async network code, any I/O operation can fail independently due to client/server lifecycle mismatches. The principle: wrap each I/O operation separately, because failure between operations is the common case, not the exception."
16
+
17
+ A good skill changes how Claude APPROACHES problems, not just what code it produces.
18
+
19
+ ## Why This Matters
20
+
21
+ Before extracting a skill, ask yourself:
22
+ - "Could someone Google this in 5 minutes?" → If yes, STOP. Don't extract.
23
+ - "Is this specific to THIS codebase?" → If no, STOP. Don't extract.
24
+ - "Did this take real debugging effort to discover?" → If no, STOP. Don't extract.
25
+
26
+ If a potential skill fails any of these questions, it's not worth saving.
27
+
28
+ ## Recognition Pattern
29
+
30
+ Use /oh-my-claudecode:learner ONLY after:
31
+ - Solving a tricky bug that required deep investigation
32
+ - Discovering a non-obvious workaround specific to this codebase
33
+ - Finding a hidden gotcha that wastes time when forgotten
34
+ - Uncovering undocumented behavior that affects this project
35
+
36
+ ## The Approach
37
+
38
+ ### Extraction Process
39
+
40
+ **Step 1: Gather Required Information**
41
+
42
+ - **Problem Statement**: The SPECIFIC error, symptom, or confusion that occurred
43
+ - Include actual error messages, file paths, line numbers
44
+ - Example: "TypeError in src/hooks/session.ts:45 when sessionId is undefined after restart"
45
+
46
+ - **Solution**: The EXACT fix, not general advice
47
+ - Include code snippets, file paths, configuration changes
48
+ - Example: "Add null check before accessing session.user, regenerate session on 401"
49
+
50
+ - **Triggers**: Keywords that would appear when hitting this problem again
51
+ - Use error message fragments, file names, symptom descriptions
52
+ - Example: ["sessionId undefined", "session.ts TypeError", "401 session"]
53
+
54
+ - **Scope**: Almost always Project-level unless it's a truly universal insight
55
+
56
+ **Step 2: Quality Validation**
57
+
58
+ The system REJECTS skills that are:
59
+ - Too generic (no file paths, line numbers, or specific error messages)
60
+ - Easily Googleable (standard patterns, library usage)
61
+ - Vague solutions (no code snippets or precise instructions)
62
+ - Poor triggers (generic words that match everything)
63
+
64
+ **Step 3: Save Location**
65
+
66
+ - **User-level**: ~/.claude/skills/omc-learned/ - Rare. Only for truly portable insights.
67
+ - **Project-level**: .omc/skills/ - Default. Version-controlled with repo.
68
+
69
+ ### What Makes a USEFUL Skill
70
+
71
+ **CRITICAL**: Not every solution is worth saving. A good skill is:
72
+
73
+ 1. **Non-Googleable**: Something you couldn't easily find via search
74
+ - BAD: "How to read files in TypeScript" ❌
75
+ - GOOD: "This codebase uses custom path resolution in ESM that requires fileURLToPath + specific relative paths" ✓
76
+
77
+ 2. **Context-Specific**: References actual files, error messages, or patterns from THIS codebase
78
+ - BAD: "Use try/catch for error handling" ❌
79
+ - GOOD: "The aiohttp proxy in server.py:42 crashes on ClientDisconnectedError - wrap StreamResponse in try/except" ✓
80
+
81
+ 3. **Actionable with Precision**: Tells you exactly WHAT to do and WHERE
82
+ - BAD: "Handle edge cases" ❌
83
+ - GOOD: "When seeing 'Cannot find module' in dist/, check tsconfig.json moduleResolution matches package.json type field" ✓
84
+
85
+ 4. **Hard-Won**: Took significant debugging effort to discover
86
+ - BAD: Generic programming patterns ❌
87
+ - GOOD: "Race condition in worker.ts - the Promise.all at line 89 needs await before the map callback returns" ✓
88
+
89
+ ### Anti-Patterns (DO NOT EXTRACT)
90
+
91
+ - Generic programming patterns (use documentation instead)
92
+ - Refactoring techniques (these are universal)
93
+ - Library usage examples (use library docs)
94
+ - Type definitions or boilerplate
95
+ - Anything a junior dev could Google in 5 minutes
96
+
97
+ ## Skill Format
98
+
99
+ Skills are saved as markdown with this structure:
100
+
101
+ ### YAML Frontmatter
102
+
103
+ Standard metadata fields:
104
+ - id, name, description, source, triggers, quality
105
+
106
+ ### Body Structure (Required)
107
+
108
+ ```markdown
109
+ # [Skill Name]
110
+
111
+ ## The Insight
112
+ What is the underlying PRINCIPLE you discovered? Not the code, but the mental model.
113
+ Example: "Async I/O operations are independently failable. Client lifecycle != server lifecycle."
114
+
115
+ ## Why This Matters
116
+ What goes wrong if you don't know this? What symptom led you here?
117
+ Example: "Proxy server crashes on client disconnect, taking down other requests."
118
+
119
+ ## Recognition Pattern
120
+ How do you know when this skill applies? What are the signs?
121
+ Example: "Building any long-lived connection handler (proxy, websocket, SSE)"
122
+
123
+ ## The Approach
124
+ The decision-making heuristic, not just code. How should Claude THINK about this?
125
+ Example: "For each I/O operation, ask: what if this fails right now? Handle it locally."
126
+
127
+ ## Example (Optional)
128
+ If code helps, show it - but as illustration of the principle, not copy-paste material.
129
+ ```
130
+
131
+ **Key**: A skill is REUSABLE if Claude can apply it to NEW situations, not just identical ones.
132
+
133
+ ## Related Commands
134
+
135
+ - /oh-my-claudecode:note - Save quick notes that survive compaction (less formal than skills)
136
+ - /oh-my-claudecode:ralph - Start a development loop with learning capture
@@ -0,0 +1,196 @@
1
+ ---
2
+ name: mcp-setup
3
+ description: Configure popular MCP servers for enhanced agent capabilities
4
+ user-invocable: true
5
+ ---
6
+
7
+ # MCP Setup
8
+
9
+ Configure Model Context Protocol (MCP) servers to extend Claude Code's capabilities with external tools like web search, file system access, and GitHub integration.
10
+
11
+ ## Overview
12
+
13
+ MCP servers provide additional tools that Claude Code agents can use. This skill helps you configure popular MCP servers in your `~/.claude/settings.json`.
14
+
15
+ ## Step 1: Show Available MCP Servers
16
+
17
+ Present the user with available MCP server options using AskUserQuestion:
18
+
19
+ **Question:** "Which MCP server would you like to configure?"
20
+
21
+ **Options:**
22
+ 1. **Context7** - Documentation and code context from popular libraries
23
+ 2. **Exa Web Search** - Enhanced web search (replaces built-in websearch)
24
+ 3. **Filesystem** - Extended file system access with additional capabilities
25
+ 4. **GitHub** - GitHub API integration for issues, PRs, and repository management
26
+ 5. **All of the above** - Configure all recommended MCP servers
27
+ 6. **Custom** - Add a custom MCP server
28
+
29
+ ## Step 2: Gather Required Information
30
+
31
+ ### For Context7:
32
+ No API key required. Ready to use immediately.
33
+
34
+ ### For Exa Web Search:
35
+ Ask for API key:
36
+ ```
37
+ Do you have an Exa API key?
38
+ - Get one at: https://exa.ai
39
+ - Enter your API key, or type 'skip' to configure later
40
+ ```
41
+
42
+ ### For Filesystem:
43
+ Ask for allowed directories:
44
+ ```
45
+ Which directories should the filesystem MCP have access to?
46
+ Default: Current working directory
47
+ Enter comma-separated paths, or press Enter for default
48
+ ```
49
+
50
+ ### For GitHub:
51
+ Ask for token:
52
+ ```
53
+ Do you have a GitHub Personal Access Token?
54
+ - Create one at: https://github.com/settings/tokens
55
+ - Recommended scopes: repo, read:org
56
+ - Enter your token, or type 'skip' to configure later
57
+ ```
58
+
59
+ ## Step 3: Update settings.json
60
+
61
+ Read the current `~/.claude/settings.json` and add/update the `mcpServers` section.
62
+
63
+ ### Context7 Configuration:
64
+ ```json
65
+ {
66
+ "mcpServers": {
67
+ "context7": {
68
+ "command": "npx",
69
+ "args": ["-y", "@context7/mcp"]
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ ### Exa Web Search Configuration:
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "exa": {
80
+ "command": "npx",
81
+ "args": ["-y", "@anthropic/exa-mcp-server"],
82
+ "env": {
83
+ "EXA_API_KEY": "<user-provided-key>"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ ```
89
+
90
+ ### Filesystem Configuration:
91
+ ```json
92
+ {
93
+ "mcpServers": {
94
+ "filesystem": {
95
+ "command": "npx",
96
+ "args": ["-y", "@anthropic/mcp-server-filesystem", "<allowed-directories>"]
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ ### GitHub Configuration:
103
+ ```json
104
+ {
105
+ "mcpServers": {
106
+ "github": {
107
+ "command": "npx",
108
+ "args": ["-y", "@anthropic/github-mcp-server"],
109
+ "env": {
110
+ "GITHUB_TOKEN": "<user-provided-token>"
111
+ }
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## Step 4: Merge Configuration
118
+
119
+ When updating settings.json:
120
+
121
+ 1. Read existing file: `~/.claude/settings.json`
122
+ 2. Parse as JSON (handle comments with jsonc-parser if needed)
123
+ 3. Merge new `mcpServers` entries with existing ones (don't overwrite user's other MCP servers)
124
+ 4. Write back to file with proper formatting
125
+
126
+ ```bash
127
+ # Backup existing settings first
128
+ cp ~/.claude/settings.json ~/.claude/settings.json.bak 2>/dev/null || true
129
+ ```
130
+
131
+ Use the Edit tool or Write tool to update the settings file, preserving existing configuration.
132
+
133
+ ## Step 5: Verify Installation
134
+
135
+ After configuration, verify the MCP servers are properly set up:
136
+
137
+ ```bash
138
+ # Check if settings.json has mcpServers
139
+ grep -q "mcpServers" ~/.claude/settings.json && echo "MCP servers configured" || echo "Configuration may have failed"
140
+
141
+ # List configured servers
142
+ node -e "const s = require('$HOME/.claude/settings.json'); console.log('Configured MCP servers:', Object.keys(s.mcpServers || {}).join(', ') || 'none')"
143
+ ```
144
+
145
+ ## Step 6: Show Completion Message
146
+
147
+ ```
148
+ MCP Server Configuration Complete!
149
+
150
+ CONFIGURED SERVERS:
151
+ [List the servers that were configured]
152
+
153
+ NEXT STEPS:
154
+ 1. Restart Claude Code for changes to take effect
155
+ 2. The configured MCP tools will be available to all agents
156
+
157
+ USAGE TIPS:
158
+ - Context7: Ask about library documentation (e.g., "How do I use React hooks?")
159
+ - Exa: Use for web searches (e.g., "Search the web for latest TypeScript features")
160
+ - Filesystem: Extended file operations beyond the working directory
161
+ - GitHub: Interact with GitHub repos, issues, and PRs
162
+
163
+ TROUBLESHOOTING:
164
+ - If MCP servers don't appear, check ~/.claude/settings.json for syntax errors
165
+ - Ensure you have Node.js 18+ installed for npx commands
166
+ - Run /oh-my-claudecode:doctor to diagnose issues
167
+
168
+ To add more MCP servers later, run: /oh-my-claudecode:mcp-setup
169
+ ```
170
+
171
+ ## Custom MCP Server
172
+
173
+ If user selects "Custom":
174
+
175
+ Ask for:
176
+ 1. Server name (identifier)
177
+ 2. Command to run (e.g., `npx`, `node`, path to executable)
178
+ 3. Arguments (comma-separated)
179
+ 4. Environment variables (optional, key=value pairs)
180
+
181
+ Then add to mcpServers section accordingly.
182
+
183
+ ## Common Issues
184
+
185
+ ### MCP Server Not Loading
186
+ - Ensure Node.js 18+ is installed
187
+ - Check that npx is available in PATH
188
+ - Verify no JSON syntax errors in settings.json
189
+
190
+ ### API Key Issues
191
+ - Exa: Verify key at https://dashboard.exa.ai
192
+ - GitHub: Ensure token has required scopes
193
+
194
+ ### Agents Still Using Built-in Tools
195
+ - Restart Claude Code after configuration
196
+ - The built-in websearch will be deprioritized when exa is configured
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: note
3
+ description: Save notes to notepad.md for compaction resilience
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Note Skill
8
+
9
+ Save important context to `.omc/notepad.md` that survives conversation compaction.
10
+
11
+ ## Usage
12
+
13
+ | Command | Action |
14
+ |---------|--------|
15
+ | `/oh-my-claudecode:note <content>` | Add to Working Memory with timestamp |
16
+ | `/oh-my-claudecode:note --priority <content>` | Add to Priority Context (always loaded) |
17
+ | `/oh-my-claudecode:note --manual <content>` | Add to MANUAL section (never pruned) |
18
+ | `/oh-my-claudecode:note --show` | Display current notepad contents |
19
+ | `/oh-my-claudecode:note --prune` | Remove entries older than 7 days |
20
+ | `/oh-my-claudecode:note --clear` | Clear Working Memory (keep Priority + MANUAL) |
21
+
22
+ ## Sections
23
+
24
+ ### Priority Context (500 char limit)
25
+ - **Always** injected on session start
26
+ - Use for critical facts: "Project uses pnpm", "API in src/api/client.ts"
27
+ - Keep it SHORT - this eats into your context budget
28
+
29
+ ### Working Memory
30
+ - Timestamped session notes
31
+ - Auto-pruned after 7 days
32
+ - Good for: debugging breadcrumbs, temporary findings
33
+
34
+ ### MANUAL
35
+ - Never auto-pruned
36
+ - User-controlled permanent notes
37
+ - Good for: team contacts, deployment info
38
+
39
+ ## Examples
40
+
41
+ ```
42
+ /oh-my-claudecode:note Found auth bug in UserContext - missing useEffect dependency
43
+ /oh-my-claudecode:note --priority Project uses TypeScript strict mode, all files in src/
44
+ /oh-my-claudecode:note --manual Contact: api-team@company.com for backend questions
45
+ /oh-my-claudecode:note --show
46
+ /oh-my-claudecode:note --prune
47
+ ```
48
+
49
+ ## Behavior
50
+
51
+ 1. Creates `.omc/notepad.md` if it doesn't exist
52
+ 2. Parses the argument to determine section
53
+ 3. Appends content with timestamp (for Working Memory)
54
+ 4. Warns if Priority Context exceeds 500 chars
55
+ 5. Confirms what was saved
56
+
57
+ ## Integration
58
+
59
+ Notepad content is automatically loaded on session start:
60
+ - Priority Context: ALWAYS loaded
61
+ - Working Memory: Loaded if recent entries exist
62
+
63
+ This helps survive conversation compaction without losing critical context.