Coordina multipli agenti AI CLI (Kimi, Claude, Gemini, OpenAI, ecc.) che lavorano contemporaneamente sullo stesso progetto e mantiene una memoria collettiva (wiki) di tutte le sessioni passate. Usa questa skill SEMPRE quando lavori in parallelo con altre AI CLI, quando devi salvare lo stato di una sessione condivisa, quando vuoi evitare sovrascritture su file toccati da altri agenti, quando devi chiedere "questo lavoro è già stato fatto? questo bug si è già visto?", o quando l'utente parla di "multi-tap", "registry agenti", "coordination", "lock file", "handoff condiviso", "wiki delle sessioni", "chi sta lavorando su cosa" o "evitare che le AI si pestino i piedi".
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Un solo docker/Dockerfile (python:3.13-slim + git/curl) installa scripts/ e tutte le
deps (scripts/webapp/requirements.txt + scripts/requirements.txt). I servizi db,
dashboard, code, watchdog usano la stessa immagine agent-registry:local con command
diversi. wa-gateway usa l'immagine esterna di open-wa. Uvicorn ascolta su 0.0.0.0 per
essere raggiungibile via dominio OrbStack.
AGENT_REGISTRY_HOME=/dataNamed volume agent-registry-data montato su /data in db/dashboard/code/watchdog; mai
AGENT_REGISTRY_PATH. Default = sandbox isolata dall'host. Alternativa documentata (non
default): bind-mount ~/.agent-registry:/data per condividere con gli agenti host.
Label dev.orbstack.domains per ogni servizio: <servizio>.agent-registry.orb.local (il
gateway usa wa.). Nessun reverse proxy esterno.
restart: unless-stopped su tutti i servizi; healthcheck HTTP su /api/sync. Con OrbStack
attivo al login il compose riparte dopo un riavvio.
.env gitignored + .env.example con placeholder. KIMI_API_KEY → code; WA_* →
watchdog/gateway; auth git del db = mount read-only di ~/.gitconfig e ~/.ssh. Nessun
segreto nel Dockerfile o nel repo.
classify_events (pura, testata) confronta lo stato corrente col precedente e emette
executed (→Finished), stopped (→Stop/Killed), idle (OnWorking senza attività da
soglia, default 3600s), ognuno una sola volta. Lo stato è persistito in
/data/.watchdog-state.json.last_activity= mtime del file sessione (proxy dell'ultimo aggiornamento/heartbeat). Messaggi scelti a caso dal pool, placeholder sostituiti in modo robusto (nientestr.format, tollera graffe rogue).
fcntl regge solo su volume locale condiviso (no NFS).POST /api/sessions/{id}/messages/send-text con
body {"chatId": "<numero>@c.us", "text": "..."} e header X-API-Key; immagine
ghcr.io/rmyndharis/openwa:latest (multi-arch), porta 2785. Resta da validare col gateway
reale al primo invio (path interno del volume sessione ancora da confermare).last_activity da mtime è un proxy: se un heartbeat aggiorna solo il lock e non il file
sessione, l'idle potrebbe scattare prima; da rifinire dopo verifica reale..claude
commands
.tessl-plugin
docker
openspec
changes
2026-07-22-dockerize-sandbox
agent-registry-sync-setup-wizard
archive
2026-07-16-fix-cross-process-coordination
schemas
spec-as-source
templates
scripts
templates
tests
docker
notifier