julia — скилл для Claude Code: правила разработки на Julia
Задаёт агенту стиль кода на Julia: мультиметоды, типы, тесты и оптимизацию производительности. Пригодится, если пишете научные расчёты или численные библиотеки.
npx skills add Mindrally/skills --skill julia -a claude-codeЧто делает julia
Скилл превращает ассистента в знатока Julia: он держит в голове мультиметоды, систему типов и приёмы высокопроизводительных вычислений. Внутри — свод правил по именованию, оформлению функций и структуре проекта.
Функции требуют докстрингов с сигнатурой и описанием возвращаемого значения. Для структур советуется @kwdef и неизменяемость, если мутация не нужна. Ошибки — через собственные типы исключений и guard-условия вроде x <= 0 && throw(InvalidInputError("Input must be positive")).
По производительности правила конкретные: аннотации типов против нестабильности, @views вместо копирования, SArray для фиксированных коллекций, @threads и @distributed для параллелизма. Профилировать советует через BenchmarkTools.jl до оптимизации, а глобальные переменные в горячем коде — избегать. Тесты строятся на модуле Test: один @testset на файл, @test_throws для ожидаемых ошибок.
Какие задачи решает
- писать код на Julia с мультиметодами вместо длинных цепочек if
- избавиться от нестабильности типов в горячих функциях
- оформить докстринги с сигнатурой и возвращаемым значением
- разложить модуль на src/, test/ и docs/ без лишних экспортов
- проверить граничные случаи и стабильность типов в тестах
Примеры запросов агенту
- добавь новый тип исключения для ошибок валидации входных данных
- перепиши эту функцию так, чтобы не было нестабильности типов
- настрой @testset для модуля обработки данных
Как установить julia
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill julia -a claude-code2Вручную: положить файлы
~/.claude/skills/julia/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/julia/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill julia -a codex2Вручную: положить файлы
.agents/skills/julia/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill julia -a cursor2Вручную: положить файлы
.cursor/skills/julia/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills julia2Вручную: положить файлы
.github/skills/julia/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill julia -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path juliaВручную: положить файлы
.devin/skills/julia/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill julia -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о julia
Как установить julia в Claude?
Выполните npx skills add Mindrally/skills --skill julia -a claude-code. Файл скилла окажется в ~/.claude/skills/julia/SKILL.md.
Что делает скилл julia?
Он задаёт агенту правила разработки на Julia: мультиметоды, работа с типами, докстринги, обработка ошибок, тесты и оптимизация производительности.
Нужен ли установленный Julia, чтобы скилл работал?
Скилл — это набор текстовых правил для ассистента, поэтому он влияет на то, какой код тот предлагает. Запускать и тестировать результат всё равно придётся в вашем окружении Julia.
Исходный текст
SKILL.md · Apache-2.0
---
name: julia
description: Julia development guidelines covering multiple dispatch, type system, performance optimization, and scientific computing best practices.
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# Julia Development
You are an expert in Julia programming with deep knowledge of multiple dispatch, the type system, and high-performance computing.
## Core Principles
- Write concise, technical responses with accurate Julia examples
- Leverage multiple dispatch and the type system for performant code
- Prefer immutable structs and functions over mutable state
- Use Julia's built-in features for parallelism and performance
## Naming Conventions
- **Functions/variables**: snake_case (e.g., `process_data`, `is_active`)
- **Types**: PascalCase for structs and abstract types
- **Files/directories**: lowercase with underscores (e.g., `src/data_processing.jl`)
## Function Guidelines
All functions require docstrings with signatures and return value descriptions:
```julia
"""
process_data(data::Vector{Float64}, threshold::Float64) -> Vector{Float64}
Process input data by applying a threshold filter.
"""
function process_data(data::Vector{Float64}, threshold::Float64)
# implementation
end
```
## Struct Definitions
- Use `@kwdef` macro for keyword constructors
- Include comprehensive docstrings for each field
- Implement custom `show` methods using `dump`
- Prefer immutable structs unless mutation is required
## Error Handling
- Create custom exception types for domain-specific errors
- Use guard clauses for preconditions
- Example: `x <= 0 && throw(InvalidInputError("Input must be positive"))`
- Provide informative error messages
## Performance Optimization
- Use type annotations to prevent type instability
- Prefer statically sized arrays (SArray) for fixed collections
- Use `@views` macro to avoid unnecessary copying
- Leverage built-in parallelism with `@threads` and `@distributed`
- Profile with BenchmarkTools.jl before optimizing
- Avoid global variables in performance-critical code
## Testing Structure
- Use the `Test` module with one top-level `@testset` per file
- Individual `@test` calls assess basic functionality
- Test edge cases and type stability separately
- Use `@test_throws` for expected errors
## Code Organization
- Organize functionality through modules
- Use abstract types with multiple dispatch for separation
- Maintain consistent project structure (src/, test/, docs/)
- Export only public API functions
- Use `include` for organizing large modules
© Mindrally · Apache-2.0 · Mindrally/skills