#agent #opencode #command
Бывало такое, что хочется написать "хороший такой" промпт 😁, чтобы агент ну точно не затупил, ничего не забыл, и сделал нужную работу?
Может быть, кто-то даже гуглил промпты или скачивал чужие навыки из интернета в надежде, что проблему можно решить готовым промптом или навыком?
Речь не про что-то типа миграций базы данных в таком-то языке или технологии, не про общеизвестную штуку, а
конкретно про ваш личный процесс.
В opencode можно добавить команды, которые вызываются через /, и в этих командах можно прописать все, что вам нужно, и даже передать аргументы (ваши уточнения для конкретной ситуации).
Например, я часто делаю коммиты, и хочу чтобы они были оформлены в одном стиле - использую такую команду
---
description: Создать коммит на русском языке с кратким заголовком (до 50 символов) и описанием с буллетами.
---
1. Вызови `skill` tool с именем `commit` — это загрузит навык коммита.
2. Выполни инструкции из навыка: проверь `git status`, `git diff`, `git log --oneline -10`, добавь только нужные файлы и создай коммит с русским сообщением.
3. Если пользователь передал аргументы после `/commit`, учти их как контекст: $ARGUMENTS
Команда в свою очередь ссылается на
навык commit, в котором подробное описание "коммитов моей мечты", которые меня целиком устраивают.
Пример использования команды:
/commit только без картинок и без крашлогов
В результате агент сделает коммит по моим правилам, но не включит в него никакие картинки и файлы крашлогов - это останется в изменениях за пределами коммита.
Подобным образом я сделал команды:
- review-plan - проверяет план - файл, папку или просто текст в промпте по заранее заданному набору критериев
- check-against-review - проверяет замечания и выдает таблицу с вердиктом "справедливо" или нет, но ничего не меняет
- review-and-fix-fair-notes - то же самое, что предыдущее, но дополнительно сразу исправляет справедливые замечания, а по спорным показывает варианты решений и аргументирует за и против для каждого варианта
- markitdown - просто преобразует документ в markdown-файл
- update-my-tools - проверяет наличие обновлений для всех инструментов, которые у меня есть в opencode (codegraph, serena и т.д.) и выдает таблицу с вердиктом, что можно обновить, а что нет
В итоге рабочий процесс превращается из написания промптов в использование
команд с конкретными задачами, и это очень удобно 👍