Create and manage Flox development environments. Use when setting up a project environment during /forge:init, when a user asks to add a Flox environment, or when detecting and installing project dependencies. Covers flox init, search, install, manifest basics, and language-specific patterns. For advanced topics (services, builds, CUDA, layering, containers), suggest the full flox plugin.
From forgenpx claudepluginhub flox/forge-plugin --plugin forgeThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Flox provides reproducible development environments defined
in a manifest.toml that gets committed to git. When a
contributor runs flox activate, they get every dependency
automatically — on any Linux or macOS machine.
flox init # Create new environment
flox search <string> [--all] # Find packages
flox show <pkg> # Show available versions
flox install <pkg> # Add package
flox list # List installed packages
flox activate # Enter environment
flox activate -- <cmd> # Run single command
.flox/env/manifest.toml — Environment definition.flox/env.json — Environment metadata$FLOX_ENV_CACHE — Persistent local storage$FLOX_ENV_PROJECT — Project root (where .flox/ lives)$FLOX_ENV — Path to environment's usr tree[install]
ripgrep.pkg-path = "ripgrep"
nodejs.pkg-path = "nodejs"
nodejs.version = "^20.0"
[vars]
MY_VAR = "value"
[hook]
on-activate = """
# Runs every activation (keep fast and idempotent)
"""
[profile.common]
# Shell functions and aliases available to users
[options]
systems = [
"aarch64-darwin",
"aarch64-linux",
"x86_64-darwin",
"x86_64-linux",
]
[install]
# Simple package
ripgrep.pkg-path = "ripgrep"
# Nested package path
pip.pkg-path = "python312Packages.pip"
# Version-pinned
nodejs.pkg-path = "nodejs"
nodejs.version = "^20.0"
# Platform-specific
valgrind.pkg-path = "valgrind"
valgrind.systems = ["x86_64-linux", "aarch64-linux"]
# Conflict resolution (lower = higher priority)
gcc.pkg-path = "gcc"
gcc.priority = 3
When creating an environment for an existing project, detect the language stack and install appropriate packages.
[install]
python.pkg-path = "python312"
uv.pkg-path = "uv"
Hook pattern for venv:
[hook]
on-activate = """
venv="$FLOX_ENV_CACHE/venv"
if [ ! -d "$venv" ]; then
uv venv "$venv" --python python3 --quiet
fi
if [ -f "$venv/bin/activate" ]; then
source "$venv/bin/activate"
fi
"""
[install]
nodejs.pkg-path = "nodejs"
nodejs.version = "^20.0"
# Add yarn or pnpm if lockfile found
[install]
rustup.pkg-path = "rustup"
# Or for pinned toolchain:
rust-toolchain.pkg-path = "rust-bin.stable.latest.default"
[install]
go.pkg-path = "go"
[install]
gcc.pkg-path = "gcc"
cmake.pkg-path = "cmake"
gnumake.pkg-path = "gnumake"
# For C++ stdlib headers:
gcc-unwrapped.pkg-path = "gcc-unwrapped"
These are often useful regardless of language:
[install]
git.pkg-path = "git"
jq.pkg-path = "jq"
curl.pkg-path = "curl"
$FLOX_ENV,
$FLOX_ENV_PROJECT, $FLOX_ENV_CACHEreturn not exit in hooks$FLOX_ENV_CACHEflox search --all for broader results
(search is case-sensitive)pkg-group values
or adjust prioritygcc-unwrapped, not gccThe full Flox plugin (claude plugin install flox)
provides additional skills: