ci-adhoc-test
解决仅能在真实平台才会复现的问题,如 macOS/Windows 特性。
需要访问真实 CI/平台并使用凭据,可能触发平台级操作。
在真实操作系统或 CI 平台上进行无法本地复现的即席测试和调试。
在真实 macOS/Windows 或特定 CPU 平台上,通过 CI 做即席测试来验证那些本地或 Docker 无法复现的问题。典型场景包括 macOS 的 Seatbelt/签名、Windows 的 cmd.exe/Authenticode 行为、musl vs glibc 差异或 arm64 特殊表现。实践上会用分支范围的 GitHub Actions runner 去跑目标平台的检查,省去必须开 PR 的流程。
▸ 展开 SKILL.md 英文原文
Run ad-hoc / exploratory tests on a real OS or platform via CI when the behavior CANNOT be reproduced on the local host or in Docker — macOS Seatbelt / sandbox-exec / codesigning, Windows cmd.exe / --script-shell shell selection / .cmd resolution / Authenticode, musl-vs-glibc, Linux-arm64, a specific Node floor. Invoke (via the Skill tool) whenever the user asks to "test this on macOS/Windows CI", "probe this across operating systems / platforms", "run an ad-hoc cross-platform check", or any validation that needs a real macOS or Windows runner. THE KEY FACT this skill exists to carry: a pull request is NOT required — a branch-scoped GitHub Actions workflow (workflow_dispatch + push to the branch) runs the probe with no PR open. Pairs with `ad-hoc-test` (local host probing), `dev-loop` (build), `ci-watch` (await the run), and AGENTS.md's Docker section (Linux-only; this skill covers what Docker can't).
帮我安装这个 skill:https://raw.githubusercontent.com/nubjs/nub/main/.claude/skills/ci-adhoc-test/SKILL.mdcurl -fsSL "https://raw.githubusercontent.com/nubjs/nub/main/.claude/skills/ci-adhoc-test/SKILL.md"# Ad-hoc testing on a real OS/platform via CI
Some behavior is only observable on a real target platform: macOS Seatbelt / `sandbox-exec` / Gatekeeper / codesigning, Windows `cmd.exe` / `--script-shell` selection / `.cmd`/`.bat` resolution / Authenticode / SmartScreen, musl-vs-glibc detection, Linux-arm64, a pinned Node floor. Docker closes the **Linux** corners cheaply but runs Linux containers only — it is not a substitute for macOS or Windows.
## The key fact: no PR is required
A GitHub Actions workflow does not need an open pull request. Trigger it on the **branch**:
```yaml
on:
push:
branches: [<your-probe-branch>] # THE trigger: runs on every push to THIS branch
paths: