diff --git a/dist/session-handoff.skill b/dist/session-handoff.skill index 8f9549f..d99af93 100644 Binary files a/dist/session-handoff.skill and b/dist/session-handoff.skill differ diff --git a/skills/session-handoff/SKILL.md b/skills/session-handoff/SKILL.md index 8fe0f0a..7344c04 100644 --- a/skills/session-handoff/SKILL.md +++ b/skills/session-handoff/SKILL.md @@ -1,7 +1,7 @@ --- name: session-handoff author: ours -version: 0.4.0 +version: 0.5.0 description: "Sliding handoff between CC sessions via .tasks/NEXT_SESSION.md. Read on session start: orient agent, ask user before action. Write on session-end phrase or substantive commit. On session-end the agent ALSO runs the closing ritual on its own (idea 7: no invitation needed): handoff write + PROPOSE wiki-ingest of session knowledge + PROPOSE task-board closes — mutations only after user confirmation. Session-end phrases: «завершаем сессию», «сворачиваемся», «закругляемся», «wrap up session», «end session», «we're done for now». Trigger-line in CLAUDE.md: `session handoff: read on start, write on end`. Skip task-zone phrases: «закрываем эту таску», «pause», «отбой», «разбегаемся»." --- @@ -121,7 +121,7 @@ Forward-looking, не timeline: handoff = связка новых вещей к **Триггер:** ритуал на session-end фразе; на substantive commit'е — только handoff-write, ритуал НЕ гонять (mid-session коммит ≠ конец сессии, иначе спам предложений). -**Headless (pi, дизайн):** для автоматического запуска без интерактива нужен pi-extension на `agent_settled` с дедуп-гардом (по образцу inbox-monitor). Не построен — зафиксировано как follow-up; скил покрывает интерактивные харнессы. +**Headless (pi):** pi-extension `session-close-ritual` (источник: `.common/lib/pi-extensions/session-close-ritual.ts`, деплой `~/.pi/agent/extensions/`) инжектит «прогони ритуал» один раз за сессию на `agent_end` в print-режиме (`pi -p`), с дедуп-гардом и opt-in (та же trigger-строка + `.tasks/` + git). Почему `agent_end`, а не `agent_settled`: settle = «no follow-up left», процесс в teardown — followUp уже не обработается (проверено live); `agent_end` срабатывает сразу после рана, пока followUps ещё доставляются. Интерактив — фразовый триггер (ниже), не инжекция. ## Failure modes