oh-my-customcode 0.14.0 → 0.15.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.
- package/README.md +4 -3
- package/dist/cli/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/ontology/skills.yaml +13 -0
- package/templates/.claude/skills/skills-sh-search/SKILL.md +160 -0
- package/templates/.claude/skills/update-external/SKILL.md +18 -0
- package/templates/manifest.json +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
|
|
|
21
21
|
|
|
22
22
|
| Feature | Description |
|
|
23
23
|
|---------|-------------|
|
|
24
|
-
| **Batteries Included** | 42 agents,
|
|
24
|
+
| **Batteries Included** | 42 agents, 53 skills, 22 guides, 18 rules, 1 hook, 4 contexts, ontology graph - ready to use out of the box |
|
|
25
25
|
| **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
|
|
26
26
|
| **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
|
|
27
27
|
| **Mix and Match** | Use built-in components, create your own, or combine both |
|
|
@@ -125,7 +125,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
125
125
|
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
126
126
|
| **Total** | **42** | |
|
|
127
127
|
|
|
128
|
-
### Skills (
|
|
128
|
+
### Skills (53)
|
|
129
129
|
|
|
130
130
|
| Category | Count | Skills |
|
|
131
131
|
|----------|-------|--------|
|
|
@@ -139,6 +139,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
139
139
|
| **Operations** | 7 | update-docs, update-external, audit-agents, fix-refs, sauron-watch, monitoring-setup, claude-code-bible |
|
|
140
140
|
| **Utilities** | 5 | lists, help, status, result-aggregation, writing-clearly-and-concisely |
|
|
141
141
|
| **Deploy** | 2 | vercel-deploy, codex-exec |
|
|
142
|
+
| **External** | 1 | skills-sh-search |
|
|
142
143
|
|
|
143
144
|
### Guides (22)
|
|
144
145
|
|
|
@@ -224,7 +225,7 @@ your-project/
|
|
|
224
225
|
│ ├── be-fastapi-expert.md
|
|
225
226
|
│ ├── mgr-creator.md
|
|
226
227
|
│ └── ...
|
|
227
|
-
├── skills/ # Skill modules (
|
|
228
|
+
├── skills/ # Skill modules (53 directories, each with SKILL.md)
|
|
228
229
|
│ ├── go-best-practices/
|
|
229
230
|
│ ├── react-best-practices/
|
|
230
231
|
│ ├── secretary-routing/
|
package/dist/cli/index.js
CHANGED
|
@@ -14125,7 +14125,7 @@ async function generateMCPConfig(targetDir) {
|
|
|
14125
14125
|
}
|
|
14126
14126
|
try {
|
|
14127
14127
|
execSync3("uv venv .venv", { cwd: targetDir, stdio: "pipe" });
|
|
14128
|
-
execSync3(
|
|
14128
|
+
execSync3('uv pip install "ontology-rag @ git+https://github.com/baekenough/oh-my-customcode.git#subdirectory=packages/ontology-rag"', { cwd: targetDir, stdio: "pipe" });
|
|
14129
14129
|
} catch (error2) {
|
|
14130
14130
|
const msg = error2 instanceof Error ? error2.message : String(error2);
|
|
14131
14131
|
throw new Error(`Failed to setup Python environment: ${msg}`);
|
package/package.json
CHANGED
|
@@ -65,6 +65,10 @@ classes:
|
|
|
65
65
|
skills: [monitoring-setup]
|
|
66
66
|
description: "Monitoring configuration"
|
|
67
67
|
|
|
68
|
+
ExternalSkillSourceSkill:
|
|
69
|
+
skills: [skills-sh-search]
|
|
70
|
+
description: "External skill marketplace discovery and installation"
|
|
71
|
+
|
|
68
72
|
# Skill instances
|
|
69
73
|
skills:
|
|
70
74
|
airflow-best-practices:
|
|
@@ -419,6 +423,15 @@ skills:
|
|
|
419
423
|
keywords: [rust, ownership, borrowing, safety, concurrency]
|
|
420
424
|
rule_references: []
|
|
421
425
|
|
|
426
|
+
skills-sh-search:
|
|
427
|
+
class: ExternalSkillSourceSkill
|
|
428
|
+
description: "Search and install skills from skills.sh marketplace when internal skills are insufficient"
|
|
429
|
+
user_invocable: true
|
|
430
|
+
model_invocable: true
|
|
431
|
+
summary: "Search skills.sh marketplace for external skills and install them into the project"
|
|
432
|
+
keywords: [skills-sh, marketplace, external, install, search, discover, npx]
|
|
433
|
+
rule_references: [R003, R006]
|
|
434
|
+
|
|
422
435
|
sauron-watch:
|
|
423
436
|
class: VerificationSkill
|
|
424
437
|
description: "Full R017 verification (5+3 rounds) before commit"
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skills-sh-search
|
|
3
|
+
description: Search and install skills from skills.sh marketplace when internal skills are insufficient
|
|
4
|
+
argument-hint: "<query> [--install] [--global]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skills.sh Search Skill
|
|
8
|
+
|
|
9
|
+
Search the [skills.sh](https://skills.sh/) marketplace for reusable AI agent skills when no matching internal skill exists. Install discovered skills directly into the project.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Node.js and npx available in PATH
|
|
14
|
+
- Network access to skills.sh registry
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
<query> Required. Search query describing the capability needed
|
|
20
|
+
--install, -i Install selected skill after search
|
|
21
|
+
--global, -g Install to ~/.claude/skills/ instead of project .claude/skills/
|
|
22
|
+
--list, -l List currently installed skills.sh skills
|
|
23
|
+
--check, -c Check for updates on installed skills.sh skills
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
1. Search skills.sh marketplace
|
|
30
|
+
├── Run: npx --yes skills find "<query>"
|
|
31
|
+
├── Review results (name, description, install count)
|
|
32
|
+
└── Present top candidates to user
|
|
33
|
+
|
|
34
|
+
2. User selects skill
|
|
35
|
+
├── Confirm selection with user
|
|
36
|
+
└── Check for namespace conflicts with existing skills
|
|
37
|
+
|
|
38
|
+
3. Install skill
|
|
39
|
+
├── Run: npx --yes skills add <source> [-g]
|
|
40
|
+
├── Verify installation in .claude/skills/
|
|
41
|
+
└── Check installed SKILL.md frontmatter
|
|
42
|
+
|
|
43
|
+
4. Post-install adaptation
|
|
44
|
+
├── Review installed SKILL.md frontmatter
|
|
45
|
+
├── Add oh-my-customcode fields if missing:
|
|
46
|
+
│ ├── user-invocable: true|false
|
|
47
|
+
│ ├── model-invocable (if not present)
|
|
48
|
+
│ └── argument-hint (if applicable)
|
|
49
|
+
└── Add source metadata:
|
|
50
|
+
├── source-type: skills-sh
|
|
51
|
+
└── source-origin: <owner/repo>
|
|
52
|
+
|
|
53
|
+
5. Ontology sync
|
|
54
|
+
├── Notify: run "omcustom ontology build" to register new skill
|
|
55
|
+
└── Or manually add to skills.yaml if ontology CLI unavailable
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Namespace Conflict Check
|
|
59
|
+
|
|
60
|
+
Before installing, verify no existing skill shares the same name:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Check for conflict
|
|
64
|
+
ls .claude/skills/ | grep -w "<skill-name>"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
If conflict exists:
|
|
68
|
+
- Warn user about the conflict
|
|
69
|
+
- Suggest renaming or skipping
|
|
70
|
+
- Never overwrite existing skills without explicit approval
|
|
71
|
+
|
|
72
|
+
## Output Format
|
|
73
|
+
|
|
74
|
+
### Search Results
|
|
75
|
+
```
|
|
76
|
+
[skills-sh-search] Searching marketplace...
|
|
77
|
+
|
|
78
|
+
Query: "<query>"
|
|
79
|
+
Results: 5 found
|
|
80
|
+
|
|
81
|
+
1. owner/skill-name (12.3K installs)
|
|
82
|
+
Description of the skill
|
|
83
|
+
|
|
84
|
+
2. owner/another-skill (8.1K installs)
|
|
85
|
+
Description of the skill
|
|
86
|
+
|
|
87
|
+
3. owner/third-skill (3.5K installs)
|
|
88
|
+
Description of the skill
|
|
89
|
+
|
|
90
|
+
Select [1-3] or "skip" to cancel:
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Install Success
|
|
94
|
+
```
|
|
95
|
+
[skills-sh-search] Installed
|
|
96
|
+
|
|
97
|
+
Skill: <skill-name>
|
|
98
|
+
Source: <owner/repo>
|
|
99
|
+
Location: .claude/skills/<skill-name>/SKILL.md
|
|
100
|
+
Adapted: ✓ (added user-invocable, source metadata)
|
|
101
|
+
|
|
102
|
+
Next: Run "omcustom ontology build" to register in ontology.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Install Failure
|
|
106
|
+
```
|
|
107
|
+
[skills-sh-search] Failed
|
|
108
|
+
|
|
109
|
+
Error: <error_message>
|
|
110
|
+
Suggested Fix: <suggestion>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### No Results
|
|
114
|
+
```
|
|
115
|
+
[skills-sh-search] No Results
|
|
116
|
+
|
|
117
|
+
Query: "<query>"
|
|
118
|
+
Suggestions:
|
|
119
|
+
- Try broader search terms
|
|
120
|
+
- Check https://skills.sh/ directly
|
|
121
|
+
- Consider creating a custom skill with /create-agent
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Examples
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Search for Terraform skills
|
|
128
|
+
/skills-sh-search terraform infrastructure
|
|
129
|
+
|
|
130
|
+
# Search and install
|
|
131
|
+
/skills-sh-search "react testing patterns" --install
|
|
132
|
+
|
|
133
|
+
# Install globally
|
|
134
|
+
/skills-sh-search "git workflow" --install --global
|
|
135
|
+
|
|
136
|
+
# List installed skills.sh skills
|
|
137
|
+
/skills-sh-search --list
|
|
138
|
+
|
|
139
|
+
# Check for updates
|
|
140
|
+
/skills-sh-search --check
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Integration
|
|
144
|
+
|
|
145
|
+
### With intent-detection
|
|
146
|
+
When intent-detection finds no matching agent and the domain is identifiable, this skill can be suggested as a fallback to find relevant external skills.
|
|
147
|
+
|
|
148
|
+
### With update-external
|
|
149
|
+
Installed skills.sh skills are tracked with `source-type: skills-sh` metadata, enabling `update-external` to check for updates via `npx skills check`.
|
|
150
|
+
|
|
151
|
+
### With create-agent
|
|
152
|
+
If a skills.sh skill provides domain knowledge, `create-agent` can reference it when building a new agent for that domain.
|
|
153
|
+
|
|
154
|
+
## Safety
|
|
155
|
+
|
|
156
|
+
- **Read-only by default**: Search does not modify anything
|
|
157
|
+
- **Explicit install**: Installation requires `--install` flag or user confirmation
|
|
158
|
+
- **No auto-execution**: Installed skills are not auto-invoked without ontology registration
|
|
159
|
+
- **Conflict protection**: Never overwrites existing skills
|
|
160
|
+
- **Telemetry opt-out**: Set `DISABLE_TELEMETRY=1` to disable skills CLI telemetry
|
|
@@ -37,6 +37,15 @@ web-design-guidelines:
|
|
|
37
37
|
type: github
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
### Skills (from skills.sh marketplace)
|
|
41
|
+
```yaml
|
|
42
|
+
<skill-name>:
|
|
43
|
+
source: <owner/repo>
|
|
44
|
+
type: skills-sh
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Skills installed via `skills-sh-search` are tracked with `source-type: skills-sh` in their frontmatter. Update checks use `npx skills check`.
|
|
48
|
+
|
|
40
49
|
### Guides (reference documentation)
|
|
41
50
|
```yaml
|
|
42
51
|
golang:
|
|
@@ -58,6 +67,7 @@ python:
|
|
|
58
67
|
|
|
59
68
|
2. Check for updates
|
|
60
69
|
├── GitHub: Check releases/commits
|
|
70
|
+
├── skills-sh: Run "npx skills check"
|
|
61
71
|
├── Documentation: Check last-modified
|
|
62
72
|
└── Compare with current version
|
|
63
73
|
|
|
@@ -89,6 +99,14 @@ source:
|
|
|
89
99
|
date: "2026-01-20"
|
|
90
100
|
- version: "1.2.0"
|
|
91
101
|
date: "2026-01-22"
|
|
102
|
+
|
|
103
|
+
# skills.sh source
|
|
104
|
+
source:
|
|
105
|
+
type: external
|
|
106
|
+
origin: skills-sh
|
|
107
|
+
registry: https://skills.sh
|
|
108
|
+
installed_via: "npx skills add <owner/repo>"
|
|
109
|
+
last_checked: "2026-02-20"
|
|
92
110
|
```
|
|
93
111
|
|
|
94
112
|
## Output Format
|