Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Mcp Code Index

ASecurity

Работа с индексом исходников 1С через MCP-сервер code-index: где в конфигурации и расширениях реализован функционал, кто вызывает процедуру и что вызывает она, цепочка и дерево вызовов, карта влияния перед изменением объекта — что ссылается на него в метаданных, коде и правах ролей, регистраторы регистра и движения документа, состав объекта со всеми расширениями, обработчики форм, подписки на события, права ролей, подсчёты по метаданным, перехватчики расширений. Используй, когда в сессии есть...

12 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentssqlnode

Works with

claude codemcp

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add mr-ske1r/1c-ai-devstart --skill mcp-code-index --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mcp Code Index?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Mcp Code Index
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mr-ske1r-mcp-code-index/badge)](https://www.skillsdirectory.com/skills/mr-ske1r-mcp-code-index)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: mcp-code-index
description: "Работа с индексом исходников 1С через MCP-сервер code-index: где в конфигурации и расширениях реализован функционал, кто вызывает процедуру и что вызывает она, цепочка и дерево вызовов, карта влияния перед изменением объекта — что ссылается на него в метаданных, коде и правах ролей, регистраторы регистра и движения документа, состав объекта со всеми расширениями, обработчики форм, подписки на события, права ролей, подсчёты по метаданным, перехватчики расширений. Используй, когда в сессии есть инструменты сервера code-index и задача звучит как «найди, где это сделано», «кто использует», «что затронет изменение», «сколько объектов», «покажи структуру объекта». Не для данных базы и применённого состояния метаданных и не для правки исходников. Здесь же ловушки индекса и подключение проекта."
---

# Работа с индексом исходников через MCP-сервер `code-index`

Описание и схема каждого инструмента приходят вместе с ним и сами говорят, когда его брать и как
дешевле — не копируй их отсюда. Нормы (приоритет, `repo`, проверка свежести, только чтение) —
в `.claude/rules/mcp.md`, секция «Сервер индекса исходников». Здесь — порядок типовых
исследований 1С, чего индекс не знает, и ловушки, которых из схем не видно.

## Что индекс знает и чего нет

Знает: тексты модулей BSL всех наборов из `src` (основная конфигурация и каждое расширение
в одном графе, модули расширений помечены `extension_name`); граф вызовов процедур; структуру
объектов, обработчики форм, подписки на события, состав движений, права ролей, связи по ссылочным
реквизитам — разобранные из XML метаданных.

Не знает: XML объектов как текст (структура — только через `get_object_structure`, искать XML
через `list_files`/`grep_text` бесполезно); компоновку форм, табличные макеты и настройки
вариантов СКД (саму схему СКД знает — `get_dcs_schema`); применённое состояние базы
(за ним — сервер базы). Индекс отвечает «где написано», не «что работает».

## Порядок типовых исследований

Снято с `tools/list` сервера; выпуски добавляют инструменты, полный перечень — в самом
`tools/list`. Вопрос → с чего начать → чем продолжить.

| Вопрос | Инструмент | Продолжение |
|---|---|---|
| Где реализован функционал X (точного имени нет) | `search_terms` — по словам, синонимам и комментариям | `get_function` по `proc_key` |
| Где определена процедура с известным именем | `find_symbol` (локации) или `get_function` (тело) | неуникальное имя — `path_glob` |
| Поиск по словам в именах функций | `search_function` | `get_function` |
| Строка или regex в коде | `grep_body` — показывает, в какой процедуре; `grep_code` — весь файл, включая `Перем` и литералы вне процедур | всегда с `path_glob` или `language` |
| Кто вызывает / что вызывает | `get_callers`, `get_callees` — весь список одним вызовом | цепочка — `find_path_bsl`, дерево — `get_call_tree` |
| Есть ли путь от A до B, через что | `find_path_bsl` (учитывает вид вызова); универсальный `find_path` | не собирай цепочку вручную |
| Дерево вызовов на N уровней | `get_call_tree` (`direction`: `callers`/`callees`) | сужай `max_depth`, `max_nodes` |
| Что затронет изменение объекта — карта влияния | `find_references` — реквизиты других объектов, обращения в коде, права ролей одним ответом | `get_data_links` `depth=1` за счётчиками по видам связи |
| Регистраторы регистра, движения документа | `get_register_writers` — оба направления одним вызовом | код проведения — `get_function` |
| Путь по данным между двумя объектами | `find_data_path` | — |
| Обзор объекта: реквизиты, формы, модули, связи | `get_object_profile` — счётчики и перечни | `sections=[…]` удешевляет |
| Полная структура объекта с типами, предопределённые, свойства | `get_object_structure` | применённое состояние — сервер базы (`mcp.md`) |
| Обработчики формы и её элементов | `get_form_handlers` (`owner_full_name`, без `form_name` — все формы) | `element` сужает |
| Подписки на событие | `get_event_subscriptions` (`event`, `source`, `handler_module`) | — |
| Схема отчёта на СКД: наборы, поля, параметры, итоги, какие объекты читает запрос | `get_dcs_schema` (макет, владелец или общий макет; `sections` сужает, `include_query=false` — только длины запросов) | настройки вариантов (группировки, отборы) не разобраны — `read_file` по `content_file` |
| Права ролей на объект / что разрешено роли | `get_role_rights` (`object` либо `role`) | срез сложнее — `bsl_sql` по `role_rights` |
| Сколько / какие / у кого — подсчёт, фильтр, join | `bsl_sql` (`SELECT`/`WITH`) | таблицы — в описании инструмента |
| Перехватчики расширений над методом | `bsl_sql`: `functions.override_type`, `override_target` | либо `grep_code` с `path_glob` каталога расширения |
| Оглавление большого модуля без тел | `get_file_summary` | тело — `get_function` или `read_file` по строкам |
| Фрагмент файла по пути | `read_file` (`line_start`/`line_end`) | oversize — `get_function`/`grep_body` |
| Список файлов, метаданные файла | `list_files`, `stat_file` | — |
| Текстовые файлы (md, yaml, json) | `search_text`, `grep_text` | — |
| Живость и состав индекса | `health` (все репо), `get_stats` (`repo` или все) | — |
| Классы, импорты (не про 1С) | `search_class`, `get_class`, `get_imports` | — |

## Паттерн: карта влияния перед правкой объекта

1. `find_references` по каноническому имени — `Document.РеализацияТоваровУслуг`,
   `Catalog.Контрагенты`, `AccumulationRegister.ТоварыНаСкладах`. Три секции: `data_refs`,
   `code_usages`, `role_rights`; у каждой `total` — сначала смотри счётчики, потом примеры.
2. Для документа и регистра — `get_register_writers`: состав движений декларативный, точнее
   разбора кода проведения.
3. Вглубь по данным — `get_data_links` с `depth=1` и одним направлением; страницы листай
   только когда счётчики по видам связи не ответили на вопрос.
4. Перехватчики расширений над затронутыми методами — по паттерну ниже. Норма о полноте
   анализа расширений — `1c-rules.md` (### Архитектура).

## Паттерн: перехватчики расширений

Один запрос вместо обхода каталогов:

```sql
SELECT f.name, f.override_type, f.override_target, fl.path
FROM functions f JOIN files fl ON fl.id = f.file_id
WHERE f.override_type IS NOT NULL AND f.override_target = 'ИмяМетода'
```

Путь в ответе начинается с каталога набора (`cfe_<Имя>/…`) — так видно, какое расширение
перехватывает. Перехват обработчика события формы описан не директивой в модуле, а секцией
`Events` в `Form.xml` расширения — его индекс не покажет, читай форму по `mcp.md` п. 3 протокола.

## Сужение одним набором

`path_glob` — по первому сегменту пути: `cfe_Имя/**` — одно расширение, `cf/**` — основная
конфигурация, `{cf,cfe_Имя}/**` — вместе. В таблицах метаданных объекты расширений помечены
`extension_name`. Имена объектов: для инструментов метаданных — `<MetaType>.<Имя>` в единственном
числе (`Document.ЗаказКлиента`); в таблицах `bsl_sql` папка во множественном (`Documents.ЗаказКлиента`).

## Ловушки

- **Ноль без `ready` ничего не доказывает.** После `build_dump`, переключения ветки или массовой
  замены исходников демон догоняет изменения: `health` показывает `initial_indexing`,
  `reindexing_batch` или `reindexing_extras` — дождись `ready`, потом делай выводы. Норма — `mcp.md`.
- **`ready` ещё не значит «всё собрано».** Полнотекст и данные 1С досчитываются после:
  ответ `{"status":"indexing","layer":"fts"}` или `"layer":"extras"` — повтори вызов позже,
  это не «ничего не найдено».
- **Распространённое имя даёт обрезанный ответ** (`truncated`): стандартные обработчики
  (`ПередЗаписью`, `ОбработкаПроведения`) есть у сотен объектов — сразу задавай `path_glob`.
- **`get_callees` без `callee_path`** у записи означает, что имя носят несколько процедур:
  спроси их одним `grep_code` с перечислением через `|`, а не вызовом на каждое имя.
- **`grep_code`/`grep_text` без `path_glob` или `language`** — полное сканирование, дорого.
- **`bsl_sql`:** `lower()` в SQLite не переводит кириллицу — фильтруй по `object_ref_key`
  (уже в нижнем регистре) или по точному `object_ref`; колонка `repo` во всех таблицах равна
  `default`, фильтровать по ней не нужно; blob-колонки приходят как `{_blob_bytes: N}` — текст
  бери через `get_function`/`read_file`.
- **Добавили репозиторий в `daemon.toml` — `serve` его не видит**: `daemon reload`
  демон принимает, а список репо у `serve` перечитывается только при старте. Признак —
  `unknown_repo` на новый алиас при живом демоне. Перезапусти только процесс `serve`, демон
  не трогай — он индексирует другие проекты; подробности — `/setup-code-index`.
- **Claude Code не подхватывает `tools/list_changed`**: после подключения нового репозитория
  инструменты появятся после `/mcp` → `Reconnect` или перезапуска сессии.
- **Oversize-модуль** `read_file` не отдаёт (`oversize=true`): бери `get_function`, `grep_body`,
  `get_file_summary`.

## Подключение

Один демон на машину индексирует все проекты; MCP-сервер `serve` отдаёт их по HTTP
(`http://127.0.0.1:8011/mcp`, запись `code-index` в `.mcp.json`), репозиторий выбирается
параметром `repo`. Установка на машину и подключение проекта — команда `/setup-code-index`:
она ставит индексатор штатным установщиком, регистрирует `src` проекта в демоне, задаёт
исключения (эталон поставщика в индекс не попадает) и заполняет секцию «Индекс исходников
(code-index)» паспорта. Режим stdio (`npx -y @regsorm/code-index-mcp serve --path src`)
не путь шаблона: ему нужны тот же демон и та же запись в `daemon.toml`, без них он отвечает
`daemon_offline`, а пакет npm содержит сборку без инструментов 1С.

Attribution

mr-ske1rmr-ske1r
View sourceMore from mr-ske1r →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →