docs(meta-edit): каскад инструкций по задачам вместо одной кучи

child-operations.md был на 191 строку и держал в одном файле реквизиты, поля внешнего
источника, таблицы, функции, ТЧ, предопределённые и значения перечисления: модель, добавляющая
реквизит, читала заодно про функции внешнего источника. Ось резки была механизмом (add/remove/
modify), а нужна сущность — как в meta-compile.

SKILL.md: частое (команда, сводная таблица операций, быстрые примеры) плюс индекс
«что правишь → файл». Остальное — reference/: attributes, tabular-sections, predefined,
external-data-source, other-children, properties (бывший properties-reference), json-dsl.

Попутно: везде «навык form-add», а не голое имя — иначе читается как команда оболочки или
значение -Operation. Тексты предупреждений в обоих портах тоже.

scripts/switch.py собирал .md только из корня навыка, подкаталоги не видел: команды запуска
в reference/*.md молча остались бы на старом рантайме. Обход стал рекурсивным.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
Nick Shirokov
2026-09-06 19:41:57 +03:00
co-authored by Claude Opus 5
parent fb211a61ac
commit b4bc02bc98
13 changed files with 264 additions and 231 deletions
+6 -2
View File
@@ -160,8 +160,12 @@ def scan_skills(skills_dir):
def collect_md_files(skill_dir):
"""Return list of .md files in a skill directory."""
return sorted(glob.glob(os.path.join(skill_dir, '*.md')))
"""Return list of .md files in a skill directory, including subdirectories.
Команды запуска живут не только в SKILL.md: у навыков с каскадом инструкций
они есть и в reference/*.md. Нерекурсивный обход молча оставлял бы их на старом рантайме.
"""
return sorted(glob.glob(os.path.join(skill_dir, '**', '*.md'), recursive=True))
def classify_skill_runtime(skill_dir):