Tools#
A Lens Prism agent has tools and decides when to use them. You don't call tools directly — you talk to the agent, and it reaches for the right tool to get the job done. This page is a tour of what it can reach for. When the agent uses a tool, you can see it: the web UI and terminal UI both show tool calls, with their inputs and outputs, inline in the agent's messages.
Memory#
Manage long-term memory. See Memory for the full picture.
- Search — recall past entries by meaning, optionally filtered by category and recency.
- Write — record something worth keeping, with a category (observation, action, decision, or event) and an importance score.
- Delete — remove entries that are no longer accurate.
Self-management#
The agent can edit its own identity from inside a conversation — this is how "be more concise" or "remember our staging region" take effect. See Agent identity.
- Rewrite its
Soul,Userprofile,Memory,Vision,Heartbeatconfig, orAgent Guide. - Rename itself.
- Adjust settings — heartbeat interval, timezone, and chat delivery mode (
verbose=truestreams every step,verbose=falsedelivers only the final message). - Clear the bootstrap prompt once first-run onboarding is done.
Scheduling#
Create and manage its own scheduled tasks:
- Schedule a task using natural language ("every weekday at 9am") or cron.
- List existing tasks.
- Delete a task.
Shell#
The agent can act on a real shell — this is what lets it do work rather than only talk about it. By default it works inside a workspace directory (the workspace folder in your install, or /home/node in the container): relative paths resolve from there.
- Run a command — execute a shell command and get back stdout, stderr, and the exit code. Commands have a timeout (default about 30 seconds, up to 20 minutes) and output is size-capped so a noisy command can't flood the context.
- Read, write, and edit files — read a file (line-numbered), write a file, or make an exact-string edit. These tools reject paths outside the workspace.
- Long-running processes — spawn a background process, write to its stdin, drain its stdout and stderr, and kill it with a signal. Useful for servers, watch processes, and interactive tools.
Warning
The file read, write, and edit tools reject paths outside the workspace, but running a command does not — shell_exec can run anything the runtime's OS user is permitted to, including reading paths elsewhere on the machine. The workspace is a default working directory, not a security sandbox; the real boundary is OS filesystem permissions. For a governed boundary around what the agent can reach over the network, run Prism under Lens Agents.
In the published container image, the shell comes with common tooling preinstalled — git, gh, kubectl, aws, jq, yq, and ripgrep — so the agent can do real operational work out of the box.
Skills#
The agent can load an installed skill — a SKILL.md bundle of task-specific instructions — and follow it. It sees each available skill's name and description up front and loads the full instructions on demand when a task matches; you can also list and run skills with the /skills command. Skills come from a global directory and, in the terminal UI, the current repository's .claude/skills.
Claude Code sub-agent#
For larger coding tasks, the agent can hand work to Claude Code running as an autonomous sub-agent in the workspace:
- Start a Claude Code task with a prompt, in
editorplanmode, with a turn budget. - Poll the running task for output and completion.
This lets the agent delegate a self-contained engineering job — "refactor this module," "investigate this failing test" — and check back on the result, rather than doing everything in its own turn-by-turn loop.
Sharing files#
The agent can deliver a file from its workspace to you as a downloadable attachment (up to 10 MB). That's how files it produces — a report, an export, a generated artifact — reach you in the web UI, terminal UI, or Slack. In the TUI, save them to disk with /save.