add .mandatory, update learn.sh and sync-skills.sh to use it
This commit is contained in:
49
learn.sh
49
learn.sh
@@ -9,24 +9,41 @@ fi
|
||||
SKILL_LIST="${AGENT_WORKSPACE}/.skill-list"
|
||||
TARGET_DIR="${AGENT_WORKSPACE}/skills"
|
||||
CLAW_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
MANDATORY_FILE="${CLAW_DIR}/.mandatory"
|
||||
|
||||
if [[ ! -f "$SKILL_LIST" ]]; then
|
||||
mkdir -p "$TARGET_DIR"
|
||||
|
||||
# First: install mandatory skills from .mandatory (one per line)
|
||||
if [[ -f "$MANDATORY_FILE" ]]; then
|
||||
while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do
|
||||
[[ -z "$skill_name" || "$skill_name" == \#* ]] && continue
|
||||
|
||||
skill_dir="${CLAW_DIR}/${skill_name}"
|
||||
if [[ -d "$skill_dir" ]]; then
|
||||
echo "Installing (mandatory): $skill_name"
|
||||
cp -r "$skill_dir" "${TARGET_DIR}/"
|
||||
else
|
||||
echo "Skipping (not found): $skill_name"
|
||||
fi
|
||||
done < "$MANDATORY_FILE"
|
||||
fi
|
||||
|
||||
# Then: install skills from .skill-list
|
||||
if [[ -f "$SKILL_LIST" ]]; then
|
||||
while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do
|
||||
[[ -z "$skill_name" || "$skill_name" == \#* ]] && continue
|
||||
|
||||
skill_dir="${CLAW_DIR}/${skill_name}"
|
||||
if [[ -d "$skill_dir" ]]; then
|
||||
echo "Installing: $skill_name"
|
||||
cp -r "$skill_dir" "${TARGET_DIR}/"
|
||||
else
|
||||
echo "Skipping (not found): $skill_name"
|
||||
fi
|
||||
done < "$SKILL_LIST"
|
||||
else
|
||||
echo "Error: .skill-list not found at $SKILL_LIST"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$TARGET_DIR"
|
||||
|
||||
while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do
|
||||
[[ -z "$skill_name" || "$skill_name" == \#* ]] && continue
|
||||
|
||||
skill_dir="${CLAW_DIR}/${skill_name}"
|
||||
if [[ -d "$skill_dir" ]]; then
|
||||
echo "Installing: $skill_name"
|
||||
cp -r "$skill_dir" "${TARGET_DIR}/"
|
||||
else
|
||||
echo "Skipping (not found): $skill_name"
|
||||
fi
|
||||
done < "$SKILL_LIST"
|
||||
|
||||
echo "Done."
|
||||
echo "Done."
|
||||
|
||||
Reference in New Issue
Block a user