Azkae/agent-shell

Cette compétence est utilisée lorsque l'utilisateur demande de créer un nouvel agent (ou agent-shell). Elle crée un worktree git isolé pour le nouvel agent, exécute toute configuration du dépôt, puis lance l'agent.

Qu'est-ce que agent-shell ?

Cette compétence permet de lancer un nouvel agent shell isolé dans Emacs, en utilisant agent-shell. Elle est utile pour les développeurs qui souhaitent déléguer des tâches à des agents IA (comme Claude, Codex ou Opencode) dans un environnement de travail propre et séparé. La compétence crée automatiquement un worktree git isolé dans `.agent-shell/worktrees/`, puis exécute les étapes de configuration du dépôt (installation des dépendances, copie de fichiers `.env.example`, etc.) avant de lancer l'agent dans Emacs via `emacsclient`. Elle prend en charge plusieurs agents et s'adapte automatiquement à l'agent en cours d'exécution, sauf si l'utilisateur en spécifie un autre. En cas d'échec, elle fournit la commande manuelle à exécuter.

Compatible avec✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/Azkae/agent-skills/tree/HEAD/skills/agent-shell

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

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

Documentation

Créer un nouvel agent-shell

Lancer un nouvel agent-shell lorsque l'utilisateur le demande. Le nouvel agent s'exécute dans Emacs via agent-shell et travaille sur un worktree git isolé.

Étapes

1. Déterminer les paramètres

  • Sujet : Sur quelle tâche le nouvel agent doit-il travailler ? Demander à l'utilisateur si ce n'est pas clair.
  • Nom : Un nom court en kebab-case basé sur la tâche (ex. refactor-auth, fix-login-bug, add-dark-mode).
  • Agent : Quel agent utiliser (ex. claude, codex, opencode). Utiliser le même agent que celui qui exécute actuellement cette compétence, sauf si l'utilisateur spécifie autrement.

2. Créer le worktree

Créer un worktree git dans .agent-shell/worktrees/ au sein du dépôt courant, sur une nouvelle branche nommée agent/<name> :

git worktree add -b "agent/<name>" ".agent-shell/worktrees/<name>"

3. Exécuter la configuration du dépôt

Vérifier la présence de fichiers de configuration dans le worktree et les exécuter. Rechercher :

  • CLAUDE.md, AGENTS.md, README.md — commandes de configuration/construction/installation
  • Makefile — make setup ou make install
  • package.json — npm install / npm ci / pnpm install / yarn install
  • pyproject.toml / requirements.txt — uv sync / pip install -e .
  • Gemfile — bundle install
  • Cargo.toml — cargo fetch
  • .env.example — copier vers .env

Exécuter les commandes de configuration dans le répertoire du worktree :

cd ".agent-shell/worktrees/<name>" && <commande-de-configuration>

4. Lancer l'agent dans Emacs

Appeler emacsclient pour démarrer le nouvel agent shell :

emacsclient -e '(my/agent-shell-make
   :prompt "<description de la tâche>"
   :name "<nom-du-worktree>"
   :agent "<agent>"
   :directory "<chemin-absolu-vers-le-worktree>")'

Exemple :

emacsclient -e '(my/agent-shell-make
   :prompt "Refactoriser l'authentification pour utiliser async/await. Voir @..."
   :name "refactor-auth"
   :agent "claude"
   :directory "/Users/me/projects/my-app/.agent-shell/worktrees/refactor-auth")'

Utiliser le chemin absolu pour :directory.

5. Informer l'utilisateur

Dire à l'utilisateur :

  • Le chemin du worktree et le nom de la branche
  • Quelle configuration a été exécutée (ou qu'aucune configuration n'était nécessaire)
  • Que le nouvel agent a été lancé dans Emacs

Règles

  • Toujours créer le worktree dans .agent-shell/worktrees/ au sein du dépôt courant.
  • Toujours créer une nouvelle branche nommée agent/<name> pour le worktree.
  • Toujours utiliser des chemins absolus pour :directory.
  • Utiliser le même :agent que celui qui exécute actuellement cette compétence, sauf si l'utilisateur spécifie autrement.
  • Exécuter toutes les commandes via l'outil Bash.
  • Si Emacs n'est pas en cours d'exécution ou si emacsclient échoue, signaler l'erreur à l'utilisateur avec la commande manuelle à exécuter.

Skills associés