blacksmith-testbox

Runs tests, builds, and migrations on remote CI testboxes via the Blacksmith CLI.

Updated May 11, 2026
One-click install
npx skills add https://github.com/mmnavarr/harness --skill blacksmith-testbox-mmnavarr
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: blacksmith-testbox
Source: https://github.com/mmnavarr/harness/tree/main/skills/blacksmith-testbox
Command: npx skills add https://github.com/mmnavarr/harness --skill blacksmith-testbox-mmnavarr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Local machines lack the secrets, services, and environment parity needed to validate code changes reliably. This Skill routes every test run, build, and migration through a remote Blacksmith testbox that mirrors your real CI environment, so validation results match what CI will produce. ## Core Features & Use Cases - Remote CI Validation: Warm up a testbox from a GitHub Actions workflow, then run tests, builds, and migrations against a VM with dependencies installed, services started, and secrets injected. - Delta File Sync: Each run syncs only changed git-tracked files to the testbox, keeping iteration fast while respecting .gitignore rules for dependency directories. - Artifact Retrieval: Download coverage reports, build outputs, and test results from the testbox back to your local machine. - Use Case: You modify package.json and need to verify the app still passes its suite. Warm up a testbox, run "npm install && npm test" remotely, download the coverage report, and commit only after everything is green. ## Quick Start Ask the agent to warm up a Blacksmith testbox for this repo and run the project's test suite on it before committing.

Frequently Asked Questions about blacksmith-testbox

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run tests on a remote CI environment before committing?▼

Warm up a Blacksmith testbox with your CI workflow file to get a testbox ID, then run commands with blacksmith testbox run --id <ID>. The CLI syncs your local changes and executes the command on a VM matching your CI environment.

How do I authenticate the Blacksmith CLI non-interactively?▼

Use blacksmith auth login --non-interactive --organization <org-slug> for browser-based sign-in. The CLI opens the browser, waits up to 2 minutes for the user to authorize, and saves credentials automatically.

Why are my node_modules or vendor changes not reflected on the testbox?▼

The sync only transfers git-tracked and non-ignored files, so .gitignore'd dependency directories are never uploaded. After changing a dependency manifest, re-run the install command on the testbox, such as npm install && npm test.

Can I run blacksmith testbox commands from a subdirectory?▼

No, always run from the repository root. The CLI rsyncs the working directory with --delete, so running from a subdirectory would mirror only that folder and delete everything else on the testbox.

How do I download test results or coverage reports from a testbox?▼

Use blacksmith testbox download --id <ID> <remote-path> [local-path]. Append a trailing slash to the remote path to download an entire directory recursively, such as coverage reports or build artifacts.

When should I not use a remote testbox for validation?▼

Skip the testbox only for trivial checks with zero external dependencies, such as running a linter or formatter locally. Any test, migration, build, or command needing secrets or services should go through the testbox.