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.
Create the project link#
After reviewing the files:
conda skill link polars -p .conda/envs/skills
conda skill status
This creates .agents/skills/polars. Add --backend claude to both commands for .claude/skills/polars. Consult your agent’s documentation for supported paths and reload behavior. The linked result reports filesystem status, not confirmation that the agent loaded the skill.
The current directory determines the project destination. -p selects only the source environment. Home-directory changes still require explicit --global, as described in How agents find skills. Windows directory symlinks require Developer Mode or appropriate privileges.
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.