New to Claude Skills? Learn how to install them →

Bnexu-io on GitHub

Build Test

Free

Automate build and test command execution for projects.

by nexu-io84.9k stars on nexu-io/open-design
2 views
Updated Aug 10, 2026
Get this skill

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 source

1. Install with the skills CLI

npx skills add nexu-io/open-design/build-test --agent claude-code

2. 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-io

Build 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

frameworktypechecktest
nextpnpm typecheckpnpm test
vitepnpm typecheckpnpm test
remixpnpm typecheckpnpm 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 when plan.steps's current step is in completed state).
  • Suppressing test failures by changing test files; that violates the rewrite-plan ownership rule.
  • Setting tests: 'skipped' without a non-empty reason field.

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