К основному содержанию
скилл CX Codex

antv-g6-graph — скилл для Claude Code: графы и сети на G6 v5

Помогает собрать сетевой граф, дерево или блок-схему на G6 v5 и не спотыкаться о синтаксис v4. Пригодится, когда агент пишет визуализацию связей.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add antvis/chart-visualization-skills --skill antv-g6-graph -a claude-code
Открыть на GitHub

Что делает antv-g6-graph

Скилл включается на слова «G6», «@antv/g6», «сетевая диаграмма», «топология», «mindmap», «dagre» и подобные. Внутри — правила синтаксиса G6 v5: конструктор new Graph({...}) вместо v4-шного new G6.Graph(), вся конфигурация в одном вызове, await graph.render(), метки через style.labelText, плоский массив behaviors без режимов. Отдельно разобраны грабли: в force-раскладке nodeStrength не бывает отрицательным, а preventOverlap и nodeSize там молча игнорируются — для борьбы с наложением нужен d3-force с collide.

Скилл тянет справку по API с сервера AntV: GET-запросы на https://sive.antv.antgroup.com/api/v1/context/retrieve с параметрами query, library, topK, content, maxTokens. Библиотека указывается как g6. Поиск гибридный — полнотекстовый плюс векторный. Поэтому нужен доступ в сеть, а в frontmatter прописан curl.

Есть таблица «намерение → запрос»: инициализация графа, force-раскладка, дерево и fishbone, dagre для иерархии, круговые и радиальные схемы, стили узлов, типы рёбер, комбо-группы, кастомные элементы, поведения, плагины вроде minimap и tooltip, события, анимация состояний, структуры данных. Скилл не для статистических графиков G2, редакторных диаграмм X6 и сводных таблиц S2 — на них он не сработает.

Какие задачи решает

  • собрать сетевой граф связей между сущностями
  • построить дерево или mindmap из иерархических данных
  • разложить блок-схему через dagre
  • починить наложение узлов в force-раскладке
  • перевести граф с G6 v4 на v5

Примеры запросов агенту

  • Сделай граф связей между сервисами на @antv/g6, раскладка force, узлы подписаны
  • Построй mindmap из этого JSON через G6 v5
  • Почему в моём графе узлы налезают друг на друга? Раскладка force, G6 v5

Как установить antv-g6-graph

1Через Skills CLI (Vercel)

npx skills add antvis/chart-visualization-skills --skill antv-g6-graph -a claude-code

2Вручную: положить файлы

~/.claude/skills/antv-g6-graph/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/antv-g6-graph/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о antv-g6-graph

Как установить antv-g6-graph в Claude Code?

Выполните npx skills add antvis/chart-visualization-skills --skill antv-g6-graph -a claude-code. Файл скилла окажется по пути ~/.claude/skills/antv-g6-graph/SKILL.md.

Что делает antv-g6-graph?

Подсказывает агенту правильный синтаксис G6 v5 при построении графов, деревьев и диаграмм связей, а справку по API подтягивает с сервера AntV.

Чем G6 v5 отличается от v4 в этом скилле?

Конструктор new Graph({...}) вместо new G6.Graph(), данные передаются сразу в конфиг, рендер асинхронный, поведения задаются плоским массивом без режимов, а метки — через style.labelText.

Исходный текст

SKILL.md · MIT
---
name: antv-g6-graph
description: "Use this skill whenever the user wants to create, customize, or troubleshoot G6 v5 graph/network visualizations. Triggers include: any mention of 'G6', 'antv g6', '@antv/g6', 'G6 graph', 'G6 图', '网络图', '关系图', '拓扑图', '树形图', '流程图', '思维导图', '鱼骨图', '力导向图', 'force graph', 'network visualization', 'node-edge diagram', 'graph layout', 'tree layout', 'dagre layout', 'mindmap', 'social network', or requests about G6 node styles, edge types, behaviors, plugins, layouts, combos, or data structures. Also use when debugging G6 rendering errors, v4→v5 migration, or graph interaction issues. Do NOT use for G2 statistical charts, X6 editor diagrams, or S2 pivot tables."
tools:
  - curl
---

# G6 v5 Graph Visualization

## Overview

G6 v5 is AntV's graph visualization engine for network diagrams, tree graphs, and relationship visualizations. It uses a **declarative configuration** style where `new Graph({...})` defines all nodes, edges, layouts, behaviors, and plugins in one constructor call.

```javascript
import { Graph } from '@antv/g6';

const graph = new Graph({
  container: 'container',
  data: {
    nodes: [{ id: 'node-1', style: { labelText: 'Node 1' } }],
    edges: [{ source: 'node-1', target: 'node-2' }],
  },
  layout: { type: 'force' },
  behaviors: ['drag-canvas', 'zoom-canvas', 'drag-element'],
});

await graph.render();
```

### CDN Usage

```html
<script src="https://unpkg.com/@antv/g6@5/dist/g6.min.js"></script>
<script>
  const graph = new G6.Graph({
    container: 'container',
    data: {
      nodes: [{ id: 'node-1', style: { labelText: 'Node 1' } }],
      edges: [{ source: 'node-1', target: 'node-2' }],
    },
    layout: { type: 'force' },
    behaviors: ['drag-canvas', 'zoom-canvas', 'drag-element'],
  });
  graph.render();
</script>
```

## Content Retrieval Service

When using AntV G6 for data visualization, if you need to understand the concepts, usage, API, examples, and other aspects of G6 v5, you can use the provided context retrieval service. When using the skill, content is retrieved via an antv HTTP API server using GET requests.

- Host: `https://sive.antv.antgroup.com`
- Endpoint: `/api/v1/context/retrieve`
- Method: `GET`
- Parameters: `query`, `library`, `topK`, `content`, `maxTokens`

Retrieve skills by query (hybrid search = FTS + vector + RRF fusion). Constraints docs are indexed as regular skill documents and will appear in search results naturally.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `query` | string | ✅ | Search keywords, e.g. `force layout node` |
| `library` | string | ✅ | Library name: `g2`, `g6`, `x6` |
| `topK` | number | | Number of results to return (default: 5) |
| `content` | boolean | | Return full reference doc markdown (default: true) |
| `maxTokens` | number | | Max tokens per result (default: unlimited) |

```bash
curl "https://sive.antv.antgroup.com/api/v1/context/retrieve?query=force+layout+node+style&library=g6"
```

## Critical Rules

### MUST: Use `new Graph({...})` — NOT v4 `new G6.Graph()`

```javascript
// ❌ WRONG — v4 constructor
new G6.Graph({ container: 'container', ... });

// ✅ CORRECT — v5 constructor
import { Graph } from '@antv/g6';
new Graph({ container: 'container', ... });
```

### MUST: All config in one constructor call, `await graph.render()`

```javascript
// ❌ WRONG — v4 separate data method
graph.data(data);
graph.render();

// ✅ CORRECT — v5 declarative config + async render
const graph = new Graph({
  container: 'container',
  data: { nodes: [...], edges: [...] },
  layout: { type: 'force' },
  behaviors: ['drag-canvas', 'zoom-canvas'],
});
await graph.render();
```

### MUST: Data format with `id`, `source`, `target`

```javascript
// ❌ WRONG — missing node id, missing edge endpoints
const data = { nodes: [{ label: 'A' }], edges: [{ from: 'A', to: 'B' }] };

// ✅ CORRECT — each node has unique id, each edge has source/target
const data = {
  nodes: [{ id: 'node-1', style: { labelText: 'A' } }],
  edges: [{ source: 'node-1', target: 'node-2' }],
};
```

### MUST: Use `style.labelText` for labels — NOT `label` or `labelCfg`

```javascript
// ❌ WRONG — v4 label config
node: { labelCfg: { text: 'Node 1' } }

// ✅ CORRECT — v5 style.labelText
node: { style: { labelText: 'Node 1' } }
```

### MUST: `nodeStrength` must be ≥ 0 in force layout

```javascript
// ❌ WRONG — negative nodeStrength causes unpredictable behavior
layout: { type: 'force', nodeStrength: -300 }

// ✅ CORRECT — non-negative value
layout: { type: 'force', nodeStrength: 300 }
```

### MUST: `force` layout does NOT support `preventOverlap` / `nodeSize`

```javascript
// ❌ WRONG — v4 params silently ignored in v5
layout: { type: 'force', preventOverlap: true, nodeSize: 30 }

// ✅ CORRECT — use d3-force collide for overlap prevention
layout: { type: 'd3-force', collide: { radius: 30 } }
```

### MUST: No Mode concept — behaviors are flat array

```javascript
// ❌ WRONG — v4 mode-based behavior config
modes: { default: ['drag-canvas', 'zoom-canvas'] }

// ✅ CORRECT — v5 flat behavior array
behaviors: ['drag-canvas', 'zoom-canvas', 'drag-element']
```

### MUST: `container` is mandatory, default `'container'`

```javascript
// ❌ WRONG — no container specified
const graph = new Graph({ data });

// ✅ CORRECT
const graph = new Graph({ container: 'container', data, ... });
```

## Quick Reference

| User Intent | Retrieve Query |
|---|---|
| Graph initialization, container, render | `GET /api/v1/context/retrieve?query=graph+init+render&library=g6` |
| Network / force graph | `GET /api/v1/context/retrieve?query=network+force+layout&library=g6` |
| Tree / mindmap / fishbone | `GET /api/v1/context/retrieve?query=tree+mindmap+fishbone+layout&library=g6` |
| Dagre / hierarchy / flow chart | `GET /api/v1/context/retrieve?query=dagre+hierarchy+flow+chart&library=g6` |
| Circular / radial / grid layout | `GET /api/v1/context/retrieve?query=circular+radial+grid+layout&library=g6` |
| Node styles (rect, circle, diamond, html) | `GET /api/v1/context/retrieve?query=node+style+rect+circle+diamond+html&library=g6` |
| Edge types (line, cubic, polyline, loop) | `GET /api/v1/context/retrieve?query=edge+line+cubic+polyline+loop&library=g6` |
| Combo / group nodes | `GET /api/v1/context/retrieve?query=combo+group+node&library=g6` |
| Custom node / edge | `GET /api/v1/context/retrieve?query=custom+node+edge+element&library=g6` |
| Behaviors (drag, zoom, click-select, hover) | `GET /api/v1/context/retrieve?query=behavior+drag+zoom+click-select+hover&library=g6` |
| Plugins (minimap, tooltip, toolbar, legend) | `GET /api/v1/context/retrieve?query=plugin+minimap+tooltip+toolbar+legend&library=g6` |
| Events system | `GET /api/v1/context/retrieve?query=events+system+click+mouse&library=g6` |
| State / style animation | `GET /api/v1/context/retrieve?query=state+animation+transform&library=g6` |
| Data structure / transforms | `GET /api/v1/context/retrieve?query=data+structure+transforms&library=g6` |
| Theme / background | `GET /api/v1/context/retrieve?query=theme+background+style&library=g6` |
| Lasso select / collapse-expand | `GET /api/v1/context/retrieve?query=lasso+collapse+expand+select&library=g6` |

## Dependencies

- `@antv/g6` — G6 v5 graph visualization engine

© antvis · MIT · antvis/chart-visualization-skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. 1 025 790установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. 986 201установок hyperframes heygen-com Скилл задаёт агенту правила рендера HTML-кода в видео через HyperFrames. Помогает собирать проморолики, эксплейнеры и титры прямо в коде проекта. CX Codex +1 1 200 000установок hyperframes-cli heygen-com Управляет проектами HyperFrames через терминал: собирает таймлайн, проверяет контраст кадров, запускает предпросмотр и рендерит видео локально или в облаке. CX Codex +1 1 300 000установок webapp-testing официальный anthropics Скилл запускает проверки локальных веб-приложений через Playwright: помогает отлаживать UI, делать скриншоты и смотреть логи браузера. 186 758установок

Из того же набора4

Спонсоры проекта

Компании, которые помогают держать аналитику открытой