refactor: навыки-делегаторы → нативные субагенты

docs-delegate и kompas-sdk-research были навыками-обёртками: их тело —
шаблон системного промпта, который Opus вручную копировал в вызов
general-purpose агента на Sonnet. Переоформлены в нативных субагентов
(.claude/agents/), где промпт живёт в теле определения, модель и набор
инструментов фиксируются во frontmatter.

- docs-delegate → docs-maintainer (имя по роли, а не по механизму);
  tools: Read/Edit/Write/Glob/Grep.
- kompas-sdk-research: read-only (tools: Glob/Grep/Read) — запрет правок
  теперь структурный, а не правило в промпте.
- Делегация теперь один вызов Agent(subagent_type, prompt) без копирования
  шаблона → экономия контекста Opus.
- Переписаны живые ссылки: CLAUDE.md, kompas-3d/SKILL.md, README.md,
  ARCHITECTURE.md, NEXT-SESSION.md. Старые каталоги навыков удалены.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 18:55:13 +03:00
parent ced95b742b
commit 454a90100a
7 changed files with 55 additions and 125 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
> Статус: **реализовано и работает** (v1+v2+STEP/assembly+direct-edit+inspection+package-A «богатые эскизы»+package-B «shell+rib+sweep+loft»+package-C «массивы и зеркало»+package-D start «переменные»+package-E «offset plane»+`hole`+`hole_counterbore`+`hole_countersink`+`hole_conic`+`draft`+`assembly_add_component`+`assembly_add_mate`+`drawing_create_standard_views`+`drawing_fill_title_block`+`drawing_add_linear_dimension`+`drawing_add_diametral_dimension` (веха «2D-чертёж», инкремент 4)). Актуализировано по коду.
> Сопутствующий контекст по COM API КОМПАС — в [`../CLAUDE.md`](../CLAUDE.md).
> Имена интерфейсов и перечислений сверены со справкой SDK по MD-базе знаний `docs/Kompas3D_SDK/` (навык `kompas-sdk-research`).
> Имена интерфейсов и перечислений сверены со справкой SDK по MD-базе знаний `docs/Kompas3D_SDK/` (субагент `kompas-sdk-research`).
---
+2 -2
View File
@@ -75,7 +75,7 @@
Enum'ы — в `Kompas6Constants`/`Kompas6Constants3D`. **Тестовый проект НЕ ссылается на эти
constants-сборки** → COM-enum в публичном API сервиса оборачивай СВОИМ enum (как `MateType`/
`DimensionOrientation`), unit-тесть по `(int)`-коду нельзя — проверяй только свой enum/Parse.
2. **Семантику API** уточняй навыком `kompas-sdk-research` (субагент Sonnet), не рой справку сам.
2. **Семантику API** уточняй субагентом `kompas-sdk-research` (Sonnet, read-only), не рой справку сам.
3. **При неопределённости (привязка к геометрии, координаты, единицы) — СПАЙК ДО СПЕКА**: черновой
метод сервиса + временный `*SpikeTests.cs`, прогнать, зафиксировать находку. (Так делалось для
сопряжений, видов, штампа, линейного и диаметрального размеров — всегда окупалось.)
@@ -86,7 +86,7 @@
в static (unit), интеграционный тест в `*Tests.cs` (наследует `IntegrationTestBase`, Collection
`KompasCollection`). Спайк-методы/тесты УДАЛИ, промотировав в финальный код.
6. **Ревью Codex реализации** (`--resume` того же треда) → правки.
7. **Документация** навыком `docs-delegate` (Sonnet: README/CLAUDE/ARCHITECTURE/OPEN_QUESTIONS/
7. **Документация** субагентом `docs-maintainer` (Sonnet: README/CLAUDE/ARCHITECTURE/OPEN_QUESTIONS/
presentation.html). **Число тестов задавай ТОЧНО по `dotnet test` раннеру** (НЕ по числу
`[Fact]`/`[Theory]` — теории разворачиваются в несколько кейсов).
8. `merge --no-ff` в main → удали ветку → `push origin main` → обнови этот handoff + память.