Problem
The upstream OpenClaw skills subsystem (marketplace, skill installation, skill
bins trust, per-channel skill filters) is dead code in RemoteClaw. The skills/
directory was already removed, but references persist across 52 source files
(131 occurrences), 18 test files (42 occurrences), and 38 doc files (158
occurrences).
Scope
Remove all skills-related dead code. Key areas:
CLI & onboarding
--skip-skills flag (register.onboard.ts:82)
--node-manager flag (register.onboard.ts:85) — was the npm/pnpm/bun choice for skill package installation
skipSkills in OnboardOptions type (onboard-types.ts:144)
NodeManagerChoice type and nodeManager option (onboard-types.ts:87,147)
resolveNodeManagerOptions() helper (onboard-helpers.ts:298)
skipSkills passthrough in local.ts:288 and local/output.ts:18,33
Node host / execution engine
SkillBinsProvider, SkillBinsCache, SkillBinTrustEntry types and classes (runner.ts, invoke-types.ts, invoke.ts, invoke-system-run.ts)
autoAllowSkills flag threading (invoke-system-run.ts, invoke.ts)
skills.bins RPC call (runner.ts:225)
Config / schema
skills arrays in zod schemas (zod-schema.providers-core.ts — 5 occurrences)
skills in channel config types (types.telegram.ts, types.slack.ts, types.discord.ts, types.irc.ts, types.agents.ts)
"skills" in configure.shared.ts menu
skills in schema.help.ts, schema.labels.ts, schema.hints.ts
Channel integrations
skillFilter in Slack (slash.ts, dispatch.ts, channel-config.ts)
skillFilter in Telegram (bot-message-context.ts, group-config-helpers.ts, bot-message-dispatch.ts, bot-native-commands.ts)
skills in Line config (line/types.ts, line/config-schema.ts)
skills in Discord (allow-list.ts, native-command.ts, message-handler.*.ts)
Plugins
skills field in manifest (manifest.ts:16,73,90)
"skill" command in commands list (commands.ts:52)
skills in manifest registry (manifest-registry.ts:31,124)
Other
skillFilter in auto-reply types (auto-reply/types.ts:50)
skills in agent scope (agent-scope.ts:29,132)
skillStatus / SkillStatusLike in status-all (status-all.ts, diagnosis.ts)
skills in gateway protocol schemas
- Fun update message referencing skills in
update-command.ts:64
Docs — 38 files with skills references (separate pass, may split into follow-up)
Approach
Follow the pattern established by recent gut(*) commits (#547–#554). Remove
code in layers: types → consumers → CLI flags → config schema → tests → docs.
Run pnpm check and pnpm test after each layer.
Acceptance Criteria
Problem
The upstream OpenClaw skills subsystem (marketplace, skill installation, skill
bins trust, per-channel skill filters) is dead code in RemoteClaw. The
skills/directory was already removed, but references persist across 52 source files
(131 occurrences), 18 test files (42 occurrences), and 38 doc files (158
occurrences).
Scope
Remove all skills-related dead code. Key areas:
CLI & onboarding
--skip-skillsflag (register.onboard.ts:82)--node-managerflag (register.onboard.ts:85) — was the npm/pnpm/bun choice for skill package installationskipSkillsinOnboardOptionstype (onboard-types.ts:144)NodeManagerChoicetype andnodeManageroption (onboard-types.ts:87,147)resolveNodeManagerOptions()helper (onboard-helpers.ts:298)skipSkillspassthrough inlocal.ts:288andlocal/output.ts:18,33Node host / execution engine
SkillBinsProvider,SkillBinsCache,SkillBinTrustEntrytypes and classes (runner.ts,invoke-types.ts,invoke.ts,invoke-system-run.ts)autoAllowSkillsflag threading (invoke-system-run.ts,invoke.ts)skills.binsRPC call (runner.ts:225)Config / schema
skillsarrays in zod schemas (zod-schema.providers-core.ts— 5 occurrences)skillsin channel config types (types.telegram.ts,types.slack.ts,types.discord.ts,types.irc.ts,types.agents.ts)"skills"inconfigure.shared.tsmenuskillsinschema.help.ts,schema.labels.ts,schema.hints.tsChannel integrations
skillFilterin Slack (slash.ts,dispatch.ts,channel-config.ts)skillFilterin Telegram (bot-message-context.ts,group-config-helpers.ts,bot-message-dispatch.ts,bot-native-commands.ts)skillsin Line config (line/types.ts,line/config-schema.ts)skillsin Discord (allow-list.ts,native-command.ts,message-handler.*.ts)Plugins
skillsfield in manifest (manifest.ts:16,73,90)"skill"command in commands list (commands.ts:52)skillsin manifest registry (manifest-registry.ts:31,124)Other
skillFilterin auto-reply types (auto-reply/types.ts:50)skillsin agent scope (agent-scope.ts:29,132)skillStatus/SkillStatusLikein status-all (status-all.ts,diagnosis.ts)skillsin gateway protocol schemasupdate-command.ts:64Docs — 38 files with skills references (separate pass, may split into follow-up)
Approach
Follow the pattern established by recent
gut(*)commits (#547–#554). Removecode in layers: types → consumers → CLI flags → config schema → tests → docs.
Run
pnpm checkandpnpm testafter each layer.Acceptance Criteria
skillreferences insrc/except intentional comments explaining removal--skip-skillsor--node-managerCLI flagsNodeManagerChoicetype orresolveNodeManagerOptions()helperpnpm checkpassespnpm testpasses