AgentSkillsCN

gkg

借助 GitLab 知识图谱进行语义化代码分析。支持“跳转到定义”、“查找使用位置”、影响分析以及架构可视化等功能。兼容 Ruby、Java、Kotlin、Python、TypeScript/JavaScript 等多种编程语言。

SKILL.md
--- frontmatter
name: gkg
description: Semantic code analysis with GitLab Knowledge Graph. Use for go-to-definition, find-usages, impact analysis, architecture visualization. Supports Ruby, Java, Kotlin, Python, TypeScript/JavaScript.

GitLab Knowledge Graph (GKG)

Semantic code analysis engine using AST parsing and KuzuDB graph database. Enables IDE-like code navigation for AI assistants.

Status: Public beta | Requires: Git repository | Storage: ~/.gkg/

When to Use

  • Find all usages of a function/class across codebase
  • Go-to-definition for symbols
  • Impact analysis before refactoring
  • Generate architecture diagrams
  • RAG-enhanced code understanding

Use repomix instead for: quick context dumps, any-language support, remote repos, token counting.

Quick Start

bash
# Check installation
gkg --version

# Index current repo
gkg index

# Start server (for API/MCP)
gkg server start

# Stop before re-indexing
gkg server stop

Installation

bash
# macOS/Linux
curl -fsSL https://gitlab.com/gitlab-org/rust/knowledge-graph/-/raw/main/install.sh | bash

# Windows (PowerShell)
irm https://gitlab.com/gitlab-org/rust/knowledge-graph/-/raw/main/install.ps1 | iex

Core Workflows

Index and Query

bash
gkg index /path/to/project --stats
gkg server start
# Query via HTTP API at http://localhost:27495

Find Symbol Usages

  1. Index project: gkg index
  2. Start server: gkg server start
  3. Use MCP tool get_references or HTTP API /api/graph/search

Impact Analysis

  1. Index affected repos
  2. Query get_references for changed symbols
  3. Review all call sites before refactoring

Language Support

LanguageCross-file Refs
Ruby✅ Full
Java✅ Full
Kotlin✅ Full
Python🚧 In progress
TypeScript🚧 In progress
JavaScript🚧 In progress

References

Key Constraints

  • Must stop server before re-indexing
  • Requires initialized Git repository
  • Languages not connected across repos (yet)
  • TS/JS/Python cross-file refs incomplete