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>
1) «Зрение» структурное: describe_model/describe_face/describe_edge/measure —
предпочесть снимку (точнее и дешевле по контексту); model_snapshot только для
визуально-пространственных вопросов, не гонять картинку зря.
2) validate_part после КАЖДОЙ операции: Update()==true ≠ успех; непустой результат
(напр. et3dError54) = брак, в STEP/печать не брать.
Базовый и импортный циклы + эвристики переориентированы на структурный осмотр и
обязательную проверку построения.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Новый слой «модель как данные» (приоритетный над model_snapshot):
- describe_model — структурный «паспорт» детали одним вызовом (габарит,
МЦХ, тела, сводка топологии, дерево построения с параметрами, переменные)
- list_features / list_bodies / list_variables
- describe_face / describe_edge (drill-down по индексу)
- measure (расстояние/угол между гранями/рёбрами/вершинами)
- model_snapshot понижен до fallback для визуально-пространственных вопросов
Реализация: ModelInspectionService (COM) + чистый InspectionText (рендер,
группировка, детект «импорт без истории») + record-модели; InspectionTools.
Дерево читается через ksPart.GetFeature()->SubFeatureCollection; точный тип
и параметры операций берутся из GetObject()->GetDefinition() (ksFeature.type
отдаёт лишь coarse o3d_entity).
Снимок дерева также включает слои conversion (STEP), editing (move_face/solid)
и validation, развивавшиеся параллельно. Полный прогон: 61 тест зелёный,
43 MCP-инструмента. Документация (README, ARCHITECTURE, OPEN_QUESTIONS,
CLAUDE.md, presentation.html) синхронизирована.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(skills): навык kompas-sdk-research + перенос kdoc.py в навык
Новый навык kompas-sdk-research делегирует поиск/чтение офлайн-справки КОМПАС SDK
субагенту Sonnet (экономит контекст Opus на 26k страниц WebHelp).
Навигатор kdoc.py перенесён tools/ → .claude/skills/kompas-sdk-research/ как часть навыка;
добавлен автопоиск каталога справки (вверх от CWD/скрипта или через KDOC_DIR),
чтобы скрипт работал из любой точки. Индекс остаётся в docs/kompas_sdk_index.tsv.
Ссылки обновлены в CLAUDE.md, README, ARCHITECTURE, presentation, .gitignore.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
chore: добавить навык docs-delegate в репозиторий
Навык делегирует обновление документации субагенту Sonnet. В таблицу файлов
добавлены docs/presentation.html (синхронизировать всегда) и CLAUDE.md —
закрыт пробел: ранее навык не упоминал презентацию, которую нужно держать актуальной.
.claude/settings.local.json остаётся в .gitignore.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@