Files
agents_and_robots/.claude/rules/delete_agent.md
T
egutierrez 98da4f7521 docs: regla delete_agent.md y cierre de issue 0048
Nueva regla .claude/rules/delete_agent.md con instrucciones completas
para eliminar agentes (manual y automatizado). Actualiza index.md,
CLAUDE.md y cierra issue 0048.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:44:42 +00:00

4.5 KiB

Policy: Eliminar un agente o robot

Guia ejecutable para Claude. Seguir paso a paso sin desviarse.

Pipeline de eliminacion (7 pasos)

Revierte todo lo que create-full.sh genera:

 1. VALIDATE        → verificar que el agente existe
 2. STOP            → detener el proceso si esta corriendo
 3. DEACTIVATE      → desactivar usuario Matrix (Synapse admin API)
 4. REMOVE IMPORT   → eliminar blank import del launcher
 5. REMOVE ENV VARS → eliminar las 4 env vars del .env
 6. DELETE FILES    → borrar directorio del agente + runtime files
 7. REBUILD         → recompilar el launcher

Ruta rapida — script automatizado

# Con confirmacion interactiva
./dev-scripts/agent/delete-full.sh <agent-id>

# Sin confirmacion (automatizacion)
./dev-scripts/agent/delete-full.sh <agent-id> --force

# Preservar usuario Matrix (soft delete, puede recrearse)
./dev-scripts/agent/delete-full.sh <agent-id> --keep-matrix

El script ejecuta los 7 pasos en orden. Si algun paso falla de forma no-fatal, continua con los siguientes.

Inputs — preguntar al usuario si no los da

Input Requerido Default Ejemplo
agent-id si wikipedia-bot
--force no false sin confirmacion
--keep-matrix no false preserva usuario Matrix

Scripts atomicos disponibles

Cada paso es un script independiente reutilizable:

Script Que hace
dev-scripts/agent/deactivate-matrix.sh <id> Desactiva usuario Matrix via Synapse admin API
dev-scripts/agent/remove-launcher-import.sh <id> Elimina blank import de cmd/launcher/main.go
dev-scripts/agent/remove-env-vars.sh <id> Elimina las 4 env vars del .env

Que se elimina

Artefacto Creado por Eliminado por
agents/<id>/ (agent.go, config.yaml, prompts/, data/) new-agent.sh delete-full.sh paso 6
Blank import en cmd/launcher/main.go new-agent.sh remove-launcher-import.sh
MATRIX_TOKEN_<NORM> en .env register.sh remove-env-vars.sh
MATRIX_PASSWORD_<NORM> en .env register.sh remove-env-vars.sh
PICKLE_KEY_<NORM> en .env register.sh remove-env-vars.sh
SSSS_RECOVERY_KEY_<NORM> en .env verify.sh remove-env-vars.sh
Usuario Matrix @<id>:<server> register.sh deactivate-matrix.sh
Cross-signing keys + crypto store verify.sh Eliminados con data/crypto/
Avatar y display name auto-avatar Se eliminan al desactivar usuario Matrix
PID file, log files Runtime delete-full.sh paso 6

Eliminacion manual (sin script)

Si el script no esta disponible o falla, estos son los pasos manuales:

1. Detener el agente

# Buscar PIDs
pgrep -f "launcher.*agents/<id>/config.yaml"
# Matar procesos
kill <PID>

2. Desactivar usuario Matrix

curl -X POST "${MATRIX_HOMESERVER}/_synapse/admin/v1/deactivate/@<id>:${MATRIX_SERVER_NAME}" \
  -H "Authorization: Bearer ${MATRIX_ADMIN_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"erase": false}'

3. Eliminar import del launcher

Editar cmd/launcher/main.go y borrar la linea:

_ "github.com/enmanuel/agents/agents/<id>"

4. Eliminar env vars

Borrar de .env:

MATRIX_TOKEN_<NORM>=...
MATRIX_PASSWORD_<NORM>=...
PICKLE_KEY_<NORM>=...
SSSS_RECOVERY_KEY_<NORM>=...

5. Eliminar archivos

rm -rf agents/<id>/
rm -f run/<id>.pid run/<id>.log
rm -rf logs/<id>/

6. Recompilar

go build -tags goolm ./...

Disable vs Delete

  • remove.sh (disable): marca enabled: false en config.yaml. El agente no arranca pero todos los archivos, datos y usuario Matrix se preservan. Reversible.
  • delete-full.sh (delete): elimina todo. Irreversible (excepto con --keep-matrix).

Usar remove.sh cuando se quiere desactivar temporalmente. Usar delete-full.sh cuando se quiere eliminar permanentemente.

Proteccion contra agentes del sistema

Los directorios con prefijo _ en agents/ son del sistema (_template, _template_robot, _specials). El script permite eliminar agentes dentro de _specials/ (como father-bot) pero no elimina los templates.

Reglas

  • Siempre confirmar antes de eliminar (a menos que se use --force)
  • Rebuild obligatorio tras eliminar el import — si no, el launcher no compila
  • No eliminar agentes que no existen — validar primero
  • Desactivar Matrix es no-fatal — si falla, los demas pasos continuan
  • Nunca eliminar templates (_template, _template_robot)