Skip to main content
Coding agents discover skill files by scanning specific directories at startup. By placing TensorLake skill files in the right paths inside a sandbox image, any agent running in the sandbox will automatically pick them up — no manual installation needed.

How Agents Discover Skills

Each coding agent scans a different directory for skill files:
AgentSkill FileDiscovery Path
Claude CodeSKILL.md~/.claude/skills/<name>/SKILL.md
OpenAI CodexAGENTS.md~/.agents/skills/<name>/SKILL.md or AGENTS.md in working dir
Google ADKSKILL.mdLoaded explicitly via load_skill_from_dir()
Cursor.mdc.cursor/rules/*.mdc
Cline.md.clinerules/
Windsurf.md.windsurf/rules/*.md
GitHub Copilot.md.github/copilot-instructions.md
To make skills work inside a sandbox, you bake the skill files into the image at the paths the agent expects.

Create an Image with Skills

Any Agent

The simplest way to install skills for any agent is with the skills CLI. It automatically places skill files in the correct discovery paths for Claude Code, Codex, Cursor, Windsurf, and 40+ other agents.
template.py
from tensorlake.applications import Image

SKILLS_IMAGE = (
    Image(name="with-skills", base_image="python:3.11-slim")
    .run("apt-get update && apt-get install -y nodejs npm")
    .run("npm install -g skills")
    .run("skills add tensorlakeai/tensorlake-skills --all -y --copy")
    .run("pip install tensorlake")
)
  • --all installs skills to all detected agents
  • -y skips confirmation prompts for non-interactive use
  • --copy copies files instead of symlinking, which is more reliable inside containers

Claude Code Only

If you only need Claude Code support, you can clone the skill repo and copy the skill directory into Claude Code’s discovery path:
template.py
from tensorlake.applications import Image

CLAUDE_CODE_IMAGE = (
    Image(name="claude-code-skills", base_image="python:3.11-slim")
    .run("apt-get update && apt-get install -y git")
    .run("git clone https://github.com/tensorlakeai/tensorlake-skills /tmp/tensorlake-skills")
    .run("mkdir -p /root/.claude/skills/tensorlake && cp -r /tmp/tensorlake-skills/SKILL.md /tmp/tensorlake-skills/references /root/.claude/skills/tensorlake/")
    .run("rm -rf /tmp/tensorlake-skills")
    .run("pip install tensorlake")
)
Claude Code scans ~/.claude/skills/ at startup. The SKILL.md and references/ directory at /root/.claude/skills/tensorlake/ are auto-discovered.

Create a Reusable Template

Build a template so you can launch sandboxes with skills pre-loaded:
tl sbx create-template template.py --name claude-code-skills
Then launch sandboxes from the template:
tl sbx new --template claude-code-skills

Use with the SDK

You can also install skills programmatically when creating a sandbox:
from tensorlake.sandbox import SandboxClient

client = SandboxClient()

with client.create_and_connect() as sandbox:
    # Install the skills CLI and add TensorLake skills for all agents
    sandbox.run("bash", ["-c", "apt-get update && apt-get install -y nodejs npm"])
    sandbox.run("bash", ["-c", "npm install -g skills"])
    sandbox.run("bash", ["-c", "skills add tensorlakeai/tensorlake-skills --all -y --copy"])

    # Verify the skill is in place
    result = sandbox.run("find", ["/", "-name", "SKILL.md", "-type", "f", "-not", "-path", "*/node_modules/*"])
    print(result.stdout)
For sandboxes you create frequently, use the template approach to avoid re-cloning on every launch.

What Gets Included

The skill repo contains SDK references that the agent uses as context:
tensorlake-skills/
├── AGENTS.md                       # Skill definition (OpenAI Codex)
├── SKILL.md                        # Skill definition (Claude Code, Google ADK)
└── references/
    ├── applications_sdk.md         # Orchestrate API reference
    ├── sandbox_sdk.md              # Sandbox API reference
    ├── documentai_sdk.md           # DocumentAI API reference
    └── integrations.md             # Integration patterns

See Also

Agent Skills

Learn about TensorLake skills and how to install them for your coding agent.

Templates

Create reusable sandbox templates from application images.