SoC Agent Skills

Три скилла с MCP для проектирования SoC: верхний модуль Verilog, книги CRG и диаграммы WaveDrom.

  • 57 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

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

  • Скиллы запускают локальные MCP-серверы и скрипты, которые читают исходники Verilog и пишут сгенерированные файлы.
Все причины и проверки

siliconpeasant/soc_agent_skill

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/soc-agent-skills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

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

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

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

  • Скиллы запускают локальные MCP-серверы и скрипты, которые читают исходники Verilog и пишут сгенерированные файлы.

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

Что делает

Репозиторий объединяет три скилла для проектирования систем на кристалле, и у каждого есть свой MCP-сервер по stdio. `soc-integrate` извлекает порты подмодулей в стиле ANSI, собирает из них верхний модуль на Verilog, сохраняет снимок интерфейсов и обновляет модуль командой `soc_update` только когда порты подмодулей менялись. `crg-design-gen` превращает таблицу требований в рабочие книги CRG и деревья тактовых сигналов и сбросов. `wavedrom-gen` переводит описание на естественном языке в официальный WaveDrom JSON5 и выдает SVG, PNG или HTML. Его можно поставить и как плагин Cursor. Каждый каталог самостоятелен: `SKILL.md` служит контрактом агента, рядом лежат MCP-сервер, скрипты и тесты. Общей системы сборки у набора нет.

Для кого. Инженерам по проектированию цифровых схем и SoC, которые хотят отдать агенту рутину: сборку верхнего модуля, схемы тактирования и диаграммы сигналов.

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

  • Нужно собрать или обновить верхний модуль чипа по портам подмодулей.
  • Таблица требований к тактированию должна стать книгой CRG с деревьями тактов и сбросов.
  • Описание протокола словами надо превратить в временную диаграмму WaveDrom.
  • Порты подмодулей не менялись, и достаточно снимка и CSV без пересборки.

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

  • Нужна полная система сборки SoC: `soc-build` лежит в другом месте.
  • Вы работаете не с Verilog и не с WaveDrom.
  • Нельзя запускать локальные MCP-серверы на Python и Node.js.

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

Собери верхний модуль чипа из этих подмодулей и сохрани снимок интерфейсов.

Ограничения

Набор не заменяет систему сборки SoC: авторы прямо оговаривают, что `soc-build` находится в другом месте. Для `wavedrom-gen` нужны Node.js 20 и новее, а для PNG выполните `npm ci --omit=dev`, потому что `node_modules` в репозиторий не входит и `@resvg/resvg-js` ставит собственный бинарный файл для платформы. Скиллы с MCP работают по stdio. Версию на Cursor копируют в `~/.cursor/plugins/local`, затем перезагружают окно. В `mcp.json` стоит переменная `${CURSOR_PLUGIN_ROOT}`: для клиента по стандарту замените ее на `${PLUGIN_ROOT}`. Результаты генерации проверяйте инструментами синтеза.

Как отключить. Удалите скилл командой `npx skills remove` или его каталог, а для Cursor удалите папку плагина в `~/.cursor/plugins/local`.

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

Как поставить один скилл?

Выполните `npx skills add siliconpeasant/soc_agent_skill --skill soc-integrate -g`. Без `-g` установка пойдет в проект, флаг `-a` выбирает клиента.

Что входит в набор?

Три скилла: `soc-integrate`, `crg-design-gen` и `wavedrom-gen`. У каждого свой MCP-сервер.

Когда нужен soc_update?

Только когда порты перечисленных подмодулей изменились. Если порты прежние, хватает снимка и CSV, перегенерировать не нужно.

Что выдает wavedrom-gen?

Официальный WaveDrom JSON5 и изображения SVG, PNG или страницу HTML.

Как поставить в Cursor?

Скопируйте каталог `wavedrom-gen` в `~/.cursor/plugins/local/wavedrom-gen`, выполните `npm ci --omit=dev` в его `skills/wavedrom-gen`, затем перезагрузите окно.

Обсуждение

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

Скиллы

24 скилла для прошивок микроконтроллеров: сборка, прошивка, отладка GDB, UART, Modbus, CAN, логические анализаторы и статанализ

СкиллШирокий доступ1,1 тыс.Звезды репозитория

Проверяемый реестр скиллов с CLI для установки в два десятка агентов и MCP-сервером для поиска скиллов на лету

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

Скилл для проектирования на Verilog-2001: пишет RTL по ТЗ, разбирает и чинит готовые модули с отчетом о проверках

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

Больше двадцати скиллов для кодовых агентов: MCP и хуки, режим плана, протокол багфикса, промпты и защитный хук для bash

СкиллШирокий доступ178Звезды репозитория
Российский стек

Общая инфраструктура скиллов и инструментов для доработки 1С, подключаемая как git submodule и раскладываемая по нескольким агентам разом

СкиллШирокий доступ

Скилл mspm0-ccs ведет плату TI MSPM0 от правки .syscfg до сборки, прошивки и отладки на реальном железе, с примерами и скриптами.

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

Коротко о README

В таблице README у каждого скилла указаны назначение, наличие MCP по stdio и ссылка на `SKILL.md`. Отдельного README у скиллов нет, а контракт агента целиком в `SKILL.md`.

Бейдж для README

Исходный SKILL.md

---
name: soc-integrate
description: >
  Extract RTL ports, generate instances/wrappers/top modules, and track
  interface changes through snapshots and integration configs. Use for
  generated SoC top-level integration and port-change maintenance.
  soc_update only after listed submodule ports change; do not regenerate a
  top just to close a delivery stage.
---

# SoC Integrate (`soc-integrate`)

Generate and maintain a **chip/subsystem top** from Verilog submodule files.
Do not hand-edit generated instances. Keep connection intent in a port-map JSON.

Prefer the bundled MCP server. CLI is available for local use and tests.

## MCP tools

| Tool | Purpose |
|---|---|
| `soc_extract` | Parse ANSI module ports |
| `soc_instantiate` | Emit `.port(signal)` instance |
| `soc_wrap` | Pass-through wrapper |
| `soc_csv` | Port CSV |
| `soc_snapshot` / `soc_diff` | Port snapshot and delta |
| `soc_integrate` | Stitch modules into a generated top + `.integrate.json` |
| `soc_extract_map` | Recover mappings from an existing top |
| `soc_update` | Refresh that top after **listed submodule ports change** |
| `soc_remove` | Drop a module from the config and refresh |

Register stdio:

```json
{
  "mcpServers": {
    "soc-integrate": {
      "command": "python3",
      "args": ["/path/to/soc-integrate/mcp_server.py"]
    }

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