feat(skills): review-subagent — clean-context review via review_subagent tool [v0.1.0]

Скилл-обёртка для тула review_subagent (pi-расширение, OpeItcLoc03/pi-extensions):
дефолт-ревьюер = текущая модель сессии, конкретная — параметром model.
GREEN-проверка: fresh-context субагент со скиллами выбирает review-subagent
по триггеру «отревьюй через субагента». Lint 49/0, dist собран.
This commit is contained in:
2026-08-23 02:05:50 +03:00
parent 349aa7cd04
commit f99d795e25
3 changed files with 82 additions and 0 deletions

View File

@@ -122,6 +122,7 @@ an explicit `adapted-from` marker in its frontmatter.
| `code-review` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — two-axis + Fowler baseline; output: caveman-review format | | `code-review` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — two-axis + Fowler baseline; output: caveman-review format |
| `writing-skills` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — TDD-for-skills core + ideya 8 self-skill-authoring | | `writing-skills` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — TDD-for-skills core + ideya 8 self-skill-authoring |
| `web-search` | `author: ours` — search_web tool (pi-extension) + policy: when to search, «без поиска» session-off | | `web-search` | `author: ours` — search_web tool (pi-extension) + policy: when to search, «без поиска» session-off |
| `review-subagent` | `author: ours` — review_subagent tool (pi-extension): clean-context review by your own model, optional `model` override |
| all other `skills/*` | `author: ours` | | all other `skills/*` | `author: ours` |
Adaptation policy: a clone is rewritten to our conventions (`.tasks/` boards, Adaptation policy: a clone is rewritten to our conventions (`.tasks/` boards,

BIN
dist/review-subagent.skill vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,81 @@
---
name: review-subagent
author: ours
version: 0.1.0
description: >
Use when you need an independent review of code, a diff, or a spec by a
reviewer subagent in a clean isolated context — invoke the `review_subagent`
tool (default reviewer is your own model; pass `model` to request a specific
one). Triggers: «отревьюй через субагента», «прогони на <модель>», «дай
второй модели посмотреть», "review with a subagent", "have a second model
review this", "review this on <model>". NOT for the two-axis Standards/Spec
review method (→ code-review) and NOT for spawning fully-isolated processes
(→ review-kit-pi-method).
---
# Review Subagent
Когда нужно независимое ревью кода/диффа/спеки — делегируй его субагенту
через тул `review_subagent`. Ревьюер видит ТОЛЬКО то, что ты передал
(критерий + код): ни истории сессии, ни файловой системы, ни намерений
имплементера. Это убивает «я только что это написал» bias.
## Когда вызывать
- Пользователь просит «отревьюй через субагента», «прогони на X-модели»,
«пусть вторая модель посмотрит».
- Тебе нужно независимое ревью своего же кода/диффа перед закрытием таски
или перед коммитом — глаза, не знающие замысла.
- Дифф/код лежит в файле (`paths`) или в тексте (`code`), а критерий — что
именно проверить (баги, соответствие спеке, типизация, безопасность…).
## Как вызывать
```
review_subagent:
question: "Критерий: найди баги и проблемы корректности в этом коде."
code: "function sum(a,b){return a-b;}" # inline-текст ИЛИ
paths: ["C:\\abs\\path\\file.ts"] # файлы (тул прочитает сам)
model: "routerai/deepseek/deepseek-v4-pro-0813" # опционально — конкретная
```
Правила выбора модели:
- **Дефолт — твоя же модель** (та, что писала код). Пользователь сам решает,
кем ревьюить.
- **Конкретная модель — только по явному запросу** («отревьюй claude»,
«прогони на deepseek-pro»): передай `model` как `provider/model`.
Невалидный `model` → ошибка, без авто-фолбэков.
- Не подбирай модель «поумнее» по своей инициативе — это решение пользователя.
## Правила
1. **Не ревьюй сам, если просят субагента.** Не подменяй `review_subagent`
собственным анализом — смысл в независимом контексте.
2. **Точечный критерий.** Не «посмотри код», а «проверь X против критерия Y».
Если вердикт не покрыл вопрос — вызови ещё раз с уточнением.
3. **Передавай ровно скоуп.** Файлы/текст, которые относятся к ревью; не тяни
весь репозиторий. Лимиты тула: 20 файлов, 80KB суммарно, 40KB на файл.
4. **Если тул упал** (нет модели, сеть, лимит) — честно скажи пользователю,
что субагент-ревью сейчас недоступен, и предложи путь (передать `model`
явно / уменьшить скоуп). Не «успешно отревьюено».
## Отношения с другими скиллами
- `review-kit-pi-method` — spawn ПОЛНОСТЬЮ изолированных процессов
(`pi -p -nc -ns -nt`) для trigger-тестов и чистых вердиктов. Этот тул —
быстрый in-process вариант той же идеи (чистый контекст через
modelRegistry.complete). Для методик с несколькими субагентами — читай
review-kit-pi-method.
- `code-review` — двухосная МЕТОДИКА (Standards + Spec субагенты, отчёт по
диффу с коммита). Этот скилл — МЕХАНИЗМ одного ревью; code-review может
использовать его как исполнителя.
- `caveman-review` — формат комментариев (однострочные L:line). Формат тула —
свободный; форматируй вердикт как требует задача.
## Реализация тула
Тул `review_subagent` — pi-расширение:
`~/projects/pi-extensions/extensions/review-subagent.ts` (репо
`OpeItcLoc03/pi-extensions`, дом pi-расширений). Правки — в клоне репо →
`commit + push``just install` (затирает home-копию) → `/reload` сессии.
Тот же паттерн, что `describe_image` (vision) и `search_web` (поиск).