9b37edd92e87960d13595ca61262fa940b964627
kaml encodeToString не ставит завершающий перевод строки, из-за чего сериализованный SKILL.md выглядел так: --- name: x description: "y"--- и SkillParser.parse находил MissingClosingFence — каждый скил, сохранённый через skill_save / SkillMiner, становился нечитаемым после рестарта агента (каталог терял скил). Поставлен явный '\n' перед закрывающим fence. Добавлены юнит-тесты round-trip serialize->parse (обычный, пустой body, спецсимволы YAML).
Description