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:
BIN
dist/vision-subagent.skill
vendored
Normal file
BIN
dist/vision-subagent.skill
vendored
Normal file
Binary file not shown.
58
skills/vision-subagent/SKILL.md
Normal file
58
skills/vision-subagent/SKILL.md
Normal 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` вернёт ошибку с подсказкой.
|
||||||
Reference in New Issue
Block a user