# go-semantic-tools

Ищет вызовы, реализации и зависимости в Go-проектах через gopls и go list, а не текстовый поиск. Понимает интерфейсы, embedding и cross-package использование — то, что grep не видит.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 83
- Автор: eduardo-sl
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/eduardo-sl/go-agent-skills/tree/HEAD/skills/(workflow)/go-semantic-tools/SKILL.md
- Обновлён: 2026-10-15
- HTML: https://affpapa.org/nevibecode/skills/go-semantic-tools

## Что делает

Скилл использует семантические инструменты Go вместо регулярных выражений. `gopls references` находит все места, где вызывается функция — включая вызовы через интерфейсы и скрытые зависимости. `gopls implementation` показывает, какие типы реализуют интерфейс или какие интерфейсы удовлетворяет конкретный тип. `go list` выстраивает граф зависимостей пакетов, `go doc` выводит API без шума реализации.

Внутри — готовые сценарии: перед изменением функции проверяешь все её вызовы, перед добавлением метода в интерфейс видишь все реализации, перед рефактором подтверждаешь слои архитектуры через граф импортов. `gopls rename -w` переименовывает символ везде, не путая `UserID` в разных контекстах. `gopls check` и `go vet` дают диагностику без редактора.

Требует Go toolchain и `gopls` v0.20+. Работает через MCP-сервер (для агентов) или CLI. Текстовый поиск остаётся для строк, комментариев и незавершённого кода.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add eduardo-sl/go-agent-skills --skill go-semantic-tools -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/go-semantic-tools/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/go-semantic-tools/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add eduardo-sl/go-agent-skills --skill go-semantic-tools -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/go-semantic-tools/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add eduardo-sl/go-agent-skills --skill go-semantic-tools -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/go-semantic-tools/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install eduardo-sl/go-agent-skills go-semantic-tools
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/go-semantic-tools/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add eduardo-sl/go-agent-skills --skill go-semantic-tools -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/eduardo-sl/go-agent-skills --path 'skills/(workflow)/go-semantic-tools'
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/go-semantic-tools/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add eduardo-sl/go-agent-skills --skill go-semantic-tools -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/eduardo-sl/go-agent-skills/tree/HEAD/skills/(workflow)/go-semantic-tools/SKILL.md

## Когда брать
- найти все вызовы функции через интерфейсы и embedding
- определить, какие типы реализуют интерфейс перед его изменением
- проверить граф импортов и подтвердить архитектурные слои
- переименовать символ во всех местах использования корректно
- исследовать незнакомый пакет через его API

## Примеры запросов агенту
- Найди все места, где вызывается функция `Process` в файле `internal/service/user.go` на строке 42
- Какие типы реализуют интерфейс `Store` в `internal/store/store.go`?
- Покажи граф импортов для пакета `internal/payments` и что от него зависит

## Похожие
- [golang-refactoring](https://affpapa.org/nevibecode/skills/golang-refactoring.md) — скилл · 11300 установок
- [golang-gopls](https://affpapa.org/nevibecode/skills/golang-gopls.md) — скилл · 11000 установок
- [gopls-lsp](https://affpapa.org/nevibecode/plugins/gopls-lsp.md) — плагин · ★ 44770
- [sqry - Semantic Code Search](https://affpapa.org/nevibecode/mcp/sqry-semantic-code-search.md) — MCP-сервер · ★ 31
- [codebase-analysis](https://affpapa.org/nevibecode/skills/codebase-analysis.md) — скилл · 580 установок
- [domain-analysis](https://affpapa.org/nevibecode/skills/domain-analysis.md) — скилл · 359 установок

Из того же набора: [eduardo-sl/go-agent-skills](https://affpapa.org/nevibecode/by/eduardo-sl/go-agent-skills.md) — 11 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
