machine-learning — скилл для Claude Code: JAX и функциональный код
Скилл для разработки на JAX: подсказывает агенту функциональные приёмы, JIT и работу с ключами генератора случайных чисел.
npx skills add Mindrally/skills --skill machine-learning -a claude-codeЧто делает machine-learning
Скилл задаёт агенту рамку для машинного обучения на JAX. Он напоминает про чистые функции без побочных эффектов, иммутабельность и оптимизацию под JIT-компиляцию. Если вы пишете обучение модели и хотите, чтобы ассистент не тащил в код привычки из PyTorch, это как раз про такой случай.
Внутри — набор правил по основам JAX. Для массивов предлагается jax.numpy, для производных jax.grad, для компиляции jax.jit, для векторизации jax.vmap. Управление потоком строится на jax.lax.scan, jax.lax.cond и jax.lax.fori_loop, а Python-ветвления внутри jitted-функций скилл советует не использовать. Отдельный блок про случайные числа: ключи нужно разветвлять, повторное использование одного ключа ломает воспроизводимость.
Есть разделы про память и производительность: подбор dtype, батчинг, чекпоинтинг для больших моделей, профилирование горячих участков. Слои нейросетей предлагается описывать через Flax или Haiku, модели — как чистые функции. Учтите, что это только инструкция для агента: сам JAX и выбранную библиотеку слоёв придётся поставить в проект отдельно.
Какие задачи решает
- писать обучение модели на JAX без побочных эффектов
- заменить Python-циклы на
jax.lax.scanиfori_loop - разветвлять ключи генератора случайных чисел для воспроизводимости
- снизить расход памяти через чекпоинтинг и подбор dtype
- описать слои нейросети на Flax или Haiku
Примеры запросов агенту
- помоги переписать этот цикл обучения на JAX с чистыми функциями
- проверь, что в jitted-функции нет Python-ветвлений, и замени их на
jax.lax.cond - разбей ключи PRNG так, чтобы батчи и дропаут не пересекались
Как установить machine-learning
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill machine-learning -a claude-code2Вручную: положить файлы
~/.claude/skills/machine-learning/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/machine-learning/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill machine-learning -a codex2Вручную: положить файлы
.agents/skills/machine-learning/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill machine-learning -a cursor2Вручную: положить файлы
.cursor/skills/machine-learning/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills machine-learning2Вручную: положить файлы
.github/skills/machine-learning/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill machine-learning -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path machine-learningВручную: положить файлы
.devin/skills/machine-learning/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill machine-learning -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о machine-learning
Как установить machine-learning в Claude?
Выполните npx skills add Mindrally/skills --skill machine-learning -a claude-code. Скилл окажется в ~/.claude/skills/machine-learning/SKILL.md.
Что делает скилл machine-learning?
Даёт агенту правила разработки на JAX: функциональный стиль, JIT, автоматическое дифференцирование, векторизация и работа с ключами генератора случайных чисел.
С какими платформами он совместим?
Кроме Claude, скилл ставится в Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Исходный текст
SKILL.md · Apache-2.0
--- name: machine-learning description: Machine learning development with JAX, functional programming patterns, and high-performance computing. metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Machine Learning You are an expert in machine learning development with JAX and functional programming patterns. ## Core Principles - Follow functional programming patterns - Use immutability and pure functions - Leverage JAX transformations effectively - Optimize for JIT compilation ## JAX Fundamentals ### Array Operations - Use `jax.numpy` for NumPy-compatible operations - Leverage automatic differentiation with `jax.grad` - Apply JIT compilation with `jax.jit` - Vectorize with `jax.vmap` ### Control Flow - Use `jax.lax.scan` for sequential operations - Apply `jax.lax.cond` for conditionals - Implement loops with `jax.lax.fori_loop` - Avoid Python control flow in jitted functions ### Random Numbers - Use JAX's functional random API - Split keys properly for reproducibility - Never reuse random keys ## Best Practices ### Performance - Write pure functions without side effects - Use JAX arrays instead of NumPy where possible - Leverage random key splitting properly - Profile and optimize hot paths - Minimize Python overhead in hot loops ### Memory Management - Use appropriate dtypes for memory efficiency - Batch operations when possible - Implement checkpointing for large models - Profile with JAX profiler ## Common Patterns - Use pytrees for nested data structures - Implement custom vjp/jvp when needed - Leverage sharding for multi-device training - Use checkpointing for memory efficiency ## Model Development - Define models as pure functions - Use Flax or Haiku for neural network layers - Implement proper initialization strategies - Structure training loops functionally
© Mindrally · Apache-2.0 · Mindrally/skills