From dotnet-doc-skills
Генерирует ОДИН обзорный README.md в корне указанной папки — навигационную карту мульти-проектной папки для будущего claude code и человека. Рекурсивно находит все .cs, определяет проекты (.csproj) и описывает каждый публичный тип кратким абзацем: что класс делает в целом, его логика/роль и зависимости — без сигнатур методов и таблиц параметров. Структура README: проекты → namespace → классы. Язык вывода — РУССКИЙ. Используй, когда пользователь говорит «doc-folder», «сделай README для папки», «опиши проекты в каталоге», «карта кода папки», «обзор классов в папке» — даже без слова «skill». Это НЕ генератор inline /// (для этого — doc-cs), НЕ детальная API-дока по .md на класс (для этого — doc-md) и НЕ схема БД (для этого — doc-db).
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-doc-skills:doc-folder путь к папке (мульти-проектной)путь к папке (мульти-проектной)This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Пользователь просит обзорную карту кода папки: «doc-folder», «сделай README для
Пользователь просит обзорную карту кода папки: «doc-folder», «сделай README для
папки», «опиши проекты в каталоге», «обзор классов». Вывод — один README.md
в корне указанной папки, а НЕ дока по классам (doc-md) и не /// (doc-cs).
Glob("<папка>/**/*.cs"). Исключи bin/, obj/ и
сгенерированные файлы: *.g.cs, *.Designer.cs, *.AssemblyInfo.cs,
*.AssemblyAttributes.cs.Glob("<папка>/**/*.csproj"). Для каждого определи имя
(файл без расширения), корневую папку, root-namespace (<RootNamespace> или
имя проекта), TargetFramework(s)..csproj вверх по дереву.
.cs без проекта собери в группу «Вне проектов».namespace, ПУБЛИЧНЫЕ типы
(public ... class|interface|enum|record|struct), базовый тип/интерфейсы,
наличие /// <summary>. Только public — internal/private пропускай.
.cs может быть несколько public-типов — делай запись на
каждый тип, а не на файл.public … не
отличает вложенные от верхнеуровневых — вложенность определяй при чтении
тела типа в Pass 2 (по фигурным скобкам родителя).namespace X;), и блочные (namespace X { })
объявления. Если namespace в файле нет (top-level statements) — тип
относится к глобальному namespace проекта.Для каждого public-типа сформируй запись ~3-6 строк строго по
references/class-summary-style-ru.md (прочитай файл до генерации):
назначение (что класс делает в целом) + логика/роль + зависимости/использование.
Без сигнатур методов и таблиц параметров.
README.md по assets/readme.md.template (структура ниже).documentation/api/ (от doc-md) или
documentation/database.md (от doc-db) — добавь строку ссылок на них.
Если их нет — строку не добавляй.Write в <указанная папка>/README.md. Файл
всегда перезаписывается — это снимок текущего кода.type: folder-overview (схема —
../doc-md/references/frontmatter-schema.md, единый источник истины).<Description> из .csproj, если есть; иначе
сформулируй сам по структуре и коду проекта.(global).namespace → записи классов.namespace (или его нет вовсе) — уровень группировки
опусти, классы идут списком сразу под проектом.Слой: … · \Full.Sub.Namespace` · …`).layer = test.Полный шаблон — assets/readme.md.template. Пример записи класса:
#### `SvItemDao` — репозиторий справочника «Уровни доступа»
Слой: data-access · `Sample.Dico` · [`src/Dico/SvItemDao.cs`](src/Dico/SvItemDao.cs)
Инкапсулирует CRUD к таблице `DICT.SV_ITEM` через ADO.NET. `Insert` версионирует
запись через `SV_PREVIOUSID`, `GetAll` отдаёт только активные строки
(`SV_RECORDSTATUS = 1`). Зависит от `AppContext`, используется `AccessService`.
Опционально. Pass 1 и Pass 3 — всегда в главной сессии (один выходной файл,
блоки склеивает главная). Pass 2 распараллеливай субагентами Task волнами
не более 10: каждому передай его .cs-файлы и путь к
references/class-summary-style-ru.md (обязан прочитать до генерации, иначе
объём и стиль описаний разъедутся). Субагент возвращает готовые markdown-блоки
классов — главная сессия компонует их в единый README.
doc-md).README.md в корне указанной папки.documentation/... ставь только если файлы существуют.-, точки и прочие спецсимволы убери
(OllamaApiConsole → #ollamaapiconsole, My.Proj.Api → #myprojapi)./// в .cs → doc-cs..md на класс, таблицы методов) → doc-md.doc-db.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
npx claudepluginhub tdav/auto.documentation.code --plugin dotnet-doc-skills