Communitygithub.com

skill

Gérer les compétences locales — lister, ajouter, supprimer, rechercher, éditer, assistant de configuration

Qu'est-ce que skill ?

Cette compétence est un outil de gestion en ligne de commande pour les compétences locales dans l'écosystème oh-my-claudecode. Elle permet aux utilisateurs de lister, ajouter, supprimer, rechercher, éditer et synchroniser des compétences (skills) via des commandes intuitives comme `/skill list`, `/skill add`, `/skill remove`, `/skill edit`, `/skill search`, `/skill info`, `/skill sync`, `/skill setup` et `/skill scan`. L'utilisateur peut gérer les compétences à trois niveaux : intégrées (bundled avec le plugin), utilisateur (dans `~/.claude/skills/omc-learned/`) et projet (dans `.omc/skills/`). L'assistant de configuration (`/skill setup`) guide l'utilisateur à travers la vérification des répertoires, l'inventaire des compétences, et propose des actions rapides comme ajouter une nouvelle compétence, analyser la conversation pour en extraire des patterns ou importer une compétence depuis une URL ou du contenu collé. Cette méta-compétence est essentielle pour tout développeur utilisant oh-my-claudecode, car elle centralise la gestion des connaissances et automatise les workflow d'apprentissage.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Gestion des compétences (CLI)

Méta-compétence pour gérer les compétences oh-my-claudecode via des commandes de type CLI.

Sous-commandes

/skill list

Affiche toutes les compétences disponibles, organisées par portée.

Comportement :

  1. Analyse les compétences intégrées (bundled) dans le répertoire skills/ du plugin (lecture seule)
  2. Analyse les compétences utilisateur dans ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
  3. Analyse les compétences projet dans .omc/skills/
  4. Analyse le frontmatter YAML pour les métadonnées
  5. Affiche dans un tableau organisé :
COMPÉTENCES INTÉGRÉES (bundled avec oh-my-claudecode) :
| Nom              | Description                    | Portée    |
|-------------------|--------------------------------|-----------|
| visual-verdict    | Verdicts structurés QA visuels | intégrée  |
| ralph             | Boucle de persistance          | intégrée  |

COMPÉTENCES UTILISATEUR (~/.claude/skills/omc-learned/) :
| Nom              | Déclencheurs    | Qualité | Utilisation | Portée |
|-------------------|-----------------|---------|-------------|--------|
| error-handler     | fix, error      | 95%     | 42          | user   |
| api-builder       | api, endpoint   | 88%     | 23          | user   |

COMPÉTENCES PROJET (.omc/skills/) :
| Nom              | Déclencheurs    | Qualité | Utilisation | Portée   |
|-------------------|-----------------|---------|-------------|----------|
| test-runner       | test, run       | 92%     | 15          | project  |

Solution de repli : Si les statistiques de qualité/utilisation ne sont pas disponibles, afficher "N/D"

Note sur les compétences intégrées : Les compétences intégrées sont fournies avec oh-my-claudecode et sont découvrables/consultables, mais ne peuvent être ni supprimées ni modifiées via /skill remove ou /skill edit.


/skill add [name]

Assistant interactif pour créer une nouvelle compétence.

Comportement :

  1. Demander le nom de la compétence (si non fourni dans la commande)
    • Valider : minuscules, tirets uniquement, pas d'espaces
  2. Demander la description
    • Une ligne claire et concise
  3. Demander les déclencheurs (mots-clés séparés par des virgules)
    • Exemple : "error, fix, debug"
  4. Demander l'indice d'argument (optionnel)
    • Exemple : " [options]"
  5. Demander la portée :
    • user → ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md
    • project → .omc/skills/<name>/SKILL.md
  6. Créer le fichier de compétence avec le modèle :
---
name: <name>
description: <description>
triggers:
  - <trigger1>
  - <trigger2>
argument-hint: "<args>"
---

# Compétence <Name>

## Objectif

[Décrire ce que fait cette compétence]

## Quand l'activer

[Décrire les déclencheurs et conditions]

## Workflow

1. [Étape 1]
2. [Étape 2]
3. [Étape 3]

## Exemples

/oh-my-claudecode: exemple-arg


## Notes

[Contexte supplémentaire, cas particuliers, pièges]
  1. Signaler le succès avec le chemin du fichier
  2. Suggestion : "Modifier avec /skill edit <name> pour personnaliser le contenu"

Exemple :

Utilisateur : /skill add custom-logger
Assistant : Création de la compétence 'custom-logger'...

Description : Journalisation améliorée avec sortie structurée
Déclencheurs (séparés par des virgules) : log, logger, logging
Indice d'argument (optionnel) : <level> [message]
Portée (user/project) : user

✓ Compétence créée dans ~/.claude/skills/omc-learned/custom-logger/SKILL.md
→ Modifier avec : /skill edit custom-logger

/skill remove <name>

Supprimer une compétence par son nom.

Comportement :

  1. Rechercher la compétence dans les deux portées :
    • ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md
    • .omc/skills/<name>/SKILL.md
  2. Si trouvée :
    • Afficher les informations de la compétence (nom, description, portée)
    • Demander confirmation : "Supprimer la compétence '' de la portée ? (oui/non)"
  3. Si confirmé :
    • Supprimer tout le répertoire de la compétence (ex. ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/)
    • Signaler : "✓ Compétence '' supprimée de la portée "
  4. Si non trouvée :
    • Signaler : "✗ Compétence '' introuvable dans les portées utilisateur ou projet"

Sécurité : Jamais supprimer sans confirmation explicite de l'utilisateur.

Exemple :

Utilisateur : /skill remove old-logger
Assistant : Compétence 'old-logger' trouvée dans la portée utilisateur :
  Description : Utilitaire de journalisation hérité
  Portée : user (~/.claude/skills/omc-learned/)

Supprimer la compétence 'old-logger' ? (oui/non)

Utilisateur : oui
Assistant : ✓ Compétence 'old-logger' supprimée de la portée utilisateur

/skill edit <name>

Modifier une compétence existante de manière interactive.

Comportement :

  1. Trouver la compétence par nom (rechercher dans les deux portées)
  2. Lire le contenu actuel via l'outil Read
  3. Afficher les valeurs actuelles :
    Compétence actuelle 'custom-logger' :
    - Description : Journalisation améliorée avec sortie structurée
    - Déclencheurs : log, logger, logging
    - Indice d'argument : <level> [message]
    - Portée : user
    
  4. Demander quoi modifier :
    • description - Mettre à jour la description
    • triggers - Mettre à jour les mots-clés déclencheurs
    • argument-hint - Mettre à jour l'indice d'argument
    • content - Modifier le contenu markdown complet
    • rename - Renommer la compétence (déplacer le fichier)
    • cancel - Quitter sans modifications
  5. Pour le champ sélectionné :
    • Afficher la valeur actuelle
    • Demander la nouvelle valeur
    • Mettre à jour le frontmatter YAML ou le contenu
    • Réécrire dans le fichier
  6. Signaler le succès avec un résumé des modifications

Exemple :

Utilisateur : /skill edit custom-logger
Assistant : Compétence actuelle 'custom-logger' :
  - Description : Journalisation améliorée avec sortie structurée
  - Déclencheurs : log, logger, logging
  - Indice d'argument : <level> [message]

Que souhaitez-vous modifier ? (description/triggers/argument-hint/content/rename/cancel)

Utilisateur : triggers
Assistant : Déclencheurs actuels : log, logger, logging
Nouveaux déclencheurs (séparés par des virgules) : log, logger, logging, trace

✓ Déclencheurs mis à jour pour 'custom-logger'

/skill search <query>

Rechercher des compétences par contenu, déclencheurs, nom ou description.

Comportement :

  1. Analyser toutes les compétences dans les deux portées
  2. Faire correspondre la requête (insensible à la casse) avec :
    • Le nom de la compétence
    • La description
    • Les déclencheurs
    • Le contenu markdown complet
  3. Afficher les correspondances avec leur contexte :
3 compétences trouvées correspondant à "typescript error" :

1. typescript-fixer (user)
   Description : Corriger les erreurs TypeScript courantes
   Correspondance : "typescript error handling patterns"

2. error-handler (user)
   Description : Utilitaires génériques de gestion d'erreurs
   Correspondance : "Supports TypeScript and JavaScript errors"

3. lint-fix (project)
   Description : Correction automatique des erreurs de linting
   Correspondance : "TypeScript ESLint error resolution"

Classement : Prioriser les correspondances dans le nom/les déclencheurs par rapport au contenu

Exemple :

Utilisateur : /skill search api endpoint
Assistant : 2 compétences trouvées correspondant à "api endpoint" :

1. api-builder (user)
   Description : Générer des endpoints d'API REST
   Déclencheurs : api, endpoint, rest

2. backend-scaffold (project)
   Description : Structurer des services backend
   Correspondance : "Creates API endpoint boilerplate"

/skill info <name>

Afficher des informations détaillées sur une compétence.

Comportement :

  1. Trouver la compétence par nom (rechercher dans les deux portées)
  2. Analyser le frontmatter YAML et le contenu
  3. Afficher les détails complets :
Compétence : custom-logger
Portée : user (~/.claude/skills/omc-learned/custom-logger/)
Description : Journalisation améliorée avec sortie structurée
Déclencheurs : log, logger, logging
Indice d'argument : <level> [message]
Qualité : 95% (si disponible)
Nombre d'utilisations : 42 fois (si disponible)
Chemin du fichier : /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md

--- CONTENU COMPLET ---
[contenu markdown complet]

Si non trouvée : Signaler l'erreur avec suggestion d'utiliser /skill search

Exemple :

Utilisateur : /skill info custom-logger
Assistant : Compétence : custom-logger
Portée : user
Description : Journalisation améliorée avec sortie structurée
Déclencheurs : log, logger, logging
Fichier : ~/.claude/skills/omc-learned/custom-logger/SKILL.md

--- CONTENU ---
# Compétence Custom Logger

## Objectif
Journalisation améliorée avec sortie structurée JSON...
[suite du contenu]

/skill sync

Synchroniser les compétences entre les portées utilisateur et projet.

Comportement :

  1. Analyser les deux portées :
    • Compétences utilisateur : ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/
    • Compétences projet : .omc/skills/
  2. Comparer et catégoriser :
    • Compétences uniquement utilisateur (pas dans le projet)
    • Compétences uniquement projet (pas dans l'utilisateur)
    • Compétences communes (dans les deux)
  3. Afficher les opportunités de synchronisation :
RAPPORT DE SYNCHRONISATION :

Compétences uniquement utilisateur (5) :
  - error-handler
  - api-builder
  - custom-logger
  - test-generator
  - deploy-helper

Compétences uniquement projet (2) :
  - test-runner
  - backend-scaffold

Compétences communes (3) :
  - frontend-ui-ux
  - git-master
  - planner

Options :
  [1] Copier la compétence utilisateur vers le projet
  [2] Copier la compétence projet vers l'utilisateur
  [3] Afficher les différences
  [4] Annuler
  1. Gérer le choix de l'utilisateur :
    • Option 1 : Sélectionner la ou les compétences à copier vers le projet
    • Option 2 : Sélectionner la ou les compétences à copier vers l'utilisateur
    • Option 3 : Afficher les différences côte à côte pour les compétences communes
    • Option 4 : Quitter

Sécurité : Jamais écraser sans confirmation

Exemple :

Utilisateur : /skill sync
Assistant : 5 compétences uniquement utilisateur et 2 compétences uniquement projet trouvées.

Copier 'error-handler' de l'utilisateur vers le projet ? (oui/non/skip)
Utilisateur : oui
Assistant : ✓ Copié 'error-handler' vers .omc/skills/

Copier 'api-builder' de l'utilisateur vers le projet ? (oui/non/skip)
Utilisateur : skip
...

/skill setup

Assistant interactif pour configurer et gérer les compétences locales (auparavant local-skills-setup).

Comportement :

Étape 1 : Vérification et configuration des répertoires

D'abord, vérifier si les répertoires de compétences existent et les créer si nécessaire :

# Vérifier et créer le répertoire des compétences utilisateur
USER_SKILLS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned"
if [ -d "$USER_SKILLS_DIR" ]; then
  echo "Le répertoire des compétences utilisateur existe : $USER_SKILLS_DIR"
else
  mkdir -p "$USER_SKILLS_DIR"
  echo "Répertoire des compétences utilisateur créé : $USER_SKILLS_DIR"
fi

# Vérifier et créer le répertoire des compétences projet
PROJECT_SKILLS_DIR=".omc/skills"
if [ -d "$PROJECT_SKILLS_DIR" ]; then
  echo "Le répertoire des compétences projet existe : $PROJECT_SKILLS_DIR"
else
  mkdir -p "$PROJECT_SKILLS_DIR"
  echo "Répertoire des compétences projet créé : $PROJECT_SKILLS_DIR"
fi

Étape 2 : Analyse et inventaire des compétences

Analyser les deux répertoires et afficher un inventaire complet :

# Analyser les compétences utilisateur
echo "=== COMPÉTENCES UTILISATEUR (~/.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 "Nombre total de compétences : $USER_COUNT"

  if [ $USER_COUNT -gt 0 ]; then
    echo ""
    echo "Compétences trouvées :"
    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 "    Modifié le : $MODIFIED"
      echo ""
    ' sh {} \;
  fi
else
  echo "Répertoire introuvable"
fi

echo ""
echo "=== COMPÉTENCES PROJET (.omc/skills/) ==="
if [ -d ".omc/skills" ]; then
  PROJECT_COUNT=$(find ".omc/skills" -name "*.md" 2>/dev/null | wc -l)
  echo "Nombre total de compétences : $PROJECT_COUNT"

  if [ $PROJECT_COUNT -gt 0 ]; then
    echo ""
    echo "Compétences trouvées :"
    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 "    Modifié le : $MODIFIED"
      echo ""
    ' sh {} \;
  fi
else
  echo "Répertoire introuvable"
fi

# Résumé
TOTAL=$((USER_COUNT + PROJECT_COUNT))
echo "=== RÉSUMÉ ==="
echo "Nombre total de compétences dans tous les répertoires : $TOTAL"

Étape 3 : Menu d'actions rapides

Après l'analyse, utiliser l'outil AskUserQuestion pour proposer ces options :

Question : "Que souhaitez-vous faire avec vos compétences locales ?"

Options :

  1. Ajouter une nouvelle compétence - Lancer l'assistant de création de compétence (invoquer /skill add)
  2. Lister toutes les compétences avec détails - Afficher l'inventaire complet des compétences (invoquer /skill list)
  3. Analyser la conversation pour des patterns - Analyser la conversation actuelle pour des patterns dignes d'être transformés en compétences
  4. Importer une compétence - Importer une compétence depuis une URL ou coller du contenu
  5. Terminé - Quitter l'assistant

Option 3 : Analyser la conversation pour des patterns

Analyser le contexte actuel de la conversation pour identifier des patterns potentiellement dignes d'être transformés en compétences. Rechercher :

  • Sessions de débogage récentes avec des solutions non évidentes
  • Bugs complexes qui ont nécessité une investigation
  • Solutions de contournement spécifiques au codebase découvertes
  • Patterns d'erreur qui ont pris du temps à résoudre

Signaler les résultats et demander si l'utilisateur souhaite en extraire des compétences (invoquer /skillify ; /learner est déprécié pour compatibilité).

Option 4 : Importer une compétence

Demander à l'utilisateur de fournir soit :

  • URL : Télécharger une compétence depuis une URL (ex. gist GitHub)
  • Coller le contenu : Coller directement le contenu markdown de la compétence

Puis demander la portée :

  • Utilisateur (~/.claude/skills/omc-learned/) - Disponible dans tous les projets
  • Projet (.omc/skills/) - Uniquement pour ce projet

Valider le format de la compétence et enregistrer à l'emplacement choisi.


/skill scan

Commande rapide pour analyser les deux répertoires de compétences (sous-ensemble de /skill setup).

Comportement : Exécuter l'analyse de l'étape 2 de /skill setup sans l'assistant interactif.


Modèles de compétences

Lors de la création de compétences via /skill add ou /skill setup, proposer des modèles rapides pour les types de compétences courants :

Modèle de solution d'erreur

---
id: error-[unique-id]
name: [Nom de l'erreur]
description: Solution pour [erreur spécifique dans un contexte spécifique]
source: conversation
triggers: ["fragment de message d'erreur", "chemin de fichier", "symptôme"]
quality: high
---

# [Nom de l'erreur]

## Le constat
Quelle est la cause sous-jacente de cette erreur ? Quel principe avez-vous découvert ?

## Pourquoi c'est important
Qu'est-ce qui ne va pas si vous ne le savez pas ? Quel symptôme vous a mené ici ?

## Pattern de reconnaissance
Comment savez-vous quand cela s'applique ? Quels sont les signes ?
- Message d'erreur : "[erreur exacte]"
- Fichier : [chemin de fichier spécifique]
- Contexte : [quand cela se produit-il]

## Le correctif

[Solution détaillée étape par étape]


## Cas particuliers
- [Cas particulier 1] : [Solution]
- [Cas particulier 2] : [Solution]

## Prévention
Comment éviter cette erreur à l'avenir ?

## Exemple

/oh-my-claudecode:[nom] [arguments]


Modèle de compétence de workflow

---
id: workflow-[unique-id]
name: [Nom du workflow]
description: [Description du workflow]
source: conversation
triggers: ["mot-clé 1", "mot-clé 2"]
---

# [Nom du workflow]

## Objectif
[Objectif de ce workflow]

## Quand l'utiliser
[Conditions et contexte d'utilisation]

## Étapes

### Étape 1 : [Nom de l'étape]
[Description et commandes]

### Étape 2 : [Nom de l'étape]
[Description et commandes]

### Étape 3 : [Nom de l'étape]
[Description et commandes]

## Exemple

/oh-my-claudecode:[nom] [arguments]


Modèle de compétence de configuration

---
id: config-[unique-id]
name: [Nom de la configuration]
description: [Description de la configuration]
source: conversation
triggers: ["config", "déploiement", "outil"]
---

# [Nom de la configuration]

## Objectif
[But de cette configuration]

## Prérequis
- [Condition préalable 1]
- [Condition préalable 2]

## Étapes de configuration

### 1. [Étape]
[Commandes et explications]

### 2. [Étape]
[Commandes et explications]

## Vérification
Comment vérifier que la configuration est correcte :

```bash
[Commande de vérification]

Dépannage

[Problème courant] → [Solution]

---

## Exemple complet : Transformation de pattern en compétence

### Exemple de conversation

Utilisateur : Je reçois "TypeError: Cannot read properties of undefined" dans React quand j'essaie d'accéder à state.data.user.name avant le chargement.

Assistant : C'est un problème courant. Vérifiez d'abord que state.data existe avant d'accéder aux propriétés imbriquées. Utilisez l'optionnel chaining : state.data?.user?.name ou déstructurez avec des valeurs par défaut.

Utilisateur : D'accord, mais comment appliquer cela systématiquement ?

Assistant : Vous pouvez créer une compétence avec /skill add react-safe-access qui enregistre ce pattern de gestion sécurisée des accès aux propriétés React.


### Compétence extraite résultante

```markdown
---
name: react-safe-access
description: Pattern d'accès sécurisé aux propriétés dans React avec optionnel chaining
triggers:
  - "TypeError: Cannot read properties of undefined"
  - "props.children.map"
  - "state.data"
  - "undefined is not an object"
  - "Cannot read property"
argument-hint: "[composant] [chemin de propriété]"
---

# Accès sécurisé aux propriétés React

## Objectif
Éviter les erreurs `TypeError: Cannot read properties of undefined`
lors de l'accès à des propriétés d'objets imbriqués dans les composants React.

## Quand l'activer
Activer lorsque l'utilisateur rencontre des erreurs de lecture de propriétés sur undefined
ou demande des patterns de gestion des valeurs optionnelles en React/JS.

## Workflow

1. **Identifier le point d'accès dangereux** : Repérer les accès au DOM
   comme `state.data.user.name` ou `props.items.map(...)`
2. **Appliquer l'optionnel chaining** (`?.`) :
   - Utiliser `state.data?.user?.name` au lieu de `state.data.user.name`
   - Cela retourne undefined plutôt que de lever une exception si une propriété intermédiaire est null/undefined
3. **Ajouter des valeurs par défaut si nécessaire** :
   - Utiliser `??` ou `||` : `state.data?.user?.name ?? 'inconnu'`
4. **Utiliser des gardes de chargement** :
   - Vérifier `if (state.isLoading) return <Loader />`
   - Vérifier `if (!state.data) return <Empty />`

## Exemples

/oh-my-claudecode:react-safe-access MonComposant "state.user.profile"


## Notes
- Applicable à toutes les versions modernes de React et JavaScript (ES2020+)
- L'optionnel chaining est pris en charge par create-react-app par défaut
- Ne pas utiliser l'optionnel chaining sur des accès garantis (comme "state" si toujours défini)
- Préférer des composants d'état dédiés (chargement, vide, erreur) pour une meilleure UX

Directives pour l'assistant

  1. Recommander l'extraction de compétence lorsqu'une interaction résout un problème non trivial, documente un pattern de codebase, ou établit un workflow reproductible
  2. Utiliser /skillify pour extraire des compétences de la conversation (invoqué par l'utilisateur ; /learner est déprécié pour compatibilité)
  3. Valider automatiquement les formats et donner un retour immédiat
  4. Proposer des actions de suivi après toute opération réussie (modifier, ajouter une autre, synchroniser)
  5. Pas d'édition directe des compétences intégrées ; orienter vers /skill edit pour créer des copies projet

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

Skills associés