
Build Test
FreeAutomate build and test command execution for projects.
Free · Opens the source repo
What Build Test does
The Build Test skill is designed for developers who need to ensure the integrity of their code during the development process. It automates the execution of build, typecheck, lint, and test commands, providing structured signals that indicate whether the build and tests are passing or failing. This is particularly useful in continuous integration workflows, where maintaining code quality is critical.
When you run this skill, it shells out to the project's defined test commands, which are specified in the package.json file. The skill emits two key signals: build.passing and tests.passing, which can be read by the devloop's until evaluator. This allows developers to automate their testing processes, ensuring that any changes made to the codebase do not break existing functionality. The output includes a detailed report that captures the results of the build and test commands, along with any failures encountered during execution.
This skill is particularly beneficial for teams that follow a strict development process and need to validate their code changes frequently. By integrating the Build Test skill into your workflow, you can streamline the process of checking code quality and reduce the risk of introducing bugs into production. It is suitable for projects using frameworks like Next.js, Vite, or Remix, as well as custom setups where test commands are defined in package.json.
However, it is important to note that this skill is not designed for running tests on a partially edited working tree, as it enforces that tests are only run after the code has been fully patched and is in a completed state. This ensures that the results are reliable and reflective of the current state of the codebase.
When to use it
Use this skill when you need to validate your code changes by running build and test commands automatically.
When not to use it
This skill is not suitable for running tests on incomplete code or for scenarios where test execution needs to be manually controlled.
What you can build with it
Continuous Integration Pipeline
Integrate Build Test into your CI pipeline to automatically validate code changes after each commit.
Quality Assurance
Use this skill to ensure that all builds are passing before deploying to production, reducing the risk of bugs.
Framework-Specific Testing
Leverage the skill's support for various frameworks to streamline your testing process across different projects.
How to install Build Test
View source1. Install with the skills CLI
npx skills add nexu-io/open-design/build-test --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nexu-ioBuild test
Spec §20.2 / §22.4: the "subjective critique-theater panel" is
not enough on its own — a code-migration / tune-collab run must
prove the build still passes. This atom shells out to the
project's declared test commands and emits structured signals the
devloop's until evaluator reads.
Inputs
- The active target stack (recorded in
code/index.json+plan.md's targetStack block). - The user's optional override (
od plugin run --input testCommand='pnpm test').
Default commands by framework
| framework | typecheck | test |
|---|---|---|
| next | pnpm typecheck | pnpm test |
| vite | pnpm typecheck | pnpm test |
| remix | pnpm typecheck | pnpm test |
| custom | (read from package.json.scripts) | (read from package.json.scripts) |
Output
project-cwd/
└── critique/
├── build-test.json # { build: 'passing' | 'failing', tests: 'passing' | 'failing' | 'skipped', durationMs, commandsRun: [...], failures: [...] }
└── build-test.log # raw stdout / stderr (truncated to the runner's logBudgetBytes limit, default 1 MiB)
The atom emits two signals the devloop reads:
build.passing: boolean— the typecheck command exited 0.tests.passing: boolean— the test command exited 0.
Plus the legacy critique.score so existing pipelines that read
the score keep working: 5 when both pass, 3 when only build
passes, 1 when both fail.
Convergence
Pipelines wire the atom into a devloop:
{
"id": "verify",
"atoms": ["patch-edit", "build-test"],
"repeat": true,
"until": "(build.passing && tests.passing) || iterations >= 8"
}
Anti-patterns the prompt fragment forbids
- Running tests on a partially-edited working tree (the atom
always runs after
patch-edit, and only whenplan.steps's current step is incompletedstate). - Suppressing test failures by changing test files; that violates the rewrite-plan ownership rule.
- Setting
tests: 'skipped'without a non-emptyreasonfield.
Status
Implemented by the daemon runner in
apps/daemon/src/plugins/atoms/build-test.ts. It executes the configured
build and test commands, bounds runtime and captured logs, and persists the
report and log outputs above.
Frequently asked questions about Build Test
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
