/ 目錄 / 演練場 / convexskills
● 社群 waynesutton ⚡ 即開即用

convexskills

作者 waynesutton · waynesutton/convexskills

12 個 Convex 專屬技能,涵蓋函式、資料結構、即時更新、排程、HTTP 動作、檔案儲存、代理程式、安全審查與資料遷移。

專為在 Convex 上開發而設計的技能集合。每個 SKILL.md(含有效的 Agent Skill 前置資料、範例及最佳實踐)教導 Claude 慣用的 Convex 模式:查詢 vs 變更 vs 動作、響應式即時更新、排程任務、HTTP Webhook、結構驗證器、資料遷移與安全審查。讓 Claude 不再自行臆造 Convex API。

為什麼要用

核心特性

即時演示

實際使用效果

convexskills-skill.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "convexskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/waynesutton/convexskills",
        "~/.claude/skills/convexskills"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "convexskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/waynesutton/convexskills",
        "~/.claude/skills/convexskills"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "convexskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/waynesutton/convexskills",
        "~/.claude/skills/convexskills"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "convexskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/waynesutton/convexskills",
        "~/.claude/skills/convexskills"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "convexskills-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/waynesutton/convexskills",
        "~/.claude/skills/convexskills"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "convexskills-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/waynesutton/convexskills",
          "~/.claude/skills/convexskills"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add convexskills-skill -- git clone https://github.com/waynesutton/convexskills ~/.claude/skills/convexskills

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: convexskills

建立一個包含即時更新、驗證與檔案上傳的全新 Convex 應用程式

👤 正在開始新 Convex 專案的全端開發者 ⏱ ~90 min intermediate

何時使用: 從零開始,希望從第一個檔案起就使用正確的 Convex 模式。

前置條件
  • Convex CLI — npm create convex
步驟
  1. 設計資料結構
    使用 convex-schema-validator 技能。為使用者、專案和檔案設計資料表,並建立適當的索引。✓ 已複製
    → 結構使用 v.id(),已宣告索引,關聯關係正確
  2. 連接查詢與變更函式
    使用 convex-functions 技能。為專案實作 CRUD 功能。✓ 已複製
    → 讀取用查詢,寫入用變更,無誤用動作的情況
  3. 加入即時更新與檔案上傳
    使用 convex-realtime 和 convex-file-storage,讓專案支援即時更新並附帶檔案附件。✓ 已複製
    → React 透過 useQuery 訂閱,檔案透過 storage.generateUploadUrl 儲存

結果: 一個結構正確、可持續開發的 Convex 應用程式。

注意事項
  • 在可用變更函式的地方使用動作 — 技能強制規定:資料庫寫入用變更,外部 I/O 用動作

新增一個每日排程任務以清除過期資料列

👤 需要新增背景維護作業的 Convex 開發者 ⏱ ~20 min beginner

何時使用: 需要排程任務但不想另外啟動 Worker 服務時。

步驟
  1. 使用排程技能
    使用 convex-cron-jobs。新增一個每日任務,刪除 sessions 資料表中超過 30 天的資料列。✓ 已複製
    → crons.ts 項目 + 用於清理的內部變更函式
  2. 測試
    提供一種手動觸發此任務的方式以便測試。✓ 已複製
    → 僅限開發環境的 HTTP 動作或 CLI 指令

結果: 一個在 Convex 受管排程器上執行的排程任務。

注意事項
  • 排程任務執行的是查詢而非內部變更函式 — 技能強制規定刪除操作使用內部變更函式

審查 Convex 應用程式的授權漏洞

👤 準備上線前的開發者 ⏱ ~45 min advanced

何時使用: 應用程式已準備就緒,但尚未對驗證機制進行壓力測試時。

步驟
  1. 執行審查
    對此專案執行 convex-security-audit。檢查每個公開變更函式是否具備適當的驗證。✓ 已複製
    → 每個函式的驗證狀態及對應嚴重程度
  2. 修復問題
    加入身份驗證檢查,並讓未授權的讀取操作回傳 null。✓ 已複製
    → 函式已更新並加入 ctx.auth 檢查

結果: 在正式上線前完成驗證機制的強化。

注意事項
  • 依賴「public 等於未驗證使用者可存取」的思維模型 — Convex 公開函式可從網際網路直接存取;技能要求必須加入驗證檢查
搭配使用: github

組合

與其他 MCP 搭配,撬動十倍槓桿

convexskills-skill + github

技能負責設計與實作,GitHub MCP 開啟 Pull Request

使用 convexskills 建立功能,然後提交變更並開啟一個 PR。✓ 已複製
convexskills-skill + playwright-skill

建立 Convex 後端,再透過 Playwright 進行端對端 UI 測試

實作 Convex 後端,然後撰寫一個 playwright-skill 測試,對 UI 進行操作並驗證即時更新是否正常運作。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
convex-functions function need 任何函式相關開發工作 0
convex-schema-validator data model 設計或修改資料表時 0
convex-realtime UI use case 新增響應式 UI 時 0
convex-cron-jobs scheduled task 需要週期性背景作業時 0
convex-migrations schema change 演進既有資料結構時 0
convex-security-audit repo 正式上線前的安全審查 0

成本與限制

運行它的成本

API 配額
技能本身不消耗配額;Convex 有自己的免費與付費方案
每次呼叫 Token 數
每次載入技能約消耗 2-6k tokens
費用
免費——技能在本地執行。Convex 提供慷慨的免費方案。
提示
直接指定特定技能名稱(例如 convex-cron-jobs)以避免載入整個技能集。

安全

權限、密鑰、影響範圍

憑證儲存: 技能中不包含任何憑證。Convex 部署金鑰請存放於您的 .env 檔案中。
資料出站: 技能本身不會傳輸任何資料

故障排查

常見錯誤與修復

Claude writes an action when a mutation suffices

技能強制執行的原則:僅操作資料庫 → 使用變更函式;涉及外部 I/O → 使用動作。

Schema change breaks existing data

使用 convex-migrations 技能——它會規劃安全的資料過渡流程,並包含回填步驟。

useQuery doesn't update in realtime

檢查響應性:查詢必須讀取實際發生變更的資料,而非過時的索引。

替代方案

convexskills 對比其他方案

替代方案何時用它替代權衡
Manual Convex docs + examples您已是有經驗的 Convex 開發者沒有技能輔助,上手速度較慢
Framework-specific fullstack skills您使用的不是 Convex不同的技術棧

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills