HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //tmp/fix_and_apply_skills.js
const fs = require('fs');
const file = '/root/.openclaw/openclaw.json';
const config = JSON.parse(fs.readFileSync(file, 'utf8'));

// 1. Clean up invalid keys
if (config.agents && config.agents.defaults) {
    if (config.agents.defaults.skills) delete config.agents.defaults.skills;
    if (config.agents.defaults.compaction && config.agents.defaults.compaction.allowedPaths) {
        delete config.agents.defaults.compaction.allowedPaths;
    }
}

// 2. Add the skill to every agent individually
if (config.agents && Array.isArray(config.agents.list)) {
    config.agents.list.forEach(agent => {
        if (!agent.skills) agent.skills = [];
        if (!agent.skills.includes('cloud-storage-guide')) {
            agent.skills.push('cloud-storage-guide');
        }
    });
}

fs.writeFileSync(file, JSON.stringify(config, null, 2));
console.log('Successfully injected cloud-storage-guide into individual agent skills and removed invalid keys.');