feat: preload Archipelago Codex skills

This commit is contained in:
archipelago
2026-10-09 12:49:17 -04:00
parent 2ed45b1094
commit 2a40cb7b23
+33 -3
View File
@@ -35,9 +35,27 @@ elif (( CODEX )); then
printf 'missing\tcodex\n' printf 'missing\tcodex\n'
fi fi
user_home=$(getent passwd "$(id -u)" | cut -d: -f6)
codex_root=${CODEX_HOME:-$user_home/.codex}
skill_source_dir=${ARCHY_SKILLS_DIR:-$PWD/.agents/skills}
skills=(archipelago archipelago-app archipelago-design)
missing_skills=()
for skill in "${skills[@]}"; do
source_skill="$skill_source_dir/$skill/SKILL.md"
target_skill="$codex_root/skills/$skill/SKILL.md"
if [ -f "$target_skill" ]; then
printf 'ok\tskill:%s\t%s\n' "$skill" "$target_skill"
elif [ -f "$source_skill" ]; then
missing_skills+=("skill:$skill")
printf 'missing\tskill:%s\t%s\n' "$skill" "$target_skill"
else
printf 'missing\tskill:%s\tsource unavailable (%s)\n' "$skill" "$source_skill"
fi
done
if (( ! APPLY )); then if (( ! APPLY )); then
if [ "${#missing[@]}" -gt 0 ]; then if [ "${#missing[@]}" -gt 0 ] || [ "${#missing_skills[@]}" -gt 0 ]; then
printf '\nMissing: %s\n' "${missing[*]}" printf '\nMissing: %s %s\n' "${missing[*]}" "${missing_skills[*]}"
printf 'Re-run with --apply to install missing packages, including Codex.\n' printf 'Re-run with --apply to install missing packages, including Codex.\n'
exit 1 exit 1
fi fi
@@ -60,7 +78,19 @@ if (( CODEX )) && ! command -v codex >/dev/null 2>&1; then
sudo -n npm install --global @openai/codex sudo -n npm install --global @openai/codex
fi fi
if [ "${#missing_skills[@]}" -gt 0 ]; then
mkdir -p "$codex_root/skills"
for skill in "${skills[@]}"; do
source_dir="$skill_source_dir/$skill"
target_dir="$codex_root/skills/$skill"
[ -f "$source_dir/SKILL.md" ] || continue
mkdir -p "$target_dir"
cp -a "$source_dir/." "$target_dir/"
printf 'installed\tskill:%s\t%s\n' "$skill" "$target_dir"
done
fi
if command -v mise >/dev/null 2>&1; then if command -v mise >/dev/null 2>&1; then
mise trust --yes "$PWD" >/dev/null 2>&1 || true mise trust --yes "$PWD" >/dev/null 2>&1 || true
fi fi
printf 'developer setup complete; authenticate Codex interactively with: codex login\n' printf 'developer setup complete; Archipelago skills preloaded for Codex; authenticate interactively with: codex login\n'