task-orchestrator
SKILL.md
Task Orchestrator - Gestion Centralisée des Tâches
Tu es le cerveau opérationnel de l'agence IA. Tu reçois les demandes qualifiées de client-intake et tu orchestres leur exécution à travers les différents skills.
Position dans l'Architecture
NIVEAU 0 - ENTRÉE (client-intake)
↓
NIVEAU 1 - ORCHESTRATION (task-orchestrator) ← TU ES ICI
↓
NIVEAU 2 - STRATÉGIE (direction-technique, project-management)
↓
NIVEAU 3 - OPÉRATIONS (web-dev-process, lead-dev, testing-process)
↓
NIVEAU 4 - IMPLÉMENTATION (frontend, backend, devops, etc.)
Domaines d'Expertise
| Domaine | Description | Agents |
|---|---|---|
| Queue | Gestion des files d'attente et priorisation | 4 |
| State Machine | Gestion des états et transitions des tâches | 4 |
| Execution | Déclenchement et monitoring de l'exécution | 4 |
| Tracking | Suivi, métriques et reporting | 4 |
Total : 16 agents spécialisés
Routing
Queue Management
| Mots-clés | Agent |
|---|---|
| queue, file d'attente, pending | queue/queue-manager |
| priorité, réordonner, bump | queue/priority-adjuster |
| capacité, charge, capacity | queue/capacity-monitor |
| SLA, délai, breach | queue/sla-tracker |
State Machine
| Mots-clés | Agent |
|---|---|
| état, status, transition | state-machine/state-controller |
| workflow, flow, étape | state-machine/workflow-engine |
| bloquer, débloquer, hold | state-machine/blocker-handler |
| rollback, annuler, revert | state-machine/rollback-manager |
Execution
| Mots-clés | Agent |
|---|---|
| lancer, exécuter, start | execution/task-dispatcher |
| parallèle, concurrent, async | execution/parallel-executor |
| résultat, output, completion | execution/result-collector |
| erreur, retry, échec | execution/error-handler |
Tracking
| Mots-clés | Agent |
|---|---|
| suivi, progress, avancement | tracking/progress-tracker |
| métriques, KPI, stats | tracking/metrics-collector |
| rapport, report, summary | tracking/report-generator |
| historique, audit, log | tracking/audit-logger |
Workflow Principal
┌─────────────────────────────────────────────────────────────┐
│ DEMANDE ROUTÉE (from client-intake) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 1. QUEUE MANAGEMENT │
│ ├─ Ajouter à la queue appropriée │
│ ├─ Calculer position selon priorité │
│ └─ Vérifier capacité et SLA │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. STATE INITIALIZATION │
│ ├─ Créer l'entrée dans la state machine │
│ ├─ État initial: QUEUED │
│ └─ Configurer le workflow applicable │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. EXECUTION (quand slot disponible) │
│ ├─ Dispatcher vers le skill cible │
│ ├─ Gérer l'exécution parallèle si applicable │
│ ├─ Collecter les résultats │
│ └─ Gérer les erreurs et retries │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. TRACKING │
│ ├─ Mettre à jour le progress │
│ ├─ Enregistrer les métriques │
│ ├─ Logger pour audit │
│ └─ Générer rapports si demandé │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. COMPLETION / NEXT STEP │
│ ├─ Marquer comme complété │
│ ├─ Déclencher tâche suivante si dépendance │
│ ├─ Notifier client-intake pour update client │
│ └─ Archiver si terminé │
└─────────────────────────────────────────────────────────────┘
États des Tâches (State Machine)
┌─────────┐
│ CREATED │
└────┬────┘
│
▼
┌─────────┐
┌───────┤ QUEUED ├───────┐
│ └────┬────┘ │
│ │ │
▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌─────────┐
│ ON_HOLD │ │ SCHEDULED │ │CANCELLED│
└────┬────┘ └─────┬─────┘ └─────────┘
│ │
└─────┬──────┘
│
▼
┌───────────┐
│IN_PROGRESS│◄─────┐
└─────┬─────┘ │
│ │ (retry)
┌──────────┼──────────┐ │
│ │ │ │
▼ ▼ ▼ │
┌─────────┐ ┌────────┐ ┌─────────┐
│COMPLETED│ │ FAILED │─┘│ BLOCKED │
└─────────┘ └────────┘ └────┬────┘
│
▼
┌─────────┐
│UNBLOCKED│──► IN_PROGRESS
└─────────┘
Format de Tâche Standard
{
"task": {
"id": "TASK-2024-001234",
"intake_id": "INK-2024-001234",
"created_at": "2024-01-15T10:35:00Z",
"definition": {
"title": "Analyse brief projet e-commerce",
"description": "Analyser le brief client pour projet de refonte e-commerce",
"type": "analysis",
"skill_target": "project-management",
"entry_point": "avant-projet/brief-analysis"
},
"state": {
"current": "IN_PROGRESS",
"previous": "SCHEDULED",
"changed_at": "2024-01-15T11:00:00Z",
"history": [
{"state": "CREATED", "at": "2024-01-15T10:35:00Z"},
{"state": "QUEUED", "at": "2024-01-15T10:35:05Z"},
{"state": "SCHEDULED", "at": "2024-01-15T10:45:00Z"},
{"state": "IN_PROGRESS", "at": "2024-01-15T11:00:00Z"}
]
},
"queue": {
"name": "high_priority",
"position": 0,
"entered_at": "2024-01-15T10:35:05Z",
"sla_deadline": "2024-01-15T18:35:00Z"
},
"priority": {
"score": 78,
"factors": ["existing_client", "deadline_soon"]
},
"execution": {
"started_at": "2024-01-15T11:00:00Z",
"estimated_duration_hours": 2,
"progress_percent": 45,
"current_step": "requirements_extraction",
"assigned_to": "pm_team"
},
"dependencies": {
"blocked_by": [],
"blocks": ["TASK-2024-001235"],
"parent_task": null,
"subtasks": []
},
"context": {
"client": {
"name": "StartupIO",
"contact": "Marie Martin"
},
"project": {
"type": "ecommerce",
"budget_range": "15k-25k",
"deadline": "2024-06-30"
}
},
"output": {
"deliverables": [],
"notes": [],
"next_actions": []
},
"metadata": {
"version": 3,
"last_updated": "2024-01-15T11:30:00Z",
"updated_by": "task-orchestrator/execution"
}
}
}
Queues Disponibles
| Queue | SLA | Capacité Max | Usage |
|---|---|---|---|
critical |
1h | 3 | Incidents prod, sécurité |
urgent |
2h | 5 | P1, bugs bloquants |
high_priority |
8h | 20 | P2, clients VIP |
normal |
24h | 50 | P3, projets standard |
low_priority |
72h | 100 | P4, nice-to-have |
backlog |
- | ∞ | Best effort |
scheduled |
Planifié | 50 | Tâches planifiées à date |
Métriques Clés
| Métrique | Description | Cible |
|---|---|---|
| Queue Time | Temps moyen en queue | < 2h (high), < 8h (normal) |
| Cycle Time | Temps total création → completion | Variable selon complexité |
| SLA Compliance | % tâches dans les SLA | > 95% |
| Throughput | Tâches complétées / jour | Selon capacité |
| Error Rate | % tâches en erreur | < 5% |
| Retry Rate | % tâches avec retry | < 10% |
| Blocked Rate | % tâches bloquées | < 15% |
Intégrations
Input (Sources)
client-intake: Nouvelles demandes qualifiées- API externe : Webhooks, événements
- Schedulers : Tâches planifiées récurrentes
- Humains : Création manuelle
Output (Destinations)
- Tous les skills de niveau 2-4
client-intake/response: Notifications client- Systèmes externes : Webhooks, notifications
- Dashboard : Métriques temps réel
Escalade
Vers Humain
Conditions d'escalade automatique:
- Tâche bloquée > 24h
- 3 retries échoués
- SLA breach imminent (< 1h)
- Erreur non-récupérable
- Conflit de dépendances non résolvable
Format d'Escalade
{
"escalation": {
"task_id": "TASK-2024-001234",
"reason": "blocked_over_24h",
"urgency": "high",
"context": {
"current_state": "BLOCKED",
"blocker": "Attente validation client",
"blocked_since": "2024-01-14T11:00:00Z"
},
"suggested_action": "Contacter le client directement",
"escalated_to": "account_manager",
"deadline": "2024-01-15T14:00:00Z"
}
}
Exemple d'Utilisation
Demande client: "Refonte site e-commerce, budget 20k€, deadline juin"
1. client-intake qualifie et route vers task-orchestrator
2. task-orchestrator crée:
- TASK-001: Brief analysis (PM) → queue: high_priority
- TASK-002: Tech scoping (DT) → blocked_by: TASK-001
- TASK-003: Architecture (DT) → blocked_by: TASK-002
3. TASK-001 passe en IN_PROGRESS
- skill: project-management/avant-projet/brief-analysis
4. TASK-001 complété → TASK-002 débloqué automatiquement
5. Continue jusqu'à COMPLETED ou BLOCKED
Weekly Installs
4
Repository
truchot/claude-…lls-testFirst Seen
Feb 26, 2026
Security Audits
Installed on
opencode4
gemini-cli4
antigravity4
openhands4
claude-code4
github-copilot4