Share skills with conda-workspaces#

Use conda-workspaces when teammates need the same skill package versions. The manifest declares the packages, and the lockfile records the resolved builds. Each person installs that environment, reviews the skill files, and creates their own project links.

For linking a skill without a shared environment definition, Use an installed skill is enough. This guide assumes conda skill --help works. See Install conda-skills for setup.

Add a skills environment#

Install conda-workspaces in the environment that runs conda, usually base:

conda install -n base --override-channels -c conda-forge "conda>=26.9" "conda-workspaces>=0.12"

Run the remaining commands from the project root. Create conda.toml there, or merge this configuration into the existing manifest without replacing its other dependencies:

[workspace]
name = "polars-project"
channels = ["https://prefix.dev/skill-forge", "conda-forge"]
platforms = ["linux-64", "osx-arm64", "win-64"]

[feature.skills.dependencies]
agent-skill-polars = "==0.0.8"

[environments]
skills = ["skills"]

This pins the skill package, not the Polars library. Adjust the platforms for your team. If your manifest has shared dependencies that you do not want in this environment, use skills = { features = ["skills"], no-default-feature = true } instead.

Lock, install, and review#

conda workspace lock

Review the generated conda.lock, including package URLs, versions, builds, and hashes. Then install the selection for your current platform:

conda workspace install --locked -e skills
conda skill list -p .conda/envs/skills

The listing should show skill polars from package agent-skill-polars. Open .conda/envs/skills/share/agent-skills/polars/SKILL.md and inspect its supporting files. Decide whether those instructions fit your project and agent permissions before continuing. Package hashes identify files but do not approve their instructions.

The paths above use conda-workspaces’ default environment directory. If you customize workspace.envs-dir, adjust the source path accordingly. You do not need to activate this environment or install the plugin inside it.

Share and maintain it#

Commit conda.toml and the reviewed conda.lock, not .conda/. Teammates run conda workspace install --locked -e skills, review the installed content, and create their links. A tracked symlink does not install its target environment.

Do not regenerate the lockfile during routine setup: that requests a fresh solve. Use Update or roll back a skill for planned version changes and rollback. Updating a source package changes the content visible through existing links, so unlink it before updating and review the replacement before reconnecting.

Remove the project link before deleting or changing its source:

conda skill unlink polars

Repeat with the backend and scope originally used. Unlinking identifies the source from the destination symlink, so it needs no source override. To stop installing the package, remove its dependency from the manifest, regenerate and review the lockfile, then install the locked environment. If the source has already gone, use Troubleshooting to inspect and remove the stale link safely.

See Demos for the recorded workflow and How agents find skills for the distinction between skill packages and the libraries your code runs.