# Prompt: понятное описание extension

Используй этот prompt, когда нужно описать Pi extension для пользователя или обновить секции `Назначение`, `Пользовательская поверхность`, `Как работает по коду`, `Ограничения и риски`.

## Короткое правило

Пиши коротко, но достраивай предложения до понятной мысли. Не сжимай разные сущности в одну строку вида `tool: ... command: ...`, если читателю придется угадывать, кто вызывает действие, где оно видно и зачем оно нужно.

## Язык

Пиши на языке пользователя. Если описание русскоязычное, русский остается основным языком всей фразы. Английские слова оставляй только там, где это имя API, команда, protocol/runtime term или устойчивый технический термин.

Хорошо: `Команда /tools переключает набор активных tools.`

Плохо: `Critical gap: no real browser automation.`

Лучше: `Критичный пробел: сейчас driver mock, а не настоящий browser automation.`

## Шаблон ответа

Для каждой пользовательской поверхности явно раздели, кто ей пользуется и что она делает:

- `Команда`: что вводит пользователь, где это работает, какой результат он видит.
- `Tool`: какой tool вызывает агент, какие обязательные параметры нужны, какие optional параметры меняют поведение.
- `Hook`: на каком lifecycle событии срабатывает hook и что он блокирует, добавляет или записывает.
- `UI/виджет`: что появляется в интерфейсе и в каких случаях.

Если у extension несколько поверхностей, опиши их отдельными предложениями или короткими bullet-пунктами. Один bullet должен быть законченным предложением, а не набором ключевых слов.

## Пример

Плохо:

```text
tool: агент вызывает primary `ask` с OMP-compatible `questions[]`; legacy `askUserQuestion` остается compatibility alias для старых callers. Slash-команды нет: default package surface exposes only the tool/API path.
```

Хорошо:

```text
- Агент вызывает primary tool `ask`, когда ему нужен ограниченный ответ от пользователя. Параметр `questions[]` содержит `id`, `question`, `options`, optional `multi` и optional `recommended`.
- Legacy `askUserQuestion` принимает старую схему `question`/`kind`/`options` и переводит ее в OMP-compatible flow; он не является primary API.
```

## Проверка перед публикацией

Перед тем как считать описание готовым, проверь:

- Можно ли понять назначение extension без чтения кода?
- Понятно ли, чем команда отличается от tool и hook?
- Есть ли субъект в каждом предложении: пользователь, агент, extension, hook, manifest?
- Не смешаны ли русский и английский без необходимости?
- Ограничения названы честно: что работает сейчас, что является skeleton/mock/gap, что требует rewrite.
