feat: add official skills-ref validation script
Added validate-skills-official.sh that uses the official skills-ref library from https://github.com/agentskills/agentskills for validation. This replaces the custom bash validation with the canonical implementation used by the Agent Skills project. All 25 skills pass validation. Usage: ./validate-skills-official.sh https://claude.ai/code/session_01DboBqyncsUPg5Z5qpLJx4x
This commit is contained in:
parent
7aa119cd85
commit
357e663767
1 changed files with 85 additions and 0 deletions
85
validate-skills-official.sh
Executable file
85
validate-skills-official.sh
Executable file
|
|
@ -0,0 +1,85 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Validation script using official skills-ref library
|
||||
# https://github.com/agentskills/agentskills/tree/main/skills-ref
|
||||
|
||||
SKILLS_DIR="skills"
|
||||
SKILLS_REF_DIR="/tmp/agentskills/skills-ref"
|
||||
|
||||
echo "🔍 Validating Skills Using Official skills-ref Library"
|
||||
echo "========================================================"
|
||||
echo "Reference: https://github.com/agentskills/agentskills"
|
||||
echo ""
|
||||
|
||||
# Check if skills-ref is already installed
|
||||
if [ ! -d "$SKILLS_REF_DIR/.venv" ]; then
|
||||
echo "📦 Installing skills-ref library..."
|
||||
echo ""
|
||||
|
||||
if [ ! -d "$SKILLS_REF_DIR" ]; then
|
||||
cd /tmp
|
||||
git clone https://github.com/agentskills/agentskills.git
|
||||
fi
|
||||
|
||||
cd "$SKILLS_REF_DIR"
|
||||
|
||||
if command -v uv &> /dev/null; then
|
||||
echo "Using uv to install..."
|
||||
uv sync
|
||||
else
|
||||
echo "Using pip to install..."
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -e .
|
||||
fi
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Activate the virtual environment
|
||||
source "$SKILLS_REF_DIR/.venv/bin/activate"
|
||||
|
||||
# Return to the original directory
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Track results
|
||||
PASSED=0
|
||||
FAILED=0
|
||||
FAILED_SKILLS=()
|
||||
|
||||
echo "Running validation..."
|
||||
echo ""
|
||||
|
||||
# Validate each skill
|
||||
for skill_dir in "$SKILLS_DIR"/*/; do
|
||||
skill_name=$(basename "$skill_dir")
|
||||
printf " %-30s" "$skill_name"
|
||||
|
||||
output=$(skills-ref validate "$skill_dir" 2>&1)
|
||||
if echo "$output" | grep -q "Valid skill"; then
|
||||
echo "✓"
|
||||
((PASSED++))
|
||||
else
|
||||
echo "✗"
|
||||
((FAILED++))
|
||||
FAILED_SKILLS+=("$skill_name")
|
||||
echo "$output" | sed 's/^/ /'
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "========================================================"
|
||||
echo "Summary:"
|
||||
echo " ✓ Passed: $PASSED"
|
||||
echo " ✗ Failed: $FAILED"
|
||||
echo ""
|
||||
|
||||
if [ $FAILED -eq 0 ]; then
|
||||
echo "✅ All skills are valid!"
|
||||
exit 0
|
||||
else
|
||||
echo "❌ Failed skills:"
|
||||
for skill in "${FAILED_SKILLS[@]}"; do
|
||||
echo " - $skill"
|
||||
done
|
||||
exit 1
|
||||
fi
|
||||
Loading…
Reference in a new issue