Repository navigation
Let task-executor and wave-reviewer use the LSP tool - #51
Merged
Merged
Conversation
Both agents pin a tools: list, and a pinned list excludes any tool not named. LSP is Claude Code's generic language-server client, so adding it keeps the handbook language-neutral; where no server is configured the tool returns an error and the agent carries on. Each agent's body gets one sentence saying it may use the tool for definitions, references, hover types and symbols when a server is available and must not rely on it. The agent check's allowlist gains LSP. Plugin 0.15.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Both agents pin a
tools:list in their frontmatter, and a pinned list excludes any tool not named, so neither agent could use Claude Code'sLSPtool.LSPis the generic language-server client; which servers exist is a per-user plugin choice (typescript-lsp, pyright-lsp, gopls-lsp, ...), so adding the tool keeps the handbook language-neutral. When no server is configured for a file type the tool returns an error and the agent continues, so it costs nothing in repositories without an LSP plugin.What
The
task-executorandwave-revieweragents may now call theLSPtool for definitions, references, hover types and symbols when a language server is available, and are told not to rely on it being present. No language-specific LSP configuration is added.Changes
LSPto the end of thetools:list ofagents/task-executor.mdandagents/wave-reviewer.md, and add one sentence to the executor's "Prove it" step and to the reviewer's read-only paragraph saying the tool may be used for definitions, references, hover types and symbols when a language server is available and must not be relied on. A pinnedtools:list excludes any tool not named, and the generic client keeps the handbook language-neutral.LSPto the allowlist of tool names inchecks/test_agents.py. The check fails on the new frontmatter otherwise, and the allowlist's own comment says to extend it there when an agent needs another tool.plugins/freethinking/.claude-plugin/plugin.json, so installs pick up the new agent frontmatter, as every prior change to the plugin did.Testing
make validatepassed: the 23 Python checks underchecks/, andclaude plugin validate --stricton the marketplace, the plugin and the skills.No eval was run. The eval sandbox has no language server and the agent cases'
allowed_toolsdo not includeLSP, so no existing case exercises the change; the added sentences can only be judged by reading.Risk and rollout
None. In a repository without an LSP plugin the tool returns an error and the agent carries on, as the added sentences say.
Notes for reviewers
🤖 Generated with Claude Code