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
Il registry manager SHALL serializzare l'intero ciclo di lettura-modifica-scrittura del registry, in modo che aggiornamenti provenienti da processi distinti e simultanei siano tutti preservati. Il lock che protegge il ciclo MUST essere tenuto su un file dedicato che non viene mai sostituito, così che la scrittura atomica del registry tramite rename non invalidi il lock stesso; il manager MUST NOT eseguire la lettura fuori dalla sezione critica che ne protegge la scrittura.
Verified by: [@test] tests/test_registry_concurrency.py
session_id diversiIl registry manager SHALL registrare una sessione con session_id, provider, versione del modello, descrizione del lavoro, aree toccate e todo correnti, assegnandole stato OnWorking e istante di avvio. Registrare un session_id già presente MUST sostituire la voce esistente invece di duplicarla.
Verified by: [@test] tests/test_registry_manager.py
session_id non presenteOnWorking e i campi fornitisession_id già presentesession_id, con i dati aggiornatiIl registry manager SHALL permettere di aggiornare i campi di una sessione esistente lasciando invariati quelli non specificati, e MUST segnalare l'assenza della sessione quando l'id richiesto non esiste, senza crearla implicitamente.
Verified by: [@test] tests/test_registry_manager.py
working_on di una sessioneworking_on cambia e gli altri campi restano invariatiIl registry manager SHALL, alla chiusura di una sessione, marcarla Finished, svuotarne il campo do_not_touch e rilasciare i lock filesystem che la sessione deteneva, affinché il registry e la directory dei lock non divergano. La chiusura MUST NOT rilasciare lock di cui la sessione non è owner.
Verified by: [@test] tests/test_registry_concurrency.py
do_not_touch viene chiusaFinished, do_not_touch è vuoto e quei path tornano acquisibili da un altro agenteIl registry manager SHALL leggere il percorso del registry dalla variabile d'ambiente AGENT_REGISTRY_PATH quando definita, ricadendo altrimenti sul default, e MUST creare il file e le directory mancanti alla prima scrittura. Il percorso MUST essere risolto a ogni operazione e non memorizzato all'import.
Verified by: [@test] tests/test_registry_manager.py
AGENT_REGISTRY_PATH punta a un file inesistente e un agente registra una sessioneIl registry manager SHALL mantenere il registry come documento markdown con frontmatter YAML quale dato autorevole e una tabella markdown come vista leggibile, rigenerata a ogni scrittura per restare coerente con il frontmatter. I valori che contengono caratteri capaci di rompere la tabella — barra verticale o a capo — MUST essere neutralizzati in ogni cella, inclusi i campi derivati da liste.
Verified by: [@test] tests/test_registry_manager.py
| o un a capoIl registry manager SHALL scrivere in testa al registry, fra il frontmatter e la tabella, un blocco di protocollo in linguaggio naturale che istruisce qualunque agente AI apra il file: leggere prima di modificare, non toccare i path in do_not_touch delle sessioni OnWorking, registrarsi prima di lavorare, acquisire il lock prima di ogni modifica, chiudere la sessione a fine lavoro. Il blocco MUST essere rigenerato a ogni scrittura, così che nessun aggiornamento possa farlo sparire, e MUST dichiarare la natura advisory dei lock. La presenza del blocco MUST NOT alterare i dati: il frontmatter resta l'unica fonte autorevole e il registry deve restare parsabile.
Il registry è l'unico punto di contatto comune fra agenti di provider diversi, che non condividono alcun sistema di skill: le istruzioni devono viaggiare con lo stato che descrivono, non con la skill di un singolo CLI.
Verified by: [@test] tests/test_registry_protocol.py
Il registry manager SHALL permettere di associare a una sessione il percorso dell'handoff salvato, rendendolo leggibile a chiunque consulti il registry.
Verified by: [@test] tests/test_registry_manager.py
Il registry manager SHALL esporre i comandi register, update, finish, handoff e show via CLI, e MUST terminare con exit code 0 quando l'operazione riesce e diverso da 0 quando fallisce, senza mai riportare successo per un'operazione non avvenuta.
Verified by: [@test] tests/test_registry_cli.py
registry_manager.py register registra una nuova sessioneregistry_manager.py update riceve un session_id non registrato.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