framework/skills/tool-usage/code-analysis/buddy-prompting/SKILL.md
Перед вопросом 1C Buddy: API, ИТС, версии, BSL
npx skillsauth add steelmorgan/1c-agent-based-dev-framework buddy-promptingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Задача агента | Шаблон | Когда |
|---------------|--------|-------|
| API платформы, синтаксис, методы, типы, события | SEARCH_DOCS | Вопрос о встроенном языке или поведении платформенных объектов |
| Стандарты, методология, БСП, типовые конфигурации | SEARCH_ITS | Вопрос о правилах разработки, EDT, Конфигураторе, продуктах 1С |
| Полный текст конкретного документа ИТС | FETCH_ITS | Уже есть id документа после SEARCH_ITS |
| Изменения между версиями платформы | DIFF_VERSIONS | Миграция, совместимость, "что изменилось" |
| Проверка кода на стандарты и поиск аналогов в БСП | VALIDATE_BSL | Ревью фрагмента BSL: синтаксис + соответствие стандартам + рекомендации по использованию БСП |
Задача: ответить на вопрос по документации платформы 1С.
Обязательно используй внутренний инструмент: Search_Documentation
Ограничения:
- Не отвечай по памяти.
- Не используй Search_ITS.
- Если документации нет — так и скажи.
Вход:
Версия платформы: {version}
Объект: {object}
Режим выполнения: {context} # клиент / сервер / фоновое задание
Вид форм: {form_mode} # управляемые / обычные
Вопрос: {query}
Формат ответа:
1. Краткий ответ по найденной документации.
2. Найденные методы/свойства с параметрами и возвращаемыми значениями.
3. Если неоднозначность — перечисли варианты.
Формирование query: для общих тем добавлять "Список всех...", "Общая информация о...". Пример: "Параметры формы" → "Список всех параметров управляемой формы". Пустой результат → переформулировать.
Задача: найти материалы в базе ИТС.
Обязательно используй внутренний инструмент: Search_ITS
Ограничения:
- Не отвечай по памяти.
- Не используй Search_Documentation.
- Не пересказывай статьи — найди документы.
Вход:
Поисковый запрос: {query}
Контекст: {context}
Формат ответа:
1. 3–5 наиболее релевантных документов.
2. Для каждого: id, заголовок, почему релевантен.
3. Если ничего не найдено — скажи явно.
4. Приведи ссылки (https://...).
Только после SEARCH_ITS, когда уже есть id документа.
Задача: получить содержание документа ИТС.
Обязательно используй внутренний инструмент: Fetch_ITS
Ограничения:
- Не выполняй новый поиск.
- Не отвечай по памяти.
Вход:
ID документа: {doc_id}
Что извлечь: {focus}
Формат ответа:
1. Структурированное содержание документа.
2. Ответ на вопрос: {question}
3. Важные ограничения и исключения из документа.
Оркестрация SEARCH_ITS → FETCH_ITS — два отдельных вызова ask_ai_assistant:
Задача: сравнить документацию платформы между версиями.
Обязательно используй внутренний инструмент: Diff_Documentation_Versions
Ограничения:
- Не отвечай по памяти.
- Сравни именно указанные версии.
Вход:
Тема: {topic}
Версия (старая): {version_old}
Версия (новая): {version_new}
Формат ответа:
1. Что добавилось.
2. Что изменилось.
3. Что удалено или несовместимо.
4. Практический вывод для разработчика.
Задача: проверить код 1С на соответствие стандартам разработки
и предложить аналоги из БСП, если они есть.
Обязательно используй внутренний инструмент: syntax-checker__validate
Используй режим extended (обогащение стандартами 1С).
Ограничения:
- Не анализируй код по памяти.
- Проверь именно приведённый код.
- Проверка без глобального контекста — ошибки "необъявленная переменная"
на глобальные методы/переменные могут быть ложными, укажи это.
Вход:
Код:
```bsl
{code}
Формат ответа:
## Stop rules
1. **Запрет выдумывать сигнатуры.** Нельзя указывать метод, свойство или параметр,
если `ask_ai_assistant` (SEARCH_DOCS) его не подтвердил. Если документация не нашла —
сообщи об отсутствии; не конструируй сигнатуру по аналогии или по памяти.
2. **Pre-flight контекст для SEARCH_DOCS.** Перед вызовом явно зафиксировать четыре параметра:
объект (`{object}`), режим выполнения (`{context}`: клиент / сервер / фоновое задание),
версию платформы (`{version}`) и вид форм (`{form_mode}`: управляемые / обычные).
Пропущенный параметр = запрос с неопределённым контекстом, результат недостоверен.
3. **Запрет отвечать по памяти при версионной/режимной зависимости.** Если поведение API
или объекта может отличаться в зависимости от версии платформы или режима выполнения —
всегда сначала уточнять через `ask_ai_assistant` (SEARCH_DOCS или DIFF_VERSIONS).
Ответ «по памяти» в таких случаях запрещён независимо от уверенности агента.
## Ошибки и ограничения
| Проблема | Обходной путь |
|----------|---------------|
| Пустой результат SEARCH_DOCS | Переформулировать query: "Список всех..."; проверить version |
| Нерелевантные результаты SEARCH_ITS | Уточнить query терминами ИТС; сузить запрос |
| Напарник ответил по памяти, не вызвав инструмент | Усилить: "ЗАПРЕЩЕНО отвечать без инструмента" |
| Ложные ошибки VALIDATE_BSL | "Необъявленная переменная" на глобальные методы — норма, фильтровать |
| FETCH_ITS без id | Сначала SEARCH_ITS → выбрать id → потом FETCH_ITS |
| Нет контекста проекта (session_id) | НЕ пытаться триггерить FindRelated, FindSimilar, GetObject |
---
depends_on: []
---
development
1C server maintenance webhooks: container restart and external component cache cleanup
development
Interactive DAP debugging of a single BSL procedure
tools
Rules for using RLM tools for project search and navigation in 1C/BSL
development
Creates web applications and routes on Winow (a web server on OneScript and Autumn). Use when working with a web server on OneScript, routing, or Winow controllers.