traduction

This commit is contained in:
2026-06-02 23:24:21 +02:00
parent 89ed5d7f86
commit e8f2b1a034
114 changed files with 17211 additions and 0 deletions
@@ -0,0 +1,104 @@
# Implémentation des équipes d'agents
![Last Updated](https://img.shields.io/badge/Last_Updated-Mar_12%2C_2026-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#time-orchestration"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
<p align="center">
<img src="../../implementation/assets/impl-agent-teams.png" alt="Équipes d'agents en action — mode panneaux divisés avec tmux" width="100%">
</p>
Les équipes d'agents instancient **plusieurs sessions Claude Code indépendantes** qui se coordonnent via une liste de tâches partagée. Contrairement aux sous-agents (forks de contexte isolés au sein d'une seule session), chaque coéquipier obtient sa propre fenêtre de contexte complète avec CLAUDE.md, serveurs MCP et skills chargés automatiquement.
---
## ![How to Use](../../!/tags/how-to-use.svg)
Le workflow d'orchestration du temps a été entièrement construit par une équipe d'agents. Pour exécuter le produit fini :
```bash
cd agent-teams
claude
/time-orchestrator
```
Cela invoque le pipeline **Command → Agent → Skill** : l'agent récupère l'heure actuelle de Dubaï, et le skill rend une carte SVG du temps dans `agent-teams/output/dubai-time.svg`.
---
## ![How to Implement](../../!/tags/how-to-implement.svg)
Tu peux créer une réplique du workflow d'orchestration météo avec des équipes d'agents — dans cet exemple, le workflow d'orchestration du temps a été entièrement construit par une équipe d'agents.
### 1. Installe [iTerm2](https://iterm2.com/) et tmux
```bash
brew install --cask iterm2
brew install tmux
```
### 2. Lance iTerm2 → tmux → Claude
```bash
tmux new -s dev
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude
```
### 3. Prompte avec la structure d'équipe
<a id="time-orchestration"></a>
Colle ce prompt dans Claude pour amorcer un workflow complet d'orchestrateur de temps avec des équipes d'agents :
Prompt principal : **[agent-teams-prompt.md](../agent-teams/agent-teams-prompt.md)**
### Flux de coordination de l'équipe
> Le diagramme ci-dessous est conservé tel quel : il contient les chemins de fichiers et la checklist d'invariants techniques que l'équipe doit respecter.
```
┌──────────────────────────────────────────────────────────────┐
│ LEAD (You) │
│ "Create an agent team to build time orchestration" │
└──────────────────────────┬───────────────────────────────────┘
│ spawns team (all parallel)
┌────────────┼────────────┐
▼ ▼ ▼
┌────────────────┐ ┌──────────┐ ┌──────────────┐
│ Command │ │ Agent │ │ Skill │
│ Architect │ │ Engineer │ │ Designer │
│ │ │ │ │ │
│ agent-teams/ │ │ agent- │ │ agent-teams/ │
│ .claude/ │ │ teams/ │ │ .claude/ │
│ commands/ │ │ .claude/ │ │ skills/ │
│ time- │ │ agents/ │ │ time-svg- │
│ orchestrator.md│ │ time- │ │ creator/ │
│ │ │ agent.md │ │ │
└───────┬────────┘ └────┬─────┘ └──────┬───────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────┐
│ Shared Task List │
│ ☐ Agree on data contract: {time, tz, formatted} │
│ ☐ Command uses Agent tool (not bash) │
│ ☐ Agent preloads time-fetcher skill │
│ ☐ Skill reads time from context (no re-fetch) │
│ ☐ All files inside agent-teams/.claude/ │
└──────────────────────────────────────────────────┘
┌──────────────────────────────┐
│ cd agent-teams && claude │
│ /time-orchestrator │
│ Command → Agent → Skill │
└──────────────────────────────┘
```
@@ -0,0 +1,83 @@
# Implémentation des commandes
![Last Updated](https://img.shields.io/badge/Last_Updated-Mar_02%2C_2026-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#weather-orchestrator"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
La commande weather orchestrator est implémentée dans ce repo comme point d'entrée du pattern d'architecture **Command → Agent → Skill**, démontrant comment les commandes orchestrent des workflows multi-étapes.
---
## Weather Orchestrator
**Fichier** : [`.claude/commands/weather-orchestrator.md`](../../.claude/commands/weather-orchestrator.md)
```yaml
---
description: Fetch weather data for Dubai and create an SVG weather card
model: haiku
---
# Weather Orchestrator Command
Fetch the current temperature for Dubai, UAE and create a visual SVG weather card.
## Workflow
### Step 1: Ask User Preference
Use the AskUserQuestion tool to ask the user whether they want the temperature
in Celsius or Fahrenheit.
### Step 2: Fetch Weather Data
Use the Agent tool to invoke the weather agent:
- subagent_type: weather-agent
- prompt: Fetch the current temperature for Dubai, UAE in [unit]...
### Step 3: Create SVG Weather Card
Use the Skill tool to invoke the weather-svg-creator skill:
- skill: weather-svg-creator
...
```
La commande orchestre l'ensemble du workflow : elle demande à l'utilisateur sa préférence d'unité de température, invoque le `weather-agent` via l'outil Agent, puis invoque le skill `weather-svg-creator` via l'outil Skill.
---
## ![How to Use](../../!/tags/how-to-use.svg)
```bash
$ claude
> /weather-orchestrator
```
---
## ![How to Implement](../../!/tags/how-to-implement.svg)
Demande à Claude d'en créer une pour toi — il génère le fichier markdown avec frontmatter YAML et corps dans `.claude/commands/<name>.md`
---
<a href="https://github.com/shanraisshan/claude-code-best-practice#orchestration-workflow"><img src="../../!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
Le weather orchestrator est la **Command** dans le pattern d'orchestration Command → Agent → Skill. Il sert de point d'entrée — gérant l'interaction utilisateur (préférence d'unité de température), déléguant la récupération des données au `weather-agent`, et invoquant le skill `weather-svg-creator` pour la sortie visuelle.
<p align="center">
<img src="../../orchestration-workflow/orchestration-workflow.svg" alt="Flux d'architecture Command Skill Agent" width="100%">
</p>
| Composant | Rôle | Dans ce repo |
|-----------|------|-----------|
| **Command** | Point d'entrée, interaction utilisateur | [`/weather-orchestrator`](../../.claude/commands/weather-orchestrator.md) |
| **Agent** | Récupère les données avec un skill préchargé (skill d'agent) | [`weather-agent`](../../.claude/agents/weather-agent.md) avec [`weather-fetcher`](../../.claude/skills/weather-fetcher/SKILL.md) |
| **Skill** | Crée la sortie indépendamment (skill) | [`weather-svg-creator`](../../.claude/skills/weather-svg-creator/SKILL.md) |
@@ -0,0 +1,86 @@
# Implémentation de Goal
![Last Updated](https://img.shields.io/badge/Last_Updated-May_13%2C_2026-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#astuces-goal-de-la-communauté"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
`/goal` garde ton agent au travail tour après tour jusqu'à ce qu'une condition soit satisfaite — Claude Code, Codex et Hermes Agent le supportent tous. La communauté converge vers quelques astuces de prompting à fort levier qui s'y marient bien.
---
## Astuces Goal de la communauté
### 1. Demande à l'agent de proposer ses propres objectifs
<p align="center">
<img src="../../implementation/assets/impl-goal-claude.png" alt="Tweet d'Alex Finn — /goal est la fonctionnalité IA la plus sous-estimée de 2026" width="50%">
</p>
> C'est officiel. Claude Code vient de sortir /goal
>
> La fonctionnalité IA la plus sous-estimée de 2026
>
> Maintenant Claude Code, Codex et l'agent Hermes l'ont
>
> Elle permet à ton agent d'accomplir des tâches de longue haleine, parfois pendant des jours
>
> TOUT LE MONDE devrait immédiatement lancer ce prompt :
>
> 'Based on what you know about me, my goals, ambitions, and what we've built together already, what are the 3 /goals we can run right now that would run for long time periods and produce the best results?'
>
> Choisis-en un, puis demande-lui de te construire un prompt
>
> Tu devrais obtenir quelques options de prompts de goal super puissants qui feront accomplir à ton agent des tâches de longue haleine produisant des résultats bluffants.
>
> Réserve 15 minutes ce soir pour faire ça. Tu me remercieras plus tard.
**Source :** [Alex Finn (@AlexFinn) sur X](https://x.com/AlexFinn/status/2053976411296452887)
---
### 2. Laisse l'agent rédiger le prompt /goal pour toi
<p align="center">
<img src="../../implementation/assets/impl-goal-codex.png" alt="Tweet de Meta Alchemist — astuce /goal pour Codex" width="50%">
</p>
> tu veux connaître la meilleure astuce /goal pour Codex ?
>
> dis simplement à ton Codex :
>
> "read this session and repo, analyze deeply the exact intent and goals we are looking to achieve here then write me the /goal prompt for this.
>
> make sure to dig into history & docs we have to be 100% clear"
>
> tu peux aussi ajouter :
>
> "if you are not sure about certain parts or wanna ask me a few questions to clarify certain goals further don't hesitate"
>
> puis copie-colle simplement ce que Codex te donne en changeant la partie initiale en /goal
>
> et il fera exactement ce que tu voulais faire dans cette session / ce repo, sans s'arrêter jusqu'à l'achèvement.
**Source :** [Meta Alchemist (@meta_alchemist) sur X](https://x.com/meta_alchemist/status/2054214497443995694)
---
## ![How to Use](../../!/tags/how-to-use.svg)
```bash
$ claude
> /goal <condition>
> /goal clear
```
`/goal <condition>` garde Claude au travail tour après tour jusqu'à ce qu'une condition évaluée par Haiku soit remplie. C'est complémentaire à `/loop` (piloté par le temps) et au mode auto (par outil). Requiert Claude Code v2.1.139+.
Voir la [documentation officielle](https://code.claude.com/docs/en/goal) pour le comportement complet.
@@ -0,0 +1,60 @@
# Implémentation des tâches planifiées
![Last Updated](https://img.shields.io/badge/Last_Updated-Mar_10%2C_2026-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#démo-loop"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
Le skill `/loop` sert à planifier des tâches récurrentes sur un intervalle cron. Ci-dessous une démo de `/loop 1m "tell current time"` — une simple tâche récurrente qui se déclenche chaque minute.
---
## Démo Loop
### 1. Planifier la tâche
<p align="center">
<img src="../../implementation/assets/impl-loop-1.png" alt="/loop 1m tell current time — planification et configuration cron" width="100%">
</p>
`/loop 1m "tell current time"` parse l'intervalle (`1m` → toutes les 1 minute), crée un job cron et confirme la planification. Notes clés :
- La granularité minimale de cron est **1 minute**`1m` correspond à `*/1 * * * *`
- Les tâches récurrentes **expirent automatiquement après 3 jours**
- Les jobs ont une **portée de session** — ils vivent uniquement en mémoire et s'arrêtent quand Claude quitte
- Annule à tout moment avec `cron cancel <job-id>`
---
### 2. Loop en action
<p align="center">
<img src="../../implementation/assets/impl-loop-2.png" alt="Tâche récurrente se déclenchant chaque minute" width="100%">
</p>
La tâche se déclenche chaque minute, exécute `date` et rapporte l'heure actuelle. Chaque itération déclenche les hooks asynchrones **UserPromptSubmit** et **Stop** — le même système de hooks utilisé tout au long de ce repo pour les notifications sonores.
---
## ![How to Use](../../!/tags/how-to-use.svg)
```bash
$ claude
> /loop 1m "tell current time"
> /loop 5m /simplify
> /loop 10m "check deploy status"
```
---
## ![How to Implement](../../!/tags/how-to-implement.svg)
`/loop` est un skill intégré de Claude Code — aucune configuration requise. Il utilise les outils cron (`CronCreate`, `CronList`, `CronDelete`) sous le capot pour gérer les planifications récurrentes.
@@ -0,0 +1,120 @@
# Implémentation des skills
![Last Updated](https://img.shields.io/badge/Last_Updated-Mar_02%2C_2026-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#weather-svg-creator"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
Deux skills sont implémentés dans ce repo dans le cadre du pattern d'architecture **Command → Agent → Skill**, démontrant deux patterns d'invocation de skill distincts : les **skills d'agent** (préchargés) et les **skills** (invoqués directement).
---
## Weather SVG Creator (Skill)
**Fichier** : [`.claude/skills/weather-svg-creator/SKILL.md`](../../.claude/skills/weather-svg-creator/SKILL.md)
```yaml
---
name: weather-svg-creator
description: Creates an SVG weather card showing the current temperature for
Dubai. Writes the SVG to orchestration-workflow/weather.svg and updates
orchestration-workflow/output.md.
---
# Weather SVG Creator Skill
This skill creates a visual SVG weather card and writes the output files.
## Task
Create an SVG weather card displaying the temperature for Dubai, UAE,
and write it along with a summary to output files.
## Instructions
You will receive the temperature value and unit (Celsius or Fahrenheit)
from the calling context.
### 1. Create SVG Weather Card
Generate a clean SVG weather card...
### 2. Write SVG File
Write the SVG content to `orchestration-workflow/weather.svg`.
### 3. Write Output Summary
Write to `orchestration-workflow/output.md`...
...
```
C'est un **skill** — invoqué directement par la commande via l'outil Skill. Il reçoit les données de température depuis le contexte de conversation et crée la carte météo SVG et le résumé de sortie.
---
## Weather Fetcher (Skill d'agent)
**Fichier** : [`.claude/skills/weather-fetcher/SKILL.md`](../../.claude/skills/weather-fetcher/SKILL.md)
```yaml
---
name: weather-fetcher
description: Instructions for fetching current weather temperature data
for Dubai, UAE from Open-Meteo API
user-invocable: false
---
# Weather Fetcher Skill
This skill provides instructions for fetching current weather data.
## Task
Fetch the current temperature for Dubai, UAE in the requested unit
(Celsius or Fahrenheit).
## Instructions
1. Fetch Weather Data: Use the WebFetch tool to get current weather data
- Celsius URL: https://api.open-meteo.com/v1/forecast?latitude=25.2048&longitude=55.2708&current=temperature_2m&temperature_unit=celsius
- Fahrenheit URL: https://api.open-meteo.com/v1/forecast?latitude=25.2048&longitude=55.2708&current=temperature_2m&temperature_unit=fahrenheit
2. Extract Temperature: From the JSON response, extract `current.temperature_2m`
3. Return Result: Return the temperature value and unit clearly.
...
```
C'est un **skill d'agent** — préchargé dans le `weather-agent` au démarrage via le champ de frontmatter `skills:`. Il n'est pas invoqué directement ; à la place, il sert de connaissance de domaine injectée dans le contexte de l'agent. Note `user-invocable: false` qui le masque du menu de commandes `/`.
---
## Deux patterns de skill
| Pattern | Invocation | Exemple | Différence clé |
|---------|-----------|---------|----------------|
| **Skill** | `Skill(skill: "name")` | `weather-svg-creator` | Invoqué directement via l'outil Skill |
| **Skill d'agent** | Préchargé via le champ `skills:` | `weather-fetcher` | Injecté dans le contexte de l'agent au démarrage |
---
## ![How to Use](../../!/tags/how-to-use.svg)
**Skill** — invoque directement via une commande slash :
```bash
$ claude
> /weather-svg-creator
```
---
## ![How to Implement](../../!/tags/how-to-implement.svg)
Demande à Claude d'en créer un pour toi — il génère le fichier markdown avec frontmatter YAML et corps dans `.claude/skills/my-skill/SKILL.md`
# My Skill
Instructions for what the skill does.
```
@@ -0,0 +1,98 @@
# Implémentation des sous-agents
![Last Updated](https://img.shields.io/badge/Last_Updated-Mar_02%2C_2026_07%3A59_PM_PKT-white?style=flat&labelColor=555)
<table width="100%">
<tr>
<td><a href="../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>
---
<a href="#weather-agent"><img src="../../!/tags/implemented-hd.svg" alt="Implemented"></a>
Le weather agent est implémenté dans ce repo comme exemple du pattern d'architecture **Command → Agent → Skill**, démontrant deux patterns de skill distincts.
---
## Weather Agent
**Fichier** : [`.claude/agents/weather-agent.md`](../../.claude/agents/weather-agent.md)
```yaml
---
name: weather-agent
description: Use this agent PROACTIVELY when you need to fetch weather data for
Dubai, UAE. This agent fetches real-time temperature from Open-Meteo
using its preloaded weather-fetcher skill.
allowedTools:
- "Read"
- "Skill"
model: sonnet
color: green
maxTurns: 5
permissionMode: acceptEdits
memory: project
skills:
- weather-fetcher
---
# Weather Agent
You are a specialized weather agent that fetches weather data for Dubai,
UAE.
## Your Task
Execute the weather workflow by following the instructions from your preloaded
skill:
1. **Fetch**: Follow the `weather-fetcher` skill instructions to fetch the
current temperature
2. **Report**: Return the temperature value and unit to the caller
3. **Memory**: Update your agent memory with the reading details for
historical tracking
...
```
L'agent a un skill préchargé (`weather-fetcher`) qui fournit les instructions pour récupérer depuis Open-Meteo. Il renvoie la valeur de température et l'unité à la commande appelante.
---
## ![How to Use](../../!/tags/how-to-use.svg)
```bash
$ claude
> what is the weather in dubai?
```
---
## ![How to Implement](../../!/tags/how-to-implement.svg)
Tu peux créer un agent avec la commande `/agents`,
```bash
$ claude
> /agents
```
ou demander à Claude d'en créer un pour toi — il génère le fichier markdown avec frontmatter YAML et corps dans `.claude/agents/<name>.md`
---
<a href="https://github.com/shanraisshan/claude-code-best-practice#orchestration-workflow"><img src="../../!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
Le weather agent est l'**Agent** dans le pattern d'orchestration Command → Agent → Skill. Il reçoit le workflow de la commande `/weather-orchestrator` et récupère la température via son skill préchargé (`weather-fetcher`). La commande invoque ensuite le skill autonome `weather-svg-creator` pour créer la sortie visuelle.
<p align="center">
<img src="../../orchestration-workflow/orchestration-workflow.svg" alt="Flux d'architecture Command Skill Agent" width="100%">
</p>
| Composant | Rôle | Dans ce repo |
|-----------|------|-----------|
| **Command** | Point d'entrée, interaction utilisateur | [`/weather-orchestrator`](../../.claude/commands/weather-orchestrator.md) |
| **Agent** | Récupère les données avec un skill préchargé (skill d'agent) | [`weather-agent`](../../.claude/agents/weather-agent.md) avec [`weather-fetcher`](../../.claude/skills/weather-fetcher/SKILL.md) |
| **Skill** | Crée la sortie indépendamment (skill) | [`weather-svg-creator`](../../.claude/skills/weather-svg-creator/SKILL.md) |