framework_eng/skills/tool-usage/code-analysis/search-before-write/SKILL.md
Search Before Write. The skill teaches the agent **to always perform a search before writing new code**.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework search-before-writeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Any coding task is first and foremost a search task. Search first, then write.
Each next step is only taken if the previous one produced no result:
| Step | Tool | What we search for |
|-----|------------|----------|
| 1 | navigate_symbol (LSP) | Similar functions/procedures in the project |
| 2 | list_metadata_objects, get_metadata_structure | Configuration objects (catalogs, registers, documents) |
| 3 | search_syntax_reference, get_type_info | Built-in platform types/methods |
| 4 | search_ssl_functions | БСП functions (if the configuration contains БСП) |
| 5a | ask_ai_assistant (SEARCH_DOCS template) | Platform documentation - if the question is about API, methods, types |
| 5b | ask_ai_assistant (SEARCH_ITS → FETCH_ITS template) | Standards, methodology, ИТС examples - if the question is about development rules |
| 5c | ask_ai_assistant (generic) | Other questions - only if 5a/5b do not fit |
Prompt templates for steps 5a-5c - see the
buddy-promptingskill.
| Task | Initial cascade step | |--------|-----------------------| | New function/procedure | 1 - search for analogs by name | | Business logic | 2 - search for metadata objects | | Using the platform API | 3 - syntax reference; fallback 5a (documentation) | | Print form | 2 → 4 (metadata + БСП API) | | Development standards and rules | 5b - search in ИТС | | Migration between versions | 5a (DIFF_VERSIONS template) | | Query | 1 - existing queries in the project |
| Capability | Purpose |
|------------|------------|
| navigate_symbol | Search for symbols, definitions, usages |
| list_metadata_objects | Metadata objects by type and mask |
| get_metadata_structure | Object structure (requisites, dimensions, resources) |
| search_syntax_reference | Platform syntax reference |
| get_type_info | Platform type details |
| search_ssl_functions | БСП functions |
| ask_ai_assistant | Best practices, templates |
| Mistake | Workaround |
|--------|---------------|
| Skipping the search | Hard rule: code creation → first step = search |
| list_metadata_objects returns nothing | Is the configuration loaded? v8-runner build (or v8-runner dump --mode incremental if ИБ is the source of truth); check metaType/nameMask |
| navigate_symbol returns nothing | Clarify the name (Rus/Lat, case); ask_ai_assistant (SEARCH_DOCS template) |
| ask_ai_assistant returns an empty result | Reformulate the query; see the rules in buddy-prompting |
| search_ssl_functions unavailable | Without БСП — search_syntax_reference + navigate_symbol through common modules |
tools
Diagnostics for Vanessa Automation runs. Use when a feature scenario failed, artifacts were not created, or you need to classify a failure after launch.
tools
Creating and refining Vanessa Automation feature scenarios based on real project requirements. Use when you need to write or update a scenario test, not just run it.
tools
--- name: v8-session-manager description: Use when working with the 1С session manager (v8-session-manager) - launch, configuration, connecting 1С clients, reading session_list, calling proxied MCP-tools from 1С extensions, diagnostics. Triggers: mention of `v8-session-manager`, `session_list`, 1С extension MCP showcase, error “no active sessions” / “session_id required”, connecting a client to the manager via `mcpMode=ws`. provides_capabilities: # Built-in manager tools — always available whi
tools
Use when Codex needs to manage v8-runner on local 1C projects through the CLI: configure v8project.yaml, initialize infobases or EDT workspaces, build sources from Designer or EDT, run syntax checks and tests, dump infobase changes, convert source formats, load or export artifacts, launch 1C clients, or choose safe 1C automation command sequences.