Проектная лаборатория

Собственный Claude Code

0 / 13этапов пройдено

Этап 08 · Навыки

Вызов навыка по имени

Русский перевод заданий CodeCrafters. Примеры подготовлены для Go. Выбор языка меняет команды и результаты, но не текст задания.

На этом этапе вы добавите вызов навыка по имени.

Команды с косой чертой

Модель знает название и описание каждого навыка, но ещё не видит инструкций. Загрузка основного текста — второй уровень поэтапной загрузки; простейший повод для неё — прямой запрос пользователя.

Если запрос пользователя начинается с /, считайте первое слово именем навыка. Для такого запроса:

$ ./your_program.sh -p "/apple"

программа должна найти apple по пути .claude/skills/apple/SKILL.md, прочитать основной текст (всё после закрывающего ---) и отправить его модели вместо исходного запроса.

Поиск и загрузка

Для такого файла навыка:

---
name: apple
description: Reports the deploy target for the apple service.
---
 
Respond with exactly one word: blueberry
 
Do not add any other text, punctuation, or formatting.

массив messages при вызове /apple будет выглядеть так:

[
  { "role": "system", "content": "You have access to the following skills:\n\n- apple: ..." },
  { "role": "user", "content": "Respond with exactly one word: blueberry\n\nDo not add any other text, punctuation, or formatting." }
]

Загружается только основной текст вызванного навыка. Остальные остаются на первом уровне: только имя и описание.

Проверки

Тестирующая система создаст два навыка, в основном тексте каждого из которых скрыто своё слово, и вызовет один из них:

$ ./your_program.sh -p "/apple"
blueberry

Она проверит, что:

  • Программа выводит слово из основного текста вызванного навыка.
  • Программа завершается с кодом 0.

Примечания

  • Загружайте основной текст только вызванного навыка. Если загрузить все тексты, модель увидит две противоречащие инструкции и проверка не пройдёт.
  • Помимо имени папки, Claude Code учитывает дополнительные случаи, например плагины, при определении команды. В этом расширении мы их не рассматриваем.

Для проверки этого проекта нужен ключ OpenRouter в переменной CODECRAFTERS_SECRET_OPENROUTER_API_KEY. Запросы к модели могут быть платными. Ключ задаётся только в вашем терминале и не отправляется в GraphLMS.

Проверка в вашей IDE

Нужны Node.js, Git, Go 1.24+ для тестеров и инструменты выбранного языка. Тестеры загружаются и запускаются локально; отдельным проектам нужны дополнительные системные зависимости.

Настройка проекта и IDE

1. Создайте проект один раз

node '/opt/graphlms/tools/project-lab/cli.mjs' init claude-code ./my-claude-code --language go

2. Откройте папку в IDE

cd ./my-claude-code

Реализуйте требования этапа в созданном проекте.

Запустите из папки проекта

node '/opt/graphlms/tools/project-lab/cli.mjs' submit --stage jd8 --allow-paid-api

Запускайте submit из папки проекта. Это локальные проверки, а не сертификаты или результаты аккаунта CodeCrafters.

Результат проверки

go / ЛОКАЛЬНО

Подключение к локальной проверке…

Здесь появится результат

Запустите submit в терминале. Страница обновляет результаты каждые 8 секунд.

GraphLMS — инженерная лаборатория роста