بنقرة واحدة
search-before-write
Перед новым BSL-кодом найти существующий аналог
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Перед новым BSL-кодом найти существующий аналог
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
When writing or reviewing BSL, apply 1C standards
При написании или ревью BSL применять стандарты 1С
Orchestrator: routing work and agent phases
Оркестратор: маршрутизация работы и фаз агентов
BSL LSP navigation: definitions, refs, call graph
Rules for using RLM tools for project search and navigation in 1C/BSL
| name | search-before-write |
| description | Перед новым BSL-кодом найти существующий аналог |
| alwaysApply | false |
Любая задача на написание кода — прежде всего задача на поиск. Сначала ищем, потом пишем.
Для 1C/BSL-проектов с доступным RLM широкая разведка начинается с rlm_start / rlm_execute, а не с LSP или raw grep. LSP подключай после RLM, когда уже найден конкретный файл, символ или позиция.
Каждый следующий шаг — только если предыдущий не дал результата:
| Шаг | Инструмент | Что ищем |
|---|---|---|
| 1 | rlm_start → rlm_execute | Широкий поиск аналогов, бизнес-механизмов, запросов, XML/MDO/forms/rights и связей по проекту |
| 2 | navigate_symbol / BSL LS | Точная проверка найденного символа, definition/references/call graph по известной позиции |
| 3 | list_metadata_objects, get_metadata_structure | Объекты конфигурации (справочники, регистры, документы), если RLM недоступен или нужен структурный MCP-ответ |
| 4 | search_syntax_reference, get_type_info | Встроенные типы/методы платформы |
| 5 | search_ssl_functions | Функции БСП (если конфигурация содержит БСП) |
| 6a | ask_ai_assistant (шаблон SEARCH_DOCS) | Документация платформы — если вопрос про API, методы, типы |
| 6b | ask_ai_assistant (шаблон SEARCH_ITS → FETCH_ITS) | Стандарты, методология, примеры ИТС — если вопрос про правила разработки |
| 6c | ask_ai_assistant (generic) | Прочие вопросы — только если 6a/6b не подходят |
Шаблоны промптов для шагов 6a–6c — см. навык
buddy-prompting.
| Задача | Начальный шаг каскада |
|---|---|
| Новая функция/процедура | 1 — RLM-поиск аналогов по смыслу, имени и соседним терминам |
| Бизнес-логика | 1 — RLM-разведка механизма и связанных объектов/модулей |
| Использование API платформы | 4 — справка синтаксиса; fallback 6a (документация) |
| Печатная форма | 1 → 5 (RLM по формам/шаблонам/командам + БСП API) |
| Стандарты и правила разработки | 6b — поиск в ИТС |
| Миграция между версиями | 6a (шаблон DIFF_VERSIONS) |
| Запрос | 1 — RLM-поиск существующих запросов и связанных регистров/объектов |
| Capability | Назначение |
|---|---|
rlm_start / rlm_execute | Широкая проектная разведка по 1C/BSL перед написанием кода |
navigate_symbol | Поиск символов, определение, использования |
list_metadata_objects | Объекты метаданных по типу и маске |
get_metadata_structure | Структура объекта (реквизиты, измерения, ресурсы) |
search_syntax_reference | Справка синтаксиса платформы |
get_type_info | Детали типов платформы |
search_ssl_functions | Функции БСП |
ask_ai_assistant | Best practices, шаблоны |
| Ошибка | Обходной путь |
|---|---|
| Пропуск поиска | Жёсткое правило: создание BSL-кода → первый шаг = RLM-разведка, если доступна |
Начали с navigate_symbol, но нет точного имени/позиции | Вернуться к rlm_start: задача широкая, LSP здесь преждевременен |
list_metadata_objects пусто | Конфигурация загружена? v8-runner build (или v8-runner dump --mode incremental если ИБ — источник правды); проверить metaType/nameMask |
navigate_symbol пусто | Если это широкая разведка — перейти к RLM. Если позиционная LSP-задача — уточнить имя (рус/лат, регистр) |
ask_ai_assistant пустой результат | Переформулировать query; см. правила в buddy-prompting |
search_ssl_functions недоступен | Без БСП — search_syntax_reference + navigate_symbol по общим модулям |
depends_on: