Skip to content

Skills#

Agent Skills are reusable bundles of instructions — and optional scripts and reference files — that teach a Lens Prism agent how to do a specific task well. They follow the open agentskills.io standard. Skills written for Claude Code, Codex, and other tools work here unchanged.

The agent uses skills automatically. At the start of each turn it sees only each skill's name and one-line description; when a task matches, it loads that skill's full instructions on demand and follows them. You can also list and run skills explicitly with the /skills command.

Where skills live#

Skills are discovered from two places, and the two sets are merged:

  • Global skills live in the agent's skills directory inside its data dir: ~/.prism/skills for a native install, /data/skills in Docker. Override the data dir with PRISM_DATA_DIR, or the skills dir specifically with PRISM_SKILLS_DIR (see Configuration). These are available in every conversation.
  • Workspace skills load when you start the terminal UI inside a repository: that repo's .claude/skills/ and .agents/skills/ are loaded too, so a project can ship its own skills. These are labelled (workspace) in /skills listings.

If a global and a workspace skill share a name, the workspace one wins, and .claude/skills takes precedence over .agents/skills.

Installing skills#

Installation is out of band — you put skill folders in place, and the agent picks them up automatically, no restart needed. You can also just ask the agent to install a skill for you, and it does the steps below. Two ways to do it yourself:

  • Drop a bundle in. Copy a <name>/SKILL.md folder (with any scripts/, references/, or assets/) into the skills directory, or into a repo's .claude/skills/ for a workspace skill.
  • Use the skills CLI from the ecosystem at skills.sh:

    npx skills add <SOURCE> --copy
    

    where <SOURCE> is a GitHub repo (for example owner/repo), a skill URL, or a local path. Then move the resulting <name>/ folder into the agent's skills directory. Use --copy so the bundle is a real copy that survives restarts.

A skill folder looks like:

my-skill/
├── SKILL.md        # required: name + description frontmatter, then instructions
├── scripts/        # optional: executable helpers the instructions can run
├── references/     # optional: longer docs loaded on demand
└── assets/         # optional: templates and data files
---
name: my-skill
description: What this does and when to use it.
---

Step-by-step instructions for the agent to follow…

The /skills command#

Both the terminal UI and the web UI expose a /skills slash command (type / in the chat input):

  • /skills or /skills list — list the available skills with their descriptions; workspace skills are marked (workspace).
  • /skills run <NAME> — run a skill now. The agent loads it and works through it, streaming the reply back into the conversation.

Automatic use needs no command — the agent reaches for a skill whenever a task matches its description.

Shared with the Claude Code sub-agent#

The same skills are visible to the Claude Code sub-agent: the runtime points Claude Code at the agent's skills directory, and a repo's .claude/skills/ are discovered there natively. So whether the agent handles a task itself or delegates it to Claude Code, it works from the same set of skills.