Files
adolf/docs/reference/AGENTS.default.md
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

6.9 KiB

summary, title, read_when
summary title read_when
Default OpenClaw agent instructions and skills roster for the personal assistant setup Default AGENTS.md
Starting a new OpenClaw agent session
Enabling or auditing default skills

OpenClaw agents use a workspace directory. Default: ~/.openclaw/workspace (configurable via agents.defaults.workspace, supports ~).

  1. Create the workspace:
mkdir -p ~/.openclaw/workspace
  1. Copy the default workspace templates into it:
cp docs/reference/templates/AGENTS.md ~/.openclaw/workspace/AGENTS.md
cp docs/reference/templates/SOUL.md ~/.openclaw/workspace/SOUL.md
cp docs/reference/templates/TOOLS.md ~/.openclaw/workspace/TOOLS.md
  1. Optional: use this file's personal-assistant skill roster instead of the generic template:
cp docs/reference/AGENTS.default.md ~/.openclaw/workspace/AGENTS.md
  1. Optional: point at a different workspace:
{
  agents: { defaults: { workspace: "~/.openclaw/workspace" } },
}

Safety defaults

  • Don't dump directories or secrets into chat.
  • Don't run destructive commands unless explicitly asked.
  • Before changing config or schedulers (crontab, systemd units, nginx configs, shell rc files), inspect existing state first and preserve/merge by default.
  • Don't send partial/streaming replies to external messaging surfaces (only final replies).

Existing solutions preflight

Before proposing or building a custom system, feature, workflow, tool, integration, or automation, check for open-source projects, maintained libraries, existing OpenClaw plugins, or free platforms that already solve it well enough. Prefer those when adequate. Build custom only when existing options are unsuitable, too expensive, unmaintained, unsafe, non-compliant, or the user explicitly asks for custom. Avoid paid-service recommendations unless the user explicitly approves spend. Keep this lightweight, a preflight gate, not a research assignment.

Session start (required)

  • Read SOUL.md, USER.md, and today+yesterday in memory/ before responding.
  • Read MEMORY.md when present.

Soul (required)

  • SOUL.md defines identity, tone, and boundaries. Keep it current.
  • If you change SOUL.md, tell the user.
  • You are a fresh instance each session; continuity lives in these files.
  • You're not the user's voice; be careful in group chats or public channels.
  • Don't share private data, contact info, or internal notes.
  • Daily log: memory/YYYY-MM-DD.md (create memory/ if needed).
  • Long-term memory: MEMORY.md for durable facts, preferences, and decisions.
  • Lowercase memory.md is legacy repair input only; do not keep both root files on purpose.
  • On session start, read today + yesterday + MEMORY.md when present.
  • Before writing memory files, read them first; write only concrete updates, never empty placeholders.
  • Capture: decisions, preferences, constraints, open loops.
  • Avoid secrets unless explicitly requested.

Tools and skills

  • Tools live in skills; follow each skill's SKILL.md when you need it.
  • Keep environment-specific notes in TOOLS.md (notes for skills).

Treat this workspace as the assistant's memory: make it a git repo (ideally private) so AGENTS.md and memory files are backed up.

cd ~/.openclaw/workspace
git init
git add AGENTS.md
git commit -m "Add workspace"
# Optional: add a private remote + push

What OpenClaw does

  • Runs a messaging-channel gateway (WhatsApp, Telegram, Discord, Signal, iMessage, Slack, and more) plus an embedded agent, so the assistant can read/write chats, fetch context, and run skills via the host machine.
  • The macOS app manages permissions (screen recording, notifications, microphone) and exposes the openclaw CLI via its bundled binary.
  • Direct chats collapse into the agent's main session by default; groups and channels/rooms get their own session keys. See Channel routing for the exact key formats. Heartbeats keep background tasks alive.

Core skills (enable in Settings → Skills)

Example roster for a personal-assistant workspace; swap in whichever skills fit your setup.

  • mcporter - tool server runtime/CLI for managing external skill backends.
  • Peekaboo - fast macOS screenshots with optional AI vision analysis.
  • camsnap - capture frames, clips, or motion alerts from RTSP/ONVIF security cams.
  • oracle - OpenAI-ready agent CLI with session replay and browser control.
  • eightctl - control your sleep, from the terminal.
  • imsg - send, read, stream iMessage & SMS.
  • wacli - WhatsApp CLI: sync, search, send.
  • discord - Discord actions: react, stickers, polls. Use user:<id> or channel:<id> targets (bare numeric ids are ambiguous).
  • gog - Google Suite CLI: Gmail, Calendar, Drive, Contacts.
  • spotify-player - terminal Spotify client to search/queue/control playback.
  • sag - ElevenLabs speech with mac-style say UX; streams to speakers by default.
  • Sonos CLI - control Sonos speakers (discover/status/playback/volume/grouping) from scripts.
  • blucli - play, group, and automate BluOS players from scripts.
  • OpenHue CLI - Philips Hue lighting control for scenes and automations.
  • OpenAI Whisper - local speech-to-text for quick dictation and voicemail transcripts.
  • Gemini CLI - Google Gemini models from the terminal for fast Q&A.
  • agent-tools - utility toolkit for automations and helper scripts.

Usage notes

  • Prefer the openclaw CLI for scripting; the desktop app handles permissions.
  • Run installs from the Skills tab; the install button is hidden once a required binary is already present.
  • Keep heartbeats enabled so the assistant can schedule reminders, monitor inboxes, and trigger camera captures.
  • Canvas UI runs full-screen with native overlays. Avoid placing critical controls at the top-left/top-right/bottom edges; add explicit layout gutters instead of relying on safe-area insets.
  • For browser-driven verification, use the openclaw browser CLI (bundled browser plugin) with the OpenClaw-managed Chrome/Brave/Edge/Chromium profile.
  • Manage: status, doctor [--deep], start [--headless], stop, tabs, tab [new|select|close], open <url>, focus <id>, close <id>.
  • Inspect: screenshot [--full-page|--ref|--labels], snapshot [--format ai|aria|--interactive|--efficient], console, errors, requests, pdf, responsebody.
  • Act: navigate, click <ref>, type <ref> <text>, press, hover, drag, select, upload, download, fill, dialog, wait, evaluate --fn <js>, highlight. Actions need a ref from snapshot (CSS selectors are not accepted for actions); use evaluate when you need document.querySelector-style targeting.
  • Add --json for machine-readable output on any inspection command.