skill-creator-ext
$
npx mdskill add SteelMorgan/1c-agent-based-dev-framework/skill-creator-extExtends skill-creator with 1C BSL framework specifics for creating or modifying framework skills.
- Helps create skills for tool usage, BSL practices, spec writing, and project-specific needs.
- Integrates with 1c-ai-agent-cli and depends on the base skill-creator skill.
- Decides based on triggers like new MCP tools or repeated BSL code patterns.
- Provides structured guidance through categories and directories for framework skills.
SKILL.md
.github/skills/skill-creator-extView on GitHub ↗
--- name: skill-creator-ext description: > 1C BSL Framework extension for skill-creator skill. Use together with the base skill-creator skill when creating or modifying framework skills (bsl-practices, tool-usage, spec-writing, agent-development-ext, etc.). Covers: framework skill categories, tool-usage skills replacing tool-registry, BSL content patterns, 1c-ai-agent-cli integration, project-specific skills. --- # Skill Creator — 1C BSL Framework Extension > **Базовый навык:** `skill-creator` (Anthropic). > Сначала прочитай базовый навык — он содержит общие принципы создания skills. > Этот файл добавляет **только** 1С-специфику фреймворка. --- ## 1. Когда создавать новый навык | Триггер | Действие | |---------|----------| | Появился новый MCP tool, и агент не знает КОГДА его использовать | Создать `tool-usage/` skill | | Обнаружен повторяющийся антипаттерн в BSL-коде | Создать `bsl-practices/` skill | | Нужно обучить агента специфике конкретной конфигурации | Создать **проектный** skill (в каталоге IDE проекта) | | Нужна стандартная методология (SDD, TDD, ревью) | Создать `spec-writing/` или новый подкаталог | | Нужно адаптировать внешний навык под фреймворк | Создать `*-ext/` расширение | **НЕ создавать** навык если: - Информация уже есть в существующем навыке — дополнить его - Это одноразовая инструкция — сделать prompt, не skill - Это правило/политика (MUST/SHOULD) — создать rule, не skill --- ## 2. Категории навыков фреймворка | Категория | Каталог | Назначение | Примеры | |-----------|---------|------------|---------| | **BSL-практики** | `skills/bsl-practices/` | Стандарты кодирования и паттерны | `coding-standards`, `query-patterns` | | **Tool-usage** | `skills/tool-usage/` | Когда и как использовать MCP-инструменты | `syntax-checking`, `metadata-discovery`, `test-execution` | | **Spec-writing** | `skills/spec-writing/` | Стандарты документации и спецификаций | `spec-standard` | | **Расширения** | `skills/*-ext/` | Расширения внешних skills (Anthropic и др.) | `agent-development-ext`, `skill-creator-ext` | ### Расширения (-ext) — конвенция 1. Базовый навык устанавливается через `npx skills add` (обновляемый) 2. Расширение — `<base-name>-ext/SKILL.md` в `framework/skills/` 3. Расширение **только дополняет**, не дублирует содержимое базового навыка 4. В расширении: `> Сначала прочитай базовый навык: <имя>` --- ## 3. Процесс создания навыка 1. **Анализ:** определить категорию, проверить на дублирование, определить зависимости 2. **Проектирование:** имя `kebab-case.md`, целевой лимит 300 строк (max 500) 3. **Написание** — обязательные секции: - YAML frontmatter - Заголовок + 1-3 предложения назначения - **Когда применять** — таблица триггер → действие - **Сценарии** — конкретные примеры - **Примеры кода** — правильно + неправильно с объяснением ПОЧЕМУ 4. **Интеграция:** файл в `framework/skills/`, обновить `skills` в агентах, `python tools/install.py --list` --- ## 4. Tool-usage навыки — замена tool-registry Tool-usage навыки — **единственное место** где описаны MCP-инструменты в фреймворке. ### Структура tool-usage навыка ```markdown # [Название] — как использовать MCP-инструменты для [задачи] ## Когда применять | Триггер | Действие | |---------|----------| | Пользователь просит проверить синтаксис | Вызвать `bsl.checkSyntax(uri)` | | Агент написал/изменил .bsl код | Автоматически проверить синтаксис | ## MCP-инструменты | Инструмент | Назначение | Workarounds | |------------|------------|-------------| | `bsl.checkSyntax` | Проверка синтаксиса | Если URI не найден — проверить encoding | ## Сценарии [Конкретные цепочки вызовов] ``` ### Принципы 1. **Не дублируй описание MCP-инструмента** — оно приходит из MCP (`tools/list`) 2. **Фокус на КОГДА и ПОЧЕМУ**, не на параметрах 3. **Workarounds и подводные камни** — главная ценность 4. **Конкретные сценарии** — цепочки вызовов для типичных задач --- ## 5. Форматы навыков | Тип | Размещение | Frontmatter | Установка | |-----|-----------|-------------|-----------| | Framework skill | `framework/skills/` | `name`, `description`, `depends_on` | CLI через симлинки | | IDE skill | `.cursor/skills/` или `.agents/skills/` | `name`, `description` | `npx skills add` | | Расширение (-ext) | `framework/skills/<name>-ext/` | `name: base-name-ext`, `description` | CLI, часть фреймворка | --- ## 6. Паттерны контента **Триггер → Действие** (tool-usage): таблица `| Триггер | Действие |` **Правильно / Неправильно** (bsl-practices): два блока кода + объяснение ПОЧЕМУ (последствие нарушения) **Воркфлоу с чек-листом** (методологии): `- [ ] Шаг N: ...` **Условный воркфлоу** (ветвления): `Определи тип → ветка A / ветка B` --- ## 7. Проектные навыки (project-specific) Размещение: `.cursor/skills/` или `.claude/skills/` в корне проекта. Формат Anthropic SKILL.md. **Включать:** архитектура конфигурации, локальные conventions, бизнес-правила, критичные модули, интеграции. **НЕ включать:** общие стандарты BSL (во framework-навыках), секреты, быстро устаревающую информацию. --- ## 8. BSL-специфика ### Ограничения платформы - BSL не поддерживает наследование — только общие модули - Нет package manager — зависимости через конфигурацию - Код разделён по контекстам (сервер/клиент/внешнее соединение) - Метаданные — декларативные, код — императивный --- ## 9. Чек-лист нового навыка - [ ] YAML frontmatter, имя kebab-case (латиница) - [ ] Объясняет ПОЧЕМУ, примеры правильно/неправильно - [ ] Таблица "Когда применять" (триггер → действие) - [ ] Нет дублирования с существующими навыками - [ ] Объём ≤ 300 строк (max 500) - [ ] Файл в `framework/skills/`, агенты обновлены, `install.py --list` показывает навык --- depends_on: [] ---
More from SteelMorgan/1c-agent-based-dev-framework
- 1c-ai-agent-cliCLI 1C BSL Agent Framework — tools/install.py (clone, install). Используй при клонировании репозитория, установке компонентов в проект, настройке IDE (Cursor, Claude Code, Windsurf, VS Code+Continue).
- agent-debugПаттерн отладочных сообщений для 1С BSL. Используй, когда стандартная диагностика (event-log, скриншоты) не даёт понять фактическое поведение системы — нужно вставить временные точки логирования в код, запустить тест и проанализировать записи ЖР.
- agent-developmentCreate custom subagents for specialized AI tasks. Use when the user wants to create a new type of subagent, set up task-specific agents, configure code reviewers, debuggers, or domain-specific assistants with custom prompts.
- agent-development-ext>
- agent-git-workflowStandardizes git workflow for the AI agent in the sandbox devcontainer: work in agent/<task>-<yyyymmdd>, integrate via agent, never push to main/master, open PRs via GitHub CLI. Use when the user asks to create branches, push changes, open PRs, or follow this sandbox repo setup.
- auto-skill-bootstrapDeterministic helper to inventory existing project skills, detect missing capability coverage, search skills.sh via Skills CLI, and (optionally) install missing skills under a trust policy. Uses skills-manifest.json + state.json to stay idempotent across changing requirements.
- code-navigationНавигация по коду (Code Navigation). Навык учит агента **эффективно перемещаться по BSL-коду** с помощью LSP (Language Server Protocol).
- config-operationsОперации с конфигурацией 1С (CF) — init, info, edit, validate. Используй при создании конфигурации, анализе структуры, изменении свойств и ChildObjects, валидации Configuration.xml.
- epf-buildСобрать EPF/ERF из XML-исходников. Используй после внесения временных диагностических правок в разобранную обработку.
- epf-dumpРазобрать EPF/ERF в XML-исходники. Используй, когда нужно быстро получить исходный код внешней обработки или отчета для анализа и временной модификации.