Рабочие циклы
Добавление скилла из файла
Чтобы добавить готовый навык в инвентарь:
aiman add skill path/to/skill.mdЕсли файл с таким именем уже существует в инвентаре с другим содержимым:
aiman add skill path/to/skill.md --overwrite # перезаписать
aiman add skill path/to/skill.md --name new-name # сохранить под другим именемИз stdin:
cat skill.md | aiman add skill -После добавления запустите aiman push, чтобы опубликовать изменение.
Добавление MCP-сервера из файла
Чтобы добавить конфигурацию MCP-сервера в инвентарь:
aiman add mcp path/to/server.yamlЕсли файл с таким именем уже существует в инвентаре с другим содержимым:
aiman add mcp path/to/server.yaml --overwrite # перезаписать
aiman add mcp path/to/server.yaml --name new-name # сохранить под другим именемИз stdin:
cat server.yaml | aiman add mcp -Если входной файл содержит поля value в блоке env, AIM автоматически переносит их в aim.local.yaml и не записывает в mcp/<name>.yaml. Это гарантирует, что секреты не попадут в Git.
После добавления запустите aiman push, чтобы опубликовать изменение.
Импорт скилла из AI-среды
Если навык уже установлен в одной из AI-сред, его можно импортировать напрямую:
aiman import skill hello --from claude-code
aiman import skill review-code --from codexПосмотреть содержимое без записи:
aiman import skill hello --from claude-code --dry-runПоддерживаемые источники: claude-code, cursor, codex.
Cursor не хранит скиллы нативно — --from cursor всегда вернёт пустой результат.
После добавления запустите aiman push, чтобы опубликовать изменение.
Импорт MCP-сервера из AI-среды
Если MCP-сервер уже настроен в одной из AI-сред, его можно импортировать напрямую:
aiman import mcp context7 --from claude-code
aiman import mcp jira --from cursorПосмотреть содержимое без записи:
aiman import mcp context7 --from claude-code --dry-runИмпортировать и установить все три AI-среды как целевые:
aiman import mcp context7 --from claude-code --targets allПоддерживаемые источники: claude-code, cursor, codex.
AIM читает живую конфигурацию указанной среды, извлекает дескриптор MCP-сервера и применяет env-strip: реальные значения env-переменных записываются в aim.local.yaml, в инвентарь и Git попадают только дескрипторы без секретов.
Если сервер с таким именем уже есть в инвентаре с другим содержимым, команда завершится с ошибкой. Для перезаписи используйте --overwrite:
aiman import mcp context7 --from claude-code --overwriteПосле добавления запустите aiman push, чтобы опубликовать изменение.
Локальная итерация: edit -> apply -> test
Используйте aiman apply, когда хотите проверить изменение до публикации.
$EDITOR skills/review-code.md
aiman applyЧто делает apply:
- читает локальные
skills/иmcp/; - валидирует элементы;
- применяет валидные элементы в обнаруженные AI-среды;
- не делает commit;
- не обращается к remote;
- не обновляет
published_hashиsynced_hash.
Этот цикл подходит для разработки навыков: правка, применение, проверка в AI-инструменте, повторная правка. Большинство AI-сред читают навыки при старте сессии — после aiman apply перезапустите сессию агента, чтобы изменения подхватились.
Публикация: status -> push
Когда локальное изменение готово:
aiman status
aiman pushstatus показывает состояние управляемых файлов. push валидирует инвентарь, создаёт commit и отправляет его в удалённый репозиторий.
push --dry-run показывает план публикации без записи в Git:
aiman push --dry-runПеренос на другую машину: init -> sync
На новой машине:
aiman init git@github.com:you/aim-loadout.git
aiman syncsync выполняет Git fetch, проверяет историю, получает опубликованное состояние и применяет его в локальные AI-среды.
Защита от потери изменений
sync блокируется, если локальные изменения могут быть потеряны.
aiman sync
# error: local changes detected ...Варианты действий:
- опубликовать изменения через
aiman push; - вручную сохранить или удалить локальные изменения;
- использовать
aiman sync --force, если локальные изменения можно потерять.
Состояния истории
После fetch AIM различает несколько ситуаций:
| Состояние | Поведение |
|---|---|
| Local уже равен remote | применить inventory без reset |
| Local отстаёт от remote | fast-forward reset и применить |
| Local содержит неопубликованные commit'ы | остановиться и попросить aiman push |
| История разошлась | остановиться и попросить ручное восстановление Git |
Когда использовать какую команду
| Задача | Команда |
|---|---|
| Добавить скилл из файла | aiman add skill <file> |
| Добавить MCP-сервер из файла | aiman add mcp <file> |
| Импортировать скилл из AI-среды | aiman import skill <name> --from <env> |
| Проверить содержимое скилла без записи | aiman import skill <name> --from <env> --dry-run |
| Импортировать MCP-сервер из AI-среды | aiman import mcp <name> --from <env> |
| Проверить MCP-дескриптор без записи | aiman import mcp <name> --from <env> --dry-run |
| Проверить локальный навык без публикации | aiman apply |
| Посмотреть, что изменено | aiman status |
| Опубликовать готовый инвентарь | aiman push |
| Применить опубликованный инвентарь на машине | aiman sync |
| Проверить окружение и конфиги | aiman doctor |