From 606741e2eb7e42a0387cdad0a069734c8d528788 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Wed, 24 Jun 2026 15:32:53 -0700 Subject: [PATCH] fix(ci): also register pty-smoke skills project-scoped (cwd/.claude/skills) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The real-file user-dir registration still left the TUI rejecting /office-hours in the container. claude's interactive TUI surfaces /slash commands from the PROJECT dir (/.claude/skills); the smokes run with cwd=$REPO whose .claude/skills is gitignored (absent on a fresh CI checkout), so the user-dir registry feeds `claude -p` (READY) but not the TUI. Populate $REPO/.claude/skills with real SKILL.md + sections copies (no gstack symlink there — it would point at its own parent; runtime paths use the user-dir gstack symlink). --- .github/workflows/evals.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/evals.yml b/.github/workflows/evals.yml index af953fe9b..f5a0d9e40 100644 --- a/.github/workflows/evals.yml +++ b/.github/workflows/evals.yml @@ -207,6 +207,21 @@ jobs: cp "$REPO/$s/SKILL.md" "$SKILLS_DIR/$s/SKILL.md" cp -R "$REPO/$s/sections" "$SKILLS_DIR/$s/sections" done + # Also register PROJECT-scoped (cwd) skills. claude's interactive TUI + # surfaces /slash commands from /.claude/skills, and the smokes run + # with cwd=$REPO whose .claude/skills is gitignored (absent on a fresh CI + # checkout) — the user-dir registration above feeds `claude -p` but the + # TUI looks here. No gstack symlink in the project dir: it would point at + # its own parent ($REPO). Runtime preamble paths use the user-dir + # ~/.claude/skills/gstack symlink above. + PROJ_SKILLS="$REPO/.claude/skills" + mkdir -p "$PROJ_SKILLS" + for s in office-hours plan-ceo-review; do + rm -rf "${PROJ_SKILLS:?}/$s" + mkdir -p "$PROJ_SKILLS/$s" + cp "$REPO/$s/SKILL.md" "$PROJ_SKILLS/$s/SKILL.md" + cp -R "$REPO/$s/sections" "$PROJ_SKILLS/$s/sections" + done echo "--- registry under $SKILLS_DIR ---" ls -la "$SKILLS_DIR/gstack" "$SKILLS_DIR/office-hours" "$SKILLS_DIR/plan-ceo-review" # Fail fast if any committed target moved/renamed — a dangling symlink