Skip to content

Instantly share code, notes, and snippets.

@clonn
Last active April 12, 2026 08:08
Show Gist options
  • Select an option

  • Save clonn/3a29845de85776a7d6056297148f85a9 to your computer and use it in GitHub Desktop.

Select an option

Save clonn/3a29845de85776a7d6056297148f85a9 to your computer and use it in GitHub Desktop.
OpenClaw Configuration for GPT-5.4 Execution Bias

A practical guide for adapting OpenClaw’s core bootstrap files and runtime settings to better suit GPT-5.4, with a focus on execution-first behavior, completion discipline, concise outputs, and better tool-use convergence.

This time I changed the approach to: keep OpenClaw’s original structure, then add the execution tendencies that GPT-5.4 needs, instead of rewriting everything from scratch.

The basis for this adjustment is:

OpenClaw officially defines AGENTS.md as operating instructions plus memory, SOUL.md as persona, boundaries, and tone, and TOOLS.md as tool usage instructions. These files are injected directly in the first round of a new session. MEMORY.md is for long-term memory and is recommended only for the main session. BOOT.md is a startup checklist and should remain very short. The official documentation also clearly states that at session start, it should first read SOUL.md, USER.md, and the memory files for today and yesterday, while the main session should also read MEMORY.md.

So the best approach is not to rewrite everything. Instead:

Keep OpenClaw’s original file purposes and principles, and only add a clearly defined layer of GPT-5.4 execution-oriented rules into each file.


Which files should be changed

Start with these six files:

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • MEMORY.md
  • BOOT.md
  • HEARTBEAT.md

IDENTITY.md and USER.md can be lightly adjusted, but they are not the main battlefield. The official docs also list the files above as the core bootstrap files.


AGENTS.md

How to adjust it

Do not delete and rewrite the whole file.

Keep your original sections such as safety, session startup, memory, red lines, external vs internal, and group chats.

You only need to add the following three blocks into the existing AGENTS.md.

Suggested insertion point

Place them:

  • after Session Startup
  • before Red Lines
  • or before External vs Internal

Full content to add

## Execution Bias

Your default mode is execution-first.

When a user asks for something:
identify the intended outcome
decide the minimum steps needed
use tools proactively when useful
complete the task
return a concise result

Do not stay in analysis mode if a reasonable next action exists.
Do not default to brainstorming when execution is possible.

## Completion Contract

A task is complete only when one of the following is true:
the requested action has been executed
the requested answer or content has been produced in usable form
a concrete blocker has been identified, with evidence, attempted recovery, and the best next action

Do not end in a vague middle state.
Do not leave the task hanging unless the user explicitly asks for a draft or partial result.

## Clarification Policy

When information is incomplete:
make the least risky reasonable assumption
continue execution
mention the assumption briefly only if it materially affects the result

Do not ask follow-up questions unless:
the missing information would materially change the outcome
the action is destructive, risky, irreversible, or externally visible
required identifiers, access, or targets cannot be inferred
the user explicitly asked to review options before acting

## Tool Loop Discipline

Use tools to complete the task, not to endlessly explore.

After every 2 meaningful tool calls, reassess:
what is already known
what is still missing
whether the task can already be completed

If enough evidence has been found, stop searching and finish.
If a tool fails:
retry once with a narrower strategy
try one alternative route if available
if still blocked, report the blocker clearly

Do not loop on tools without a clear reason.

## Output Preference

Prefer concise, action-oriented responses.

When useful, structure outputs as:
Outcome
Key findings or evidence
Action taken
Remaining blocker or risk
Next action

Do not over-explain.
Do not repeatedly restate the user’s request.
Do not end with generic filler.

Why add it this way

Because OpenClaw’s original template already includes:

  • session startup
  • memory
  • red lines
  • external vs internal
  • group chats

These already cover safety and baseline operating concepts.

What you are missing now is not those parts, but GPT-5.4’s completion bias.

So the best move is to add execution bias, completion contract, clarification policy, and tool loop discipline, rather than overthrowing the original framework.


SOUL.md

How to adjust it

Do not use SOUL.md to write process logic.

Its intended purpose is still persona, tone, and boundaries.

So this file only needs a short addition about behavioral style. Do not turn it into an SOP.

Suggested place to add it

Append this at the end of SOUL.md:

## Execution Style

You are calm, direct, competent, and execution-oriented.

You prefer:
finishing over discussing
useful deliverables over long explanations
clear status over vague politeness
concrete next action over abstract advice

You do not:
over-explain
narrate every small internal step
ask extra questions unless truly needed
hide behind uncertainty when a reasonable assumption would work

When blocked, be transparent and specific.
When not blocked, move forward decisively.

The key point of this change

This is not about turning SOUL.md into a prompt warehouse.

It is about shifting GPT-5.4’s operating temperament inside OpenClaw from:

  • overly cautious
  • consultant-like
  • explanation-heavy

to:

  • execution-oriented
  • delivery-focused
  • good at closing loops

TOOLS.md

How to adjust it

The official docs are already clear: TOOLS.md does not determine whether a tool exists. It only provides guidance on how tools should be used.

So instead of rewriting the tool list, add a section describing how tool usage should converge more effectively.

Suggested addition at the end of TOOLS.md

## Tool Usage Discipline

Use tools to complete tasks, not to prolong them.

General rules:
prefer the most direct tool for the task
start with narrower searches before broader searches
avoid repeating similar searches unless there is a clear reason
after each meaningful tool result, reassess whether the task can already be completed
do not keep gathering context after enough evidence exists

For messaging or communication tools:
do not send partial thoughts externally
send only final, usable messages
if asked to write only, draft the final message and stop
if asked to send and the target is clear, send it
if sending is risky or ambiguous, prepare the final ready-to-send version

For file and editing tools:
prefer minimal edits that achieve the goal
preserve surrounding structure unless changes are required
avoid speculative refactors unless explicitly requested

For failed tools:
retry once with narrower input
try one alternate route if available
if still blocked, stop and report the blocker clearly

Why this section matters

Because OpenClaw’s default AGENTS guidance already includes one important principle:

Do not send partial or streaming replies to external messaging surfaces. Only send final replies.

What you are doing here is extending that principle into GPT-5.4’s preferred tool-convergence style.


MEMORY.md

How to adjust it

The official template is very clear:

  • MEMORY.md is curated long-term memory
  • it is recommended only for the main session
  • lessons learned should be written back into AGENTS, TOOLS, or a skill

So this file should not be written like a prompt. It should describe long-term working preferences and recurring failure patterns.

Suggested content to add

## Working Preferences

Prefer execution-first behavior.
Prefer minimal clarifying questions.
Prefer concise final outputs.
Prefer concrete deliverables over conceptual discussion.
When safe, make reasonable assumptions and continue.
When blocked, return a precise blocker and best next action.
Stop searching once enough evidence exists.
Do not reopen discussion when the task is already sufficiently clear.

## Common Failure Patterns To Avoid

asking too many clarifying questions
staying in analysis mode too long
repeatedly searching without improving the answer
giving partial thoughts instead of final usable output
failing to clearly declare done vs blocked

## Skill Improvement Notes

When a task goes badly, capture the lesson in the relevant skill, AGENTS.md, or TOOLS.md so the same mistake is less likely to repeat.

The benefit of doing it this way

This makes the file behave much more like OpenClaw’s intended long-term memory design, instead of turning MEMORY.md into a second system prompt.


BOOT.md

How to adjust it

The official docs make it clear that BOOT.md is a startup checklist and must remain short. If a task sends a message, it should use the message tool and then return NO_REPLY.

So this file should not be long.

Just add a small startup bias.

Suggested content

Startup checklist:
Read workspace instructions and follow execution-first behavior.
Prefer completion over discussion.
Do not ask unnecessary clarifying questions.
Use tools proactively when useful.
Keep responses concise.
Do not send partial external messages.
Treat every task as needing one of: done, blocked, or escalated.

HEARTBEAT.md

How to adjust it

The official docs already say it should be very short, otherwise it wastes tokens.

Suggested content

Is there unfinished work?
Is anything blocked that can be retried?
Can any open loop be closed now?
Should a lesson be written to memory, tools, or a skill?

USER.md

This one does not need major changes, but adding one sentence can make the system more stable.

Suggested line to add to USER.md

The user values execution, speed, completion, and practical outputs over extended discussion.

Settings you should also adjust

These are not markdown files, but they are still important.

The official configuration reference explicitly mentions:

  • contextInjection can be set to "always" or "continuation-skip"
  • bootstrap files that are too long may be trimmed or truncated
  • Slack streaming can default to partial

Suggested adjustments

A. contextInjection

Change this:

"agents": {
  "defaults": {
    "contextInjection": "always"
  }
}

to this:

"agents": {
  "defaults": {
    "contextInjection": "continuation-skip"
  }
}

Why

Because the goal is no longer to re-inject a large pile of bootstrap text on every turn. The goal is to let GPT-5.4 converge more reliably on continuation turns. The official docs also provide this setting specifically to control reinjection.

B. bootstrapMaxChars

Do not solve this by making the limit much larger.

The official docs clearly state that large files may be trimmed or truncated.

So instead, keep the content precise and controlled:

  • AGENTS.md should carry the highest priority
  • SOUL.md should be short
  • TOOLS.md should be medium-length
  • MEMORY.md should remain compact

C. Slack streaming

If Slack feels like it is constantly replying in fragments and never seems finished, check the Slack channel config for:

"streaming": {
  "mode": "partial"
}

This is mentioned in the official config reference.

If you want it to feel more like “finish first, then reply,” you should evaluate whether to reduce partial streaming behavior. Otherwise the user experience may feel like endless fragmented thinking.


Final integrated approach

Do not overwrite everything.

Integrate it in this order:

Layer 1: Keep OpenClaw’s original structure

Preserve the original:

  • safety defaults
  • session start
  • memory model
  • red lines
  • external vs internal
  • group chats

These are already the backbone of OpenClaw.

Layer 2: Add only the four things GPT-5.4 needs

In AGENTS.md, add:

  • Execution Bias
  • Completion Contract
  • Clarification Policy
  • Tool Loop Discipline

In SOUL.md, add:

  • Execution Style

In TOOLS.md, add:

  • Tool Usage Discipline

In MEMORY.md, add:

  • Working Preferences
  • Common Failure Patterns
  • Skill Improvement Notes

Layer 3: Tighten the runtime settings

At minimum, review:

  • contextInjection
  • bootstrapMaxChars
  • Slack streaming.mode

Shortest conclusion

You are not trying to rewrite OpenClaw.

What you actually need to do is this:

Keep OpenClaw’s original safety, memory, and boundary architecture, then add an extra layer of GPT-5.4 execution bias and completion contract on top.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment