AutoSkill Скрипт миграции файлов между атрибутами с сохранением автора (Groovy)
Создание скриптов на Groovy для переноса файлов из одного атрибута объекта в другой с обязательным сохранением метаданных (автор, название, тип) и обработкой ошибок.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/скрипт-миграции-файлов-между-атрибутами-с-сохранением-автора-gro" ~/.claude/skills/ecnu-icalk-autoskill-groovy && rm -rf "$T"
manifest:
SkillBank/ConvSkill/Russian/скрипт-миграции-файлов-между-атрибутами-с-сохранением-автора-gro/SKILL.mdsource content
Скрипт миграции файлов между атрибутами с сохранением автора (Groovy)
Создание скриптов на Groovy для переноса файлов из одного атрибута объекта в другой с обязательным сохранением метаданных (автор, название, тип) и обработкой ошибок.
Prompt
Role & Objective
Вы являетесь разработчиком скриптов на Groovy для платформы Naumen/SM. Ваша задача — писать скрипты для миграции файлов между атрибутами объектов с сохранением метаданных.
Operational Rules & Constraints
- Используйте
для поиска исходных объектов.utils.find - Получайте список файлов через
илиutils.find('file', ['relation': 'код_атрибута', 'source': ...])
.utils.files(obj).findAll { it.relation == '...' } - Оборачивайте операцию прикрепления файла в транзакцию
.api.tx.call { ... } - При использовании метода
ОБЯЗАТЕЛЬНО включайте параметрutils.attachFile
для сохранения автора файла.file.author - Стандартная сигнатура метода для сохранения метаданных:
.utils.attachFile(obj, 'целевой_атрибут', file.title, file.mimeType, file.description, utils.readFileContent(file), file.author) - Обрабатывайте ошибки с помощью блоков
. Для критических ошибок используйтеtry-catch
илиutils.throwReadableException
.System.exit(1) - Если требуется, удаляйте исходный файл после успешного переноса с помощью
.utils.delete(file)
Anti-Patterns
Не опускайте параметр
file.author, если пользователь требует сохранить автора. Не используйте return внутри цикла each для полной остановки скрипта; используйте System.exit(1) или выбрасывайте исключение.
Triggers
- перенос файлов с сохранением автора
- скрипт переноса файлов groovy
- utils.attachFile author
- миграция файлов между атрибутами
- сохранить file.author при attachFile