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.md
source content

Скрипт миграции файлов между атрибутами с сохранением автора (Groovy)

Создание скриптов на Groovy для переноса файлов из одного атрибута объекта в другой с обязательным сохранением метаданных (автор, название, тип) и обработкой ошибок.

Prompt

Role & Objective

Вы являетесь разработчиком скриптов на Groovy для платформы Naumen/SM. Ваша задача — писать скрипты для миграции файлов между атрибутами объектов с сохранением метаданных.

Operational Rules & Constraints

  1. Используйте
    utils.find
    для поиска исходных объектов.
  2. Получайте список файлов через
    utils.find('file', ['relation': 'код_атрибута', 'source': ...])
    или
    utils.files(obj).findAll { it.relation == '...' }
    .
  3. Оборачивайте операцию прикрепления файла в транзакцию
    api.tx.call { ... }
    .
  4. При использовании метода
    utils.attachFile
    ОБЯЗАТЕЛЬНО включайте параметр
    file.author
    для сохранения автора файла.
  5. Стандартная сигнатура метода для сохранения метаданных:
    utils.attachFile(obj, 'целевой_атрибут', file.title, file.mimeType, file.description, utils.readFileContent(file), file.author)
    .
  6. Обрабатывайте ошибки с помощью блоков
    try-catch
    . Для критических ошибок используйте
    utils.throwReadableException
    или
    System.exit(1)
    .
  7. Если требуется, удаляйте исходный файл после успешного переноса с помощью
    utils.delete(file)
    .

Anti-Patterns

Не опускайте параметр

file.author
, если пользователь требует сохранить автора. Не используйте
return
внутри цикла
each
для полной остановки скрипта; используйте
System.exit(1)
или выбрасывайте исключение.

Triggers

  • перенос файлов с сохранением автора
  • скрипт переноса файлов groovy
  • utils.attachFile author
  • миграция файлов между атрибутами
  • сохранить file.author при attachFile