Default false so CLI --skill paths can be re-injected from disk in later Phase 14 items; explicit true restores registered-only behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
pi-skill-reinject
Pi Coding Agent extension: отслеживает вызванные skills и повторно инжектит их после auto compaction.
Статус: реализовано (v1)
Установка
# из клона репозитория
pi -e ./src/index.ts
# или абсолютный путь
pi -e ~/Documents/repos/pi-auto-reinjection/src/index.ts
Для постоянной установки укажите путь к src/index.ts в ~/.pi/agent/settings.json → extensions (нужен весь каталог src/, не один файл). См. Pi extensions.
По умолчанию extension выключен. Включение:
/skill-reinject on # эта сессия
/skill-reinject global on # навсегда (~/.pi/agent/settings.json)
Команда /skill-reinject
/skill-reinject # статус (enabled, delivery, tracked, pending)
/skill-reinject on | off | reset # session override
/skill-reinject global on | off # глобальный default
/skill-reinject list | clear # tracked skills
/skill-reinject now # принудительный re-inject (debug)
/skill-reinject integration auto|defer|immediate|off
Алиасы: /sr, /skills-reinject. Footer status: on·N / off·N.
Полный синтаксис и настройки — SPEC.md §7.
Как это работает
Pi хранит в контексте только описания skills; полный SKILL.md теряется при compaction. Extension отслеживает вызванные skills (/skill:name, skill-блоки, read на SKILL.md при trackReadPaths: true) и после auto compaction повторно инжектит отсутствующие в kept window блоки — тем же форматом, что /skill:name.
Совместимость с pi-auto-compact
Рассчитан на совместную работу с @capyup/pi-auto-compact. При обнаружении команды auto-compact re-inject идёт через defer + before_agent_start, чтобы не конкурировать с follow-up pi-auto-compact (см. SPEC.md §16).
Coexistence с Pi default auto-compaction: оба механизма могут сработать в одной сессии. При использовании pi-auto-compact можно отключить встроенный compaction Pi ("compaction.enabled": false в settings) или оставить оба — skill-reinject отработает после каждого auto compaction. Extension не отключает чужой compaction; при первом обнаружении обоих механизмов показывает одноразовый hint.
Разработка
npm run typecheck # tsc --noEmit
npm test # vitest
Документация
- SPEC.md — полное ТЗ
- Pi extensions
- Pi skills
- Pi compaction
- pi-auto-compact