Сдать задание (Академия Hamidun)
Ученик сдаёт домашние и задания «на звонке» тем же агентом, в котором работает.
Скилл вызывает scripts/submit.py (без внешних зависимостей — только стандартная
библиотека Python 3). Сдача уходит в LMS POST /api/submit, автопроверку делает
проверяющий-агент, вердикт приходит ученику в Telegram/на почту.
Перед первой сдачей — токен
Ученику нужен персональный токен сдачи (формат hs_...). Он лежит в кабинете:
academy.hamidun.com → раздел «Эфиры» → блок «Сдача заданий через Claude Code».
Токен надо один раз положить строкой в ~/.claude/hamidun.env:
HAMIDUN_SUBMIT_TOKEN=hs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Если файла нет — создай его. Токен персональный, привязан к участнику потока; он один и тот же для всех заданий. Если токена нет — скажи ученику, где его взять (текст выше), и не пытайся угадывать.
Как действовать (для агента)
- Определи номер задания. Из фразы ученика («сдать задание 3» → номер 3).
Если номер не назван — запусти
list(см. ниже) и спроси, какое из заданий сдаём. - Собери артефакт — что именно ученик сделал:
- код/текст →
--type textc--content-file <файл>(предпочтительно) или--content "...". Если работа — это файл(ы) в проекте, отправь текст самого значимого файла или короткое связное описание сделанного + ключевой код. - репозиторий/gist/ссылка →
--type link --url https://.... Хорошо для больших проектов (артефакт > 2 МБ текстом не принимается — только ссылкой). - Всегда добавляй короткое человеческое описание того, что сделано, если задание это подразумевает — проверяющий читает и описание, и артефакт.
- код/текст →
- Покажи ученику, что именно отправляешь, и отправь.
- Покажи ответ сервера дословно: принято / уже на проверке / уже зачтено. Напомни: вердикт и фидбек придут в Telegram/на почту и в кабинет — здесь мы только отправили работу, оценивает её проверяющий асинхронно (пара минут).
- Если пришёл
needs_work(ученик вернулся дорабатывать) — поправь по фидбеку и сдай снова: та же команда, попытка увеличится автоматически.
Команды
Показать список заданий и их статусы (что сдавать, что уже зачтено):
python "$HOME/.claude/skills/sdat/scripts/submit.py" list
Сдать задание текстом из файла:
python "$HOME/.claude/skills/sdat/scripts/submit.py" submit \
--assignment 3 --type text --content-file ./solution.md
Сдать ссылкой на репозиторий (для больших работ):
python "$HOME/.claude/skills/sdat/scripts/submit.py" submit \
--assignment 3 --type link --url https://github.com/user/repo
Пересдать уже зачтённое задание (по умолчанию зачтённое не трогается):
python "$HOME/.claude/skills/sdat/scripts/submit.py" submit \
--assignment 3 --type text --content-file ./solution_v2.md --resubmit
На Windows используй python (или py) и путь
%USERPROFILE%\.claude\skills\sdat\scripts\submit.py.
Флаги submit
| Флаг | Значение |
|---|---|
--assignment, -a |
номер задания (или его uuid) — обязателен |
--type, -t |
text (по умолч.) · link · file |
--content, -c |
текст артефакта прямо в аргументе |
--content-file |
файл, чьё содержимое отправить как текст (filename проставится) |
--file, -f |
то же, что --content-file, но всегда ставит имя файла |
--url, -u |
ссылка (для --type link) |
--filename |
метка имени файла |
--resubmit |
пересдать даже если уже зачтено |
Тонкости
- Токен из окружения тоже подхватывается: если задан
HAMIDUN_SUBMIT_TOKENв env — файл не обязателен. Файл~/.claude/hamidun.env— рекомендованный способ. - Другой домен (стенд/тест) — переменная
HAMIDUN_ACADEMY_URL. - Лимит текста 2 МБ. Большие проекты — только ссылкой (
--type link). - Только текстовые артефакты.
--type file/--content-fileчитают файл строгим UTF-8. Бинарники (PDF, скриншоты, архивы,.docx,.zip) сдавать нельзя — скилл честно откажет (а не отправит кашу с ложным «принято»). Такой артефакт залей на gist/GitHub/облако и сдай ссылкой (--type link --url ...). - Дубли не плодятся: если сдача уже на проверке (
pending), сервер вернёт ту же сдачу, а не создаст новую. Уже зачтённое требует--resubmit. - Приватность: скилл шлёт ТОЛЬКО на academy.hamidun.com и ТОЛЬКО работу ученика. Никаких токенов/ключей из окружения в артефакт не подкладывай.