ngDiagram — скилл

31 скилл учит агента собирать на ngDiagram редакторы диаграмм и конструкторы процессов для Angular без типовых ошибок

  • 588 ★ репозитория
  • Последний коммит
  • Apache-2.0
СкиллОфициальный

Минимальный доступ

Почему такой уровень

  • Скиллы состоят из инструкций, а код агент пишет в проекте по обычным правилам разрешений
Все причины и проверки

synergycodes/ng-diagram

Установка

Ручная установка

npx skills add https://github.com/synergycodes/ng-diagram/tree/release/skills

Команду запускают в папке проекта, нужен Node.js 22.20 или новее. Утилита спросит, для каких агентов ставить.

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скиллы состоят из инструкций, а код агент пишет в проекте по обычным правилам разрешений

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Набор из 31 скилла лежит в папке `skills/` репозитория ngDiagram, Angular-библиотеки для интерактивных диаграмм и редакторов на узлах. Каждый скилл отвечает за одну тему: инициализацию модели, порты и связи, пользовательские узлы и ребра, группы, маршрутизацию ребер, мини-карту, палитру, экспорт, сохранение, сенсорные жесты, производительность. Агент подгружает скилл, когда запрос совпадает с его описанием, или по имени, например «используй скилл `ng-diagram-visibility`». Стартовая точка называется `ng-diagram-fundamentals`: скилл объясняет, как устроена библиотека, и перечисляет правила, которые предотвращают большинство ошибок. Если что-то сломалось, начинать нужно с `ng-diagram-troubleshooting`, он разбирает случай по симптому или по сообщению в консоли. Скиллы написаны под ngDiagram 1.4.0 и работают в Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и других агентах, которые читают `SKILL.md`. Перед кодом агент сверяет установленную версию и названия API в файле `node_modules/ng-diagram/ng-diagram.d.ts`. Автор называет набор предварительной версией. Отдельный MCP-сервер `@ng-diagram/mcp` ищет по документации и справочнику API и ставится по желанию.

Для кого. Angular-разработчикам, которые строят на ngDiagram редактор схем, конструктор процессов или оргдиаграмму и работают с Claude Code, Codex или Cursor.

Подходит, если

  • Вы впервые подключаете ngDiagram к проекту, и агент должен настроить глобальные стили, провайдер и размер контейнера
  • Узлы и ребра должны быть собственными компонентами Angular с портами и подписями
  • В консоли появилась ошибка «Library engine not initialized yet», а причина неясна
  • Модель диаграммы нужно сохранять и загружать, а саму диаграмму выгружать в файл
  • Большая диаграмма тормозит, и агент ищет узкое место

Не подходит, если

  • Проект на React или Vue: библиотека рассчитана на Angular 18 и новее
  • Вы вносите правки в исходники самой ngDiagram: скиллы рассчитаны на тех, кто строит приложения на библиотеке
  • В проекте стоит ngDiagram старше 1.4.0, а сверять API вручную некому: подсказки о новых возможностях отмечены пометкой «since vX.Y»

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

Добавь в проект диаграмму на ngDiagram с пользовательскими узлами и портами, загрузи нужные скиллы ng-diagram

Ограничения

  • Набор помечен предварительной версией и написан под ngDiagram 1.4.0, автор просит сообщать о неверных советах.
  • Описания 31 скилла занимают около 7200 знаков в списке агента. При множестве других скиллов часть описаний может не поместиться, тогда нужный скилл вызывают по имени.
  • Установка через skills CLI требует Node.js 22.20 или новее. Утилита шлет анонимную статистику, отключить ее можно переменной `DISABLE_TELEMETRY=1`.
  • MCP-сервер в набор не входит и подключается отдельно.

Как отключить. Удалите папки `ng-diagram-*` из каталога, куда их положил skills CLI: `.claude/skills/` для Claude Code, `.agents/skills/` для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Блок `ng-diagram-docs` уберите из конфигурации MCP, если подключали сервер.

Частые вопросы

Как поставить скиллы ngDiagram в Claude Code?

Выполните в папке проекта `npx skills add https://github.com/synergycodes/ng-diagram/tree/release/skills` и выберите Claude Code в списке агентов. Один скилл ставится флагом `--skill`, например `--skill ng-diagram-linking`. Вручную папки копируют в `.claude/skills/`.

Нужен ли MCP-сервер вместе со скиллами?

Нет, но автор его рекомендует: сервер ищет по документации и справочнику API. Добавьте в конфигурацию агента запись с командой `npx` и аргументами `-y @ng-diagram/mcp`.

Чем скиллы ngDiagram отличаются от `angular-skills`?

Скиллы ngDiagram описывают одну библиотеку диаграмм, а `angular-skills` от команды Angular касаются самого фреймворка: сигналов, форм, SSR. Темы не пересекаются.

С какими версиями Angular работают скиллы ngDiagram?

Библиотека требует Angular 18.0.0 или новее и TypeScript 5.6.0 или новее. Скиллы написаны под ngDiagram 1.4.0, и агент сверяет установленную версию перед кодом.

Как обновить скиллы ngDiagram?

Выполните `npx skills update`. Если папки копировали вручную, замените их свежими из ветки release репозитория.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скиллы Angular

Angular Skills

Официальные скиллы команды Angular: генерация кода по актуальным практикам, сигналы, формы, SSR и создание новых приложений

СкиллРасширенный доступ101,5 тыс.Звезды репозитория

Скилл и MCP-сервер для Angular-библиотеки spartan/ui: агент ставит компоненты и блоки по актуальной документации.

СкиллРасширенный доступ3 тыс.Звезды репозитория

Скилл и CLI: единый HTML-файл без зависимостей, с токенами shadcn, семью макетами, графиками на SVG и самопроверкой агента

СкиллМинимальный доступ66Звезды репозитория

Авторские скиллы под Angular, React, Next.js, TypeScript и Django плюс шесть общинных для Java, Elixir и Electron

СкиллМинимальный доступ668Звезды репозитория

MCP-сервер и панель для разработчиков Angular: агент видит маршруты, формы, сигналы и зависимости работающего приложения.

MCP-серверРасширенный доступ88Звезды репозитория
Официальный

Официальный скилл Microsoft раскладывает графы и сети в JavaScript и TypeScript и выгружает схемы в SVG, PDF, PNG и EPS.

СкиллМинимальный доступ175Звезды репозитория

Коротко о README

README открывает список возможностей: узлы, ребра с тремя видами маршрутизации, группы, мини-карта, палитра, сенсорные жесты. Дальше идут примеры, шаблоны-заготовки, видеокурс и ссылки на документацию. Раздел «Build with AI» содержит запрос для агента, команду установки скиллов и блок конфигурации MCP-сервера. Требования: Angular 18 и новее, TypeScript 5.6 и новее, Node.js 18.19.1 и новее.

Бейдж для README

Исходный SKILL.md

---
name: ng-diagram-fundamentals
description: Use when starting any ng-diagram task or unsure how the library works - data flow, golden rules, system-owned node/edge fields, where NgDiagram services can be injected, and which ng-diagram skill to load next.
license: Apache-2.0
---

# ng-diagram fundamentals

How ng-diagram works, the rules that prevent most bugs, and where to look next. The skill map at the end names the skill that owns each topic.

## Rules

- **Import the styles globally.** `@import 'ng-diagram/styles.css';` goes in the global stylesheet (`src/styles.css` or `.scss`), never in a component's `styles`. The library is styled through CSS variables on `:root`, and component styles are scoped. See `ng-diagram-setup`.
- **One `provideNgDiagram()` per diagram.** Put it in `providers` of the component that renders `<ng-diagram>`, or of an ancestor that also renders your toolbar or sidebar. Services resolve to the nearest registration, so two diagrams under one registration fight over one engine.
- **Change the model only through the services** (`NgDiagramModelService`, `NgDiagramSelectionService`, `NgDiagramNodeService`, ...). Do not mutate node or edge objects or write to the adapter from `getModel()`: only the services run middlewares, routing, z-index and events.
- **`await` when the next line depends on the change**, otherwise `void` the promise. Never `await` a service call inside a middleware: the update pipeline is not re-entrant and the await deadlocks (see `ng-diagram-middleware`).
- **Never write system-owned fields:** `measuredPorts`, `measuredBounds`, `measuredLabels`, `computedZIndex`, `computedHidden`, `sourcePosition`/`targetPosition` of connected edge ends, `points` of auto-routed edges, `size` of auto-sized nodes. The library recomputes them and your value is lost. Read `references/model-reference.md` when you need to know who owns a property.
- **Wait for initialization** before working with a new model: use `(diagramInit)` or `isInitialized()`. Calls made right after you assign a new model still reach the old model and are lost.
- **Hide elements with the `hidden` flag (since 1.4.0), not CSS `display: none`.** CSS-hidden elements cannot be measured, so loading waits for the measurement timeout and logs warnings. See `ng-diagram-visibility`.
- **Create every model with `initializeModel()`** (pass a custom adapter through `initializeModelAdapter()`), and give each diagram instance its own model. The adapter is destroyed together with its diagram.

## How it works

```
your code ──► NgDiagram*Service method ──┐
user gesture (drag, draw, keys) ─────────┤
                                         ▼
            command (one operation: addNodes, moveNodesBy, paste, ...)
                                         ▼
   middleware chain: your middlewares + built-ins (internal ids, z-index, edge routing)
                                         ▼
   model (the ModelAdapter from initializeModel) ──► events: (selectionChanged), addEventListener, ...
                                         ▼
               Angular renders nodes, edges, ports and labels
                                         ▼
   ResizeObserver measures nodes, ports and edge labels; the results go back through
   the same pipeline as size / measuredPorts / measuredLabels, and edges re-route
```

- Each `<ng-diagram>` has one engine. It is created when `<ng-diagram>` first renders and created again when you bind a new model. Before that, service methods throw `[ngDiagram] Library engine not initialized yet.`

Сообщить о проблеме