Skill
Manage local skills - list, add, remove, search, edit, setup wizard
- Skill ID
- yeachan-heo/oh-my-claudecode/skill
- Publisher
- yeachan-heo
- Repository
- oh-my-claudecode
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
yeachan-heo/oh-my-claudecode/skillInstalls these files- SKILL.md
What this skill tells the agent
Skill Management CLI
Meta-skill for managing oh-my-claudecode skills via CLI-like commands.
Subcommands
/skill list
Show all available skills organized by scope.
Behavior:
- Scan bundled built-in skills in the plugin
skills/directory (read-only) - Scan user skills at
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/ - Scan project skills at
.omc/skills/ - Parse YAML frontmatter for metadata
- Display in organized table format:
BUILT-IN SKILLS (bundled with oh-my-claudecode):
| Name | Description | Scope |
|-------------------|--------------------------------|----------|
| visual-verdict | Structured visual QA verdicts | built-in |
| ralph | Persistence loop | built-in |
USER SKILLS (~/.claude/skills/omc-learned/):
| Name | Triggers | Quality | Usage | Scope |
|-------------------|--------------------|---------|-------|-------|
| error-handler | fix, error | 95% | 42 | user |
| api-builder | api, endpoint | 88% | 23 | user |
PROJECT SKILLS (.omc/skills/):
| Name | Triggers | Quality | Usage | Scope |
|-------------------|--------------------|---------|-------|---------|
| test-runner | test, run | 92% | 15 | project |Fallback: If quality/usage stats not available, show "N/A"
Built-in skill note: Built-in skills are bundled with oh-my-claudecode and are discoverable/readable, but not removed or edited through /skill remove or /skill edit.
/skill add [name]
Interactive wizard for creating a new skill.
Behavior:
- Ask for skill name (if not provided in command)
- Validate: lowercase, hyphens only, no spaces
- Ask for description
- Clear, concise one-liner
- Ask for triggers (comma-separated keywords)
- Example: "error, fix, debug"
- Ask for argument hint (optional)
- Example: "<file> [options]"
- Ask for scope:
user→${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.mdproject→.omc/skills/<name>/SKILL.md
- Create skill file with template:
---
name: <name>
description: <description>
triggers:
- <trigger1>
- <trigger2>
argument-hint: "<args>"
---
# <Name> Skill
## Purpose
[Describe what this skill does]
## When to Activate
[Describe triggers and conditions]
## Workflow
1. [Step 1]
2. [Step 2]
3. [Step 3]
## Examples
/oh-my-claudecode:<name> example-arg
## Notes
[Additional context, edge cases, gotchas]- Report success with file path
- Suggest: "Edit
/skill edit <name>to customize content"
Example:
User: /skill add custom-logger
Assistant: Creating new skill 'custom-logger'...
Description: Enhanced logging with structured output
Triggers (comma-separated): log, logger, logging
Argument hint (optional): <level> [message]
Scope (user/project): user
✓ Created skill at ~/.claude/skills/omc-learned/custom-logger/SKILL.md
→ Edit with: /skill edit custom-logger/skill remove <name>
Remove a skill by name.
Behavior:
- Search for skill in both scopes:
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md.omc/skills/<name>/SKILL.md
- If found:
- Display skill info (name, description, scope)
- Ask for confirmation: "Delete '<name>' skill from <scope>? (yes/no)"
- If confirmed:
- Delete entire skill directory (e.g.,
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/) - Report: "✓ Removed skill '<name>' from <scope>"
- If not found:
- Report: "✗ Skill '<name>' not found in user or project scope"
Safety: Never delete without explicit user confirmation.
Example:
User: /skill remove old-logger
Assistant: Found skill 'old-logger' in user scope:
Description: Legacy logging utility
Scope: user (~/.claude/skills/omc-learned/)
Delete 'old-logger' skill? (yes/no)
User: yes
Assistant: ✓ Removed skill 'old-logger' from user scope/skill edit <name>
Edit an existing skill interactively.
Behavior:
- Find skill by name (search both scopes)
- Read current content via Read tool
- Display current values: ``` Current skill 'custom-logger':
- Description: Enhanced logging with structured output
- Triggers: log, logger, logging
- Argument hint: <level> [message]
- Scope: user ```
- Ask what to change:
description- Update descriptiontriggers- Update trigger keywordsargument-hint- Update argument hintcontent- Edit full markdown contentrename- Rename skill (move file)cancel- Exit without changes
- For selected field:
- Show current value
- Ask for new value
- Update YAML frontmatter or content
- Write back to file
- Report success with summary of changes
Example:
User: /skill edit custom-logger
Assistant: Current skill 'custom-logger':
- Description: Enhanced logging with structured output
- Triggers: log, logger, logging
- Argument hint: <level> [message]
What would you like to edit? (description/triggers/argument-hint/content/rename/cancel)
User: triggers
Assistant: Current triggers: log, logger, logging
New triggers (comma-separated): log, logger, logging, trace
✓ Updated triggers for 'custom-logger'/skill search <query>
Search skills by content, triggers, name, or description.
Behavior:
- Scan all skills in both scopes
- Match query (case-insensitive) against:
- Skill name
- Description
- Triggers
- Full markdown content
- Display matches with context:
Found 3 skills matching "typescript error":
1. typescript-fixer (user)
Description: Fix common TypeScript errors
Match: "typescript error handling patterns"
2. error-handler (user)
Description: Generic error handling utilities
Match: "Supports TypeScript and JavaScript errors"
3. lint-fix (project)
Description: Auto-fix linting errors
Match: "TypeScript ESLint error resolution"Ranking: Prioritize matches in name/triggers over content matches
Example:
User: /skill search api endpoint
Assistant: Found 2 skills matching "api endpoint":
1. api-builder (user)
Description: Generate REST API endpoints
Triggers: api, endpoint, rest
2. backend-scaffold (project)
Description: Scaffold backend services
Match: "Creates API endpoint boilerplate"/skill info <name>
Show detailed information about a skill.
Behavior:
- Find skill by name (search both scopes)
- Parse YAML frontmatter and content
- Display complete details:
Skill: custom-logger
Scope: user (~/.claude/skills/omc-learned/custom-logger/)
Description: Enhanced logging with structured output
Triggers: log, logger, logging
Argument Hint: <level> [message]
Quality: 95% (if available)
Usage Count: 42 times (if available)
File Path: /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md
--- FULL CONTENT ---
[entire markdown content]If not found: Report error with suggestion to use /skill search
Example:
User: /skill info custom-logger
Assistant: Skill: custom-logger
Scope: user
Description: Enhanced logging with structured output
Triggers: log, logger, logging
File: ~/.claude/skills/omc-learned/custom-logger/SKILL.md
--- CONTENT ---
# Custom Logger Skill
## Purpose
Enhanced logging with structured JSON output...
[rest of content]/skill sync
Sync skills between user and project scopes.
Behavior:
- Scan both scopes:
- User skills:
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/ - Project skills:
.omc/skills/
- Compare and categorize:
- User-only skills (not in project)
- Project-only skills (not in user)
- Common skills (in both)
- Display sync opportunities:
SYNC REPORT:
User-only skills (5):
- error-handlerMore from yeachan-heo
Use this skill in a project
Open any RiverX project, search the Skills panel for yeachan-heo/oh-my-claudecode/skill, and install it in one click.
