Skills Runtime
Run secure, task-specific code locally in a sandboxed Docker container. Skill code runs with no network access.
What are Skills?
Skills are small, reusable capabilities (for example “analyze a CSV” or “extract text from a PDF”) that the agent can load and run in an isolated Docker container. Skill code executes locally with no network access.
- Install the Codistry VSIX (includes the Skills Dockerfile).
- Open Codistry's settings (the gear icon at the top of the Codistry panel) → Tools & Integrations → enable Skills.
- On first use, Codistry pulls the Skills runtime image (
adronite/adronite-skills:latest); if a pull isn't possible it falls back to building locally.
Requirements
- Docker installed and running (Docker Desktop on macOS/Windows or Docker Engine on Linux).
- Internet on first run: the runtime image is pulled the first time (
adronite/adronite-skills:latest). After that, skill execution itself runs with no network access.
docker --version
docker info
docker run --rm hello-worldSet up in 3 steps
1) Enable Skills
- Open the Codistry sidebar and click the settings gear at the top, then go to Tools & Integrations.
- In the Skills System section, turn Skills on.
- (Optional) Where custom skills live (default
~/.adronite/skills) and the runtime image name (defaultadronite/adronite-skills:latest) can also be adjusted, see the Settings Reference.
2) Get the Runtime Image
When you first use a Skill, Codistry detects that the image is missing and pulls adronite/adronite-skills:latest automatically. If a pull isn't possible, it falls back to building the image locally.
# Pull manually (optional)
docker pull adronite/adronite-skills:latest
# Or build locally as a fallback
docker build -t adronite/adronite-skills:latest .This completes automatically before your first Skill runs. The base image is python:3.11-slim.
3) Try a Skill
Use the hello-world skill to show me what skills can doThe agent will load the Skill description and execute the code securely inside the local container.
Adding More Skills
Skill Directory Layout
Skills can live in either location:
~/.adronite/skills/<skill-name>/- user skills (highest priority)<workspace>/.adronite/skills/<skill-name>/- workspace skillsdist/skills/<skill-name>/- bundled skills (lowest priority)<workspace>/.codistry/skills/<skill-name>/- Dynamic Skills the agent captures for this repo
Discovery order is user → workspace → bundled → repo Dynamic Skills (earlier locations win on name conflicts).
my-skill/
├─ SKILL.md # required
├─ examples/ # optional
└─ templates/ # optionalExample SKILL.md
---
name: csv-analyzer
description: Analyze CSV files and summarize columns
---
# CSV Analyzer
Given one or more CSV files, compute row counts and summary statistics.Dynamic Skills
Dynamic Skills are repo-specific Skills that the agent creates and maintains for you, stored inside the repository at <workspace>/.codistry/skills/<skill-name>/SKILL.md. They are discovered, listed, and loaded exactly like regular Skills — the difference is that the agent authors them as it learns how your codebase works, so the knowledge is committed alongside your code and is available in every future session (and to your teammates).
.codistry/context.mdholds the concise, high-level project map — overview, architecture, conventions, and gotchas.- Dynamic Skills hold deeper procedural knowledge that is too detailed for
context.md: multi-step workflows, recipes, and playbooks (for example “how to add a new provider”, the release process, or “how to debug subsystem X”). They can also bundle repo-specific scripts and templates next to the SKILL.md.
You don't author these yourself. When the agent works through a non-obvious, repeatable procedure that is specific to your repo — or you explain or correct how something is done — it saves that procedure as a Dynamic Skill so a future session doesn't have to rediscover it. This happens as part of completing the task, and you can also ask for it explicitly. The result is a plain SKILL.md file you can read, edit, or delete like any other file in your repo.
adronite-agent.dynamicSkillsEnabled (see Relevant Settings). Because they live in .codistry/skills/ inside the repo, commit them to share the captured workflows with your team.Security
- Skill code runs inside a Docker container with no network access (
network: none). - Resource limits: 512MB RAM, 1 CPU, and a 30s default timeout per call.
- Containers are reused across calls for speed (they are not started with
--rmand are not read-only). - Only files explicitly shared with the agent are placed inside the container.
- The base image is
python:3.11-slim; the runtime image is pulled once and skill execution then runs offline.
Relevant Settings
{
"adronite-agent.skillsEnabled": true,
"adronite-agent.dynamicSkillsEnabled": true,
"adronite-agent.skillsDirectory": "",
"adronite-agent.skillsDockerImage": "adronite/adronite-skills:latest"
}Troubleshooting
Docker not available
- Start Docker Desktop or the Docker service.
- docker info should display server information.
Image missing
- Run: docker pull adronite/adronite-skills:latest (or build it locally as a fallback).
- Re-run the Skill once the image is available.
Skill not found
- Confirm folder name matches the Skill name.
- Ensure SKILL.md exists with valid metadata.
Quick FAQ
- Does skill code reach the network? No. Skill execution runs with
network: none. Only the one-time image pull needs internet. - Do I need to download anything? The runtime image is pulled automatically on first use (
adronite/adronite-skills:latest); building locally is a fallback. - Can I use a custom image? Yes. Point
skillsDockerImageat your own image, or build the runtime image locally.