Summary
The clawdapus-cli skill currently describes CONFIGURE as a startup-time script hook (/claw/configure.sh / "Generates script"). That is misleading for current driver behavior, especially for openclaw.
Problem
Recent debugging around Discord mention patterns showed that the skill text encourages the wrong mental model:
- the skill says
CONFIGURE runs via /claw/configure.sh
README.md already describes CONFIGURE as driver-side config set <path> <value> DSL applied to generated config
- current openclaw code applies
CONFIGURE while generating openclaw.json, not by executing arbitrary shell at container startup
- Clawdapus path setting only supports dotted object paths; array-index mutations like
agents.list[0].groupChat.mentionPatterns are not a documented/supported contract
That mismatch is likely to confuse both human operators and coding agents. It can lead to invalid suggestions like CONFIGURE python3 ... or assuming downstream runner CLI path semantics are part of the Clawdapus contract.
Relevant code
internal/driver/shared/config.go
internal/driver/openclaw/config.go
internal/driver/openclaw/driver.go
skills/clawdapus/SKILL.md
cmd/claw/skill_data/SKILL.md
Desired outcome
Update the skill text so it is explicit that:
CONFIGURE is driver-specific config DSL, not arbitrary shell
- values are JSON-decoded when possible
CONFIGURE overrides generated defaults
- for openclaw, the command is applied to generated config during materialization
- unsupported path shapes such as indexed list mutation should not be implied as supported unless the implementation adds them later
Notes
README.md is already closer to the truth than the skill docs. Keep the embedded mirror in sync (go generate ./cmd/claw/...).
Summary
The
clawdapus-cliskill currently describesCONFIGUREas a startup-time script hook (/claw/configure.sh/ "Generates script"). That is misleading for current driver behavior, especially foropenclaw.Problem
Recent debugging around Discord mention patterns showed that the skill text encourages the wrong mental model:
CONFIGUREruns via/claw/configure.shREADME.mdalready describesCONFIGUREas driver-sideconfig set <path> <value>DSL applied to generated configCONFIGUREwhile generatingopenclaw.json, not by executing arbitrary shell at container startupagents.list[0].groupChat.mentionPatternsare not a documented/supported contractThat mismatch is likely to confuse both human operators and coding agents. It can lead to invalid suggestions like
CONFIGURE python3 ...or assuming downstream runner CLI path semantics are part of the Clawdapus contract.Relevant code
internal/driver/shared/config.gointernal/driver/openclaw/config.gointernal/driver/openclaw/driver.goskills/clawdapus/SKILL.mdcmd/claw/skill_data/SKILL.mdDesired outcome
Update the skill text so it is explicit that:
CONFIGUREis driver-specific config DSL, not arbitrary shellCONFIGUREoverrides generated defaultsNotes
README.mdis already closer to the truth than the skill docs. Keep the embedded mirror in sync (go generate ./cmd/claw/...).