✓ Verified 💻 Development ✓ Enhanced Data

Intent Engineering

Adds a machine-readable intent layer to OpenClaw agents.

Rating
4.4 (235 reviews)
Downloads
26,734 downloads
Version
1.0.0

Overview

Adds a machine-readable intent layer to OpenClaw agents.

Key Features

1

— Create INTENT.md

2

— Install agent-context-loader

3

— Wire into spawn calls

4

— Verify

Complete Documentation

View Source →

Intent Engineering

The Problem

Without an intent layer, agents optimize for what's measurable (fast response, no errors) rather than what matters (your actual priorities). The Klarna failure: AI saved $60M and destroyed customer loyalty because it optimized resolution time, not relationships.

What This Skill Installs

  • INTENT.md — YAML priority manifest at workspace root
  • lib/agent-context-loader.js — prepends intent summary to every subagent spawn
  • Routing integration — intent propagation flag in all routing decisions

Installation

Step 1 — Create INTENT.md

Copy references/intent-template.md to your workspace root as INTENT.md and edit:

bash
cp $(dirname $0)/references/intent-template.md $OPENCLAW_WORKSPACE/INTENT.md

Or create it manually — see references/intent-template.md for the annotated schema.

Step 2 — Install agent-context-loader

Copy the reference implementation to lib/:

bash
cp $(dirname $0)/references/agent-context-loader-template.js $OPENCLAW_WORKSPACE/lib/agent-context-loader.js

Verify it runs:

bash
node $OPENCLAW_WORKSPACE/lib/agent-context-loader.js $OPENCLAW_WORKSPACE

Step 3 — Wire into spawn calls

In any subagent spawn, prepend the intent context to the task description:

javascript
const { prepareAgentContext } = require('./lib/agent-context-loader');

const { context } = prepareAgentContext(taskType, workspaceRoot);
const fullTask = context ? context + '\n\n---\n\n' + originalTask : originalTask;

// Use fullTask as your subagent task description

taskType is a string describing the work (e.g. "code_review", "research", "writing"). The loader extracts relevant context from INTENT.md and recent memory automatically.

Step 4 — Verify

Spawn a test subagent with a task that would normally trigger a tradeoff (cost vs quality, speed vs depth). Confirm the subagent's output reflects your priorities from INTENT.md.

INTENT.md Structure

FieldPurpose
optimization_priorityOrdered priorities: primary → never_sacrifice
tradeoffsExplicit rules when objectives conflict
model_tier_intentWhich task types get which model tier
delegation_intentWhen to delegate vs handle inline
quality_intentPer-domain quality standards
See references/intent-template.md for the full annotated template.

How It Works

prepareAgentContext() reads INTENT.md fresh on every call, extracts a compact summary (≤200 chars), and prepends it to the spawn task. Subagents receive:

text
## Intent
Optimize for: user_value > honesty > cost. Never sacrifice: honesty, safety.
Delegate when blocking chat. Prefer depth for architecture/writing.

If INTENT.md is missing, a safe default is injected. The loader never throws — it degrades silently.

References

  • references/intent-template.md — Full annotated INTENT.md template with all fields
  • references/agent-context-loader-template.js — Complete agent-context-loader.js implementation

Installation

Terminal bash

openclaw install intent-engineering
    
Copied!

💻Code Examples

cp $(dirname $0)/references/intent-template.md $OPENCLAW_WORKSPACE/INTENT.md

cp-dirname-0referencesintent-templatemd-openclawworkspaceintentmd.txt
Or create it manually — see `references/intent-template.md` for the annotated schema.

### Step 2 — Install agent-context-loader

Copy the reference implementation to `lib/`:

node $OPENCLAW_WORKSPACE/lib/agent-context-loader.js $OPENCLAW_WORKSPACE

node-openclawworkspacelibagent-context-loaderjs-openclawworkspace.txt
### Step 3 — Wire into spawn calls

In any subagent spawn, prepend the intent context to the task description:

// Use fullTask as your subagent task description

-use-fulltask-as-your-subagent-task-description.txt
`taskType` is a string describing the work (e.g. `"code_review"`, `"research"`, `"writing"`). The loader extracts relevant context from INTENT.md and recent memory automatically.

### Step 4 — Verify

Spawn a test subagent with a task that would normally trigger a tradeoff (cost vs quality, speed vs depth). Confirm the subagent's output reflects your priorities from INTENT.md.

## INTENT.md Structure

| Field | Purpose |
|---|---|
| `optimization_priority` | Ordered priorities: primary → never_sacrifice |
| `tradeoffs` | Explicit rules when objectives conflict |
| `model_tier_intent` | Which task types get which model tier |
| `delegation_intent` | When to delegate vs handle inline |
| `quality_intent` | Per-domain quality standards |

See `references/intent-template.md` for the full annotated template.

## How It Works

`prepareAgentContext()` reads INTENT.md fresh on every call, extracts a compact summary (≤200 chars), and prepends it to the spawn task. Subagents receive:
example.js
const { prepareAgentContext } = require('./lib/agent-context-loader');

const { context } = prepareAgentContext(taskType, workspaceRoot);
const fullTask = context ? context + '\n\n---\n\n' + originalTask : originalTask;

// Use fullTask as your subagent task description
example.txt
## Intent
Optimize for: user_value > honesty > cost. Never sacrifice: honesty, safety.
Delegate when blocking chat. Prefer depth for architecture/writing.

Tags

#web_and-frontend-development

Quick Info

Category Development
Model Claude 3.5
Complexity Multi-Agent
Author donovanpankratz-del
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install intent-engineering