File: //tmp/apply_recommended_skills.js
const fs = require('fs');
const file = '/root/.openclaw/openclaw.json';
const config = JSON.parse(fs.readFileSync(file, 'utf8'));
// The skills we want to add globally to all main educational and coordination agents
const commonSkills = ['summarize', 'nano-pdf'];
// Coordination skills for Mendel
const mendelSkills = ['obsidian', 'youtube', 'gifgrep'];
// Audio/speech skills for languages and feedback
const audioSkills = ['sherpa-onnx-tts', 'openai-whisper'];
// Weather for parents
const brueckeSkills = ['weather'];
function addSkills(agentIdPattern, skillsToAdd) {
config.agents.list.forEach(agent => {
if (agent.id.match(agentIdPattern)) {
if (!agent.skills) agent.skills = [];
skillsToAdd.forEach(s => {
if (!agent.skills.includes(s)) agent.skills.push(s);
});
}
});
}
// 1. Add common reading/pdf skills to everyone (all subjects + mendel + korrektura + brücke)
addSkills(/^(mendel|goethe|herodot|cervantes|dante|korrektura|eltern|main)/, commonSkills);
// 2. Add coordination/search skills to Mendel and Main
addSkills(/^(mendel|main)/, mendelSkills);
// 3. Add Audio skills to languages, speech, and feedback agents
addSkills(/^(cervantes|dante|korrektura|eltern|main)/, audioSkills);
// 4. Add weather to Brücke (Eltern)
addSkills(/^(eltern)/, brueckeSkills);
fs.writeFileSync(file, JSON.stringify(config, null, 2));
console.log('Successfully updated openclaw.json with all recommended skills');