Run Python code in the cloud with serverless containers, GPUs, and autoscaling.

MITAuto-check passedBackend & APIs

Install Modal

skills CLI
$ npx skills add davila7/claude-code-templates --skill modal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates modal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/scientific/modal .claude/skills/modal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
modal
GitHub stars
32k
Used in
8 other repos
Token cost
~2.6k tokens
SKILL.md length
703 words
Files
13 (incl. references)
Skills in repo
477
Repo updated
First seen
Licence
MIT

At a glance

Run Python code in the cloud with serverless containers, GPUs, and autoscaling.

  • Works in 9 steps: Define Container Images → Create Functions → Request GPUs → …
  • Deploying ML models
  • SKILL.md covers Overview, When to Use This Skill, Authentication and Setup and Core Capabilities, plus 4 more sections
  • Calls modal and uv; needs HF_TOKEN and API_TOKEN

What it does

Modal is an agent skill from davila7/claude-code-templates. Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `references/api_reference.md`, `references/examples.md` and `references/functions.md`).

It sits in Backend & APIs, covering Machine learning, Serverless and Data pipelines and ETL. It works with Python. The repository describes itself as: CLI tool for configuring and monitoring Claude Code. The licence is MIT.

When your agent uses it

  • Deploying ML models
  • Running batch processing jobs
  • Scheduling compute-intensive tasks
  • Serving APIs that require GPU acceleration

Example prompts

  • “/modal”

Requirements

  • Python 3
  • Docker
  • A credential in API_TOKEN

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Define Container Images
  2. Create Functions
  3. Request GPUs
  4. Configure Resources
  5. Scale Automatically
  6. Store Data Persistently
  7. Manage Secrets
  8. Deploy Web Endpoints
  9. Schedule Jobs

What it can do on your machine

Read from SKILL.md and the folder at commit 14680ec. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • modal
    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • modal.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • HF_TOKEN
    • API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Modal loads about 2.6k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 703 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit 14680ec, republished under its MIT licence (© davila7). 703 words, ~2,642 tokens.

Download SKILL.mdSave it as .claude/skills/modal/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
modal
description
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.

Modal

Overview

Modal is a serverless platform for running Python code in the cloud with minimal configuration. Execute functions on powerful GPUs, scale automatically to thousands of containers, and pay only for compute used.

Modal is particularly suited for AI/ML workloads, high-performance batch processing, scheduled jobs, GPU inference, and serverless APIs. Sign up for free at https://modal.com and receive $30/month in credits.

When to Use This Skill

Use Modal for:

  • Deploying and serving ML models (LLMs, image generation, embedding models)
  • Running GPU-accelerated computation (training, inference, rendering)
  • Batch processing large datasets in parallel
  • Scheduling compute-intensive jobs (daily data processing, model training)
  • Building serverless APIs that need automatic scaling
  • Scientific computing requiring distributed compute or specialized hardware

Authentication and Setup

Modal requires authentication via API token.

Initial Setup
bash
# Install Modal
uv uv pip install modal

# Authenticate (opens browser for login)
modal token new

This creates a token stored in ~/.modal.toml. The token authenticates all Modal operations.

Verify Setup
python
import modal

app = modal.App("test-app")

@app.function()
def hello():
    print("Modal is working!")

Run with: modal run script.py

Core Capabilities

Modal provides serverless Python execution through Functions that run in containers. Define compute requirements, dependencies, and scaling behavior declaratively.

1. Define Container Images

Specify dependencies and environment for functions using Modal Images.

python
import modal

# Basic image with Python packages
image = (
    modal.Image.debian_slim(python_version="3.12")
    .uv_pip_install("torch", "transformers", "numpy")
)

app = modal.App("ml-app", image=image)

Common patterns:

  • Install Python packages: .uv_pip_install("pandas", "scikit-learn")
  • Install system packages: .apt_install("ffmpeg", "git")
  • Use existing Docker images: modal.Image.from_registry("nvidia/cuda:12.1.0-base")
  • Add local code: .add_local_python_source("my_module")

See references/images.md for comprehensive image building documentation.

2. Create Functions

Define functions that run in the cloud with the @app.function() decorator.

python
@app.function()
def process_data(file_path: str):
    import pandas as pd
    df = pd.read_csv(file_path)
    return df.describe()

Call functions:

python
# From local entrypoint
@app.local_entrypoint()
def main():
    result = process_data.remote("data.csv")
    print(result)

Run with: modal run script.py

See references/functions.md for function patterns, deployment, and parameter handling.

3. Request GPUs

Attach GPUs to functions for accelerated computation.

python
@app.function(gpu="H100")
def train_model():
    import torch
    assert torch.cuda.is_available()
    # GPU-accelerated code here

Available GPU types:

  • T4, L4 - Cost-effective inference
  • A10, A100, A100-80GB - Standard training/inference
  • L40S - Excellent cost/performance balance (48GB)
  • H100, H200 - High-performance training
  • B200 - Flagship performance (most powerful)

Request multiple GPUs:

python
@app.function(gpu="H100:8")  # 8x H100 GPUs
def train_large_model():
    pass

See references/gpu.md for GPU selection guidance, CUDA setup, and multi-GPU configuration.

4. Configure Resources

Request CPU cores, memory, and disk for functions.

python
@app.function(
    cpu=8.0,           # 8 physical cores
    memory=32768,      # 32 GiB RAM
    ephemeral_disk=10240  # 10 GiB disk
)
def memory_intensive_task():
    pass

Default allocation: 0.125 CPU cores, 128 MiB memory. Billing based on reservation or actual usage, whichever is higher.

See references/resources.md for resource limits and billing details.

5. Scale Automatically

Modal autoscales functions from zero to thousands of containers based on demand.

Process inputs in parallel:

python
@app.function()
def analyze_sample(sample_id: int):
    # Process single sample
    return result

@app.local_entrypoint()
def main():
    sample_ids = range(1000)
    # Automatically parallelized across containers
    results = list(analyze_sample.map(sample_ids))

Configure autoscaling:

python
@app.function(
    max_containers=100,      # Upper limit
    min_containers=2,        # Keep warm
    buffer_containers=5      # Idle buffer for bursts
)
def inference():
    pass

See references/scaling.md for autoscaling configuration, concurrency, and scaling limits.

6. Store Data Persistently

Use Volumes for persistent storage across function invocations.

python
volume = modal.Volume.from_name("my-data", create_if_missing=True)

@app.function(volumes={"/data": volume})
def save_results(data):
    with open("/data/results.txt", "w") as f:
        f.write(data)
    volume.commit()  # Persist changes

Volumes persist data between runs, store model weights, cache datasets, and share data between functions.

See references/volumes.md for volume management, commits, and caching patterns.

7. Manage Secrets

Store API keys and credentials securely using Modal Secrets.

python
@app.function(secrets=[modal.Secret.from_name("huggingface")])
def download_model():
    import os
    token = os.environ["HF_TOKEN"]
    # Use token for authentication

Create secrets in Modal dashboard or via CLI:

bash
modal secret create my-secret KEY=value API_TOKEN=xyz

See references/secrets.md for secret management and authentication patterns.

Show full SKILL.md (284 more words)Show less
8. Deploy Web Endpoints

Serve HTTP endpoints, APIs, and webhooks with @modal.web_endpoint().

python
@app.function()
@modal.web_endpoint(method="POST")
def predict(data: dict):
    # Process request
    result = model.predict(data["input"])
    return {"prediction": result}

Deploy with:

bash
modal deploy script.py

Modal provides HTTPS URL for the endpoint.

See references/web-endpoints.md for FastAPI integration, streaming, authentication, and WebSocket support.

9. Schedule Jobs

Run functions on a schedule with cron expressions.

python
@app.function(schedule=modal.Cron("0 2 * * *"))  # Daily at 2 AM
def daily_backup():
    # Backup data
    pass

@app.function(schedule=modal.Period(hours=4))  # Every 4 hours
def refresh_cache():
    # Update cache
    pass

Scheduled functions run automatically without manual invocation.

See references/scheduled-jobs.md for cron syntax, timezone configuration, and monitoring.

Common Workflows

Deploy ML Model for Inference
python
import modal

# Define dependencies
image = modal.Image.debian_slim().uv_pip_install("torch", "transformers")
app = modal.App("llm-inference", image=image)

# Download model at build time
@app.function()
def download_model():
    from transformers import AutoModel
    AutoModel.from_pretrained("bert-base-uncased")

# Serve model
@app.cls(gpu="L40S")
class Model:
    @modal.enter()
    def load_model(self):
        from transformers import pipeline
        self.pipe = pipeline("text-classification", device="cuda")

    @modal.method()
    def predict(self, text: str):
        return self.pipe(text)

@app.local_entrypoint()
def main():
    model = Model()
    result = model.predict.remote("Modal is great!")
    print(result)
Batch Process Large Dataset
python
@app.function(cpu=2.0, memory=4096)
def process_file(file_path: str):
    import pandas as pd
    df = pd.read_csv(file_path)
    # Process data
    return df.shape[0]

@app.local_entrypoint()
def main():
    files = ["file1.csv", "file2.csv", ...]  # 1000s of files
    # Automatically parallelized across containers
    for count in process_file.map(files):
        print(f"Processed {count} rows")
Train Model on GPU
python
@app.function(
    gpu="A100:2",      # 2x A100 GPUs
    timeout=3600       # 1 hour timeout
)
def train_model(config: dict):
    import torch
    # Multi-GPU training code
    model = create_model(config)
    train(model)
    return metrics

Reference Documentation

Detailed documentation for specific features:

  • references/getting-started.md - Authentication, setup, basic concepts
  • references/images.md - Image building, dependencies, Dockerfiles
  • references/functions.md - Function patterns, deployment, parameters
  • references/gpu.md - GPU types, CUDA, multi-GPU configuration
  • references/resources.md - CPU, memory, disk management
  • references/scaling.md - Autoscaling, parallel execution, concurrency
  • references/volumes.md - Persistent storage, data management
  • references/secrets.md - Environment variables, authentication
  • references/web-endpoints.md - APIs, webhooks, endpoints
  • references/scheduled-jobs.md - Cron jobs, periodic tasks
  • references/examples.md - Common patterns for scientific computing

Best Practices

  1. Pin dependencies in .uv_pip_install() for reproducible builds
  2. Use appropriate GPU types - L40S for inference, H100/A100 for training
  3. Leverage caching - Use Volumes for model weights and datasets
  4. Configure autoscaling - Set max_containers and min_containers based on workload
  5. Import packages in function body if not available locally
  6. Use .map() for parallel processing instead of sequential loops
  7. Store secrets securely - Never hardcode API keys
  8. Monitor costs - Check Modal dashboard for usage and billing

Troubleshooting

"Module not found" errors:

  • Add packages to image with .uv_pip_install("package-name")
  • Import packages inside function body if not available locally

GPU not detected:

  • Verify GPU specification: @app.function(gpu="A100")
  • Check CUDA availability: torch.cuda.is_available()

Function timeout:

  • Increase timeout: @app.function(timeout=3600)
  • Default timeout is 5 minutes

Volume changes not persisting:

  • Call volume.commit() after writing files
  • Verify volume mounted correctly in function decorator

For additional help, see Modal documentation at https://modal.com/docs or join Modal Slack community.

© davila7, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (references) in cli-tool/components/skills/scientific/modal of davila7/claude-code-templates.

  • SKILL.md
  • references/api_reference.md
  • references/examples.md
  • references/functions.md
  • references/getting-started.md
  • references/gpu.md
  • references/images.md
  • references/resources.md
  • references/scaling.md
  • references/scheduled-jobs.md
  • references/secrets.md
  • references/volumes.md
  • references/web-endpoints.md

Open the folder on GitHubat commit 14680ec

Used in 8 other repositories

We found 19 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 8 other GitHub owners. This page covers the copy in davila7/claude-code-templates, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Modal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Modal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Modal this skilldavila7/claude-code-templates32k8 repos~2.6kAutomated safety check: PassMIT
ModalBioTender-max/awesome-bio-agent-skills197—~3.1kAutomated safety check: NotesApache-2.0
ModalK-Dense-AI/scientific-agent-skills48k1 repos~4.5kAutomated safety check: NotesApache-2.0
Testing Mwaa Workflowaws/agent-toolkit-for-aws2.8k—~3.8kAutomated safety check: PassApache-2.0
Time Series Analytics Useropen-edge-platform/edge-ai-libraries169—~3.1kAutomated safety check: PassApache-2.0
Authoring Mwaa Workflowaws/agent-toolkit-for-aws2.8k—~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • Modal

    BioTender-max/awesome-bio-agent-skills

    Cloud computing platform for running Python on GPUs and serverless infrastructure.

    197 GitHub stars~3.1k tokensUpdated 3 mo ago
    Backend & APIsAuto-check: notes
  • Modal

    K-Dense-AI/scientific-agent-skills

    Modal is a serverless cloud platform for running Python on demand, including on-demand GPUs.

    48k GitHub starsUsed in 1 repo~4.5k tokens
    Backend & APIsAuto-check: notes
  • Testing Mwaa Workflow

    aws/agent-toolkit-for-aws

    Official

    Tests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun).

    2.8k GitHub stars~3.8k tokensUpdated today
    Backend & APIsAuto-check passed
  • Time Series Analytics User

    open-edge-platform/edge-ai-libraries

    Build a new time-series analytics use case on top of the deployed Time Series Analytics microservice — bring it up with Docker Compose (from a repo clone, or by fetching the compose files from…

    169 GitHub stars~3.1k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Authoring Mwaa Workflow

    aws/agent-toolkit-for-aws

    Official

    Authors and deploys MWAA workflow artifacts: Python Airflow DAGs for provisioned environments or YAML workflow files for Serverless.

    2.8k GitHub stars~2.8k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Modal GPU

    majiayu000/claude-skill-registry

    Run Python code on cloud GPUs using Modal serverless platform.

    666 GitHub starsUsed in 1 repo~657 tokens
    Backend & APIsAuto-check passed

More from davila7/claude-code-templates

All 477 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    32k GitHub starsUsed in 12 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    32k GitHub starsUsed in 10 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    32k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    32k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Works with

Questions about Modal

What does Modal do?

Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Modal is an agent skill from davila7/claude-code-templates. Run Python code in the cloud with serverless containers, GPUs, and autoscaling.

When should I use Modal?

Modal fits situations like: deploying ML models; running batch processing jobs; scheduling compute-intensive tasks; serving APIs that require GPU acceleration.

How do I install Modal in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill modal -a claude-code`. Or copy the skill folder (cli-tool/components/skills/scientific/modal in davila7/claude-code-templates) into .claude/skills/modal in your project. Claude Code loads it when a task matches its description.

How do I install Modal in Codex?

Run `npx skills add davila7/claude-code-templates --skill modal -a codex`. Or copy the skill folder (cli-tool/components/skills/scientific/modal in davila7/claude-code-templates) into .agents/skills/modal in your project. Codex loads it when a task matches its description.

Can I use Modal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill modal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/modal, .gemini/skills/modal, .github/skills/modal and .opencode/skills/modal in your project.

What does Modal need to run?

Going by SKILL.md and its folder, Modal needs the command-line tools its instructions call (modal and uv) and credentials named HF_TOKEN and API_TOKEN. Our summary lists: Python 3; Docker; A credential in API_TOKEN.

Does Modal access the network?

SKILL.md names 1 domain. As links in the text: modal.com. This is read from the text; nothing was executed.

Is Modal safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Modal use?

Modal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Modal use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.

What are the alternatives to Modal?

Skills that share tags, products or a category with Modal: Modal (BioTender-max/awesome-bio-agent-skills, 197 stars), Modal (K-Dense-AI/scientific-agent-skills, 48k stars), Testing Mwaa Workflow (aws/agent-toolkit-for-aws, 2.8k stars) and Time Series Analytics User (open-edge-platform/edge-ai-libraries, 169 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Modal?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,463 GitHub stars. The repository holds 477 skills in this directory. The repository was last updated on October 8, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.