> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Systeemprompt

# Systeemprompt

OpenClaw bouwt voor elke agent-run een aangepaste systeemprompt. De prompt is **eigendom van OpenClaw** en gebruikt niet de standaardprompt van p-coding-agent.

De prompt wordt door OpenClaw samengesteld en in elke agent-run geïnjecteerd.

## Structuur

De prompt is bewust compact en gebruikt vaste secties:

* **Tooling**: huidige toolslijst + korte beschrijvingen.
* **Safety**: korte herinnering aan guardrails om machtszoekend gedrag of het omzeilen van toezicht te vermijden.
* **Skills** (indien beschikbaar): vertelt het model hoe Skill-instructies on demand te laden.
* **OpenClaw Self-Update**: hoe `config.apply` en `update.run` uit te voeren.
* **Workspace**: werkmap (`agents.defaults.workspace`).
* **Documentation**: lokaal pad naar OpenClaw-documentatie (repo of npm-pakket) en wanneer deze te lezen.
* **Workspace Files (injected)**: geeft aan dat bootstrapbestanden hieronder zijn opgenomen.
* **Sandbox** (indien ingeschakeld): geeft een gesandboxde runtime aan, sandboxpaden en of verhoogde exec beschikbaar is.
* **Current Date & Time**: lokale tijd van de gebruiker, tijdzone en tijdformaat.
* **Reply Tags**: optionele reply-tag-syntaxis voor ondersteunde providers.
* **Heartbeats**: heartbeat-prompt en ack-gedrag.
* **Runtime**: host, OS, node, model, repo-root (indien gedetecteerd), denkniveau (één regel).
* **Reasoning**: huidig zichtbaarheidsniveau + hint voor de /reasoning-toggle.

Safety-guardrails in de systeemprompt zijn adviserend. Ze sturen modelgedrag maar handhaven geen beleid. Gebruik toolbeleid, uitvoeringsgoedkeuringen, sandboxing en kanaal-allowlists voor harde handhaving; operators kunnen deze bewust uitschakelen.

## Promptmodi

OpenClaw kan kleinere systeemprompts renderen voor sub-agents. De runtime stelt per run een
`promptMode` in (geen gebruikersgerichte configuratie):

* `full` (standaard): bevat alle bovenstaande secties.
* `minimal`: gebruikt voor sub-agents; laat **Skills**, **Memory Recall**, **OpenClaw
  Self-Update**, **Model Aliases**, **User Identity**, **Reply Tags**,
  **Messaging**, **Silent Replies** en **Heartbeats** weg. Tooling, **Safety**,
  Workspace, Sandbox, Current Date & Time (indien bekend), Runtime en geïnjecteerde
  context blijven beschikbaar.
* `none`: retourneert alleen de basisidentiteitsregel.

Wanneer `promptMode=minimal`, worden extra geïnjecteerde prompts gelabeld als **Subagent
Context** in plaats van **Group Chat Context**.

## Workspace-bootstrapinjectie

Bootstrapbestanden worden ingekort en toegevoegd onder **Project Context**, zodat het model identiteit en profielcontext ziet zonder expliciete reads:

* `AGENTS.md`
* `SOUL.md`
* `TOOLS.md`
* `IDENTITY.md`
* `USER.md`
* `HEARTBEAT.md`
* `BOOTSTRAP.md` (alleen bij gloednieuwe werkruimtes)
* `MEMORY.md` en/of `memory.md` (indien aanwezig in de workspace; één of beide kunnen worden geïnjecteerd)

Al deze bestanden worden bij elke beurt **in het contextvenster geïnjecteerd**, wat betekent dat ze tokens verbruiken. Houd ze beknopt — vooral `MEMORY.md`, dat in de loop van de tijd kan groeien en kan leiden tot onverwacht hoog contextgebruik en frequentere compactie.

> **Opmerking:** dagelijkse bestanden in `memory/*.md` worden **niet** automatisch geïnjecteerd. Ze worden op aanvraag benaderd via de tools `memory_search` en `memory_get`, en tellen dus niet mee voor het contextvenster tenzij het model ze expliciet leest.

Grote bestanden worden afgekapt met een markering. De maximale grootte per bestand wordt bepaald door
`agents.defaults.bootstrapMaxChars` (standaard: 20000). De totale geïnjecteerde bootstrap-inhoud over alle bestanden is gemaximeerd door `agents.defaults.bootstrapTotalMaxChars` (standaard: 24000). Ontbrekende bestanden injecteren een
korte ontbrekend-bestand-markering.

Sub-agent sessies injecteren alleen `AGENTS.md` en `TOOLS.md` (andere bootstrap-bestanden worden gefilterd om de context van de sub-agent klein te houden).

Interne hooks kunnen deze stap onderscheppen via `agent:bootstrap` om de geïnjecteerde
bootstrapbestanden te muteren of te vervangen (bijvoorbeeld het wisselen van `SOUL.md` voor een alternatieve persona).

Om te inspecteren hoeveel elke geïnjecteerde file bijdraagt (ruw vs. geïnjecteerd, afkapping, plus tool-schema-overhead), gebruik `/context list` of `/context detail`. Zie [Context](/concepts/context).

## Tijdafhandeling

De systeemprompt bevat een speciale sectie **Current Date & Time** wanneer de
tijdzone van de gebruiker bekend is. Om de prompt cache-stabiel te houden, bevat deze nu alleen
de **tijdzone** (geen dynamische klok of tijdformaat).

Gebruik `session_status` wanneer de agent de huidige tijd nodig heeft; de statuskaart
bevat een tijdstempelregel.

Configureren met:

* `agents.defaults.userTimezone`
* `agents.defaults.timeFormat` (`auto` | `12` | `24`)

Zie [Date & Time](/date-time) voor volledige gedragsdetails.

## Skills

Wanneer er in aanmerking komende Skills bestaan, injecteert OpenClaw een compacte **lijst met beschikbare Skills**
(`formatSkillsForPrompt`) die voor elke Skill het **bestandspad** bevat. De
prompt instrueert het model om `read` te gebruiken om de SKILL.md te laden op de vermelde
locatie (werkruimte, beheerd of gebundeld). Als er geen Skills in aanmerking komen, wordt de
Skills-sectie weggelaten.

```
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>
```

Dit houdt de basisprompt klein en maakt toch gericht gebruik van Skills mogelijk.

## Documentatie

Wanneer beschikbaar bevat de systeemprompt een sectie **Documentation** die verwijst naar de
lokale OpenClaw-documentatiemap (ofwel `docs/` in de repo-werkruimte of de gebundelde npm-
pakketdocumentatie) en vermeldt ook de publieke mirror, bronrepo, community-Discord en
ClawHub ([https://clawhub.com](https://clawhub.com)) voor Skill-discovery. De prompt instrueert het model om eerst de lokale documentatie te raadplegen
voor OpenClaw-gedrag, opdrachten, configuratie of architectuur, en om indien mogelijk zelf
`openclaw status` uit te voeren (alleen de gebruiker te vragen wanneer het geen toegang heeft).
