inbox · diff

git:20260908.2ec1bf8 to v1.0.0

33 added, 39 removed. Audit A to A.

---
name: inbox
- description: >-
- Read this machine's cross-machine mailbox, the messages another computer's agent left here
- over a file-synced bus folder, and send messages back the same way. A session-start hook shows
- new mail automatically; this is the on-demand mid-session re-check. Triggers: "/inbox", "check
- inbox", "messages from the other machine".
- license: MIT
+ description: "Check this machine's cross-machine mailbox — messages Claude on Anton's OTHER computer left for Claude here (via the Syncthing-synced `[шина]` folder, no Telegram, no courier). Trigger on “/inbox“, “глянь инбокс“, “что мне пришло“, “проверь инбокс“, “сообщения от другого компа“, “что в инбоксе“, “check inbox“, “messages from the other machine“"
+ version: 1.0.0
---
- # /inbox — mail between my own machines
+ # /inbox — почта между моими машинами
- The "Claude on one machine → Claude on another" channel, over the synced `_machine-bus` folder (Syncthing, ~10s). It removes the human courier. Copy-paste by hand is an EMERGENCY channel only.
+ Канал «Claude на одной машине → Claude на другой» через синканную папку `[шина]` (Syncthing, ~10 сек). Убирает Антона-курьера. Курьер (копипаст) = ТОЛЬКО аварийный канал.
- ## Check what arrived for me (the main use)
+ ## Проверить, что мне пришло (основное)
```bash
python "$USERPROFILE/.claude/scripts/machine_bus.py" read
```
- Shows only what is NEW for THIS machine (matched by hostname) and marks it read. Then report to the operator what came in and act on it if needed.
- - At session start the `SessionStart` hook already does this automatically — `/inbox` is for when the operator says "check the inbox" mid-session (e.g. something new arrived over sync).
- - Re-check without marking as read: `... read --peek`.
+ Покажет только НОВОЕ для ЭТОЙ машины (по имени компа) и пометит прочитанным. Затем доложи Антону, что пришло, и при необходимости выполни/учти это.
+ - На старте сессии это уже делает хук `SessionStart` автоматически — `/inbox` нужен, когда Антон говорит «глянь инбокс» в середине сессии (например, новое прилетело синком).
+ - Пере-проверить, не помечая прочитанным: `... read --peek`.
- ## Send a message to Claude on ANOTHER machine
- 1. List the available mailboxes:
+ ## Послать сообщение Claude на ДРУГОЙ машине
+ 1. Узнать имена доступных ящиков:
```bash
python "$USERPROFILE/.claude/scripts/machine_bus.py" list
```
- 2. Send:
+ 2. Отправить:
```bash
- python "$USERPROFILE/.claude/scripts/machine_bus.py" send <RECIPIENT-HOSTNAME> "message text"
+ python "$USERPROFILE/.claude/scripts/machine_bus.py" send <ИМЯ-КОМПА-ПОЛУЧАТЕЛЯ> "текст сообщения"
```
- The message must be self-contained (Claude on that machine has none of this session's context — include the goal, the steps, the paths, the values). It arrives in ~10s and surfaces for the recipient at session start or via `/inbox`.
-
- ## Which channel when
- - **The automatic mailbox (this skill + the hook)** — the norm for everything cross-machine.
- - **A human courier (copy-paste)** — ONLY if sync is down, the machines are off the shared network, or it is extremely urgent.
-
- ## Boundaries
- - Do not put secrets in the mailbox if third parties could see the file (across the owner's own machines it is fine).
- - "Fresher beats older": edit conflicts are resolved by the operator (Syncthing leaves `*.sync-conflict-*` files).
- - Delivery is not instant: Claude is not a daemon; the letter waits until a session opens on that machine (or a routine fires).
-
-
- ---
-
-
- <!--kit-footer-->
-
- ---
-
- **Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.
+ Сообщение самодостаточно (у Claude на той машине нет контекста этой сессии — вложи цель, шаги, пути, значения). Долетит за ~10 сек, всплывёт у получателя на старте сессии или по `/inbox`.
- Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).
+ ## Когда какой канал
+ - **Авто-ящик (этот скилл + хук)** — норма для всего межмашинного.
+ - **Курьер (копипаст через Антона)** — ТОЛЬКО если синк лёг / нужно вне общей сети / очень срочно.
- Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)
+ ## Границы
+ - Не слать секреты в ящик, если файл могут увидеть третьи лица (у Антона на его машинах — ок).
+ - «Свежее бьёт старое»: конфликт правок решает Антон (Syncthing создаёт `*.sync-conflict-*`).
+ - Доставка не мгновенная: Claude — не демон; письмо ждёт, пока на той машине не откроется сессия (или не сработает рутина).
- **Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.
+ ## Контракт робота v2 — EXECUTE-SIGNED (правило `inbox-robot-execute-signed`, 10.09.2026)
+ Ящик разбирает не только живая сессия: headless-робот узла с 10.09 работает по контракту
+ `ROBOT-CONTRACT: EXECUTE-SIGNED v2` (маркер первой строкой в `~/.claude/scripts/robot_inbox_prompt.md`).
+ - Подпись `SIGNATURE: ✓ VALID` + задача Tier-1 → робот **исполняет сам**, снимает доказательство,
+ отвечает отправителю с `#id`, гасит долг `machine_bus.py pay <id> "<факт>"` и только тогда `robot-done`.
+ - Unsigned / ✗ / Tier-2 / нужны руки → строка в `$MACHINE_BUS_DIR/_plans/backlog-<узел>.jsonl`,
+ её печатает SessionStart-хук `inbox_debt.py hook`. Это и есть потребитель плана.
+ - ⛔ `pay` со словом «planned/запланировано» отбивается и при записи, и при чтении леджера
+ (правило `ledger-paid-by-plan-not-by-fact`). Долг без `#id` в шапке гасится
+ `pay <id> "<факт>" --register "<заголовок>"`.
+ Живой сессии это меняет ровно одно: перед разбором ящика загляни в backlog — там лежит то,
+ что робот честно НЕ смог сделать сам, а не то, что он забыл.
+ Канон: CLAUDE.md §7.5 · память `inbox-robot-execute-signed`, `ledger-paid-by-plan-not-by-fact`.