# 策展 · X (Twitter) 🔥

> 作者：村本章憲 Stamp CEO (@1amageek) · 平台：X (Twitter) · 日期：2026-03-13

> 原始來源：https://x.com/1amageek/status/2031896244860436836

## 中文摘要

swift-skeleton 是一個用於幫助人工智慧 Agent 快速理解程式庫結構的命令列工具，最近展現出強大的實用性。這個專案解決了 LLM 編碼 Agent 探索程式庫時的核心問題：無需讀取每一行程式碼，只需要先看清楚整體架構。

**骨骼結構概念** 是工具的核心理念——即程式庫的骨骼結構，包含型別宣告、屬性、方法簽名、繼承關係、檔案路徑和行號，但不包含實現細節。這種做法模仿了開發者加入新專案的工作方式。舉例來說，透過 skeleton 提取，一個結構體可以被簡潔地表示為：宣告了什麼屬性、公開了哪些方法、這些方法的簽名是什麼、實現位於哪個檔案的第幾行。LLM 讀取骨骼結構後能立即理解整個架構，然後只深入閱讀真正需要的檔案，這樣既能節省 token 配額，又讓 Agent 在有限的 context window 內掌握全局。

**多語言支援** 方面，swift-skeleton 支援九種程式語言：
- Swift、Kotlin、TypeScript、Go、Zig、Rust、C++、Python、Java

每個語言解析器都可透過 Package Traits 選擇性構建。該工具基於 Tree-sitter 進行快速、準確的解析，架構設計將核心邏輯與語言解析器分離，核心層完全不依賴 Tree-sitter，解析器透過協定注入，這讓添加新語言變得相對簡單——只需實現 SkeletonParser 協定即可。

**使用方式** 相當靈活。最簡單的方式是安裝 Mint 套件：mint install 1amageek/swift-skeleton，或從原始碼構建。工具內建了 Agent Skill，教導 Claude Code 和 Codex 等 LLM 編碼 Agent 如何使用骨骼提取功能，可透過 skltn install-skill 自動安裝到 ~/.claude/skills/ 或 ~/.codex/skills/。此外它也支援作為 MCP（Model Context Protocol）伺服器運作，讓 Claude Code 直接查詢程式庫結構。

**命令列介面** 提供了清晰的操作流程：
- `skltn get_skeleton` 指令可提取完整專案骨骼或特定檔案的骨骼
- `skltn query` 指令支援按名稱搜尋 symbol
- `skltn daemon` 運作為 JSON-RPC 服務
- `skltn mcp` 運作為 MCP 伺服器

對於程式開發者，該工具也提供了庫使用方式，支援嵌入式（同行程）和 Sidecar（外行程）兩種部署模式。

**分層架構設計** 採用清晰的職責劃分：SkeletonIndexCore 作為與語言無關的核心層，負責協定定義、資料模型、格式化器和索引；各語言對應的解析器（SkeletonSwiftParser 等）負責具體實現；上層透過 SkeletonIndexClient 與索引互動；最上層 skltn CLI 統一各種執行模式。這個設計的優勢在於核心邏輯穩定，語言支援可持續擴展。

**實用價值** 在於直接解決了 LLM Agent 在大規模程式庫中快速定位和理解程式碼的瓶頸。透過提供架構概覽而非全量程式碼，不僅節省了 token 使用，還讓 Agent 能更高效地進行程式碼探索和修改，這對依賴 LLM 能力的開發工作流影響深遠。

## 標籤

CLI, 開源專案, MCP, Web, SwiftUI, swift-skeleton, Stamp
