Releasing Marchat
Cod-e-Codes/marchat
Prepares marchat releases: version bumps, CHANGELOG, packaging checksums, GitHub Actions release workflow, and Docker tags.
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 /…
$ npx skills add nubjs/nub --skill ci-adhoc-test -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nubjs/nub ci-adhoc-test --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .claude/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .claude/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-testType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nubjs/nub --skill ci-adhoc-test -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nubjs/nub ci-adhoc-test --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .agents/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .agents/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nubjs/nub --skill ci-adhoc-test -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nubjs/nub ci-adhoc-test --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .cursor/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .cursor/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nubjs/nub.git --path .claude/skills/ci-adhoc-test--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nubjs/nub --skill ci-adhoc-test -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nubjs/nub ci-adhoc-test --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .gemini/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .gemini/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nubjs/nub ci-adhoc-testInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nubjs/nub --skill ci-adhoc-test -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .github/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .github/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nubjs/nub --skill ci-adhoc-test -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nubjs/nub ci-adhoc-test --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nubjs/nub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ci-adhoc-test .opencode/skills/ci-adhoc-test && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ci-adhoc-test" agent skill from https://github.com/nubjs/nub/tree/main/.claude/skills/ci-adhoc-test into .opencode/skills/ci-adhoc-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-adhoc-test", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ci-adhoc-testRun 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 /…
CI Adhoc Test is an agent skill from nubjs/nub. 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…
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Pull requests, Containers and CI/CD. It works with macOS, Docker, Linux and GitHub Actions. The repository describes itself as: The fast all-in-one Node.js toolkit. The licence is MIT.
Read from SKILL.md and the folder at commit 568e73a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitcargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
CI Adhoc Test loads about 1.7k tokens when it runs. Until then it costs about 232 tokens; SKILL.md has 805 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nubjs/nub at commit 568e73a, republished under its MIT licence (© nubjs). 805 words, ~1,691 tokens.
.claude/skills/ci-adhoc-test/SKILL.md (or your agent's skills folder).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.
A GitHub Actions workflow does not need an open pull request. Trigger it on the branch:
on:
push:
branches: [<your-probe-branch>] # THE trigger: runs on every push to THIS branch
paths: # only when the harness itself changes
- 'tests/<probe-name>/**'
- '.github/workflows/<wf>.yml'
workflow_dispatch: # INERT until the file lands on the default branch — see belowgit commit --allow-empty -m rerun && git push. Or re-run a finished run with gh run rerun <run-id> (gh run list --branch <branch> for the id).push is load-bearing; workflow_dispatch alone will NOT work for a branch-only probe. GitHub only registers a workflow_dispatch workflow if the file is on the default branch, so gh workflow run <wf>.yml --ref <branch> errors ("no workflows found") and it never appears in the Actions UI. Keep the entry for when the probe graduates to main; don't rely on it before then.pull_request: trigger — it ties runs to PR state, which is what you're avoiding.Keep the probe self-contained under tests/<probe-name>/, mirroring the existing ones:
sandbox-exec runner; a .cmd resolver harness).README.md (what it validates, how to reproduce locally) and a results.md (findings, plus heavy runs reproduced on demand)..github/workflows/<wf>.yml.Mirror tests/sandbox-macos-writeconfine/ + .github/workflows/sandbox-macos-writeconfine.yml, or its Windows counterpart tests/sandbox-win-probes/ (each on its own probe branch, not main).
Keep CI lean — fast, deterministic core only: unit tests + the enforcement/bypass smoke matrix, no network, no mega-fixture. Heavy or combinatorial runs are documented in results.md and reproduced on demand. CI capacity is shared; a 22-minute-per-push probe job is already a lot.
When the probe fails and you have several plausible repairs, do not guess-and-push: each loop costs a
full build plus queue time. Write a job that tries all candidates at once against a stand-in, with
no compile step — a .cmd/shell quoting question needs cmd.exe and a two-line stub, not the real
binary. Minutes instead of half an hour, and the losing candidates are results you keep.
Two rules that make the output trustworthy:
gh run list --workflow <wf>.yml --branch <branch>.ci-watch skill (scripts/ci-watch.ts) rather than raw gh run watch — it waits for the run to exist, polls authoritative terminal status, fails fast, and exits 0 only on confirmed success.main through the normal flow (it's tests/** + a workflow file — a content/CI change routed straight to main). Decide its steady-state trigger then.results.md captures the findings) — never open a PR to "preserve" a throwaway probe.cargo check -p nub-cli --all-targets --target x86_64-pc-windows-gnu proves the code COMPILES for Windows. It says nothing about whether the tests PASS there, and the gap is exactly where platform behavior lives: .cmd shims vs #!/usr/bin/env node, path separators, NODE_OPTIONS tokenizing, process.title, mode bits that are no-ops.
A cross-compile is a necessary pre-flight, never the evidence. If you are un-gating tests from #[cfg(unix)], or writing anything whose behavior could differ by platform, run a branch probe BEFORE pushing — it needs no PR and costs one workflow run.
ad-hoc-test) — the behavior reproduces on your dev machine. Default for anything not platform-gated.© nubjs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/ci-adhoc-test of nubjs/nub.
Open the folder on GitHubat commit 568e73a
CI Adhoc Test next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CI Adhoc Test this skillnubjs/nub | 4.4k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Releasing MarchatCod-e-Codes/marchat | 137 | — | ~801 | Automated safety check: Pass | MIT | |
| Swig CI Reproswig/swig | 6.3k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Gh Localankitvgupta/exo | 496 | — | ~581 | Automated safety check: Pass | Custom licence | |
| GitHub Runnermagnus919/agent-skills | 113 | — | ~1.7k | Automated safety check: Pass | MIT | |
| .NET Crash Dump Collectiondotnet/skills | 5.6k | 2 repos | ~1.1k | Automated safety check: Pass | MIT |
Cod-e-Codes/marchat
Prepares marchat releases: version bumps, CHANGELOG, packaging checksums, GitHub Actions release workflow, and Docker tags.
swig/swig
Reproduce a GitHub Actions Linux CI failure locally when it does not happen on your machine: a podman/docker image that mirrors the ubuntu-22.04 runner by reusing the real Tools/CI-linux-.sh install…
ankitvgupta/exo
Run GitHub Actions CI workflows locally using nektos/act in Docker.
magnus919/agent-skills
Deploy, manage, and troubleshoot self-hosted GitHub Actions runners.
dotnet/skills
Configures automatic crash dumps or captures dumps from running processes for modern .NET apps on Linux, macOS and Windows, including Docker and Kubernetes.
kimdre/doco-cd
Review pull request diffs for correctness and regressions, and provide actionable feedback when asked to review a PR.
nubjs/nub
Diagnose and clear CPU, memory, and disk contention on the maintainer's dev host.
nubjs/nub
Reclaim disk on the maintainer's Mac when the volume is full or filling — ENOSPC, "no space left on device", a failed build or agent harness, or a routine sweep of Rust build residue.
nubjs/nub
Build a performance chart for nubjs.com — the SVG bar figures in blog posts, docs pages and social posts (a runtime augmentation against plain node, an install or dispatch comparison, a cross-tool…
nubjs/nub
A skill your agent uses when running a compatibility/parity AUDIT — enumerating where nub diverges from a reference it claims parity with (pnpm CLI grammar, a lockfile format, a Node behavior, a…
nubjs/nub
Run ad-hoc Nub tests and debugging probes on real local Linux guests.
nubjs/nub
Performance-trace Nub package-manager installs using the existing phase timings, structured diagnostics, and sampling-profiler workflow.
Works with
Categories
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 /…. CI Adhoc Test is an agent skill from nubjs/nub.cmd resolution / Authenticode, musl-vs-glibc, Linux-arm64, a specific Node floor.
CI Adhoc Test fits situations like: asks to test this on macOS/Windows CI; probe this across operating systems / platforms; run an ad-hoc cross-platform check; any validation that needs a real macOS.
Run `npx skills add nubjs/nub --skill ci-adhoc-test -a claude-code`. Or copy the skill folder (.claude/skills/ci-adhoc-test in nubjs/nub) into .claude/skills/ci-adhoc-test in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nubjs/nub --skill ci-adhoc-test -a codex`. Or copy the skill folder (.claude/skills/ci-adhoc-test in nubjs/nub) into .agents/skills/ci-adhoc-test in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nubjs/nub --skill ci-adhoc-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci-adhoc-test, .gemini/skills/ci-adhoc-test, .github/skills/ci-adhoc-test and .opencode/skills/ci-adhoc-test in your project.
Going by SKILL.md and its folder, CI Adhoc Test needs the command-line tools its instructions call (gh, git and cargo). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
CI Adhoc Test is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with CI Adhoc Test: Releasing Marchat (Cod-e-Codes/marchat, 137 stars), Swig CI Repro (swig/swig, 6.3k stars), Gh Local (ankitvgupta/exo, 496 stars) and GitHub Runner (magnus919/agent-skills, 113 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nubjs (a GitHub organization) maintains it in nubjs/nub, which has 4,372 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.
Source: nubjs/nub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.