---
name: import-to-agents
description: Перенос навыка GitHub-репозитория и вики в другого агента — AutoClaw2, HARNESS, SagaAI: установка пакета в каталог навыков, манифест sha256, проверка целостности, строка правил для AGENTS.md, обновление и удаление. Загружать, когда навык нужно подключить другому агенту, когда установленная копия расходится с проверенной или когда агент «не видит» навык.
---

# Импорт навыка в другого агента

## Что значит «импортировать»

Две вещи, обе проверяемые:

1. Копия пакета лежит в каталоге навыков агента, и рядом записан манифест
   `.install.json` с sha256 каждого файла.
2. В правилах агента (`AGENTS.md` или его аналог) есть строка, которая говорит: где копия,
   чем проверить целостность, и правило «одна задача — одна команда».

Пакет самодостаточен: Python 3.11+ и стандартная библиотека. Ни `pip install`, ни
сборки, ни сети при установке.

## Каталоги (измерены, не выдуманы)

| Агент | Каталог навыков | Правила |
|---|---|---|
| AutoClaw2 | `%USERPROFILE%\.pi\agent\skills` | `%USERPROFILE%\.pi\agent\AGENTS.md` |
| HARNESS | `%USERPROFILE%\.dsh\skills` | `%USERPROFILE%\.dsh\AGENTS.md` |
| SagaAI | задаётся вручную | `AGENTS.md` проекта или файл правил агента |

## Установка

```bash
python <pack>/tools/ghagent.py install --profile autoclaw --write
python <pack>/tools/ghagent.py install --profile harness  --write
python <pack>/tools/ghagent.py install --target <каталог> --write     # SagaAI
```

Команда печатает готовый блок правил. Его нужно вставить в файл правил агента — сама
команда чужие файлы не правит.

## Проверка

```bash
python <pack>/tools/ghagent.py verify-install --profile autoclaw
python <pack>/tools/ghagent.py selftest     # в установленной копии тоже работает
```

| Исход | Код | Значение |
|---|---|---|
| `verify.ok` | 0 | копия совпадает с установленной |
| `verify.changed` | 1 | файл изменён после установки |
| `verify.missing` | 1 | файл удалён |
| `verify.manifest` | 1 | каталог ставил не пакет — не доверять |
| `verify.extra` | 0 | в каталоге есть файл вне манифеста (информация) |

## Обновление и удаление

```bash
git -C <каталог пакета> pull
python <pack>/tools/ghagent.py install --profile <профиль> --write
python <pack>/tools/ghagent.py verify-install --profile <профиль>

python <pack>/tools/ghagent.py uninstall --profile <профиль> --write
```

`uninstall` отказывается удалять каталог без манифеста: он не имеет права сносить то, что
ставил кто-то другой. Строку правил из `AGENTS.md` удаляет человек.

## Ловушки

| Ловушка | Признак | Что делать |
|---|---|---|
| Навык не виден агенту | каталог есть, агент его «не знает» | список навыков читается при старте сессии — перезапустить сессию |
| `%APPDATA%` пуст в неинтерактивной сессии | путь собирается как `\...` | домашний каталог брать из `USERPROFILE`/`HOME` или через API окружения |
| Копия правилась руками | `verify.changed` | переустановить, а не «поправить на месте» |
| Установка в чужой каталог | `uninstall` отказывается | указать `--target` явно |
| Пакет поставляется без тестов | `selftest` падает с «runner is missing» | копировать `tests/` вместе с `tools/` |

## Критерий готовности

- `verify-install` — код `0`.
- `selftest` в установленной копии — `PASS`.
- Блок правил вставлен и содержит путь к пакету и команду проверки.
- Новая сессия агента видит навык в списке.
