Agent skill
lsp-first
LSP 優先開發策略工具。Use for: (1) 查詢 LSP 操作指令, (2) 配置新語言 LSP 插件, (3) LSP vs MCP 工具選擇決策, (4) 自建 LSP 插件指南。Use when: 需要搜尋符號/定義/引用、想知道 LSP 和 MCP Serena 各自適合什麼場景、新增語言支援需要配置 LSP 時。
Install this agent skill to your Project
npx add-skill https://github.com/tarrragon/claude/tree/main/skills/lsp-first
SKILL.md
LSP 優先開發策略
核心原則
LSP 能解決的問題必須優先使用 LSP
| 優勢 | 說明 | 效益 |
|---|---|---|
| 效能 | ~50ms vs ~45 秒 | 900x 加速 |
| Token 效率 | 結構化資料輸出 | 降低 API 成本 |
| 語意精準 | 語言伺服器分析 | 非文字比對 |
詳細效能資料:references/performance-comparison.md
LSP 環境自動檢查
Session 啟動時自動執行 LSP 環境檢查
檢查項目
-
基本 LSP(所有專案必備)
- marksman (Markdown)
- yaml-language-server (YAML)
-
語言特定 LSP(根據專案類型)
- Flutter/Dart: Dart SDK 內建 LSP
- TypeScript/JavaScript: vtsls
- Python: pyright
- Go: gopls
- Rust: rust-analyzer
相關檔案
- 檢查腳本:
.claude/hooks/lsp-environment-check.py - 配置檔案:
.claude/hooks/lsp-check-config.json - 整合位置:
.claude/hooks/startup-check-hook.sh(步驟 6.6)
LSP 9 種操作速查
| 操作 | 用途 | 使用場景 |
|---|---|---|
| goToDefinition | 跳轉符號定義 | 追蹤函式來源、查看類別定義 |
| findReferences | 查找所有引用 | 重構前影響分析、變更評估 |
| hover | 懸停型別資訊 | 查看 API 文件、確認參數型別 |
| documentSymbol | 列出檔案符號 | 快速理解檔案結構 |
| workspaceSymbol | 跨檔案搜尋 | 找出類別定義、模糊查詢 |
| goToImplementation | 實作查找 | 追蹤抽象類別實作 |
| prepareCallHierarchy | 呼叫層級準備 | 準備函式呼叫分析 |
| incomingCalls | 呼叫來源 | 找出誰呼叫了這個函式 |
| outgoingCalls | 呼叫目標 | 找出這個函式呼叫了誰 |
各操作詳解、範例和 Dart MCP 替代方案:references/lsp-operations.md
工具選擇
搜尋工具的完整選擇決策樹和場景對照表,詳見 /search-tools-guide。
以下為 LSP 專屬的選擇要點:
LSP 獨佔能力(無法由其他工具替代)
| 能力 | LSP 操作 |
|---|---|
| 呼叫層級分析 | incomingCalls / outgoingCalls |
| 介面實作查找 | goToImplementation |
| 精確型別推導 | hover(語意級別) |
工具優先順序
- 優先: LSP 工具(語意精準、效能最佳)
- 次選: Dart MCP / Serena MCP(LSP 功能等效替代)
- 備援: 傳統 Grep/Glob 搜尋
Dart MCP 和 Serena MCP 的工具列表與使用建議:/search-tools-guide
LSP 伺服器配置
自建插件、官方插件市場、跨平台安裝、故障排除:references/lsp-setup-guide.md
相關資源
/search-tools-guide- 搜尋工具選擇指南(含 Dart MCP、Serena、Grep 完整對照)/startup-check- Session 啟動檢查- boostvolt/claude-code-lsps - 官方 LSP 插件市場
- Marksman - Markdown LSP
- yaml-language-server - YAML LSP
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
skill-design-guide
Use this skill when creating a new skill, updating an existing skill's YAML frontmatter, or reviewing skill quality. Provides the official Anthropic skill specification, frontmatter rules, description writing best practices, progressive disclosure architecture, and common pitfalls to avoid. Triggers include: creating skills, skill review, frontmatter validation, SKILL.md writing.
test-async-guardian
Flutter/Dart 測試異步資源管理守護者。用於:(1) 診斷測試卡住問題,(2) 審查測試程式碼中的異步資源清理,(3) 提供 tearDown 最佳實踐,(4) 掃描潛在的資源洩漏風險。觸發場景:測試卡住、撰寫新測試、Code Review 測試程式碼、執行 flutter test 前自動掃描。
agent-team
Agent Teams 協作派發指南。Use when: (1) Agent A 的發現會改變 Agent B 正在進行的工作, (2) 用戶要求使用 team/swarm, (3) 多代理人需即時協商共用介面或 API 契約。涵蓋 team 建立、Ticket-Task 橋接、teammate 入職、生命週期管理。
tdd
TDD 全流程指導工具。Use for: (1) 開始新功能的 TDD 流程(Phase 0-4), (2) 推進到下一個 TDD 階段, (3) Phase 1 SOLID 原則驅動功能拆分分析, (4) 查看當前 TDD 進度和階段狀態, (5) 評估是否需要 Phase 4 重構以及 3b 拆分評估。Use when: 開始新功能開發、進入任何 TDD Phase、需要 SOLID 拆分指導、需要確認當前所在 TDD 階段、需要做 Phase 4 豁免判斷時。
branch-worktree-guardian
Branch Worktree Guardian - Git 分支和 Worktree 管理工具。Use for: (1) 新開發需求時建立隔離分支, (2) 使用 worktree 機制避免分支衝突, (3) 驗證當前工作分支正確性, (4) 預防在錯誤分支上開發
design-decision-framework
多方案評估決策框架。用於面臨 3+ 技術方案時的結構化評估、架構決策時的系統化分析,防止衝動決策和技術債務累積。Use for: 技術方案選擇、重大架構決策、高風險技術選型
Didn't find tool you were looking for?