feat(vision-subagent): add to canon (v0.1.0)

Skill lived only in ~/.agents/skills (pi reads it) with broken YAML frontmatter — ": " inside description made the parser choke (nested-mapping error in TUI skill list).

Fix: folded block-scalar description + author/version per canon. Lint 47/0, dist rebuilt, installed to ~/.claude/skills + ~/.agents/skills (identical copies).
This commit is contained in:
2026-08-13 08:55:15 +03:00
parent ced67d3eb8
commit 2e30ccc17c
2 changed files with 58 additions and 0 deletions

BIN
dist/vision-subagent.skill vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,58 @@
---
name: vision-subagent
author: ours
version: 0.1.0
description: >
Use when you need to SEE an image (photo, screenshot, PCB render, diagram,
picture file) but your model does not support images — e.g. a read tool
result was omitted with "tool image omitted: model does not support images",
or the user asks what is shown in a picture / asks you to look at a
screenshot / render. Delegate the vision work to a vision-capable subagent
via the describe_image tool instead of guessing or saying you can't.
---
# Vision Subagent
Твоя модель не видит изображения — картинки выбрасываются из контекста.
Не угадывай содержимое и не отказывайся: делегируй зрение сабу с видящей моделью.
## Когда вызывать
- Тул `read` (или другой) вернул картинку, а в контексте появилось
`tool image omitted: model does not support images` — ты знаешь путь, но не видишь.
- Пользователь просит «что на картинке», «посмотри скриншот/фото/рендер/схему»,
«опиши изображение» — с путём к файлу или без.
- Тебе нужны визуальные детали из файла (цвета, текст, ошибки на скриншоте,
дорожки на PCB, состояние на фото), чтобы ответить по делу.
## Как вызывать
Вызови тул `describe_image`:
```
describe_image:
path: "абсолютный путь к файлу (jpg/png/webp/gif/bmp) или URL"
question: "точечный вопрос" # опционально
```
Пример точечного вопроса:
`path: "C:\Users\vitya\Downloads\screen.png"`, `question: "Какое сообщение об ошибке в красной рамке сверху?"`
## Правила
1. **Всегда делегируй, никогда не угадывай.** Не описывай картинку «по-памяти»,
если ты её не видел — это галлюцинация.
2. **Задавай точечные вопросы.** Не соглашайся на generic-описание, если тебе
нужны конкретные детали (текст, координаты, цвета, что на заднем плане).
Если ответа не хватило — вызови `describe_image` ещё раз с уточнением.
3. **Если `describe_image` упал** (нет vision-модели, ошибка сети) — честно скажи
пользователю, что зрение сейчас недоступно, и предложи путь дальше
(например, переключить модель на видящую через `/model`).
## Настройка vision-модели
Модель задаётся ЯВНО (по приоритету):
1. env `PI_VISION_MODEL` — например `routerai/minimax-m3`
2. файл `~/.pi/vision-model.json``{ "model": "routerai/minimax-m3" }`
Авто-выбора нет — если модель не задана, `describe_image` вернёт ошибку с подсказкой.