Files
cadSet/CADDesigner-Code/workspace/skills/simplecad-self-evolve/scripts/validate_skill.sh
T
2026-07-22 19:38:36 +08:00

51 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILL_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
missing=0
required=(
"SKILL.md"
"scripts/install.sh"
"scripts/with_skill.sh"
"scripts/jupyter_with_skill.sh"
"scripts/repl_bootstrap.py"
"scripts/add_new_case.sh"
"scripts/evolve_case.py"
"scripts/validate_skill.sh"
"references/PROJECT_OVERVIEW.md"
"references/RUNTIME_INSTALL.md"
"references/EVOLVE_WORKFLOW.md"
"references/PROJECT_README.md"
"references/LICENSE.txt"
"references/docs/api/README.md"
"references/docs/core/README.md"
"cases/simplecad_self_evolve_cases/__init__.py"
"cases/simplecad_self_evolve_cases/evolve.py"
)
for relative in "${required[@]}"; do
if [[ ! -e "${SKILL_ROOT}/${relative}" ]]; then
echo "Missing required path: ${relative}" >&2
missing=1
fi
done
if [[ -d "${SKILL_ROOT}/assets/project_snapshot/src" || -d "${SKILL_ROOT}/src" ]]; then
echo "Unexpected bundled source code found in thin skill package." >&2
missing=1
fi
if [[ "${missing}" -ne 0 ]]; then
exit 1
fi
if command -v skills-ref >/dev/null 2>&1; then
skills-ref validate "${SKILL_ROOT}"
else
echo "skills-ref not found, skipped external spec validation."
fi
echo "Skill validation succeeded: ${SKILL_ROOT}"