""" Skill : PLAN Exécute un plan de tâches séquentiel entre plusieurs agents. Les résultats de chaque étape sont passés en contexte à la suivante. Format : PLAN: | ;; | ;; ... Exemple : PLAN: agent2_debian13 | Vérifier l'espace disque ;; agent2_debian13 | Nettoyer les paquets inutiles """ from pathlib import Path SKILL_NAME = "plan" TRIGGER = "PLAN:" def execute(args: str) -> str: from skills.delegate import execute as delegate_exec steps_raw = [s.strip() for s in args.split(";;") if s.strip()] if not steps_raw: return "Erreur : plan vide. Format : PLAN: | ;; | " steps = [] for s in steps_raw: if "|" not in s: return "Erreur étape «{}» : format attendu | ".format(s) agent, _, task = s.partition("|") steps.append((agent.strip(), task.strip())) report = ["Plan d'exécution ({} étape(s)) :".format(len(steps))] context = "" for i, (agent, task) in enumerate(steps, 1): full_task = task if context: full_task = "{}\n[Contexte étape précédente]\n{}".format(task, context) report.append("\n── Étape {}/{} → [{}] ──".format(i, len(steps), agent)) result = delegate_exec("{} | {}".format(agent, full_task)) report.append(result) context = result # passe le résultat à l'étape suivante report.append("\n── Plan terminé ──") return "\n".join(report)