add .mandatory, update learn.sh and sync-skills.sh to use it
This commit is contained in:
@@ -1,19 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Sync all skill folders from ClawSkills to ~/.openclaw/skills
|
||||
# Sync skills listed in .mandatory from ClawSkills to ~/.openclaw/skills
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SKILLS_DIR="$HOME/.openclaw/skills"
|
||||
MANDATORY_FILE="${SCRIPT_DIR}/.mandatory"
|
||||
|
||||
mkdir -p "$SKILLS_DIR"
|
||||
|
||||
for folder in "$SCRIPT_DIR"/*/; do
|
||||
folder_name=$(basename "$folder")
|
||||
# Skip this script itself
|
||||
if [[ "$folder_name" == "sync-skills.sh" ]]; then
|
||||
continue
|
||||
if [[ ! -f "$MANDATORY_FILE" ]]; then
|
||||
echo "Error: .mandatory not found at $MANDATORY_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do
|
||||
[[ -z "$skill_name" || "$skill_name" == \#* ]] && continue
|
||||
|
||||
skill_dir="${SCRIPT_DIR}/${skill_name}"
|
||||
if [[ -d "$skill_dir" ]]; then
|
||||
echo "Copying $skill_name to $SKILLS_DIR..."
|
||||
cp -rf "$skill_dir" "$SKILLS_DIR/"
|
||||
else
|
||||
echo "Skipping (not found): $skill_name"
|
||||
fi
|
||||
echo "Copying $folder_name to $SKILLS_DIR..."
|
||||
cp -rf "$folder" "$SKILLS_DIR/"
|
||||
done
|
||||
done < "$MANDATORY_FILE"
|
||||
|
||||
echo "Done!"
|
||||
|
||||
Reference in New Issue
Block a user