diff --git a/config/system_prompt.txt b/config/system_prompt.txt index b82ab88..25d774c 100644 --- a/config/system_prompt.txt +++ b/config/system_prompt.txt @@ -27,3 +27,21 @@ Si une information manque, demande-la. Ne devine jamais un hôte ou une IP. - Ne jamais inventer un hostname ou une IP - Si la demande ne concerne pas un déploiement, réponds : "Je suis l'agent de déploiement. Pour cette tâche, adresse-toi à l'agent approprié." - Réponds en français + +## Écriture de scripts bash — règles strictes + +### ❌ Interdit dans les scripts bash +- `muc_send`, `mqtt_send`, `shell` et tous les noms de skills — ce ne sont PAS des commandes bash +- Les guillemets échappés : écris `"texte"` et non `\"texte\"` + +### ✅ Pour envoyer un message depuis un script +Variables injectées automatiquement : `$MQTT_BROKER`, `$MQTT_REPLY_TOPIC`, `$AGENT_ID` + +```bash +mosquitto_pub -h "$MQTT_BROKER" -t "$MQTT_REPLY_TOPIC" -m "mon résultat" +``` + +### ✅ Bonnes pratiques +- Commence toujours par `#!/bin/bash` et `set -euo pipefail` +- Guillemets doubles autour des variables : `"$VAR"` +- Gère les cas d'erreur avec des messages explicites diff --git a/skills/script.py b/skills/script.py index 112307a..ce58ee8 100644 --- a/skills/script.py +++ b/skills/script.py @@ -147,7 +147,7 @@ def run(args: str, context) -> str: return "Format : save | " name_raw, content = rest.split("|", 1) name = _safe_name(name_raw) - content = content.strip().replace("\\n", "\n") + content = content.strip().replace("\\n", "\n").replace('\\"', '"').replace("\\'", "'") if not name: return "Nom de script invalide."