skills-index-snippets — скилл для Claude Code: индекс скиллов
Собирает компактный роутер скиллов и агентов для AGENTS.md или CLAUDE.md, чтобы ассистент вызывал нужный скилл по имени, а не по памяти.
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a claude-codeЧто делает skills-index-snippets
Скилл ведёт индекс сниппетов для репозитория dotnet-skills. Он описывает, как из .claude-plugin/plugin.json и полей name: в SKILL.md собрать маршрутизацию задач по категориям: C# и качество кода, ASP.NET Core, данные, DI и конфигурация, тесты, quality gates, специализированные агенты.
Внутри два шаблона сниппета. Обычный читаемый — для целевых репозиториев. Сжатый, в стиле Vercel, — когда важен размер контекста. Есть генератор ./scripts/generate-skill-index-snippets.sh --update-readme: он обновляет блок README между маркерами <!-- BEGIN DOTNET-SKILLS COMPRESSED INDEX --> и <!-- END DOTNET-SKILLS COMPRESSED INDEX -->. Перед этим стоит прогнать ./scripts/validate-marketplace.sh.
Скиллы и агентов в сниппетах указывайте по ID из frontmatter, а не по путям на диске. Иначе после переименования папки роутер начнёт ссылаться в пустоту, и ассистент просто не найдёт нужный скилл. Скилл не вызывается пользователем напрямую (user-invocable: false) — это внутренняя инструкция для сопровождающего репозиторий.
Какие задачи решает
- собрать роутер задач по скиллам и агентам для
AGENTS.md - обновить индекс после добавления или переименования скилла
- сделать сжатый сниппет, чтобы не раздувать контекст
- автоматически переписать блок индекса в README
- проверить, что имена в сниппете совпадают с frontmatter
Примеры запросов агенту
- добавь новый скилл в индекс сниппетов и обнови категорию Testing
- перегенерируй сжатый индекс в README через
./scripts/generate-skill-index-snippets.sh --update-readme - сделай сниппет для downstream-репозитория по ID скиллов из frontmatter
Как установить skills-index-snippets
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a claude-code2Вручную: положить файлы
~/.claude/skills/skills-index-snippets/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/skills-index-snippets/
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a codex2Вручную: положить файлы
.agents/skills/skills-index-snippets/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a cursor2Вручную: положить файлы
.cursor/skills/skills-index-snippets/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Aaronontheweb/dotnet-skills skills-index-snippets2Вручную: положить файлы
.github/skills/skills-index-snippets/SKILL.md1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a gemini-cli2Командой платформы
gemini skills install https://github.com/Aaronontheweb/dotnet-skills --path skills/skills-index-snippetsВручную: положить файлы
.devin/skills/skills-index-snippets/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о skills-index-snippets
Как установить skills-index-snippets в Claude?
Выполните npx skills add Aaronontheweb/dotnet-skills --skill skills-index-snippets -a claude-code. После установки файл скилла лежит по пути ~/.claude/skills/skills-index-snippets/SKILL.md.
Что делает skills-index-snippets?
Создаёт и поддерживает индекс сниппетов для AGENTS.md и CLAUDE.md, который направляет задачи к нужным скиллам и агентам dotnet-skills. Есть читаемый и сжатый варианты шаблона.
Почему скиллы в сниппете указывают по ID, а не по путям?
ID берётся из поля name: во frontmatter, поэтому ссылки переживают переименование папок. Пути на диске сломаются при первой же реорганизации репозитория.
Исходный текст
SKILL.md · MIT
---
name: skills-index-snippets
description: Create and maintain AGENTS.md / CLAUDE.md snippet indexes that route tasks to the correct dotnet-skills skills and agents (including compressed Vercel-style indexes).
user-invocable: false
---
# Maintaining Skill Index Snippets (AGENTS.md / CLAUDE.md)
## When to Use This Skill
Use this skill when:
- Adding, removing, or renaming any skills or agents in this repository
- Updating `.claude-plugin/plugin.json`
- Creating copy/paste snippets for downstream repositories (OpenCode, Claude Code, etc.)
- You want a compact, always-on index that improves skill utilization
## Goal
Make skills and agents easy for coding assistants to use by removing the decision point.
Instead of hoping an assistant will "remember" to invoke a skill, provide a small router snippet inside `AGENTS.md` / `CLAUDE.md` that:
1) Tells the assistant to prefer retrieval-led reasoning
2) Provides a task->skill/agent routing index
3) Defines lightweight quality gates (optional)
## Source of Truth
- Registry: `.claude-plugin/plugin.json`
- Skills are listed as directories (each contains `SKILL.md`)
- Agents are listed as markdown files in `agents/`
- Skill IDs: the `name:` field in each `SKILL.md` frontmatter
- Agent IDs: the `name:` field in each agent frontmatter
When writing snippets for downstream repos, always reference skills/agents by their IDs (frontmatter `name`), not by local filesystem paths.
## Minimal Snippet Template (Readable)
Use this in target repos to route common tasks:
```markdown
# Agent Guidance: dotnet-skills
IMPORTANT: Prefer retrieval-led reasoning over pretraining for any .NET work.
Workflow: skim repo patterns -> consult dotnet-skills by name -> implement smallest-change -> note conflicts.
Routing (invoke by name)
- C# / code quality: modern-csharp-coding-standards, csharp-concurrency-patterns, api-design, type-design-performance
- ASP.NET Core / Web (incl. Aspire): aspire-service-defaults, aspire-integration-testing
- Data: efcore-patterns, database-performance
- DI / config: dependency-injection-patterns, microsoft-extensions-configuration
- Testing: testcontainers-integration-tests, playwright-blazor-testing, snapshot-testing
Quality gates (use when applicable)
- dotnet-slopwatch: after substantial new/refactor/LLM-authored code
- crap-analysis: after tests added/changed in complex code
Specialist agents
- dotnet-concurrency-specialist, dotnet-performance-analyst, dotnet-benchmark-designer, akka-net-specialist, docfx-specialist
```
## Compressed Snippet Template (Vercel-style)
Use this when you want maximum density (small context footprint):
```markdown
[dotnet-skills]|IMPORTANT: Prefer retrieval-led reasoning over pretraining for any .NET work.
|flow:{skim repo patterns -> consult dotnet-skills by name -> implement smallest-change -> note conflicts}
|route:
|csharp:{modern-csharp-coding-standards,csharp-concurrency-patterns,api-design,type-design-performance}
|aspnetcore-web:{aspire-service-defaults,aspire-integration-testing}
|data:{efcore-patterns,database-performance}
|di-config:{dependency-injection-patterns,microsoft-extensions-configuration}
|testing:{testcontainers-integration-tests,playwright-blazor-testing,snapshot-testing}
|quality-gates:{dotnet-slopwatch(after:substantial new/refactor/LLM code),crap-analysis(after:tests added/changed in complex code)}
|agents:{dotnet-concurrency-specialist,dotnet-performance-analyst,dotnet-benchmark-designer,akka-net-specialist,docfx-specialist}
```
### Regenerating the README block
If the README contains the markers below, the generator can update it automatically:
```
<!-- BEGIN DOTNET-SKILLS COMPRESSED INDEX -->
...compressed snippet...
<!-- END DOTNET-SKILLS COMPRESSED INDEX -->
```
Run:
```bash
./scripts/generate-skill-index-snippets.sh --update-readme
```
## How to Update Snippets After Skill Changes
1. Update `.claude-plugin/plugin.json` to include/remove skills and agents.
2. Ensure each skill has correct frontmatter `name:` (used by OpenCode and others).
3. Run `./scripts/validate-marketplace.sh`.
4. Update your snippet routing lists:
- Add new skills to the right category
- Remove deleted skills
- Keep names exactly matching frontmatter IDs
5. If you maintain a downstream `AGENTS.md`/`CLAUDE.md` snippet, regenerate it and re-copy into dependent repos.
## Recommended Categories
These are snippet categories (not necessarily repository folder structure):
- C# / code quality
- ASP.NET Core / Web (incl. Aspire)
- Data
- DI / config
- Testing
- Quality gates
- Specialist agents
Keep the snippet small; it should be a router, not documentation.
© Aaronontheweb · MIT · Aaronontheweb/dotnet-skills