| name | diagnostics |
| description | Use when troubleshooting build failures, test failures, daemon connectivity issues, or integration errors in Auto-Tundra. |
| allowed_tools | ["Bash","Read"] |
| references | ["/Users/studio/rust-harness/docs/PROJECT_HANDBOOK.md","/Users/studio/rust-harness/AGENTS.md"] |
Diagnostics
Trigger
Use this skill when something is broken: build errors, test failures, daemon won't start, API returns errors, or integrations fail.
Diagnostic Ladder (follow in order)
Step 1: Environment check
at doctor -p /Users/studio/rust-harness -j
rustc --version
env | grep -E 'API_KEY|TOKEN'
curl -sf http://localhost:9090/api/status | jq .
Step 2: Build diagnostics
cargo check 2>&1 | head -50
cargo check -p at-<crate> 2>&1 | head -50
xcode-select --install
Step 3: Test diagnostics
cargo nextest run -p at-<crate> --no-capture 2>&1 | tail -80
cargo nextest run -p at-<crate> -E 'test(test_name)' --no-capture
RUST_LOG=debug cargo nextest run -p at-<crate> --no-capture
Step 4: Daemon diagnostics
RUST_LOG=debug cargo run --bin at-daemon 2>&1 | tee /tmp/daemon.log
lsof -i :9090 -i :3001
pkill -f at-daemon
kill -9 $(lsof -t -i:9090 -i:3001) 2>/dev/null || true
Step 5: Integration diagnostics
curl -sf http://localhost:9090/api/gitlab/issues 2>&1 | jq .
curl -sf http://localhost:9090/api/linear/issues?team_id=X 2>&1 | jq .
curl -sf http://localhost:9090/api/github/issues 2>&1 | jq .
Step 6: Dependency/security diagnostics
cargo deny check 2>&1 | head -30
cargo outdated -R 2>&1 | head -30
Common Failure Patterns
| Symptom | Likely Cause | Fix |
|---|
Connection refused :9090 | Daemon not running | cargo run --bin at-daemon |
503 + env_var in response | Missing credential | Ensure variables like GITLAB_TOKEN are exported in the shell before starting the daemon, or modify ~/.config/auto-tundra/settings.toml. |
linking with cc failed | Missing Xcode tools | xcode-select --install |
cannot find crate | Missing workspace member | Check Cargo.toml members |
| Test timeout | Network-dependent test | Check #[ignore] gate or mock |
port already in use | Stale process | lsof -i :9090 -i :3001 then kill |
Rules
- Always start at Step 1 and work down — don't jump to Step 5.
- Capture output with
2>&1 | head -N to avoid flooding context.
- When reporting errors, include the exact error message and the command that produced it.
- Never blindly
cargo clean — it wastes 5-10 min of rebuild time. Only use if genuinely corrupt.