SkillAtlasSkill 详情

skill

For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI.

审核状态:已审核Quality 72Security 52

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月29日

English | 한국어 | 中文 | 日本語 | Español | Tiếng Việt | Português

oh-my-claudecode

npm version npm downloads GitHub stars License: MIT Sponsor Discord

For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI.

Liked OmC but found it a bit overkill? Try gajae-code. Keeps Claude OAuth as-is while being faster, cheaper, simpler, and more powerful — with an SDK-based integration path built for OpenClaw, Hermes, Grokbot, and similar agent runtimes.

Multi-agent orchestration for Claude Code. Zero learning curve.

Don't learn Claude Code. Just use OMC.

Get Started • Documentation • CLI Reference • Workflows • Migration Guide • Discord


Core Maintainers

RoleNameGitHub
Creator & LeadYeachan Heo@Yeachan-Heo

Ambassadors

NameGitHub
Sigrid Jin@sigridjineth

Document Specialists

NameGitHub
devswha@devswha

Top Collaborators

NameGitHubCommits
JunghwanNA@shaun092765
riftzen-bit@riftzen-bit52
Seunggwan Song@Nathan-Song20
BLUE@blue-int20
Junho Yeo@junhoyeo15

Quick Start

Step 1: Install

Marketplace/plugin install (recommended for most Claude Code users). These are Claude Code slash commands — enter them one at a time (pasting both lines at once will fail):

/plugin marketplace add https://github.com/Yeachan-Heo/oh-my-claudecode

Then:

/plugin install oh-my-claudecode

If you prefer the npm CLI/runtime path instead of the marketplace flow:

npm i -g oh-my-claude-sisyphus@latest

Known npm warning: npm may print deprecated prebuild-install@7.1.3 during the CLI install. This currently comes from the upstream better-sqlite3 native-addon dependency (better-sqlite3 -> prebuild-install); prebuild-install@7.1.3 is still the latest published version, so there is no safe repo-side dependency bump or override to remove the warning yet. The warning is tracked in #2913 and does not by itself mean the OMC CLI install failed.

Step 2: Setup

# Inside a Claude Code / OMC session
/omc-setup

# From your terminal
omc setup

If you run OMC via omc --plugin-dir <path> or claude --plugin-dir <path>, add --plugin-dir-mode to omc setup (or export OMC_PLUGIN_ROOT before running it) so the installer doesn't duplicate skills/agents that the plugin already provides at runtime. See the Plugin directory flags section in REFERENCE.md for a complete decision matrix and all available flags.

Step 3: Build something

# Inside a Claude Code / OMC session
/autopilot "build a REST API for managing tasks"

# Natural-language in-session shortcut
autopilot: build a REST API for managing tasks

Named autopilot stage profiles (v1)

Select a configured stage profile only through /autopilot --workflow <name> <task>:

/autopilot --workflow plan-build-qa "build a REST API for managing tasks"

Profiles are configured under autopilot.workflows in .claude/omc.jsonc (project) or ~/.config/claude-omc/config.jsonc (user). A v1 profile contains only version: 1 and stages:

{
  "autopilot": {
    "workflows": {
      "plan-build-qa": {
        "version": 1,
        "stages": ["ralplan", "execution", "qa"]
      }
    }
  }
}

The admitted sequences are [ralplan, execution], [ralplan, execution, ralph], [ralplan, execution, qa], and [ralplan, execution, ralph, qa]. A project profile of the same name wholly replaces the user profile; different names coexist. Environment variables cannot define profiles. Profiles remain within autopilot's existing state, cancel, resume, Stop, and HUD lifecycle; legacy invocations without --workflow remain compatible.

Named profiles currently require Linux with the flock utility because their transcript evidence boundary uses Linux no-follow file-descriptor traversal and their recoverable mutation lock uses kernel advisory locking. Unsupported environments reject explicit --workflow invocation before creating or changing autopilot state; legacy autopilot remains available.

V1 intentionally excludes model fields or routing (stageModels), inline execution, dynamic commands/modes/state, arbitrary stages or plugins, and the separate custom-skill frontmatter parser mismatch. See Named Autopilot Stage Profiles ADR and Reference.

That's it. Everything else is automatic.

CLI Commands vs In-Session Skills

OMC exposes two different surfaces:

  • Terminal CLI commands: run omc ... from your shell after installing the npm/runtime path (npm i -g oh-my-claude-sisyphus@latest) or from a local checkout.
  • In-session skills: run /... inside a Claude Code session after installing the plugin/setup flow.
FeatureTerminal CLIIn-session skillNotes
Setupomc setup/omc-setupBoth are real entrypoints.
Ask providersomc ask codex "review this patch"/ask codex "review this patch"Both route through the same advisor flow. Providers: claude, codex, gemini, antigravity, grok, cursor.
Team orchestrationomc team 2:codex "review auth flow"/team 3:executor "fix all TypeScript errors"Both exist, but they are different runtimes: omc team launches tmux CLI workers; /team runs the in-session native team workflow.
Autopilot / Ralph / Execute / Deep Interview—/autopilot ..., /ralph ..., /execute ..., /deep-interview ...These are in-session skills. There is no omc autopilot / omc ralph / omc execute CLI subcommand in this repo.
Autoresearchomc autoresearch (hard-deprecated shim)/deep-interview --autoresearch ... + /oh-my-claudecode:autoresearchSetup stays in deep-interview; execution now belongs to the stateful skill.

VS Code, Agent SDK, and automation scope

  • VS Code / IDE extension: OMC does not ship a VS Code extension and does not document extension-specific install or automation flows. Use the Claude Code plugin or terminal CLI surfaces above; IDE integrations are only an optional way to access Claude Code itself.
  • Agent SDK / programmatic usage: the npm package exports TypeScript helpers such as createOmcSession() and prompt expansion utilities for local Node.js programs using @anthropic-ai/claude-agent-sdk. This is a library surface, not a replacement for the Claude Code plugin UI.
  • CI/CD and headless automation: prefer deterministic terminal commands (omc setup, omc ask, omc session search, repository scripts such as npm run sync-metadata:verify) and set ANTHROPIC_API_KEY or provider-specific CLI auth in the runner environment. Do not rely on interactive slash commands (/autopilot, /ralph, /execute, /team) in CI; they require an active Claude Code session.

Not Sure Where to Start?

If you're uncertain about requirements, have a vague idea, or want to micromanage the design:

/deep-interview "I want to build a task management app"

The deep interview uses Socratic questioning to clarify your thinking before any code is written. It exposes hidden assumptions and measures clarity across weighted dimensions, ensuring you know exactly what to build before execution begins.

Team Mode (Recommended)

Starting in v4.1.7, Team is the canonical orchestration surface in OMC. The legacy swarm keyword/skill has been removed; use team directly.

/team 3:executor "fix all TypeScript errors"

Use /team ... when you want Claude Code's in-session native team workflow. Use omc team ... when you want terminal-launched tmux CLI workers (claude / codex / gemini panes).

Team runs as a staged pipeline:

team-plan → team-prd → team-exec → team-verify → team-fix (loop)

Enable Claude Code native teams in ~/.claude/settings.json:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

If teams are disabled, OMC will warn you and fall back to non-team execution where possible.

tmux CLI Workers — Codex, Gemini & Antigravity (v4.4.0+)

v4.4.0 removes the Codex/Gemini MCP servers (x, g providers). Use the CLI-first Team runtime (omc team ...) to spawn real tmux worker panes:

omc team 2:codex "review auth module for security issues"
omc team 2:gemini "redesign UI components for accessibility"
omc team 2:antigravity "redesign UI components for accessibility"
omc team 1:claude "implement the payment flow"
omc team 1:cursor "implement the payment flow"
omc team status auth-review
omc team shutdown auth-review

For mixed Codex + Antigravity work in one command, run /ask codex and /ask antigravity and have Claude synthesize the results (Gemini remains available as an enterprise/API-key fallback):

/ask codex "Review this PR — architecture"
/ask antigravity "Review this PR — UI components"
SurfaceWorkersBest For
omc team N:codex "..."N Codex CLI panesCode review, security analysis, architecture
omc team N:gemini "..."N Gemini CLI panesUI/UX design, docs, large-context tasks (enterprise/API-key)
omc team N:antigravity "..."N Antigravity (agy) panesUI/UX design, docs, large-context tasks
omc team N:grok "..."N Grok Build CLI panesCode review, analysis cross-check
omc team N:cursor "..."N Cursor agent panesExecutor-style implementation tasks
omc team N:claude "..."N Claude CLI panesGeneral tasks via Claude CLI in tmux
/ask codex + /ask antigravityTri-model advisor synthesisMixed Codex + Antigravity review in one pass

Workers spawn on-demand and die when their task completes — no idle resource usage. Requires the selected CLI (codex, gemini, agy (antigravity), grok, or cursor-agent) installed/authenticated and an active tmux session.

Autopilot can prefer Cursor executor workers during team execution via .claude/omc.jsonc:

{
  "autopilot": {
    "execution": "team",
    "team": { "agentTypes": ["cursor"] }
  }
}

This config makes the autopilot execution stage use omc team 1:cursor "..." or /team 1:cursor "..." for executor-style implementation work. Reviewer, critic, security-review, validation verdict, and final approval roles remain native Claude/OMC reviewer roles; Cursor requires an installed/authenticated cursor-agent.

Native team worker worktrees are being added behind an opt-in/config gate. See Native Team Worktree Mode for the workspace contract, canonical state-root rules, dirty-worktree preservation policy, and verification checklist.

Note: Package naming — The project is branded as oh-my-claudecode (repo, plugin, commands), but the npm package is published as oh-my-claude-sisyphus. If you install or upgrade the CLI tools via npm/bun, use npm i -g oh-my-claude-sisyphus@latest; the package installs both oh-my-claudecode and the short omc command aliases.

Updating

If you installed OMC via npm, upgrade with the published package name:

npm i -g oh-my-claude-sisyphus@latest

Package naming note: the repo, plugin, and commands are branded oh-my-claudecode, but the published npm package name remains oh-my-claude-sisyphus. npm installs expose both oh-my-claudecode and omc; examples prefer omc for brevity.

If you installed OMC via the Claude Code marketplace/plugin flow, update with:

# 1. Update the marketplace clone
/plugin marketplace update omc

# 2. Re-run setup to refresh configuration
/omc-setup

If you are developing from a local checkout or git worktree, update the checkout first, then re-run setup from that worktree so the active runtime matches the code you are testing.

Note: If marketplace auto-update is not enabled, you must manually run /plugin marketplace update omc to sync the latest version before running setup.

If you experience issues after updating, clear the old plugin cache:

/omc-doctor

Your Claude Just Have been Steroided.

oh-my-claudecode


Why oh-my-claudecode?

  • Zero configuration required - Works out of the box with intelligent defaults
  • Team-first orchestration - Team is the canonical multi-agent surface
  • Natural language interface - No commands to memorize, just describe what you want
  • Automatic parallelization - Complex tasks distributed across specialized agents
  • Persistent execution - Won't give up until the job is verified complete
  • Cost optimization - Smart model routing saves 30-50% on tokens
  • Learn from experience - Automatically extracts and reuses problem-solving patterns
  • Real-time visibility - HUD statusline shows what's happening under the hood

Features

Orchestration Modes

Multiple strategies for different use cases — from Team-backed orchestration to token-efficient refactoring. Learn more →

ModeWhat it isUse For
Team (recommended)Canonical staged pipeline (team-plan → team-prd → team-exec → team-verify → team-fix)Coordinated Claude agents on a shared task list
omc team (CLI)tmux CLI workers — real claude/codex/gemini/antigravity/grok/cursor-agent processes in split-panesCodex/Gemini/Antigravity/Grok/Cursor CLI tasks; on-demand spawn, die when done
Tri-model advisor (/ask codex + /ask antigravity)Claude synthesizes both advisors' outputMixed backend+UI work needing both Codex and Antigravity
AutopilotAutonomous execution (single lead agent)End-to-end feature work with minimal ceremony
ExecutePersistent execution with verify/fix loops, from plan to working codeTasks that must complete fully (no silent partials)
VerifyEvidence-based completion checks until tests/build/lint/typecheck goals passQuality gates that need repeat diagnose/fix cycles
Claude Code /goalNative Claude Code cross-turn goal loopOne measurable session completion condition; not an OMC evidence ledger
Artifact-only UltragoalDurable goal/checkpoint/evidence artifacts without starting a loopHandoffs, audits, or unavailable/conflicting loop runtimes

Goal Workflow Guidance

Use only one primary loop authority in a session. Claude Code /goal is useful for a native cross-turn completion condition, while Execute owns single-agent verified completion, Team owns parallel staged execution, and Verify owns repeated quality-gate cycling. Artifact-only Ultragoal is the safe fallback when you need durable goal artifacts and evidence without starting another loop.

For /goal behavior, rely on Claude Code/Anthropic sources: the Claude Code /goal docs and Anthropic Claude Code changelog. Do not claim the /goal evaluator independently runs commands or reads files; surface test output, diffs, and review evidence in the conversation before treating a goal as proven.

Intelligent Orchestration

  • 19 specialized agents (with tier variants) for architecture, research, design, testing, data analysis
  • Smart model routing - Haiku for simple tasks, Opus for complex reasoning
  • Automatic delegation - Right agent for the job, every time
  • Model × Agent Compatibility Matrix - Which model to pair with each agent, with premium/balanced/budget presets

Developer Experience

  • Prompt triggers - ralph, ralplan; Team stays explicit via /team
  • HUD statusline - Real-time orchestration metrics in your status bar
    • If you launch Claude Code directly with claude --plugin-dir <path> (bypassing the omc shim), export OMC_PLUGIN_ROOT=<path> in your shell so the HUD bundle resolves to the same checkout as the plugin loader. See the Plugin directory flags section in REFERENCE.md for details.
  • Skill learning - Extract reusable patterns from your sessions
  • Analytics & cost tracking - Understand token usage across all sessions

Contributing

Want to contribute to OMC? See CONTRIBUTING.md for the full developer guide, including how to fork, set up a local checkout, link it as your active plugin, run tests, and submit PRs.

Custom Skills

Learn once, reuse forever. OMC extracts hard-won debugging knowledge into portable skill files that auto-inject when relevant.

Project ScopeUser Scope
Path.omc/skills/~/.omc/skills/
Shared withTeam (commit the skill file to keep it across worktrees)All your projects
PriorityHigher (overrides user)Lower (fallback)
# .omc/skills/fix-proxy-crash.md
---
name: Fix Proxy Crash
description: aiohttp proxy crashes on ClientDisconnectedError
triggers: ["proxy", "aiohttp", "disconnected"]
source: extracted
---
Wrap handler at server.py:42 in try/except ClientDisconnectedError...

Manage skills: /skill list | add | remove | edit | search Skillify: /skillify extracts reusable patterns with strict quality gates Auto-inject: Matching skills load into context automatically — no manual recall needed

Project-scoped OMC-authored skills are stored in .omc/skills/ and are intended to be committed when you want them shared. During slash/skill execution OMC also reads Claude Code workspace skills from .claude/skills/ and compatibility skills from .agents/skills/, so existing workspace-local SKILL.md packages remain callable without copying them into user-global skills. If you create project-local skills inside a linked git worktree and do not commit them, they disappear when that worktree is removed.

.omc/ state and git

OMC writes runtime state, session data, plans, logs, handoffs, research notes, and local artifacts under .omc/ by default. The repository .gitignore keeps that runtime data local with one intentional exception: .omc/skills/** remains committable for project-scoped skills you want to share with the team. Treat everything else under .omc/ as local operational state that may contain prompts, transcripts, or machine-specific paths.

For linked git worktrees, the default .omc/ directory lives inside that worktree, so deleting the worktree deletes its local OMC state. Set OMC_STATE_DIR if you want state to survive worktree deletion, or add a .omc-workspace marker when several independent repos should share one parent-level state root. See OMC state, gitignore, worktree, and workspace contract.

Outside a git repository, OMC uses one canonical safe state root at ~/.omc/ (or $OMC_STATE_DIR/non-git when centralized state is configured); it does not create a new state root for every cwd or write state into sensitive directories such as ~/.ssh, ~/Downloads, or descendants of the system temp root. Legacy cwd-local state is untouched until explicitly migrated with state_migrate_non_git. State MCP tools honor an explicit workingDirectory while retaining repository-boundary checks for git-backed sessions.

Full feature list →

Multi-repo workspaces

When several independent git repos share a parent directory, drop a .omc-workspace marker at the parent so all sub-repos share one .omc/ state root:

cd /path/to/parent-dir-with-many-repos
echo '{"id":"my-workspace"}' > .omc-workspace
# Sessions inside any sub-repo now share /path/.omc/
# For parallel ultragoal runs:
cd repo-A && omc ultragoal create-goals --auto-plan-id --brief "..."
cd ../repo-B && omc ultragoal create-goals --auto-plan-id --brief "..."

See Multi-repo workspaces in REFERENCE.md for resolution order, OMC_STATE_DIR, and workspace identifier options.


In-session shortcuts

These shortcuts run inside a Claude Code / OMC session, not as terminal CLI commands. For shell commands, use the omc ... forms shown above. Team mode is explicit: use /team ... in-session or omc team ... from your shell rather than expecting a bare team keyword trigger.

In-session formKindEffectExample
/teamSlash skillCanonical Team orchestration/team 3:executor "fix all TypeScript errors"
/autopilot / autopilotSkill / prompt triggerFull autonomous execution/autopilot "build a todo app"
/executeSlash skillCarry an approved task through to verified code/execute "refactor auth"
/ralph / ralphSkill / prompt triggerPersistence mode/ralph "refactor auth"
/ralplan / ralplanSkill / prompt triggerIterative planning consensus/ralplan "plan this feature"
/deep-interviewSlash skillSocratic requirements clarification/deep-interview "vague idea"
deepsearchPrompt triggerCodebase-focused search routingdeepsearch for auth middleware
ultrathinkPrompt triggerDeep reasoning modeultrathink about this architecture
cancelomc, stopomcPrompt triggerStop active OMC modesstopomc

Notes:

  • Parallel work uses Team or executor delegation: choose /team for coordinated lanes or delegate implementation tasks to executors; use Ralph when persistence until verified completion is the priority.
  • swarm compatibility alias has been removed; migrate existing prompts to /team syntax.
  • plan this / plan the keyword triggers were removed; use ralplan or explicit /oh-my-claudecode:plan.

Utilities

Provider Advisor (omc ask / /ask)

Run local provider CLIs and save a markdown artifact under .omc/artifacts/ask/.

# Terminal CLI
omc ask claude "review this migration plan"
omc ask codex --prompt "identify architecture risks"
omc ask gemini --prompt "propose UI polish ideas"
omc ask antigravity --prompt "propose UI polish ideas"
omc ask grok --prompt "cross-check this code review"
omc ask cursor --prompt "apply this implementation plan"
omc ask claude --agent-prompt executor --prompt "draft implementation steps"

# Inside a Claude Code / OMC session
/ask claude "review this migration plan"
/ask codex "identify architecture risks"
/ask antigravity "propose UI polish ideas"
/ask cursor "apply this implementation plan"

Canonical env vars:

  • OMC_ASK_ADVISOR_SCRIPT
  • OMC_ASK_ORIGINAL_TASK

Phase-1 aliases OMX_ASK_ADVISOR_SCRIPT and OMX_ASK_ORIGINAL_TASK are accepted with deprecation warnings.

Autoresearch (stateful skill)

omc autoresearch is now a hard-deprecated shim. The authoritative workflow is:

/deep-interview --autoresearch improve startup performance
/oh-my-claudecode:autoresearch
  • deep-interview --autoresearch generates/sets up the mission and evaluator
  • autoresearch runs the bounded, single-mission stateful loop
  • each iteration records evaluation JSON plus markdown decision logs
  • non-passing iterations continue
  • strict stopping is controlled by an explicit max-runtime ceiling

Rate Limit Wait

Auto-resume Claude Code sessions when rate limits reset.

omc wait          # Check status, get guidance
omc wait --start  # Enable auto-resume daemon
omc wait --stop   # Disable daemon

Requires: tmux (for session detection)

Monitoring & Observability

Use the HUD for live observability and the current session/replay artifacts for post-session inspection:

  • HUD preset: /oh-my-claudecode:hud setup then use a supported preset such as "omcHud": { "preset": "focused" }
  • Session summaries: .omc/sessions/*.json
  • Replay logs: .omc/state/agent-replay-*.jsonl
  • Live HUD rendering: omc hud
  • Local friction reports: omc session friction report --since 24h summarizes context-bloat and operator-friction signals from local session artifacts without printing raw prompts or tool output; add --json for automation.

Notification Tags (Telegram/Discord/Slack)

You can configure who gets tagged when stop callbacks send session summaries.

# Set/replace tag list
omc config-stop-callback telegram --enable --token <bot_token> --chat <chat_id> --tag-list "@alice,bob"
omc config-stop-callback discord --enable --webhook <url> --tag-list "@here,123456789012345678,role:987654321098765432"
omc config-stop-callback slack --enable --webhook <url> --tag-list "<!here>,<@U1234567890>"

# Incremental updates
omc config-stop-callback telegram --add-tag charlie
omc config-stop-callback discord --remove-tag @here
omc config-stop-callback discord --clear-tags

Tag behavior:

  • Telegram: alice becomes @alice
  • Discord: supports @here, @everyone, numeric user IDs, and role:<id>
  • Slack: supports <@MEMBER_ID>, <!channel>, <!here>, <!everyone>, <!subteam^GROUP_ID>
  • file callbacks ignore tag options

OpenClaw Integration

Forward Claude Code session events to an OpenClaw gateway to enable automated responses and workflows via your OpenClaw agent.

Quick setup (recommended):

/oh-my-claudecode:configure-notifications
# → When prompted, type "openclaw" → choose "OpenClaw Gateway"

Manual setup: create ~/.claude/omc_config.openclaw.json:

{
  "enabled": true,
  "gateways": {
    "my-gateway": {
      "url": "https://your-gateway.example.com/wake",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" },
      "method": "POST",
      "timeout": 10000
    }
  },
  "hooks": {
    "session-start": {
      "gateway": "my-gateway",
      "instruction": "Session started for {{projectName}}",
      "enabled": true
    },
    "stop": {
      "gateway": "my-gateway",
      "instruction": "Session stopping for {{projectName}}",
      "enabled": true
    }
  }
}

Environment variables:

VariableDescription
OMC_OPENCLAW=1Enable OpenClaw
OMC_OPENCLAW_DEBUG=1Enable debug logging
OMC_OPENCLAW_CONFIG=/path/to/config.jsonOverride config file path

Supported hook events (6 active in bridge.ts):

EventTriggerKey template variables
session-startSession begins{{sessionId}}, {{projectName}}, {{projectPath}}
stopClaude response completes{{sessionId}}, {{projectName}}
keyword-detectorEvery prompt submission{{prompt}}, {{sessionId}}
ask-user-questionClaude requests user input{{question}}, {{sessionId}}
pre-tool-useBefore tool invocation (high frequency){{toolName}}, {{sessionId}}
post-tool-useAfter tool invocation (high frequency){{toolName}}, {{sessionId}}

Reply channel environment variables:

VariableDescription
OPENCLAW_REPLY_CHANNELReply channel (e.g. discord)
OPENCLAW_REPLY_TARGETChannel ID
OPENCLAW_REPLY_THREADThread ID

See scripts/openclaw-gateway-demo.mjs for a reference gateway that relays OpenClaw payloads to a custom HTTPS automation endpoint.


Documentation


Requirements

  • Claude Code CLI
  • Claude Max/Pro subscription OR Anthropic API key

Platform & tmux

OMC features like omc team and rate-limit detection require tmux:

Platformtmux providerInstall
macOStmuxbrew install tmux
Ubuntu/Debiantmuxsudo apt install tmux
Fedoratmuxsudo dnf install tmux
Archtmuxsudo pacman -S tmux
Windowspsmux (native)winget install psmux
Windows (WSL2)tmux (inside WSL)sudo apt install tmux

Windows users: psmux provides a native tmux binary for Windows with 76 tmux-compatible commands. No WSL required.

Optional: Multi-AI Orchestration

OMC can optionally orchestrate external AI providers for cross-validation and design consistency. These are not required — OMC works fully without them.

ProviderInstallWhat it enables
Antigravity CLI (agy)Install per the official instructions (provides the agy binary)Design review, UI consistency — Google's successor to the Gemini CLI
Gemini CLInpm install -g @google/gemini-cliDesign review, UI consistency (1M token context) — enterprise/API-key access unaffected
Codex CLInpm install -g @openai/codexArchitecture validation, code review cross-check
Grok BuildDownload from build.grok.com (grok at ~/.grok/bin/grok)Code review, analysis cross-check

Migrating from Gemini CLI: Per Google's announcement, the Gemini CLI is being superseded by the Antigravity CLI (agy); see the official Antigravity docs. Use omc team N:antigravity and omc ask antigravity wherever you previously used gemini. Windows headless support for agy is unknown/untested — report issues upstream.

Cost: 3 Pro plans (Claude + Antigravity/Gemini + ChatGPT) cover everything for ~$60/month.


License

MIT


Inspired by: oh-my-opencode • claude-hud • Superpowers • everything-claude-code • Ouroboros

Zero learning curve. Maximum power.

Featured by OmC Contributors

Top personal non-fork, non-archived repos from all-time OMC contributors (100+ GitHub stars).

Star History

Star History Chart

💖 Support This Project

If Oh-My-ClaudeCode helps your workflow, consider sponsoring:

Sponsor on GitHub

Why sponsor?

  • Keep development active
  • Priority support for sponsors
  • Influence roadmap & features
  • Help maintain free & open source

Other ways to help

  • ⭐ Star the repo
  • 🐛 Report bugs
  • 💡 Suggest features
  • 📝 Contribute code

GEO visibility benchmark

OmC includes a geobench product spec for measuring LLM hit rate, MRR, share of voice, and citations.

Agent / MCP / Skill 创作研究与检索
<trigger1><trigger2>

高风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 存在潜在风险命令,请谨慎安装。
  • 扫描发现:3 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/Yeachan-Heo/oh-my-claudecode.git
  3. 将 "skills/skill" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/Yeachan-Heo/oh-my-claudecode.git
  3. 将 "skills/skill" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/Yeachan-Heo/oh-my-claudecode.git
  3. 将 "skills/skill" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/Yeachan-Heo/oh-my-claudecode.git
  3. 将 "skills/skill" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/Yeachan-Heo/oh-my-claudecode.git
  3. 将 "skills/skill" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: skill
description: Manage local skills - list, add, remove, search, edit, setup wizard
argument-hint: "<command> [args]"
level: 2

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:

  1. Scan bundled built-in skills in the plugin skills/ directory (read-only)
  2. Scan user skills at ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
  3. Scan project skills at .omc/skills/
  4. Parse YAML frontmatter for metadata
  5. 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:

  1. Ask for skill name (if not provided in command)
    • Validate: lowercase, hyphens only, no spaces
  2. Ask for description
    • Clear, concise one-liner
  3. Ask for triggers (comma-separated keywords)
    • Example: "error, fix, debug"
  4. Ask for argument hint (optional)
    • Example: " [options]"
  5. Ask for scope:
    • user → ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md
    • project → .omc/skills/<name>/SKILL.md
  6. 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: example-arg


## Notes

[Additional context, edge cases, gotchas]
  1. Report success with file path
  2. 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

Remove a skill by name.

Behavior:

  1. Search for skill in both scopes:
    • ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md
    • .omc/skills/<name>/SKILL.md
  2. If found:
    • Display skill info (name, description, scope)
    • Ask for confirmation: "Delete '' skill from ? (yes/no)"
  3. If confirmed:
    • Delete entire skill directory (e.g., ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/)
    • Report: "✓ Removed skill '' from "
  4. If not found:
    • Report: "✗ Skill '' 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

Edit an existing skill interactively.

Behavior:

  1. Find skill by name (search both scopes)
  2. Read current content via Read tool
  3. Display current values:
    Current skill 'custom-logger':
    - Description: Enhanced logging with structured output
    - Triggers: log, logger, logging
    - Argument hint: <level> [message]
    - Scope: user
    
  4. Ask what to change:
    • description - Update description
    • triggers - Update trigger keywords
    • argument-hint - Update argument hint
    • content - Edit full markdown content
    • rename - Rename skill (move file)
    • cancel - Exit without changes
  5. For selected field:
    • Show current value
    • Ask for new value
    • Update YAML frontmatter or content
    • Write back to file
  6. 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

Search skills by content, triggers, name, or description.

Behavior:

  1. Scan all skills in both scopes
  2. Match query (case-insensitive) against:
    • Skill name
    • Description
    • Triggers
    • Full markdown content
  3. 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

Show detailed information about a skill.

Behavior:

  1. Find skill by name (search both scopes)
  2. Parse YAML frontmatter and content
  3. 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:

  1. Scan both scopes:
    • User skills: ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
    • Project skills: .omc/skills/
  2. Compare and categorize:
    • User-only skills (not in project)
    • Project-only skills (not in user)
    • Common skills (in both)
  3. Display sync opportunities:
SYNC REPORT:

User-only skills (5):
  - error-handler
  - api-builder
  - custom-logger
  - test-generator
  - deploy-helper

Project-only skills (2):
  - test-runner
  - backend-scaffold

Common skills (3):
  - frontend-ui-ux
  - git-master
  - planner

Options:
  [1] Copy user skill to project
  [2] Copy project skill to user
  [3] View differences
  [4] Cancel
  1. Handle user choice:
    • Option 1: Select skill(s) to copy to project
    • Option 2: Select skill(s) to copy to user
    • Option 3: Show side-by-side diff for common skills
    • Option 4: Exit

Safety: Never overwrite without confirmation

Example:

User: /skill sync
Assistant: Found 5 user-only skills and 2 project-only skills.

Copy 'error-handler' from user to project? (yes/no/skip)
User: yes
Assistant: ✓ Copied 'error-handler' to .omc/skills/

Copy 'api-builder' from user to project? (yes/no/skip)
User: skip
...

/skill setup

Interactive wizard for setting up and managing local skills (formerly local-skills-setup).

Behavior:

Step 1: Directory Check and Setup

First, check if skill directories exist and create them if needed:

# Check and create user-level skills directory
USER_SKILLS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned"
if [ -d "$USER_SKILLS_DIR" ]; then
  echo "User skills directory exists: $USER_SKILLS_DIR"
else
  mkdir -p "$USER_SKILLS_DIR"
  echo "Created user skills directory: $USER_SKILLS_DIR"
fi

# Check and create project-level skills directory
PROJECT_SKILLS_DIR=".omc/skills"
if [ -d "$PROJECT_SKILLS_DIR" ]; then
  echo "Project skills directory exists: $PROJECT_SKILLS_DIR"
else
  mkdir -p "$PROJECT_SKILLS_DIR"
  echo "Created project skills directory: $PROJECT_SKILLS_DIR"
fi

Step 2: Skill Scan and Inventory

Scan both directories and show a comprehensive inventory:

# Scan user-level skills
echo "=== USER-LEVEL SKILLS (~/.claude/skills/omc-learned/) ==="
if [ -d "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" ]; then
  USER_COUNT=$(find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" 2>/dev/null | wc -l)
  echo "Total skills: $USER_COUNT"

  if [ $USER_COUNT -gt 0 ]; then
    echo ""
    echo "Skills found:"
    find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" -type f -exec sh -c '
      FILE="$1"
      NAME=$(grep -m1 "^name:" "$FILE" 2>/dev/null | sed "s/name: //")
      DESC=$(grep -m1 "^description:" "$FILE" 2>/dev/null | sed "s/description: //")
      MODIFIED=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
      echo "  - $NAME"
      [ -n "$DESC" ] && echo "    Description: $DESC"
      echo "    Modified: $MODIFIED"
      echo ""
    ' sh {} \;
  fi
else
  echo "Directory not found"
fi

echo ""
echo "=== PROJECT-LEVEL SKILLS (.omc/skills/) ==="
if [ -d ".omc/skills" ]; then
  PROJECT_COUNT=$(find ".omc/skills" -name "*.md" 2>/dev/null | wc -l)
  echo "Total skills: $PROJECT_COUNT"

  if [ $PROJECT_COUNT -gt 0 ]; then
    echo ""
    echo "Skills found:"
    find ".omc/skills" -name "*.md" -type f -exec sh -c '
      FILE="$1"
      NAME=$(grep -m1 "^name:" "$FILE" 2>/dev/null | sed "s/name: //")
      DESC=$(grep -m1 "^description:" "$FILE" 2>/dev/null | sed "s/description: //")
      MODIFIED=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
      echo "  - $NAME"
      [ -n "$DESC" ] && echo "    Description: $DESC"
      echo "    Modified: $MODIFIED"
      echo ""
    ' sh {} \;
  fi
else
  echo "Directory not found"
fi

# Summary
TOTAL=$((USER_COUNT + PROJECT_COUNT))
echo "=== SUMMARY ==="
echo "Total skills across all directories: $TOTAL"

Step 3: Quick Actions Menu

After scanning, use the AskUserQuestion tool to offer these options:

Question: "What would you like to do with your local skills?"

Options:

  1. Add new skill - Start the skill creation wizard (invoke /skill add)
  2. List all skills with details - Show comprehensive skill inventory (invoke /skill list)
  3. Scan conversation for patterns - Analyze current conversation for skill-worthy patterns
  4. Import skill - Import a skill from URL or paste content
  5. Done - Exit the wizard

Option 3: Scan Conversation for Patterns

Analyze the current conversation context to identify potential skill-worthy patterns. Look for:

  • Recent debugging sessions with non-obvious solutions
  • Tricky bugs that required investigation
  • Codebase-specific workarounds discovered
  • Error patterns that took time to resolve

Report findings and ask if user wants to extract any as skills (invoke /skillify; /learner is deprecated compatibility).

Option 4: Import Skill

Ask user to provide either:

  • URL: Download skill from a URL (e.g., GitHub gist)
  • Paste content: Paste skill markdown content directly

Then ask for scope:

  • User-level (~/.claude/skills/omc-learned/) - Available across all projects
  • Project-level (.omc/skills/) - Only for this project

Validate the skill format and save to the chosen location.


/skill scan

Quick command to scan both skill directories (subset of /skill setup).

Behavior: Run the scan from Step 2 of /skill setup without the interactive wizard.


Skill Templates

When creating skills via /skill add or /skill setup, offer quick templates for common skill types:

Error Solution Template

---
id: error-[unique-id]
name: [Error Name]
description: Solution for [specific error in specific context]
source: conversation
triggers: ["error message fragment", "file path", "symptom"]
quality: high
---

# [Error Name]

## The Insight
What is the underlying cause of this error? What principle did you discover?

## Why This Matters
What goes wrong if you don't know this? What symptom led here?

## Recognition Pattern
How do you know when this applies? What are the signs?
- Error message: "[exact error]"
- File: [specific file path]
- Context: [when does this occur]

## The Approach
Step-by-step solution:
1. [Specific action with file/line reference]
2. [Specific action with file/line reference]
3. [Verification step]

## Example
\`\`\`typescript
// Before (broken)
[problematic code]

// After (fixed)
[corrected code]
\`\`\`

Workflow Skill Template

---
id: workflow-[unique-id]
name: [Workflow Name]
description: Process for [specific task in this codebase]
source: conversation
triggers: ["task description", "file pattern", "goal keyword"]
quality: high
---

# [Workflow Name]

## The Insight
What makes this workflow different from the obvious approach?

## Why This Matters
What fails if you don't follow this process?

## Recognition Pattern
When should you use this workflow?
- Task type: [specific task]
- Files involved: [specific patterns]
- Indicators: [how to recognize]

## The Approach
1. [Step with specific commands/files]
2. [Step with specific commands/files]
3. [Verification]

## Gotchas
- [Common mistake and how to avoid it]
- [Edge case and how to handle it]

Code Pattern Template

---
id: pattern-[unique-id]
name: [Pattern Name]
description: Pattern for [specific use case in this codebase]
source: conversation
triggers: ["code pattern", "file type", "problem domain"]
quality: high
---

# [Pattern Name]

## The Insight
What's the key principle behind this pattern?

## Why This Matters
What problems does this pattern solve in THIS codebase?

## Recognition Pattern
When do you apply this pattern?
- File types: [specific files]
- Problem: [specific problem]
- Context: [codebase-specific context]

## The Approach
Decision-making heuristic, not just code:
1. [Principle-based step]
2. [Principle-based step]

## Example
\`\`\`typescript
[Illustrative example showing the principle]
\`\`\`

## Anti-Pattern
What NOT to do and why:
\`\`\`typescript
[Common mistake to avoid]
\`\`\`

Integration Skill Template

---
id: integration-[unique-id]
name: [Integration Name]
description: How [system A] integrates with [system B] in this codebase
source: conversation
triggers: ["system name", "integration point", "config file"]
quality: high
---

# [Integration Name]

## The Insight
What's non-obvious about how these systems connect?

## Why This Matters
What breaks if you don't understand this integration?

## Recognition Pattern
When are you working with this integration?
- Files: [specific integration files]
- Config: [specific config locations]
- Symptoms: [what indicates integration issues]

## The Approach
How to work with this integration correctly:
1. [Configuration step with file paths]
2. [Setup step with specific details]
3. [Verification step]

## Gotchas
- [Integration-specific pitfall #1]
- [Integration-specific pitfall #2]

Error Handling

All commands must handle:

  • File/directory doesn't exist
  • Permission errors
  • Invalid YAML frontmatter
  • Duplicate skill names
  • Invalid skill names (spaces, special chars)

Error format:

✗ Error: <clear message>
→ Suggestion: <helpful next step>

Usage Examples

# List all skills
/skill list

# Create a new skill
/skill add my-custom-skill

# Remove a skill
/skill remove old-skill

# Edit existing skill
/skill edit error-handler

# Search for skills
/skill search typescript error

# Get detailed info
/skill info my-custom-skill

# Sync between scopes
/skill sync

# Run setup wizard
/skill setup

# Quick scan
/skill scan

Usage Modes

Direct Command Mode

When invoked with an argument, skip the interactive wizard:

  • /oh-my-claudecode:skill list - Show detailed skill inventory
  • /oh-my-claudecode:skill add - Start skill creation (invoke skillify)
  • /oh-my-claudecode:skill scan - Scan both skill directories

Interactive Mode

When invoked without arguments, run the full guided wizard.


Benefits of Local Skills

Automatic Application: Claude detects triggers and applies skills automatically - no need to remember or search for solutions.

Version Control: Project-level skills (.omc/skills/) are intended to be committed with your code so the whole team benefits. In linked worktrees, uncommitted skills remain local to that worktree and disappear if it is removed.

Evolving Knowledge: Skills improve over time as you discover better approaches and refine triggers.

Reduced Token Usage: Instead of re-solving the same problems, Claude applies known patterns efficiently.

Codebase Memory: Preserves institutional knowledge that would otherwise be lost in conversation history.


Skill Quality Guidelines

Good skills are:

  1. Non-Googleable - Can't easily find via search

    • BAD: "How to read files in TypeScript"
    • GOOD: "This codebase uses custom path resolution requiring fileURLToPath"
  2. Context-Specific - References actual files/errors from THIS codebase

    • BAD: "Use try/catch for error handling"
    • GOOD: "The aiohttp proxy in server.py:42 crashes on ClientDisconnectedError"
  3. Actionable with Precision - Tells exactly WHAT to do and WHERE

    • BAD: "Handle edge cases"
    • GOOD: "When seeing 'Cannot find module' in dist/, check tsconfig.json moduleResolution"
  4. Hard-Won - Required significant debugging effort

    • BAD: Generic programming patterns
    • GOOD: "Race condition in worker.ts - Promise.all at line 89 needs await"

Related Skills

  • /oh-my-claudecode:skillify - Extract a skill from current conversation (/oh-my-claudecode:learner is a deprecated alias)
  • /oh-my-claudecode:note - Save quick notes (less formal than skills)
  • /oh-my-claudecode:deepinit - Generate AGENTS.md codebase hierarchy

Example Session

> /oh-my-claudecode:skill list

Checking skill directories...
✓ User skills directory exists: ~/.claude/skills/omc-learned/
✓ Project skills directory exists: .omc/skills/

Scanning for skills...

=== USER-LEVEL SKILLS ===
Total skills: 3
  - async-network-error-handling
    Description: Pattern for handling independent I/O failures in async network code
    Modified: 2026-01-20 14:32:15

  - esm-path-resolution
    Description: Custom path resolution in ESM requiring fileURLToPath
    Modified: 2026-01-19 09:15:42

=== PROJECT-LEVEL SKILLS ===
Total skills: 5
  - session-timeout-fix
    Description: Fix for sessionId undefined after restart in session.ts
    Modified: 2026-01-22 16:45:23

  - build-cache-invalidation
    Description: When to clear TypeScript build cache to fix phantom errors
    Modified: 2026-01-21 11:28:37

=== SUMMARY ===
Total skills: 8

What would you like to do?
1. Add new skill
2. List all skills with details
3. Scan conversation for patterns
4. Import skill
5. Done

Tips for Users

  • Run /oh-my-claudecode:skill list periodically to review your skill library
  • After solving a tricky bug, immediately run skillify to capture it
  • Use project-level skills for codebase-specific knowledge
  • Use user-level skills for general patterns that apply everywhere
  • Review and refine triggers over time to improve matching accuracy

Implementation Notes

  1. YAML Parsing: Use frontmatter extraction for metadata
  2. File Operations: Use Read/Write tools, never Edit for new files
  3. User Confirmation: Always confirm destructive operations
  4. Clear Feedback: Use checkmarks (✓), crosses (✗), arrows (→) for clarity
  5. Scope Resolution: Always check both user and project scopes
  6. Validation: Enforce naming conventions (lowercase, hyphens only)

Related Skills

  • /oh-my-claudecode:skillify - Extract a skill from current conversation (/oh-my-claudecode:learner is a deprecated alias)
  • /oh-my-claudecode:note - Save quick notes (less formal than skills)
  • /oh-my-claudecode:deepinit - Generate AGENTS.md codebase hierarchy

Future Enhancements

  • /skill export <name> - Export skill as shareable file
  • /skill import <file> - Import skill from file
  • /skill stats - Show usage statistics across all skills
  • /skill validate - Check all skills for format errors
  • /skill template <type> - Create from predefined templates

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!