#!/bin/bash # 技能链接脚本 - 将当前目录下分类中的技能链接到 ~/.agents/skills/ # 用法: 在技能根目录(包含 development-and-standards 等分类文件夹)执行此脚本 TARGET_DIR="$HOME/.agents/skills" # 创建目标目录(如果不存在) mkdir -p "$TARGET_DIR" # 遍历所有一级子目录(分类目录) for category_dir in */; do # 排除非目录项 [ -d "$category_dir" ] || continue # 遍历分类目录下的技能子目录 for skill_dir in "$category_dir"/*/; do [ -d "$skill_dir" ] || continue skill_name="${skill_dir%/}" skill_name="${skill_name##*/}" # 源技能目录的绝对路径 src="$(realpath "$skill_dir")" # 目标链接路径 link="$TARGET_DIR/$skill_name" # 如果目标已存在且不是链接到当前源,则跳过(或可改为询问) if [ -L "$link" ]; then # 已存在符号链接,检查是否指向相同路径 current_target="$(readlink "$link")" if [ "$current_target" = "$src" ]; then echo "跳过: $link 已指向 $src" continue else echo "警告: $link 存在但指向不同目标 ($current_target),将替换" rm "$link" fi elif [ -e "$link" ]; then echo "警告: $link 存在且不是符号链接,跳过 (手动处理)" continue fi # 创建符号链接 ln -s "$src" "$link" echo "已链接: $src -> $link" done done echo "完成。所有技能已链接到 $TARGET_DIR"