npx claudepluginhub psychquant/psychquant-claude-plugins --plugin mcp-toolsThis skill is limited to using the following tools:
分析現有 MCP 專案,提出升級和改進建議,等待核可後執行。
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
分析現有 MCP 專案,提出升級和改進建議,等待核可後執行。
建立新專案請用 /mcp-tools:mcp-new-app
部署專案請用 /mcp-tools:mcp-deploy
$1 = 聚焦領域(可選)
deps - 只檢查依賴更新structure - 只檢查結構優化features - 只建議新功能all - 全面分析(預設)pwd
ls -la
必須存在:
mcpb/manifest.json| 檔案 | 語言 |
|---|---|
Package.swift | Swift |
pyproject.toml | Python |
package.json + tsconfig.json | TypeScript |
讀取以下檔案:
mcpb/manifest.json - 版本、工具列表CHANGELOG.md - 變更歷史README.md - 功能說明cat Package.swift | grep -A5 'dependencies'
cat Package.resolved | grep -A2 '"version"' | head -20
使用 WebFetch 查詢:
常用 Swift 依賴的最新版本:
| 套件 | 用途 | 檢查 URL |
|---|---|---|
| swift-sdk | MCP 協議 | github.com/modelcontextprotocol/swift-sdk |
| swift-log | 日誌 | github.com/apple/swift-log |
cat pyproject.toml | grep -A20 'dependencies'
pip list --outdated 2>/dev/null
pip index versions mcp 2>/dev/null | head -5
cat package.json | grep -A20 '"dependencies"'
npm outdated 2>/dev/null
npm view @modelcontextprotocol/sdk version
根據語言檢查是否符合最佳實踐:
✅ Sources/{Name}/main.swift - 進入點
✅ Sources/{Name}Core/Server.swift - 核心邏輯
✅ Sources/{Name}Core/{Name}Manager.swift - 業務邏輯
✅ Tests/{Name}Tests/ - 單元測試
✅ mcpb/manifest.json - MCPB 套件
✅ mcpb/PRIVACY.md - 隱私政策
✅ .gitattributes - LFS 設定
| 缺失 | 建議 | 優先級 |
|---|---|---|
| Tests/ | 加入單元測試 | 中 |
| docs/ | 加入文檔目錄 | 低 |
| .gitattributes | 設定 Git LFS | 高(如有 binary) |
| mcpb/icon.png | 加入圖示 | 低 |
| README Version History | 加入版本歷史表格(所有語言版本) | 中 |
| README Technical Details | 更新 Current Version 和 SDK 版本 | 中 |
| CHANGELOG.md | 加入變更日誌 | 中 |
| LICENSE | 加入授權檔案 | 高 |
# 檢查是否有 TODO/FIXME
grep -rn "TODO\|FIXME" Sources/
# 檢查是否有硬編碼
grep -rn "hardcode\|HARDCODE" Sources/
# 檢查錯誤處理
grep -rn "try!" Sources/ # 不安全的 try
| 問題 | 建議 |
|---|---|
try! 使用 | 改用 try + error handling |
| 硬編碼字串 | 提取為常數 |
| 缺少註解 | 為 public API 加入文檔註解 |
注意:此步驟只適用於 Swift 專案。Python/TypeScript 使用 wrapper script,跳過。
BINARY_NAME=$(grep -A5 'executableTarget' Package.swift | grep 'name:' | head -1 | sed 's/.*"\([^"]*\)".*/\1/')
echo "=== Binary Consistency Check ==="
# Hash 比對
shasum -a 256 mcpb/server/$BINARY_NAME 2>/dev/null
shasum -a 256 ~/bin/$BINARY_NAME 2>/dev/null
# 架構比對
echo "--- mcpb/server ---"
file mcpb/server/$BINARY_NAME 2>/dev/null
lipo -info mcpb/server/$BINARY_NAME 2>/dev/null
echo "--- ~/bin ---"
file ~/bin/$BINARY_NAME 2>/dev/null
lipo -info ~/bin/$BINARY_NAME 2>/dev/null
如果 hash 不同,可能是因為一個是 universal、一個是 single-arch:
# 如果 mcpb/server 是 universal,~/bin 是 arm64-only
TMPFILE="/tmp/_mcpb_upgrade_check_$$"
lipo -thin arm64 mcpb/server/$BINARY_NAME -output "$TMPFILE" 2>/dev/null
if [ -f "$TMPFILE" ]; then
echo "--- arm64 slice comparison ---"
shasum -a 256 "$TMPFILE" ~/bin/$BINARY_NAME 2>/dev/null
rm -f "$TMPFILE"
fi
lipo -info mcpb/server/$BINARY_NAME 2>/dev/null
預期:應為 universal binary(x86_64 arm64)。
問題:如果只有 arm64,建議在下次 deploy 時重新用 lipo -create 建立 universal binary。
在報告中記錄以下資訊:
/mcp-tools:mcp-sync)讀取 mcpb/manifest.json 中的 tools 列表,分析:
根據框架類型,檢查是否有未實作的 API:
# 匯出 Dictionary
sdef /Applications/{AppName}.app > /tmp/app-dict.xml
# 比對已實作的命令
grep 'command name=' /tmp/app-dict.xml
檢查是否支援:
根據分析結果,建議可能的新功能:
| 類型 | 建議 | 複雜度 |
|---|---|---|
| 批次操作 | 如果沒有 *_batch 工具 | 中 |
| 搜尋功能 | 如果沒有 search_* 工具 | 低 |
| 匯出功能 | 如果沒有 export_* 工具 | 中 |
| UI 操作 | 如果沒有 show_* 工具 | 低 |
# MCP 升級建議報告
**專案**: {project-name}
**當前版本**: {current-version}
**分析時間**: {timestamp}
**語言**: Swift / Python / TypeScript
---
## 📦 依賴更新
### 需要更新
| 套件 | 當前版本 | 最新版本 | 重要性 |
|------|----------|----------|--------|
| swift-sdk | 0.9.0 | 0.10.0 | 🔴 高 |
### 更新指令
```bash
# Swift: 編輯 Package.swift
.package(url: "...", from: "0.10.0")
# 然後執行
swift package update
| 項目 | 現狀 | 建議 | 優先級 |
|---|---|---|---|
| 單元測試 | ❌ 缺失 | 加入 Tests/ | 🟡 中 |
| Git LFS | ❌ 未設定 | 加入 .gitattributes | 🔴 高 |
*.mcpb filter=lfs diff=lfs merge=lfs -text
mcpb/server/* filter=lfs diff=lfs merge=lfs -text
| 功能 | 描述 | 複雜度 | API 支援 |
|---|---|---|---|
| search_items | 關鍵字搜尋 | 低 | ✅ |
| export_data | 匯出為 JSON | 中 | ✅ |
| batch_update | 批次更新 | 中 | ✅ |
| 問題 | 位置 | 建議 |
|---|---|---|
| 不安全的 try! | Server.swift:45 | 改用 do-catch |
| 硬編碼路徑 | Manager.swift:23 | 使用環境變數 |
| 位置 | 存在 | 架構 | Hash (前 12 碼) | 狀態 |
|---|---|---|---|---|
| mcpb/server/{Binary} | ✅/❌ | universal/arm64 | abc123... | - |
| ~/bin/{Binary} | ✅/❌ | universal/arm64 | abc123... | - |
/mcp-tools:mcp-sync}請確認要執行哪些升級項目?
---
## Phase 5: 等待核可並執行
### Step 1: 詢問用戶
使用 AskUserQuestion 詢問要執行哪些項目:
**選項**:
- [ ] 更新依賴
- [ ] 結構優化(加入缺失檔案)
- [ ] 修復潛在問題
- [ ] 實作新功能(需另外討論細節)
- [ ] 全部執行
- [ ] 暫不執行(只保留報告)
### Step 2: 執行核可的項目
根據用戶選擇,執行對應的修改:
#### 更新依賴
```bash
# Swift
# 編輯 Package.swift,然後:
swift package update
# Python
pip install --upgrade mcp
# TypeScript
npm update
使用 Write 工具建立缺失的檔案(.gitattributes、Tests/、docs/ 等)
使用 Edit 工具修復程式碼問題
如果執行了任何升級項目,需要更新以下檔案:
檢查清單:
# 檢查需要更新的檔案
grep -l "version" README*.md CHANGELOG.md mcpb/manifest.json Sources/*/Version.swift 2>/dev/null
# Swift
swift build
# Python
python -m pytest
# TypeScript
npm run build
如果有執行任何升級項目,使用 AskUserQuestion 詢問:
升級完成!是否要繼續部署新版本?
選項:
/mcp-tools:mcp-deploy如果選擇「是」:
mcp-deploy {version}Skill: mcp-tools:mcp-deploy
Args: {suggested-version}
| 項目 | 檢查方式 | 升級方式 |
|---|---|---|
| MCP SDK | 比對 GitHub releases | 更新 Package.swift |
| 缺少測試 | 檢查 Tests/ 目錄 | 建立測試檔案 |
| 缺少 LFS | 檢查 .gitattributes | 建立並設定 |
| README 版本過期 | grep "Current Version" README*.md | 更新所有 README 的版本號和歷史 |
| 缺少 CHANGELOG | 檢查 CHANGELOG.md | 建立變更日誌 |
| 缺少 LICENSE | 檢查根目錄 | 建立授權檔案 |
| 程式碼品質 | grep TODO/FIXME/try! | 逐一修復 |
| 風險等級 | 說明 | 建議 |
|---|---|---|
| 🟢 低 | 文檔、結構優化 | 可直接執行 |
| 🟡 中 | 依賴更新、新功能 | 建議測試後部署 |
| 🔴 高 | 破壞性 API 變更 | 需要仔細審查 |
| 版本 | 重要變更 |
|---|---|
| 0.10.0 | Tool annotations 支援 |
| 0.9.0 | StdioTransport 改進 |
| 0.8.0 | 初始穩定版本 |