System Prompt
System Prompt
RemoteClaw builds a custom system prompt for every agent run. The prompt is RemoteClaw-owned and does not use the pi-coding-agent default prompt.
The prompt is assembled by RemoteClaw and injected into each agent run.
Structure
The prompt is intentionally compact and uses fixed sections:
- Tooling: current tool list + short descriptions.
- Safety: short guardrail reminder to avoid power-seeking behavior or bypassing oversight.
- Skills (when available): tells the model how to load skill instructions on demand.
- RemoteClaw Self-Update: how to run
config.applyandupdate.run. - Workspace: working directory (
agents.defaults.workspace). - Documentation: local path to RemoteClaw docs (repo or npm package) and when to read them.
- Workspace Files (injected): indicates bootstrap files are included below.
- Sandbox (when enabled): indicates sandboxed runtime, sandbox paths, and whether elevated exec is available.
- Current Date & Time: user-local time, timezone, and time format.
- Reply Tags: optional reply tag syntax for supported providers.
- Heartbeats: heartbeat prompt and ack behavior.
- Runtime: host, OS, node, model, repo root (when detected), thinking level (one line).
- Reasoning: current visibility level + /reasoning toggle hint.
Safety guardrails in the system prompt are advisory. They guide model behavior but do not enforce policy. Use tool policy, exec approvals, sandboxing, and channel allowlists for hard enforcement; operators can disable these by design.
Prompt modes
RemoteClaw can render smaller system prompts for sub-agents. The runtime sets a
promptMode for each run (not a user-facing config):
full(default): includes all sections above.minimal: used for sub-agents; omits Skills, Memory Recall, RemoteClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, and Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (when known), Runtime, and injected context stay available.none: returns only the base identity line.
When promptMode=minimal, extra injected prompts are labeled Subagent
Context instead of Group Chat Context.
Workspace context
The workspace is a plain working directory. Agents bring their own configuration
(e.g. CLAUDE.md for Claude Code, .gemini/ for Gemini CLI). RemoteClaw does
not inject workspace files into the context window — the agent CLI handles its
own context loading.
Files that RemoteClaw may read or write in the workspace:
IDENTITY.md— agent name/vibe/emojiHEARTBEAT.md— optional checklist for heartbeat runsMEMORY.mdand/ormemory.md— long-term memory (when present)
To inspect how much each injected file contributes (raw vs injected, truncation, plus tool schema overhead), use /context list or /context detail. See Context.
Time handling
The system prompt includes a dedicated Current Date & Time section when the user timezone is known. To keep the prompt cache-stable, it now only includes the time zone (no dynamic clock or time format).
Use session_status when the agent needs the current time; the status card
includes a timestamp line.
Configure with:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
See Date & Time for full behavior details.
Skills
When eligible skills exist, RemoteClaw injects a compact available skills list
(formatSkillsForPrompt) that includes the file path for each skill. The
prompt instructs the model to use read to load the SKILL.md at the listed
location (workspace, managed, or bundled). If no skills are eligible, the
Skills section is omitted.
<available_skills> <skill> <name>...</name> <description>...</description> <location>...</location> </skill></available_skills>This keeps the base prompt small while still enabling targeted skill usage.
Documentation
When available, the system prompt includes a Documentation section that points to the
local RemoteClaw docs directory (either docs/ in the repo workspace or the bundled npm
package docs) and also notes the public mirror, source repo, and community Discord. The prompt instructs the model to consult local docs first
for RemoteClaw behavior, commands, configuration, or architecture, and to run
remoteclaw status itself when possible (asking the user only when it lacks access).