Skip to content
Apothem
Harnesses

Open-Claw

Apothem harness adapter for Open-Claw (Preview).

Vendor: Open-Claw Install name: open-claw Status: Preview Native config: ~/.openclaw/openclaw.json

Installation

apothem install --harness open-claw

The adapter writes OpenClaw's user-global config file, projects the shared profile into a profile document, and installs Apothem support cohorts under the harness root. OpenClaw's native config is JSON; the materializer renders one key, skills.load.extraDirs, and an existing file keeps its other keys.

Files written: ~/.openclaw/openclaw.json, the profile document ~/.openclaw/apothem/rules/00-apothem-profile.md, and support files under ~/.openclaw/.apothem/support/

The profile document ends with an Apothem support files section that names the absolute directory under ~/.openclaw/.apothem/support/ each repository-style citation (rules/<name>.md, templates/..., hooks/...) resolves against.

Profile-to-native-config mapping

The adapter authors one config key. It adds ~/.openclaw/.apothem/support/skills to skills.load.extraDirs, the list of extra skill directories OpenClaw reads, which is how OpenClaw finds the installed skills. The entry goes after any entries you already list, and your other keys stay as they are. The profile's identity, preferences, and rules go into the profile document. Shared commands, skills, rules, templates, and hook prompts are installed as support material under ~/.openclaw/.apothem/support/.

Compatibility notes

Preview adapter. OpenClaw loads the Apothem skills through skills.load.extraDirs, but it does not load the rest of the support tree or the profile document on its own: none of its workspace instruction files or its config points there, so after install OpenClaw runs without Apothem's rules or MCP servers.

Name clashes. OpenClaw reads skills from these sources, highest precedence first, and when the same skill name appears in more than one place the highest source wins: the workspace skills/ folder, the workspace .agents/skills/ folder, ~/.agents/skills (default state directory only), the state directory's skills/ folder (~/.openclaw/skills by default), workshop skills, bundled and custodian skills, and last the folders listed under skills.load.extraDirs together with plugin skills. The Apothem directory is an extraDirs entry, so a skill of the same name that you keep in any of the earlier sources is the one OpenClaw uses, and the Apothem copy of that skill stays unused on disk. Apothem writes only to openclaw.json and under ~/.openclaw/.apothem/support/, never into those earlier folders, so install, update, and uninstall do not replace a skill you keep there.

agents.defaults.skills is the allowlist of skill names; Apothem does not edit it, so if you keep one, check that it names the Apothem skills you want. apothem update keeps keys you add to openclaw.json. MCP servers live in the mcp.servers block of the OpenClaw config, which you manage with openclaw mcp add and the related subcommands; the adapter writes no entries there. (OpenClaw behavior per its skills, skills config, and config extensions docs, read 2026-10-24, and its MCP CLI docs, read 2026-10-02.)

Comments in openclaw.json. OpenClaw reads its config as JSON5, and Apothem rewrites the file as plain JSON. When the file carries comments or other JSON5 syntax and the entry is missing, Apothem leaves the file untouched and install stops with a message that names the key. Merge this entry into your file yourself, or convert the file to plain JSON, then run the install again:

{
  "skills": {
    "load": {
      "extraDirs": ["~/.openclaw/.apothem/support/skills"]
    }
  }
}

An entry you add yourself counts as yours: uninstall leaves it in place.

Verification

apothem verify --harness open-claw

The verify command confirms that:

  1. The native config exists at the expected path.
  2. Each managed target exists; managed files are non-empty, and JSON or YAML configs parse. Add --profile PATH to also confirm that the installed files match that profile.
  3. skills.load.extraDirs in the native config lists ~/.openclaw/.apothem/support/skills. Without that entry OpenClaw does not load the installed skills; apothem update adds it back.
  4. The adapter-specific verification routine reports success.

Updating

apothem update --harness open-claw

Re-derives the profile document from the current shared profile state and refreshes the support files; openclaw.json keeps the keys it already has, and the Apothem entry in skills.load.extraDirs stays listed once however often you update. Run after editing ~/.config/apothem/profile.yaml or upgrading the installed Apothem package.

Uninstalling

apothem uninstall --harness open-claw

Removes what the adapter added: its entry in skills.load.extraDirs, the profile document, and the support tree. Your own keys in openclaw.json stay, including your own extraDirs entries, and the file is deleted only when Apothem created it and nothing of yours is left. The shared profile YAML and Apothem engine are unaffected.

Conformity gate

python -m apothem.conformity.gate --all .

Troubleshooting

SymptomFix
Config file not foundRe-run apothem install --harness open-claw
Verification failedRun apothem update --harness open-claw, then verify again
Unexpected config contentApothem authors only the skills.load.extraDirs entry in openclaw.json and keeps the keys already in it, so profile content does not land there. Profile content lands in ~/.openclaw/apothem/rules/00-apothem-profile.md: check ~/.config/apothem/profile.yaml or --profile PATH, then re-run the command under Updating
Install stops with a message about comments or JSON5 syntax in openclaw.jsonApothem does not rewrite a file it would have to strip comments from. Add the skills.load.extraDirs entry shown under Compatibility notes yourself, or convert the file to plain JSON, then run the install again
An Apothem skill does not appear in OpenClawA skill of the same name in the workspace, ~/.agents/skills, or ~/.openclaw/skills takes precedence over the Apothem copy (see Compatibility notes). Also run apothem verify --harness open-claw, and check that any agents.defaults.skills allowlist you keep names the skill

Configuration knobs

FlagDefaultDescription
--dry-runfalsePreview install without writing files.

See also

On this page