Community Скиллы Российские сервисы

Скиллы GitHub Copilot для 1С

Установка
git clone (см. README)

Описание

dev-1c — скилл разработки на 1С для GitHub Copilot: стадия research — агент изучает задачу и контекст перед кодом, стадия design — проект решения до первой строки, план по фазам — работа итерациями с видимым прогрессом, ревью BSL-кода — проверка по чеклисту вместо общих рассуждений. Для команд на платформе 8.2, подключающих Copilot к полному циклу разработки.

Что умеет:
— вести research и design до кода;
— разбивать работу на фазы;
— ревьюить BSL по чеклисту;
— работать в GitHub Copilot.

Полная документация ниже — автоматически из репозитория andanlv-ai/1c-copilot-skills (ветка master). Оригинальные материалы проекта распространяются на условиях его лицензии.

# 1C Copilot Skills

Репозиторий GitHub Copilot Skills для разработки в 1С:Предприятие 8.2.


Содержание

  1. Как пользоваться скиллами
  2. Как дорабатывать скиллы
  3. Как создавать новые скиллы
  4. Что ещё стоит добавить

Структура репозитория

1c-copilot-skills/
├── .github/
│   └── skills/
│       ├── dev-1c/                   ← Общий скилл, любой 1С 8.2 проект
│       │   ├── SKILL.md              ← Методология, алгоритмы, шаблоны
│       │   └── references/
│       │       ├── bsl-standards.md  ← Стандарты BSL + чеклист ревью
│       │       └── mcp-1c-tools.md   ← Справочник инструментов mcp_1c
│       └── rdpi-1c/                  ← Проектный скилл (Swedbank)
│           └── SKILL.md
├── deploy.ps1                        ← Скрипт деплоя
└── README.md

Правило: этот репозиторий — единственный источник истины.
Скиллы редактируются здесь, отсюда деплоятся в проекты и в личные настройки Copilot.


Часть 1: Как пользоваться скиллами

Что такое skill

Skill — это файл инструкций (SKILL.md), который Copilot загружает по запросу.
Агент читает его и начинает действовать по описанному алгоритму.

Скиллы живут в двух местах:

  • ~/.copilot/skills/ — личные, доступны во всех проектах VS Code
  • <проект>/.github/skills/ — проектные, доступны только в одном воркспейсе

Как вызвать скилл

Способ 1 — явный, через /:
В Copilot Chat введи / — появится список всех скиллов и промптов.
Выбери /dev-1c или /rdpi-1c.

Способ 2 — автоматический:
Просто опиши задачу. Copilot читает поле description каждого скилла
и сам решает — нужен ли скилл для этого запроса.

Фразы, которые автоматически активируют dev-1c:

"нужно добавить фичу в 1С"
"исправить баг в BSL"
"сделай research кодовой базы"
"как написать запрос в 1С 8.2"
"ревью кода BSL"

Типичная рабочая сессия с dev-1c

Ты:      /dev-1c нужно добавить обработку нового типа операции
Copilot: [читает SKILL.md, запускает Research через mcp_1c, создаёт research.md]

Ты:      переходи к Design
Copilot: [создаёт architecture.puml, contracts.md, decisions.md...]

Ты:      Plan
Copilot: [разбивает на фазы: phase-1.md, phase-2.md...]

Ты:      реализуй фазу 1
Copilot: [пишет BSL-код → ревью стиля → ревью соответствия дизайну]

Не пропускай фазы. Каждая создаёт артефакт для следующей.
Если пропустить Design — в Implement агент начнёт угадывать архитектуру.

Разница между dev-1c и rdpi-1c

dev-1c rdpi-1c
Область Любой 1С 8.2 проект Только Swedbank-проект
Знает про файлы Нет Да: ИмпортИзСведбанк.bsl, форма документа
Знает про CSV Нет Да: поля, парсинг, коды операций
Промпты Общие шаблоны Ссылки на конкретные .prompt.md файлы

В Swedbank-проекте используй rdpi-1c — он даёт более точный контекст.


Часть 2: Как дорабатывать скиллы

Рабочий цикл доработки

1. Открой C:\Users\user\1c-copilot-skills в VS Code
2. Отредактируй нужный файл скилла
3. Задеплои:
   .\deploy.ps1 -Force                                   (только dev-1c)
   .\deploy.ps1 -ProjectPath "C:\...\проект" -Force      (+ rdpi-1c в проект)
4. Перезапусти VS Code (полностью, не reload window)
5. Проверь в Copilot Chat что скилл работает
6. git add . ; git commit -m "описание изменения"

Какой файл за что отвечает

SKILL.md — дорабатывай когда:

  • Добавился новый сценарий использования
  • Нужно уточнить алгоритм фазы
  • Copilot делает что-то не так — добавь явный запрет
  • Добавился новый тип задач (регистры, СКД, HTTP)

references/bsl-standards.md — дорабатывай когда:

  • Нашёл новый типичный баг → добавь в чеклист
  • Появился паттерн который нужно запретить или обязать
  • Нужен новый раздел (транзакции, HTTP-запросы, COM-объекты)

references/mcp-1c-tools.md — дорабатывай когда:

  • Нашёл новый инструмент mcp_1c или новый сценарий его применения

Как проверить что изменение работает

1. Открой Copilot Chat (Ctrl+Alt+I или через боковую панель)
2. Введи / → проверь что скилл виден в списке
3. Задай конкретный вопрос:
   "что делает dev-1c?"         → Copilot должен ответить по SKILL.md
   "покажи чеклист ревью BSL"   → должен дать содержимое bsl-standards.md
4. Проверь что новое правило соблюдается в генерируемом коде

Частые проблемы

Скилл не появляется в / списке:

  • Имя папки должно совпадать с полем name в frontmatter — точно, без опечаток
  • Файл должен называться SKILL.md (заглавными буквами)
  • Перезапусти VS Code полностью

Copilot игнорирует правила скилла:

  • Самые важные правила помещай в description (до 1024 символов) —
    это первое что читает агент
  • В теле SKILL.md пиши конкретные, однозначные инструкции
  • Используй императив: "НИКОГДА не используй X" вместо "лучше избегать X"
  • Добавь примеры правильного и неправильного кода

Reference-файлы не загружаются:

  • Пути в SKILL.md относительны от папки скилла: ./references/bsl-standards.md
  • Не используй абсолютные пути и не выходи за папку скилла (../../)
  • Агент загружает reference только если явно на него ссылается — добавь ссылку в SKILL.md

Часть 3: Как создавать новые скиллы

Принцип: один скилл = одна специализация

Не делай один большой скилл на всё. Несколько специализированных работают лучше:

Скилл Назначение
dev-1c Полный цикл разработки в 1С 8.2 (есть)
rdpi-1c RDPI для Swedbank (есть)
query-1c Написание запросов 1С (СКД, временные таблицы)
form-1c Работа с формами 8.2 (обработчики, элементы, таблицы)
debug-1c Локализация и исправление багов
report-1c Разработка отчётов (обычные отчёты, СКД)

Структура нового скилла

.github/skills/<имя-скилла>/
├── SKILL.md           ← Обязательный. Имя файла фиксировано — именно SKILL.md
├── references/        ← Большие блоки (чеклисты, справочники) — сюда
│   ├── topic-1.md
│   └── topic-2.md
└── assets/            ← Шаблоны кода, boilerplate — опционально
    └── template.bsl

Шаблон SKILL.md (скопируй и адаптируй)

---
name: имя-скилла
description: "Что делает одним предложением. Используй когда: задача 1, задача 2,
  задача 3. Покрывает: тема 1, тема 2. Включает: инструмент 1, шаблон 2."
argument-hint: "Подсказка что написать при /имя-скилла"
---

# Название

Одно предложение — что делает скилл.

> ВАЖНО: ключевое ограничение или платформа.

## Когда использовать

- Триггерная фраза / ситуация 1
- Триггерная фраза / ситуация 2

## Шаг 1: Название

Что делать на этом шаге. Какие инструменты использовать.
Ожидаемый результат.

## Шаг 2: Название

...

## Правила (нарушать нельзя)

- НИКОГДА не делай X — потому что Y
- Всегда используй A вместо B

## Справочники

- Полный список → [references/topic-1.md](./references/topic-1.md)

Правила хорошего description

Description — это единственное что агент читает при обнаружении скилла.
От него зависит — загрузится скилл автоматически или нет.

ПЛОХО:  "Помогает с разработкой"
ХОРОШО: "Разработка запросов 1С 8.2. Используй когда: нужно написать
          запрос, оптимизировать выборку, написать СКД, разобраться
          с временными таблицами. Включает: шаблоны запросов, примеры
          группировок, правила работы с регистрами."

Правила:

  • Максимум 1024 символа (больше — срезается)
  • Включай ключевые слова из реальных запросов пользователя
  • Обязательно: паттерн "Используй когда: …"
  • Перечисляй конкретные технологии и термины

Три уровня загрузки (важно для структуры файлов)

Агент читает скилл поэтапно — это влияет на то куда что класть:

Уровень 1 (~100 токенов):   name + description из frontmatter
                             → решает нужен ли скилл

Уровень 2 (<5000 токенов):  тело SKILL.md
                             → понимает что делать

Уровень 3 (по ссылке):      файлы из references/ и assets/
                             → загружает только когда явно нужно

Правило:

  • SKILL.md ≤ 400 строк — алгоритм + краткие правила + ссылки на references
  • references/*.md — большие чеклисты, справочники, примеры кода
  • assets/* — шаблоны и boilerplate

Пошаговый процесс создания скилла

Шаг 1: Определи специализацию

Ответь письменно:

  • Какую конкретную задачу решает скилл (одно предложение)?
  • Какие слова напишет пользователь когда ему нужен этот скилл?
  • Что агент должен делать шаг за шагом?
  • Какие правила нельзя нарушать?

Шаг 2: Собери знания до написания

  • Алгоритм действий (пронумерованные шаги)
  • Инструменты (команды, функции, API)
  • Запрещённые паттерны с примерами
  • Шаблоны / boilerplate кода

Шаг 3: Распредели материал по файлам

В SKILL.md:          алгоритм + краткие правила + ссылки на references
В references/:       чеклисты > 30 строк, справочники, примеры > 20 строк
В assets/:           шаблоны кода, boilerplate

Шаг 4: Напиши description последним

После того как написал тело SKILL.md — возьми все ключевые слова из него
и включи в description. Description — это "рекламный текст" скилла для агента.

Шаг 5: Добавь в deploy.ps1

В файл deploy.ps1 добавь строку для нового скилла:

Deploy-Skill -SkillName "имя-нового-скилла" -DestinationBase $PersonalSkillsPath -Force:$Force

Шаг 6: Протестируй

1. .\deploy.ps1 -Force
2. Перезапусти VS Code
3. Проверь появление в / списке
4. Напиши запрос без упоминания скилла — активировался автоматически?
5. Проверь что агент следует инструкциям из SKILL.md
6. Если нет — уточни description или добавь правила в тело SKILL.md

Часть 4: Что ещё стоит добавить

Улучшения текущего dev-1c

  • [ ] Раздел: работа с регистрами накопления (остатки, обороты, запросы)
  • [ ] Раздел: работа с регистрами сведений (срезы, периодичность)
  • [ ] Раздел: разработка отчётов в 8.2 (обычные отчёты, СКД)
  • [ ] Раздел: работа с HTTP-соединениями в 8.2 (HTTPSоединение)
  • [ ] Раздел: транзакции (НачатьТранзакцию, правила отката)
  • [ ] Раздел: работа с COM-объектами (Excel, Word через COM)
  • [ ] В bsl-standards.md: типовые шаблоны запросов с временными таблицами
  • [ ] В bsl-standards.md: правила работы с блокировками данных

Улучшения текущего rdpi-1c

  • [ ] Описание XML-структуры факторинговых файлов (теги, вложенность)
  • [ ] Список всех кодов типов операций CSV с описанием обработки
  • [ ] Реквизиты документов конфигурации (ПлатежноеПоручениеВходящее и др.)
  • [ ] Описание всех процедур ИмпортИзСведбанк.bsl (краткий справочник)

Новые скиллы для создания

Приоритет Скилл Что делает
Высокий query-1c Запросы 1С: синтаксис, СКД, временные таблицы, оптимизация
Высокий form-1c Формы 8.2: обработчики событий, элементы управления, таблицы
Средний debug-1c Локализация багов: стек ошибок, ЖР, воспроизведение, исправление
Средний report-1c Обычные отчёты и СКД: схема компоновки, группировки, параметры
Низкий exchange-1c Обмен данными: планы обмена, XML-сериализация, CommerceML

Деплой — быстрая справка

# Задеплоить dev-1c в личные скиллы Copilot (все проекты)
.\deploy.ps1

# Задеплоить dev-1c + rdpi-1c в конкретный проект
.\deploy.ps1 -ProjectPath "C:\Users\user\мой-проект"

# Принудительное обновление (перезаписать существующие)
.\deploy.ps1 -ProjectPath "C:\Users\user\мой-проект" -Force

# После деплоя — перезапустить VS Code полностью

Активация в Copilot Chat

/dev-1c   → общий скилл 1С 8.2 (всегда доступен после deploy.ps1)
/rdpi-1c  → проектный скилл Swedbank (только в том воркспейсе куда задеплоен)

Или просто опиши задачу — Copilot подберёт нужный скилл по ключевым словам.