Skip to content

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, User profile, Memory, Vision, Heartbeat config, or Agent Guide.
  • Rename itself.
  • Adjust settings — heartbeat interval, timezone, and chat delivery mode (verbose=true streams every step, verbose=false delivers 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 edit or plan mode, 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.