framework_eng/skills/tool-usage/v8-session-manager/SKILL.md
Use for working with the 1С session manager: launching, configuration, connecting clients, reading session_list, calling proxied MCP tools from 1С extensions. Helps with errors «no active sessions» / «session_id required» and connecting a client via `mcpMode=ws`.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework v8-session-managerInstall 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.
A thin MCP aggregator: accepts WS connections from 1С clients and publishes their MCP tools on a single HTTP endpoint for the AI agent.
| Capability | Source |
|---|---|
| Built-in tool — session_list (read-only registry snapshot) | manager |
| Built-in tool — tools_cache_reset (full reset or by config_id) | manager (ADR-0035) |
| Showcase of proxied tools from connected clients | 1С extensions |
| Persistent showcase cache (workPath/tools_cache.json, TTL 5d) | manager (ADR-0035) |
| Routing a call to the correct session by session_id | manager |
| Soft reconnect of a client by client_uid | manager |
| FIFO order of calls into one session | manager |
Everything else (domain tools — form descriptions, test runs, navigation, etc.) is added by 1С extensions, not by the manager. There is a separate skill for each extension.
The manager's tools/list is read from a persistent cache on disk, not only from live WS sessions. Implications for the agent:
tools/list ≠ a successful call. The cache survives client disconnect and manager restart — the name stays on the showcase, but a call without a live session returns an MCP tool error isError:true, _meta.error_code="no_live_session". This is not a bug, it is the contract.notifications/tools/list_changed. The persistent cache removes the dependency on stable notification handling.tools_cache_reset is needed: when a tool has been intentionally removed from the extension and will not come back (or the configuration has been removed completely). Otherwise it will linger until the TTL expires (by default 5 days from the last session.register). Full reset — without arguments; targeted — {"config_id": "<id>"} (taken from session_list[*].config_id).inputSchema.Details — references/sessions-and-tools.md § «Persistent cache and tools_cache_reset».
The manager does not:
v8-runner);| Task | Reference |
|---|---|
| What each layer of the stack does (addin → devkit → BSL → manager → AI) | references/architecture.md |
| Bring up the manager, connect a 1С client | references/bootstrap.md |
| Read session_list, call a tool, understand why it is missing | references/sessions-and-tools.md |
| Add a new tool to a 1С extension | references/extending-tools.md |
| Manager does not start / client is not visible / tool is hidden / call fails | references/troubleshooting.md |
src/, Cargo.toml, systemd/, etc/, spec/, ADR in docs/decisions/) — this is the upstream repository. All manager-level changes are coordinated in a separate task.exts/<extension>/); editing/adding them means changing the public contract.v8-runner.testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
development
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.