Implement LSP code intelligence tools in qyl.mcp. Six deterministic function tools (goto-definition, find-references, symbols, diagnostics, prepare-rename, rename) following the DebugTools/RiderMcpProxy pattern. Includes runtime stack, DI registration, server targets, and Loom bridge plan.
From qyl-lspnpx claudepluginhub ancplua/ancplua-claude-plugins --plugin qyl-lspThis skill uses the workspace's default tool permissions.
references/loom-bridge.mdreferences/placement.mdreferences/registration.mdreferences/runtime-stack.mdreferences/servers.mdreferences/tools.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Add semantic code intelligence to qyl via LSP tools in qyl.mcp.
This is not an agent. These are deterministic function tools that Loom workflows call when they need code intelligence instead of grep.
Before implementing, read the reference files:
src/qyl.mcp/Tools/Lsp/ with the runtime stackLspTools.cs with 6 tool methods following the DebugTools patternDebug skill bucket in QylSkillKindProgram.cs and tools in SkillRegistrationExtensions.cscsharp-ls firsttypescript-language-server --stdio for src/qyl.dashboard[LoomTool] wrappers in src/qyl.loom/V2/[LoomTool], [ToolSideEffect(None)],
[RequiresCapability]qyl.mcp — NOT qyl.collectorfunction space, not agent space(workspaceRoot, serverId)textDocument/didOpen and textDocument/didChange properlyqyl.collector must not own any of thislsp_goto_definition: return file path + line + column + previewlsp_find_references: return list of locations with contextlsp_symbols: support both document and workspace symbolslsp_diagnostics: support file AND directory modeslsp_prepare_rename: return preview/validity signal, not the rename itselflsp_rename: apply WorkspaceEdit to disk, return concise edit summaryqyl.collector — local workspace state is not collector truthQylSkillKind member before the surface exists — reuse DebugIf you want typed payloads instead of markdown-only results, put DTOs in
src/qyl.contracts/Agenting/ — that's the agent-facing code intelligence
surface, not collector telemetry. Add a JsonSerializerContext next to
the tool class for structured responses.