技能指南
gcyphrq 技能讓 AI 編碼代理能透過自然語言提示,對 JSON 圖形檔案執行 Cypher 查詢。安裝一次後,即可提出如 「API 閘道依賴哪些服務?」 這類問題,並獲得結構化的 JSON 結果。
技能功能
安裝後,技能會教導 AI 代理:
- 自動將自然語言 轉譯為 Cypher 查詢
- 使用
gcyphrqCLI 對您的 JSON 圖形檔案執行查詢 - 解讀結果 並以可讀格式呈現
- 串聯多個查詢 以進行複雜分析(爆炸半徑、路徑追蹤、度數分析)
技能包含一個精選的查詢模式庫,涵蓋常見的基礎設施問題——服務相依性、複寫拓撲、監控覆蓋率等。
安裝
使用 CLI(建議)
最簡單的方式是使用內建的安裝指令。它會自動偵測您已安裝的代理(pi、Claude Code、OpenCode)並安裝技能:
# 全域安裝(在代理設定目錄中建立符號連結)
gcyphrq --install-skill global
# 本機安裝(複製到當前目錄)
gcyphrq --install-skill local
--install-skill 指令會:
- 偵測您系統上已安裝的代理
- 建立符號連結(全域)或複製(本機)技能內容
- 為 Claude Code 和 OpenCode 產生
CLAUDE.md/AGENTS.md參考檔案 - 操作具冪等性——可安全重複執行
安裝後:
- Pi 會自動辨識技能。可透過
/skill:gcyphrq或以自然語言描述需求來呼叫。 - Claude Code 在您提出圖形相關問題時會自動辨識技能。
- OpenCode 在您的提示與其描述(圖形查詢、基礎設施拓撲、服務相依性等)相符時會載入技能。
手動安裝
如果安裝指令不適用於您的設定,您可以手動放置技能目錄:
# pi
mkdir -p ~/.pi/agent/skills/gcyphrq
curl -sL https://raw.githubusercontent.com/plelevier/gcyphrq/main/skills/gcyphrq/SKILL.md \
-o ~/.pi/agent/skills/gcyphrq/SKILL.md
# Claude Code
mkdir -p ~/.claude/skills/gcyphrq
curl -sL https://raw.githubusercontent.com/plelevier/gcyphrq/main/skills/gcyphrq/SKILL.md \
-o ~/.claude/skills/gcyphrq/SKILL.md
# OpenCode
mkdir -p ~/.opencode/skills/gcyphrq
curl -sL https://raw.githubusercontent.com/plelevier/gcyphrq/main/skills/gcyphrq/SKILL.md \
-o ~/.opencode/skills/gcyphrq/SKILL.md
您也可以將 references/ 目錄(包含 queries.md 和 example-graph.json)下載至 SKILL.md 旁的 references/ 子目錄,以取得更多查詢模式與獨立的測試圖形。
其他代理
對於任何支援自訂指令或系統提示的 AI 編碼代理:
- 安裝 CLI:
npm install -g gcyphrq - 複製 SKILL.md,內容來自
https://raw.githubusercontent.com/plelevier/gcyphrq/main/skills/gcyphrq/SKILL.md,貼入代理的自訂指令中 - 複製參考檔案,內容來自
https://raw.githubusercontent.com/plelevier/gcyphrq/main/skills/gcyphrq/references/(包含queries.md和example-graph.json),放入SKILL.md旁的references/子目錄 - 指向您的圖形檔案——將技能範例中的
<graph.json>替換為實際圖形檔案的路徑
先決條件
- 已安裝 gcyphrq CLI 並加入 PATH——請參閱入門指南以取得安裝說明
- 一個 JSON 圖形檔案 供查詢(可使用內附的
references/example-graph.json開始)
範例提示
安裝技能後,您可以使用自然語言提示。以下為技能應能解析的範例:
服務相依性
提示:「API 閘道依賴哪些服務?」
技能會將此轉譯為追蹤 API 閘道節點對外連線的 Cypher 查詢。
提示:「顯示所有連接到 PostgreSQL 的服務。」
傳回所有與 PostgreSQL Primary 資料庫有 TCP 連線的服務。
爆炸半徑分析
提示:「如果 Kafka 故障,會影響哪些服務?」
追蹤從 Kafka 叢集節點在 2 跳內可達的所有節點,以顯示影響範圍。
提示:「如果 API 閘道故障,爆炸半徑為何?」
繪製受 API 閘道無法使用影響的所有下游服務與基礎設施。
路徑追蹤
提示:「顯示從 CDN 到資料庫的路徑。」
找出 CDN 與資料庫節點之間的連線路徑,顯示中間的服務。
提示:「請求如何從 API 閘道流向使用者資料庫?」
透過身分驗證、RPC 服務和資料庫連線追蹤請求路徑。
基礎設施拓撲
提示:「訊息佇列之間如何連線?」
列出所有訊息佇列基礎設施及其生產者/消費者關係。
提示:「資料庫的複寫設定為何?」
顯示主從關係與複寫邊緣類型。
度數分析
提示:「哪個服務有最多的對外連線?」
計算所有服務的對外度數,並回傳連線最多的服務。
提示:「找出對外連線數大於 2 的服務。」
使用聚合與 WHERE 依對外度數門檻過濾服務。
監控覆蓋率
提示:「哪些服務正在被監控?」
找出所有連接到監控基礎設施(Prometheus、Grafana 等)的服務。
提示:「哪些服務沒有監控?」
使用 OPTIONAL MATCH 找出沒有監控連線的服務。
外部相依性
提示:「哪些服務呼叫外部 API?」
透過 1-3 跳追蹤 RPC 服務,找出外部 API 相依性。
提示:「列出所有外部整合。」
傳回所有帶有 External 標籤的節點及其上游呼叫者。
進階篩選
提示:「顯示所有 RPC 或 Worker 服務。」
使用 WHERE 搭配 OR 比對多種類型。
提示:「找出不是批次作業的服務。」
使用 WHERE 搭配 NOT 排除某種類型。
提示:「列出 us-east-1 區域中名稱包含 'Service' 的服務。」
使用 WHERE 搭配 AND 結合多個條件。
分頁
提示:「顯示第 2 頁的服務,每頁 10 筆,依字母順序排序。」
使用 ORDER BY、SKIP 和 LIMIT 對服務結果進行分頁。
圖形變更
提示:「新增一個名為 'Datadog' 的監控服務。」
使用 CREATE 在圖形中新增節點。
提示:「將 API 閘道的狀態設為 'deprecated'。」
使用 SET 更新節點屬性。
提示:「從 Alice 移除 'Person' 標籤。」
使用 REMOVE 移除節點的標籤或屬性,同時保留節點及其關係。
技能參考
技能檔案(SKILL.md)包含:
- CLI 使用方式 — 指令語法、選項、stdin 管道、串聯查詢
- 圖形檔案格式 — 節點與邊緣結構
- 支援的 Cypher 功能 — 完整功能矩陣與狀態
- 查詢模式 — 使用內附
references/example-graph.json的預建查詢 - 輸出格式 — 圖形格式(預設)與列格式,含串聯範例
- 限制 — 已知限制(不支援子查詢、不支援 APOC 等)
疑難排解
| 問題 | 解決方案 |
|---|---|
gcyphrq: command not found | 執行 npm install -g gcyphrq |
| 代理未偵測到技能 | 確認 SKILL.md 位於您平台的正確技能目錄中 |
| 查詢回傳空結果 | 檢查節點標籤和屬性名稱是否與您的圖形檔案完全相符 |
後續步驟
- [入門指南]({{ '/getting-started/' | relative_url }}) — 安裝 gcyphrq 並執行您的第一個查詢
- [查詢指南]({{ '/query-guide/' | relative_url }}) — 完整的 Cypher 語法參考
- [範例]({{ '/examples/' | relative_url }}) — 30 個即用型查詢與範例輸出
- [程式庫 API]({{ '/library-api/' | relative_url }}) — 在 Node.js / TypeScript 中以程式方式使用 gcyphrq