Communitygithub.com

skill

Gerencie habilidades locais - listar, adicionar, remover, pesquisar, editar, assistente de configuração

O que é skill?

Este meta-skill gerencia todas as habilidades locais do oh-my-claudecode através de comandos estilo CLI. Ele permite listar, adicionar, remover, editar, pesquisar, sincronizar e configurar habilidades. O comando `/skill list` exibe habilidades organizadas por escopo (built-in, usuário, projeto), enquanto `/skill add` oferece um assistente interativo para criar novas habilidades com metadados YAML. `/skill edit` e `/skill remove` permitem modificar ou excluir habilidades existentes, e `/skill search` encontra habilidades por nome, descrição, gatilhos ou conteúdo. O comando `/skill info` mostra detalhes completos de uma habilidade, e `/skill sync` sincroniza habilidades entre os escopos de usuário e projeto. Por fim, `/skill setup` é um assistente completo que verifica diretórios, lista inventários e oferece ações rápidas como adicionar, importar ou escanear conversas para padrões dignos de habilidade. É uma ferramenta indispensável para gerenciar o ecossistema de habilidades de forma eficiente.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

CLI de Gerenciamento de Habilidades

Meta-skill para gerenciar habilidades do oh-my-claudecode via comandos estilo CLI.

Subcomandos

/skill list

Mostra todas as habilidades disponíveis organizadas por escopo.

Comportamento:

  1. Escaneia habilidades built-in agrupadas no diretório skills/ do plugin (somente leitura)
  2. Escaneia habilidades do usuário em ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
  3. Escaneia habilidades do projeto em .omc/skills/
  4. Analisa o frontmatter YAML para metadados
  5. Exibe em formato de tabela organizada:
HABILIDADES BUILT-IN (agrupadas com oh-my-claudecode):
| Nome             | Descrição                      | Escopo    |
|------------------|--------------------------------|-----------|
| visual-verdict   | Verdictos visuais QA estruturados | built-in |
| ralph            | Loop de persistência           | built-in |

HABILIDADES DO USUÁRIO (~/.claude/skills/omc-learned/):
| Nome            | Gatilhos          | Qualidade | Uso | Escopo |
|-----------------|-------------------|-----------|-----|--------|
| error-handler   | fix, error        | 95%       | 42  | usuário|
| api-builder     | api, endpoint     | 88%       | 23  | usuário|

HABILIDADES DO PROJETO (.omc/skills/):
| Nome            | Gatilhos          | Qualidade | Uso | Escopo   |
|-----------------|-------------------|-----------|-----|----------|
| test-runner     | test, run         | 92%       | 15  | projeto  |

Fallback: Se estatísticas de qualidade/uso não estiverem disponíveis, mostrar "N/A"

Nota sobre habilidades built-in: Habilidades built-in são agrupadas com oh-my-claudecode e são descobertas/legíveis, mas não podem ser removidas ou editadas através de /skill remove ou /skill edit.


/skill add [nome]

Assistente interativo para criar uma nova habilidade.

Comportamento:

  1. Perguntar pelo nome da habilidade (se não fornecido no comando)
    • Validar: minúsculas, apenas hífens, sem espaços
  2. Perguntar pela descrição
    • Frase clara e concisa
  3. Perguntar pelos gatilhos (palavras-chave separadas por vírgula)
    • Exemplo: "error, fix, debug"
  4. Perguntar pela dica de argumento (opcional)
    • Exemplo: " [options]"
  5. Perguntar pelo escopo:
    • user → ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<nome>/SKILL.md
    • project → .omc/skills/<nome>/SKILL.md
  6. Criar arquivo de habilidade com modelo:
---
nome: <nome>
descrição: <descrição>
gatilhos:
  - <gatilho1>
  - <gatilho2>
dica-de-argumento: "<args>"
---

# Habilidade <Nome>

## Propósito

[Descreva o que esta habilidade faz]

## Quando Ativar

[Descreva gatilhos e condições]

## Fluxo de Trabalho

1. [Passo 1]
2. [Passo 2]
3. [Passo 3]

## Exemplos

/oh-my-claudecode: exemplo-arg


## Notas

[Contexto adicional, casos extremos, pegadinhas]
  1. Reportar sucesso com o caminho do arquivo
  2. Sugerir: "Edite /skill edit <nome> para personalizar conteúdo"

Exemplo:

Usuário: /skill add custom-logger
Assistente: Criando nova habilidade 'custom-logger'...

Descrição: Log aprimorado com saída estruturada
Gatilhos (separados por vírgula): log, logger, logging
Dica de argumento (opcional): <level> [message]
Escopo (usuário/projeto): user

✓ Habilidade criada em ~/.claude/skills/omc-learned/custom-logger/SKILL.md
→ Edite com: /skill edit custom-logger

/skill remove

Remove uma habilidade pelo nome.

Comportamento:

  1. Procurar pela habilidade em ambos os escopos:
    • ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<nome>/SKILL.md
    • .omc/skills/<nome>/SKILL.md
  2. Se encontrada:
    • Exibir informações da habilidade (nome, descrição, escopo)
    • Perguntar por confirmação: "Excluir habilidade '' do escopo ? (sim/não)"
  3. Se confirmado:
    • Excluir diretório inteiro da habilidade (ex.: ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<nome>/)
    • Reportar: "✓ Habilidade '' removida do escopo "
  4. Se não encontrada:
    • Reportar: "✗ Habilidade '' não encontrada no escopo do usuário ou projeto"

Segurança: Nunca excluir sem confirmação explícita do usuário.

Exemplo:

Usuário: /skill remove old-logger
Assistente: Habilidade 'old-logger' encontrada no escopo do usuário:
  Descrição: Utilitário de log legado
  Escopo: usuário (~/.claude/skills/omc-learned/)

Excluir habilidade 'old-logger'? (sim/não)

Usuário: sim
Assistente: ✓ Habilidade 'old-logger' removida do escopo do usuário

/skill edit

Editar uma habilidade existente interativamente.

Comportamento:

  1. Encontrar habilidade pelo nome (procurar em ambos os escopos)
  2. Ler conteúdo atual via ferramenta de Leitura
  3. Exibir valores atuais:
    Habilidade atual 'custom-logger':
    - Descrição: Log aprimorado com saída estruturada
    - Gatilhos: log, logger, logging
    - Dica de argumento: <level> [message]
    - Escopo: usuário
    
  4. Perguntar o que alterar:
    • descrição - Atualizar descrição
    • gatilhos - Atualizar palavras-chave de gatilho
    • dica-de-argumento - Atualizar dica de argumento
    • conteúdo - Editar conteúdo markdown completo
    • renomear - Renomear habilidade (mover arquivo)
    • cancelar - Sair sem alterações
  5. Para campo selecionado:
    • Mostrar valor atual
    • Perguntar por novo valor
    • Atualizar frontmatter YAML ou conteúdo
    • Escrever de volta no arquivo
  6. Reportar sucesso com resumo das alterações

Exemplo:

Usuário: /skill edit custom-logger
Assistente: Habilidade atual 'custom-logger':
  - Descrição: Log aprimorado com saída estruturada
  - Gatilhos: log, logger, logging
  - Dica de argumento: <level> [message]

O que você gostaria de editar? (descrição/gatilhos/dica-de-argumento/conteúdo/renomear/cancelar)

Usuário: gatilhos
Assistente: Gatilhos atuais: log, logger, logging
Novos gatilhos (separados por vírgula): log, logger, logging, trace

✓ Gatilhos atualizados para 'custom-logger'

/skill search

Pesquisar habilidades por conteúdo, gatilhos, nome ou descrição.

Comportamento:

  1. Escaneia todas as habilidades em ambos os escopos
  2. Corresponder consulta (sem distinção de maiúsculas/minúsculas) contra:
    • Nome da habilidade
    • Descrição
    • Gatilhos
    • Conteúdo markdown completo
  3. Exibir correspondências com contexto:
Encontradas 3 habilidades correspondendo a "typescript error":

1. typescript-fixer (usuário)
   Descrição: Corrigir erros TypeScript comuns
   Correspondência: "padrões de tratamento de erro typescript"

2. error-handler (usuário)
   Descrição: Utilitários genéricos de tratamento de erro
   Correspondência: "Suporta erros TypeScript e JavaScript"

3. lint-fix (projeto)
   Descrição: Corrigir automaticamente erros de lint
   Correspondência: "Resolução de erro ESLint TypeScript"

Classificação: Priorizar correspondências em nome/gatilhos sobre correspondências em conteúdo

Exemplo:

Usuário: /skill search api endpoint
Assistente: Encontradas 2 habilidades correspondendo a "api endpoint":

1. api-builder (usuário)
   Descrição: Gerar endpoints de API REST
   Gatilhos: api, endpoint, rest

2. backend-scaffold (projeto)
   Descrição: Estruturar serviços backend
   Correspondência: "Cria boilerplate de endpoint de API"

/skill info

Mostrar informações detalhadas sobre uma habilidade.

Comportamento:

  1. Encontrar habilidade pelo nome (procurar em ambos os escopos)
  2. Analisar frontmatter YAML e conteúdo
  3. Exibir detalhes completos:
Habilidade: custom-logger
Escopo: usuário (~/.claude/skills/omc-learned/custom-logger/)
Descrição: Log aprimorado com saída estruturada
Gatilhos: log, logger, logging
Dica de Argumento: <level> [message]
Qualidade: 95% (se disponível)
Contagem de Uso: 42 vezes (se disponível)
Caminho do Arquivo: /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md

--- CONTEÚDO COMPLETO ---
[conteúdo markdown inteiro]

Se não encontrada: Reportar erro com sugestão de usar /skill search

Exemplo:

Usuário: /skill info custom-logger
Assistente: Habilidade: custom-logger
Escopo: usuário
Descrição: Log aprimorado com saída estruturada
Gatilhos: log, logger, logging
Arquivo: ~/.claude/skills/omc-learned/custom-logger/SKILL.md

--- CONTEÚDO ---
# Habilidade Custom Logger

## Propósito
Log aprimorado com saída JSON estruturada...
[restante do conteúdo]

/skill sync

Sincronizar habilidades entre escopos de usuário e projeto.

Comportamento:

  1. Escaneia ambos os escopos:
    • Habilidades do usuário: ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
    • Habilidades do projeto: .omc/skills/
  2. Comparar e categorizar:
    • Habilidades apenas do usuário (não no projeto)
    • Habilidades apenas do projeto (não no usuário)
    • Habilidades comuns (em ambos)
  3. Exibir oportunidades de sincronização:
RELATÓRIO DE SINCRONIZAÇÃO:

Habilidades apenas do usuário (5):
  - error-handler
  - api-builder
  - custom-logger
  - test-generator
  - deploy-helper

Habilidades apenas do projeto (2):
  - test-runner
  - backend-scaffold

Habilidades comuns (3):
  - frontend-ui-ux
  - git-master
  - planner

Opções:
  [1] Copiar habilidade do usuário para o projeto
  [2] Copiar habilidade do projeto para o usuário
  [3] Ver diferenças
  [4] Cancelar
  1. Manipular escolha do usuário:
    • Opção 1: Selecionar habilidade(s) para copiar para o projeto
    • Opção 2: Selecionar habilidade(s) para copiar para o usuário
    • Opção 3: Mostrar diff lado a lado para habilidades comuns
    • Opção 4: Sair

Segurança: Nunca sobrescrever sem confirmação

Exemplo:

Usuário: /skill sync
Assistente: Encontradas 5 habilidades apenas do usuário e 2 apenas do projeto.

Copiar 'error-handler' do usuário para o projeto? (sim/não/pular)
Usuário: sim
Assistente: ✓ Copiado 'error-handler' para .omc/skills/

Copiar 'api-builder' do usuário para o projeto? (sim/não/pular)
Usuário: pular
...

/skill setup

Assistente interativo para configurar e gerenciar habilidades locais (anteriormente local-skills-setup).

Comportamento:

Etapa 1: Verificação e Configuração de Diretórios

Primeiro, verificar se os diretórios de habilidades existem e criá-los se necessário:

# Verificar e criar diretório de habilidades do usuário
USER_SKILLS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned"
if [ -d "$USER_SKILLS_DIR" ]; then
  echo "Diretório de habilidades do usuário existe: $USER_SKILLS_DIR"
else
  mkdir -p "$USER_SKILLS_DIR"
  echo "Diretório de habilidades do usuário criado: $USER_SKILLS_DIR"
fi

# Verificar e criar diretório de habilidades do projeto
PROJECT_SKILLS_DIR=".omc/skills"
if [ -d "$PROJECT_SKILLS_DIR" ]; then
  echo "Diretório de habilidades do projeto existe: $PROJECT_SKILLS_DIR"
else
  mkdir -p "$PROJECT_SKILLS_DIR"
  echo "Diretório de habilidades do projeto criado: $PROJECT_SKILLS_DIR"
fi

Etapa 2: Escaneamento e Inventário de Habilidades

Escaneie ambos os diretórios e mostre um inventário abrangente:

# Escanear habilidades do usuário
echo "=== HABILIDADES DO USUÁRIO (~/.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 de habilidades: $USER_COUNT"

  if [ $USER_COUNT -gt 0 ]; then
    echo ""
    echo "Habilidades encontradas:"
    find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" -type f -exec sh -c '
      FILE="$1"
      NOME=$(grep -m1 "^nome:" "$FILE" 2>/dev/null | sed "s/nome: //")
      DESC=$(grep -m1 "^descrição:" "$FILE" 2>/dev/null | sed "s/descrição: //")
      MODIFICADO=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
      echo "  - $NOME"
      [ -n "$DESC" ] && echo "    Descrição: $DESC"
      echo "    Modificado: $MODIFICADO"
      echo ""
    ' sh {} \;
  fi
else
  echo "Diretório não encontrado"
fi

echo ""
echo "=== HABILIDADES DO PROJETO (.omc/skills/) ==="
if [ -d ".omc/skills" ]; then
  PROJECT_COUNT=$(find ".omc/skills" -name "*.md" 2>/dev/null | wc -l)
  echo "Total de habilidades: $PROJECT_COUNT"

  if [ $PROJECT_COUNT -gt 0 ]; then
    echo ""
    echo "Habilidades encontradas:"
    find ".omc/skills" -name "*.md" -type f -exec sh -c '
      FILE="$1"
      NOME=$(grep -m1 "^nome:" "$FILE" 2>/dev/null | sed "s/nome: //")
      DESC=$(grep -m1 "^descrição:" "$FILE" 2>/dev/null | sed "s/descrição: //")
      MODIFICADO=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
      echo "  - $NOME"
      [ -n "$DESC" ] && echo "    Descrição: $DESC"
      echo "    Modificado: $MODIFICADO"
      echo ""
    ' sh {} \;
  fi
else
  echo "Diretório não encontrado"
fi

# Resumo
TOTAL=$((USER_COUNT + PROJECT_COUNT))
echo "=== RESUMO ==="
echo "Total de habilidades em todos os diretórios: $TOTAL"

Etapa 3: Menu de Ações Rápidas

Após o escaneamento, use a ferramenta AskUserQuestion para oferecer estas opções:

Pergunta: "O que você gostaria de fazer com suas habilidades locais?"

Opções:

  1. Adicionar nova habilidade - Iniciar o assistente de criação de habilidade (invocar /skill add)
  2. Listar todas as habilidades com detalhes - Mostrar inventário abrangente de habilidades (invocar /skill list)
  3. Escanear conversa por padrões - Analisar conversa atual para padrões dignos de habilidade
  4. Importar habilidade - Importar uma habilidade de URL ou colar conteúdo
  5. Concluído - Sair do assistente

Opção 3: Escanear Conversa por Padrões

Analisar o contexto da conversa atual para identificar potenciais padrões dignos de habilidade. Procure por:

  • Sessões recentes de depuração com soluções não óbvias
  • Bugs complicados que exigiram investigação
  • Soluções alternativas específicas do código descobertas
  • Padrões de erro que levaram tempo para resolver

Reportar descobertas e perguntar se o usuário deseja extrair alguma como habilidade (invocar /skillify; /learner está obsoleto para compatibilidade).

Opção 4: Importar Habilidade

Perguntar ao usuário para fornecer:

  • URL: Baixar habilidade de uma URL (ex.: GitHub gist)
  • Colar conteúdo: Colar conteúdo markdown da habilidade diretamente

Depois perguntar pelo escopo:

  • Nível do usuário (~/.claude/skills/omc-learned/) - Disponível em todos os projetos
  • Nível do projeto (.omc/skills/) - Apenas para este projeto

Validar o formato da habilidade e salvar no local escolhido.


/skill scan

Comando rápido para escanear ambos os diretórios de habilidades (subconjunto de /skill setup).

Comportamento: Executar o escaneamento da Etapa 2 de /skill setup sem o assistente interativo.


Modelos de Habilidade

Ao criar habilidades via /skill add ou /skill setup, oferecer modelos rápidos para tipos comuns de habilidade:

Modelo de Solução de Erro

---
id: error-[id-único]
nome: [Nome do Erro]
descrição: Solução para [erro específico em contexto específico]
fonte: conversa
gatilhos: ["fragmento de mensagem de erro", "caminho de arquivo", "sintoma"]
qualidade: alta
---

# [Nome do Erro]

## O Insight
Qual é a causa subjacente deste erro? Que princípio você descobriu?

## Por Que Isso Importa
O que dá errado se você não souber disso? Que sintoma levou aqui?

## Padrão de Reconhecimento
Como você sabe quando isso se aplica? Quais são os sinais?
- Mensagem de erro: "[erro exato]"
- Arquivo: [caminho específico do arquivo]
- Contexto: [quando isso ocorre]

## A Solução

[Passos detalhados para resolver o erro]

## Exemplos

/oh-my-claudecode:[nome] [argumento de exemplo]


## Notas

[Contexto adicional, casos extremos, pegadinhas]

...

[truncado para tradução]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

agent-doc-discipline

Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before reference, one meaning in one home, no restating what the environment already says. Mandatory at drydock seed generation and the launch C5 sediment pass; opt-in for any other agent-facing doc edit. The companion of minimal-code-discipline: that one disciplines code, this one disciplines papers.

ai-slop-cleaner

Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode

ask

Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly

ask-navigator

Shipyard

autopilot

Full autonomous execution from idea to working code

autoresearch

Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior

cancel

Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state

configure-notifications

Configure notification integrations (Telegram, Discord, Slack) via natural language

debug

Diagnose the current OMC session or repo state using logs, traces, state, and focused reproduction

deepinit

Deep codebase initialization with hierarchical AGENTS.md documentation

deep-interview

Socratic deep interview with mathematical ambiguity gating before explicit execution approval

drydock

Lay the keel of the shipyard harness in any repo — the 4-pillar shared environment (Context, Rules, Tools, Standards) across 5 surfaces (CLAUDE.md, skills, design-system, mcp/cli, shared context) so that every human and agent inherits the same design language and anyone can ship. Run once per repo; re-run with --check to audit drift.

execute

Carry an approved task through to working, verified code

external-context

Invoke parallel document-specialist agents for external web searches and documentation lookup

graph

Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery

harbor

Harbor intake for external work — the captain only handles unresolved decisions. Sweeps incoming issues and PRs, verifies every claim before disposition, reuses every decision already made, and hands the maintainer a docket whose pending items each carry one question with options, recommendation, impact and evidence. Agent-autonomous for facts and for actions covered by standing authorization; signed for every new judgment. Never merges.

hud

Configure HUD display options (layout, presets, display elements)

launch

Shipyard

loft

Loft the shape before cutting steel — answer a design question that prose cannot settle by building a throwaway artifact: a pure logic module in a clickable shell, or structurally different UI variants behind one route. The captain reacts to the artifact; the answer folds into the decision; the artifact never docks. Use when a design question stalls in words, when a navigator map carries a loft ticket, or when a spec discussion reaches

minimal-code-discipline

YAGNI-ladder coding discipline for writing changes — existence-first, reuse before writing, dependency ladder, shortest correct diff, with non-negotiables that must never be minimized away

Habilidades Relacionadas