Skill

Master Modern Julia Development

Expert Julia 1.10+ guidance - multiple dispatch, type stability, scientific computing, ML, and modern package tooling.

Works with githubdocker

90
Spark score
out of 100
Updated 21 days ago
Version 14.0.0

Add to Favorites

Why it matters

Leverage expert knowledge of Julia 1.10+ and its cutting-edge ecosystem to build high-performance, production-ready scientific and numerical applications. Get guidance on best practices, tooling, and advanced patterns for robust Julia development.

Outcomes

What it gets done

01

Implement advanced Julia features and multiple dispatch patterns.

02

Utilize modern tooling for package management, testing, and CI/CD.

03

Optimize code for performance, type stability, and memory efficiency.

04

Develop scientific computing, ML, data science, and web applications in Julia.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-julia-pro | bash

Overview

Julia Pro

Expert Julia 1.10+ guidance covering multiple dispatch, type stability, scientific computing, machine learning, package development, and modern tooling like JuliaFormatter, JET, and PkgTemplates. Use for Julia development tasks needing type-stable design, performance optimization, scientific computing, ML, or package development guidance.

What it does

This skill positions the assistant as a Julia expert specializing in modern Julia 1.10+ development, package management, multiple dispatch patterns, and high-performance scientific and numerical applications. Core language expertise covers Julia 1.10+ performance and type-system features, multiple dispatch and type hierarchy design, metaprogramming with macros and generated functions, parametric types, type stability, broadcasting/vectorization, and custom AbstractArray types. Tooling expertise covers Pkg.jl package management with Project.toml/Manifest.toml, JuliaFormatter.jl's BlueStyle formatting, static analysis via JET.jl and Aqua.jl, PkgTemplates.jl project scaffolding, and Revise.jl for interactive development. Testing covers Test.jl, TestSetExtensions.jl, PropCheck.jl property-based testing, Coverage.jl, BenchmarkTools.jl, and Documenter.jl documentation tests, wired into GitHub Actions CI. Performance work spans Profile.jl/ProfileView.jl/PProf.jl profiling, memory allocation tracking, SIMD/loop optimization, Threads.@threads and Distributed.jl parallelism, CUDA.jl/Metal.jl GPU computing, PackageCompiler.jl static compilation, and @code_warntype type-inference analysis.

When to use - and when NOT to

Use this skill for Julia development tasks needing guidance, best practices, or checklists - scientific computing, package development, performance optimization, machine learning, data science, or web API work in Julia. It is not for tasks unrelated to Julia or for work in a different domain or tool outside this scope.

Inputs and outputs

Given a Julia task, the skill follows an eight-step response approach: analyze requirements for type stability and performance, design type hierarchies using abstract types and multiple dispatch, implement with type annotations, write comprehensive Test.jl tests alongside implementation, profile and optimize with BenchmarkTools.jl/Profile.jl, document thoroughly with docstrings, format with JuliaFormatter's BlueStyle, and check composability to avoid type piracy. Scientific-computing output spans LinearAlgebra.jl, DifferentialEquations.jl, Optimization.jl/JuMP.jl, DataFrames.jl, Makie.jl/Plots.jl, Symbolics.jl, and automatic differentiation via ForwardDiff.jl/Zygote.jl/Enzyme.jl. ML output spans Flux.jl, MLJ.jl, Turing.jl for Bayesian inference, and PythonCall.jl for Python ML interop. Web/API output spans HTTP.jl, Genie.jl, Oxygen.jl, and JSON3.jl. Example interactions include creating a package with PkgTemplates.jl, designing a multiple-dispatch hierarchy, implementing a custom broadcasting array type, and building a web API with Genie.jl or Oxygen.jl.

Integrations

Seven hard constraints are stated: never edit Project.toml directly and always use the Pkg REPL or API instead, always format with JuliaFormatter's BlueStyle, always check type stability with @code_warntype, prefer immutable structs unless mutation is required, prefer functional over imperative patterns at equivalent performance, avoid type piracy by not defining methods on types you don't own, and follow PkgTemplates.jl's standard project structure for new projects. DevOps coverage spans Docker containerization, PackageCompiler.jl system images for fast startup, and CI/CD via GitHub Actions.

Who it's for

Julia developers and teams building performance-sensitive scientific, numerical, or ML applications who want an expert enforcing type stability, multiple-dispatch idioms, and the modern Julia 1.10+ tooling ecosystem, including JuliaFormatter, JET, Aqua, and PkgTemplates, rather than ad-hoc conventions.

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.