# Cognitive Spawn

> Cognitive-Spawn — sentinelle in background

- Skill: `tommasobbianchi/cognitive-spawn` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tommasobbianchi/cognitive-spawn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tommasobbianchi/cognitive-spawn/raw
- Safety review: pending (external: skill-scanner PASS, skillspector WARNING)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tommasobbianchi (https://skillmd.com/u/tommasobbianchi)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/tommasobbianchi/cognitive-spawn

---


# Cognitive-Spawn — sentinelle in background

**Principio**: i sottosistemi di controllo girano in **processi separati** dal main, osservano transcript+filesystem, e injettano alert via hook `PostToolUse` prima del prossimo tool call mutativo. Vedi `/cognitive-flow` per il modello completo.

## Come avviarli

Identifica il transcript della sessione corrente e lancia:

```bash
TRANSCRIPT=$(ls -t ~/.claude/projects/$(pwd | sed 's|/|-|g')/*.jsonl | head -1)
~/.claude/cognitive-watchers/spawn.sh start "$TRANSCRIPT" "$PWD"
```

Lo script avvia 3 daemon (PID files in `~/.claude-cognitive-alerts/.pids/`):

| Watcher | Cosa fa | Sleep |
|---|---|---|
| `inhibit` | tail del transcript JSONL; detect comandi Bash ad alto blast radius (rm -rf, git push --force, deploy, scp, drop table) | 2 s |
| `error` | tail del transcript; detect tool_result con `is_error=true` | 2 s |
| `cleanup` | check periodico del working tree del cwd + /tmp residui | 60 s |

## Come usarli

Niente — sono passivi. Quando producono un alert, il file appare in `~/.claude-cognitive-alerts/<nome>.alert`. Al prossimo tool call mutativo (Bash, Edit, Write, Task), il hook `PostToolUse` registrato in `~/.claude/settings.json` li legge, formatta su stderr, exit 2 → il modello riceve l'alert come system-reminder e DEVE addressarlo prima di proseguire.

## Verifica / stop

```bash
~/.claude/cognitive-watchers/spawn.sh status   # quali girano + alert pendenti
~/.claude/cognitive-watchers/spawn.sh stop     # termina tutti
```

## Auto-start a session start (opzionale)

Per averli sempre attivi senza invocazione manuale, aggiungi un hook SessionStart in `~/.claude/settings.json` che lancia `spawn.sh start` con il transcript della sessione (variabile passata dal JSON stdin del hook).

## File correlati

- watcher scripts: `~/.claude/cognitive-watchers/{inhibit,error,cleanup}-watcher.sh`
- orchestratore: `~/.claude/cognitive-watchers/spawn.sh`
- hook delivery: `~/.claude/cognitive-watchers/post-tool-hook.sh`
- dir alert: `~/.claude-cognitive-alerts/`
- log daemon: `~/.claude-cognitive-alerts/.logs/`
- skill compagne: `/cognitive-stop`, `/cognitive-flow`, `/inhibit`, `/cleanup-check`, `/error-check`

