<< All versions
Skill v1.0.1
Automated scan100/100ingvarconsulting/unica/code-search
+3 new
──Details
PublishedAugust 11, 2026 at 07:17 AM
Content Hashsha256:14169802f2ecb405...
Git SHA9d2cfeb3a576
Bump Typepatch
──Files
Files (1 file, 5.3 KB)
SKILL.md5.3 KBactive
SKILL.md · 142 lines · 5.3 KB
version: "1.0.1" name: code-search description: "Поиск и исследование BSL-кода и точек входа 1С. Используй когда нужно найти реализацию, вызовы, обработчики, модули, поток выполнения или быстро разобраться в механизме конфигурации."
Code Search
MCP routing
- Preferred path: use MCP
unicatoolsunica.code.search,unica.code.definition,unica.code.outline,unica.code.graph,unica.meta.info, andunica.project.map. - Use object-specific
unica.*.infotools when code behavior depends on metadata, forms, DCS, roles, or HTTP service structure. - Do not call internal code-index, analyzer, or package adapters directly. They are hidden behind MCP
unica. sourceSet— это имя набора исходников изv8project.yaml, а не
константа. Получите его через unica.project.map; "main" в примерах ниже — иллюстрация, а не значение по умолчанию.
Tool choice
- MCP-first discipline: prefer the public
unica.*project-index tools before
shell search for 1C source. Use shell search only after the relevant unica.code.* / unica.meta.* attempts did not close the context gap, and report what was tried when that fallback matters to the answer.
- Use
unica.code.definitionfor an exact procedure/function definition by name, especially exported methods. - Use
unica.code.outlinebefore reading a large module; it gives regions, header context, and method ranges. - Use
unica.code.searchfor arbitrary text, XML, query fragments, string literals, captions, and non-method tokens; itsgit-grepsection is the literal fallback. unica.code.search.limitis the per-provider result cap:1..50, default20.- Use
unica.code.graphfor callers, callees, neighbors, graph overview, and impact analysis when a method or metadata node id is known or can be resolved. - Use
unica.meta.infofor a compact metadata object profile: structure, modules, roles, event subscriptions, functional options, and predefined items.
Workflow
- Map the workspace with
unica.project.mapwhen the active source-set or source format is unclear. - For an exact metadata object name, call
unica.meta.infobefore broad search to identify related modules, rights, subscriptions, and functional options. - Resolve exact method names with
unica.code.definition; inspect large candidate modules withunica.code.outline. - For flow questions, resolve the node and ask
unica.code.graphfor callers, callees, or neighbors before treating lexical hits as execution flow. - Search exact identifiers next: object names, module names, event handlers, exported procedures, command names, URL templates.
- Use
unica.code.searchfor raw text fragments that are not BSL method names and inspect its provider-local sections independently. - Broaden only after exact search fails: synonyms, business terms, common module prefixes, form command captions.
- Fall back to local
rgonly for repository files outside the public Unica index or after the MCP-first attempts above were insufficient. - For every result, separate declaration, caller, handler, graph edge, and dead-looking match. Do not infer flow from one hit.
- Report concrete file paths and line anchors; include the query that produced each important hit when the search was non-obvious.
Common searches
- Object lifecycle:
ОбработкаПроведения,ПередЗаписью,ПриЗаписи,ПриСозданииНаСервере. - Managed form flow: command handler, server procedure, client wrapper, form attribute name.
- Integrations: HTTP service root URL, method name, header name, endpoint path, exchange plan node.
- BSP entry points: exported common-module procedure plus surrounding callers.
MCP examples
jsonc
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.project.map","arguments": {"cwd": "<workspace>"}}}
json
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.code.search","arguments": {"cwd": "<workspace>","query": "ОбработкаПроведения","limit": 20}}}
json
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.code.graph","arguments": {"cwd": "<workspace>","mode": "callers","id": "method:CommonModule.Продажи.ОбработкаПроведения","limit": 25}}}
json
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.meta.info","arguments": {"sourceSet": "main","metadataPath": "Document.SalesOrder","sections": ["roles", "subscriptions", "functionalOptions"],"limit": 20}}}
json
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.code.definition","arguments": {"cwd": "<workspace>","name": "ОбработкаПроведения","limit": 10}}}
json
{"jsonrpc": "2.0","method": "tools/call","params": {"name": "unica.code.search","arguments": {"cwd": "<workspace>","query": "ВЫБРАТЬ","limit": 20}}}