mcpField
A
automate-tests

automate-tests

github.com/nesnilnehcTesting & quality847 installsUpdated 1d ago
Repository

About automate-tests

A repository-focused skill for discovering and safely running automated tests. It selects commands from project documentation, CI, or build files, applies confirmation and safety checks, then reports evidence and results.

Key features

  1. 01Finds test commands from repository evidence
  2. 02Selects fast, CI, or full test modes
  3. 03Requires approval for setup and services
  4. 04Captures command output and exit codes
  5. 05Summarizes results and failures

Use cases

  1. 01Finding the right tests in a cloned repository
  2. 02Choosing a safe default for layered test suites
  3. 03Reproducing CI commands locally
  4. 04Reporting test execution and failures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nesnilnehc/ai-cortex --skill automate-tests

After installing, type/automate-testsin Claude Code to confirm it loaded.

Bundled filesREADME.md

Details

From the project README

Skill: Run Automated Tests

Purpose

Work out how the target repository expects automated tests to be run (commands, frameworks, prerequisites, and scope), then run the best-matching test suite under a safety-first interaction policy.


Core Objective

Primary goal: produce test execution results through evidence-based command selection and safety guardrails.

Success criteria (all must hold):

  1. ✅ Test plan discovered: the evidence source is identified (documentation, CI configuration, or build manifest)
  2. ✅ Command selected: the appropriate test command is chosen for the mode (fast/ci/full) and the constraints
  3. ✅ User confirmation obtained: approval received before installing dependencies, using the network, or starting services
  4. ✅ Tests executed: the command was run with its output and exit code captured
  5. ✅ Results summarized: a test plan summary with evidence, commands, execution status, and failures (if any)

Acceptance test: can a developer reproduce the test execution by following the test plan summary, with no extra context?


Scope Boundaries

This skill owns:

  • Discovering the test command from repository evidence (documentation, CI, build manifests)
  • Selecting the appropriate test command for the mode and the constraints
  • Executing tests behind safety guardrails and user confirmation
  • Summarizing test results with evidence and failure diagnostics

This skill does not own:

  • Test quality assessment or coverage analysis (use review-testing)
  • Fixing failing tests or debugging test failures (use orchestrate-repair-loop)
  • Writing new tests or test infrastructure (use the development skills)
  • Reviewing test code against best practices (use review-testing)

Handoff point: once the tests finish (pass or fail), hand off to orchestrate-repair-loop to fix the failures, or to review-testing for a quality assessment.

Use Cases

  • You cloned a repository and want the right test command without guessing.
  • The repository has several test layers (unit/integration/e2e) and you need a safe default run plan.
  • CI failed and you want to reproduce it locally by running the same commands the workflow uses.

Behavior

  1. Establish scope and constraints (ask when unclear)

    • With nothing specified by the user, default to a fast, local, non-destructive run:
      • Unit tests only, no external services, no Docker, no network-dependent setup.
    • Where it matters, have the user pick a mode:
      • fast: unit tests only, minimal setup.
      • ci: mirror the CI workflow commands as closely as possible.
      • full: include integration/e2e tests and service dependencies.
    • Ask whether Docker is allowed, whether network access is allowed, and whether dependency installation is allowed.
  2. Discover the test plan (evidence-based)

    • If CLAUDE.md or .ai-cortex/config.yaml exists, prefer the test_command recorded there; otherwise discover it from the sources below. See docs/guides/project-config.md.
    • Read these sources in order; stop early once a clear, unambiguous test command turns up:
      • README.md, CONTRIBUTING.md, TESTING.md, docs/testing*, Makefile
      • CI configuration: .github/workflows/*.yml, .gitlab-ci.yml, azure-pipelines.yml, Jenkinsfile
      • Build manifests: package.json, pyproject.toml, setup.cfg, tox.ini, go.mod, pom.xml, build.gradle*, *.csproj, Cargo.toml
    • Identify:
      • The primary test entry point (npm test, pnpm test, yarn test, pytest, tox, go test, dotnet test, mvn test, gradle test, cargo test, and so on)
      • Test layers and markers (unit, integration, e2e)
      • Environment prerequisites (DB, Redis, Docker Compose, required environment variables, secrets)
      • How CI sets up its dependencies (services, caches, artifacts)
    • Prefer an explicit statement in the documentation or CI over heuristic inference.
  3. Choose the execution plan

    • In ci mode: derive the run sequence from the repository's CI workflow steps (closest match).
    • In fast mode: pick the most direct unit test command, the one with the fewest prerequisites.
    • With several stacks present (backend + frontend, say), suggest running each stack separately in a fixed order.
    • If the plan needs a dependency install or a service start, ask for confirmation before continuing.
  4. Execute with guardrails

    • Always print the exact command you are about to run, before running it.
    • Use a working directory rooted at the target repository (default .).
    • Capture and summarize failures:
      • The first failing command and its exit code
      • The most relevant error excerpt
      • Next actions (missing toolchain, missing environment variable, service not running, and so on)
    • Avoid destructive operations:
      • Do not run rm -rf, git clean -fdx, docker system prune, or database drop/migration commands without the user's explicit approval.
    • If the repository needs secrets, do not ask the user to paste them into the chat. Use a .env file, a secret manager, or the documented local development flow.

Input & Output

Input
  • Target repository path (default .).
  • Mode: fast (default), ci, or full.
  • Constraints: dependency install allowed (yes/no), network allowed (yes/no), Docker allowed (yes/no).
Output
  • A short "test plan summary" containing:
    • Evidence: which files/paths informed the plan
    • The selected commands (in order)
    • Assumptions and prerequisites
    • What was executed and what was skipped (and why)
  • Enough of the command log to debug a failure (do not dump extremely long logs unless asked).

Restrictions

Hard Boundaries
  • Do not invent a test command when evidence exists (documentation/CI takes precedence).
  • Do not install dependencies, run Docker, or start external services without confirmation.
  • Do not modify repository files unless the user explicitly asks (exception: generating a report file when the user asks for an artifact).
  • Do not leak secrets; do not request sensitive credentials in the chat.
Skill Boundaries (avoid overlap)

Do not do these (other skills handle them):

  • Test quality assessment: judging test coverage, test design, or testing best practices → use review-testing
  • Fixing test failures: debugging failing tests, repairing broken test code, or root-causing → use orchestrate-repair-loop
  • Writing tests: creating new test cases, test infrastructure, or a test framework → use the development/implementation skills
  • Code review: reviewing test code for quality, maintainability, or best practices → use review-testing
  • Repository analysis: full codebase structure analysis or architecture review → use review-codebase

When to stop and hand off:

  • Tests fail and the user asks "why?" or "how do I fix it?" → hand off to orchestrate-repair-loop for debugging and repair
  • The user asks "are these tests any good?" or "what is our coverage?" → hand off to review-testing for a quality assessment
  • The user asks "can you write tests for X?" → hand off to the development workflow for test implementation
  • Tests pass and the user asks "what should we test next?" → hand the test strategy suggestion to review-testing

Self-Check

Core success criteria (all must hold)
  • Test plan discovered: the evidence source is identified (documentation, CI configuration, or build manifest)
  • Command selected: the appropriate test command is chosen for the mode (fast/ci/full) and the constraints
  • User confirmation obtained: approval received before installing dependencies, using the network, or starting services
  • Tests executed: the command was run with its output and exit code captured
  • Results summarized: a test plan summary with evidence, commands, execution status, and failures (if any)
Process quality checks
  • Evidence-based selection: did I identify at least one authoritative source for the test command (a doc file, a CI workflow, or a build manifest)?
  • Safety guardrails applied: did I ask for confirmation before installing dependencies, using the network, starting Docker/services, or any state-changing action?
  • Commands printed: did I print the exact command before running it?
  • Failures diagnosed: when tests failed, did I give the first failing command, the exit code, and a likely root-cause category?
  • No destructive operations: did I avoid running destructive commands (rm -rf, git clean, docker system prune, database drops) without explicit approval?
  • No secret leakage: did I avoid asking for sensitive credentials in the conversation, using a .env file or the documented local development flow instead?
Acceptance test

Can a developer reproduce the test execution by following the test plan summary, with no extra context?

If no: the test plan summary is incomplete. Add the missing evidence, commands, or prerequisites.

If yes: the skill run is complete. Continue to the handoff if one is needed.

Examples

Example 1: a JavaScript repo with package.json

User: "run the tests for this repository."

Agent:

  1. Check the package.json scripts and .github/workflows/*.
  2. Settle on fast mode and propose:
    • npm test (or pnpm test / yarn test if the repository standardizes on one)
  3. Ask: "install dependencies (npm ci) and allow network access?"
  4. Run:
    • npm ci
    • npm test
  5. Summarize the results and point at the failing test output, if any.
Example 2 (edge case): a monorepo that needs Docker for integration tests

User: "mirror CI locally."

Agent:

  1. Parse .github/workflows/ci.yml and identify the separate jobs:
    • Backend unit tests
    • Frontend tests
    • Integration tests with docker compose
  2. Ask for confirmation:
    • Docker allowed
    • Network allowed
    • Which jobs to run (all of them, or only the failing one)
  3. Execute in a controlled order:
    • Install deps per job
    • Run unit tests first
    • Start the services for the integration tests
  4. If the integration tests fail, summarize:
    • Service health/port conflicts
    • Missing environment variables
    • How the CI configuration differs from the local one

Comments

Markdown supported