From 9e85de551eb42e241f805c430533c33e0d657857 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Wed, 24 Jun 2026 08:07:14 -0700 Subject: [PATCH] debug(ci): temporarily instrument pty-smoke skill discovery MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Capture claude version, env, registry tree, and a claude -p discovery probe to pin why /office-hours isn't discovered in CI (retries proved it's not a race). Temporary — revert once the registry fix is identified. --- .github/workflows/evals.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/evals.yml b/.github/workflows/evals.yml index f2c5cb232..2611678dc 100644 --- a/.github/workflows/evals.yml +++ b/.github/workflows/evals.yml @@ -216,6 +216,24 @@ jobs: || { echo "ERROR: plan-ceo-review SKILL.md missing 'name: plan-ceo-review' frontmatter" >&2; exit 1; } echo "skill registry OK" + # TEMP DEBUG (remove after diagnosing pty-smoke discovery): the smoke fails + # with "Unknown command: /office-hours" even after retries (not a race). + # Capture what claude actually discovers in CI to fix the registry precisely. + - name: Debug skill discovery (pty smoke) + if: matrix.suite.name == 'e2e-pty-plan-smoke' + env: + ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} + run: | + set +e + echo "=== claude version + binary ==="; command -v claude; claude --version 2>&1 | head -3 + echo "=== HOME/CLAUDE/XDG env ==="; env | grep -iE '^(HOME|CLAUDE|XDG)=' || true + echo "=== ~/.claude/skills (top) ==="; ls -la "$HOME/.claude/skills" 2>&1 | head -30 + echo "=== office-hours SKILL.md resolves? ==="; head -3 "$HOME/.claude/skills/office-hours/SKILL.md" 2>&1 + echo "=== project .claude in cwd? ==="; ls -la "$GITHUB_WORKSPACE/.claude" 2>&1 | head + echo "=== claude -p probe (same discovery path) ===" + cd "$GITHUB_WORKSPACE" + timeout 90 claude -p "Reply with exactly the word READY and nothing else if the /office-hours slash command is available to you, otherwise reply MISSING." 2>&1 | tail -10 + - name: Run ${{ matrix.suite.name }} env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}