fix: remove eager import from __init__.py and add sync.sh

The `from . import bird_x` in __init__.py caused ImportError for all
other module imports (youtube_yt, render, etc.) when bird_x had issues,
crashing the entire script in Codex. Making it a bare package marker
lets Python resolve `from lib import X` normally.

Added scripts/sync.sh to deploy to all three skill locations
(~/.claude, ~/.agents, ~/.codex) with import verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Van Horn
2026-02-15 00:31:50 -08:00
parent 14b6ac06e1
commit 1acb5c6fff
2 changed files with 53 additions and 1 deletions
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# sync.sh - Deploy last30days skill to all host locations
# Usage: bash scripts/sync.sh (run from repo root)
set -euo pipefail
SRC="$(cd "$(dirname "$0")/.." && pwd)"
echo "Source: $SRC"
TARGETS=(
"$HOME/.claude/skills/last30days"
"$HOME/.agents/skills/last30days"
"$HOME/.codex/skills/last30days"
)
for t in "${TARGETS[@]}"; do
echo ""
echo "--- Syncing to $t ---"
mkdir -p "$t/scripts/lib"
# SKILL.md
cp "$SRC/SKILL.md" "$t/"
# Main script
cp "$SRC/scripts/last30days.py" "$t/scripts/"
# All lib modules
cp "$SRC/scripts/lib/"*.py "$t/scripts/lib/"
# Vendor directory (bird-search CLI)
if [ -d "$SRC/scripts/lib/vendor" ]; then
cp -r "$SRC/scripts/lib/vendor" "$t/scripts/lib/"
fi
# Fixtures
if [ -d "$SRC/fixtures" ]; then
mkdir -p "$t/fixtures"
cp -r "$SRC/fixtures/"* "$t/fixtures/" 2>/dev/null || true
fi
# Count and report
mod_count=$(ls "$t/scripts/lib/"*.py 2>/dev/null | wc -l | tr -d ' ')
echo " Copied $mod_count modules"
# Verify imports
if (cd "$t/scripts" && python3 -c "from lib import youtube_yt, bird_x, render, ui; print(' Import check: OK')" 2>&1); then
true
else
echo " Import check FAILED"
fi
done
echo ""
echo "Sync complete."