Agent skill

Core Testing

by macalbert in macalbert/envilder

Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or…

MITAuto-check passedTesting & QA

Install Core Testing

skills CLI
$ npx skills add macalbert/envilder --skill core-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install macalbert/envilder core-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/core-testing .claude/skills/core-testing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
core-testing
GitHub stars
138
Token cost
~1.4k tokens
SKILL.md length
565 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or…

  • Works in 10 steps: Read the approved intent, behavior,… → Classify the justified test level. → Create or update only the verification… → …
  • Tasks that involve Unit testing
  • SKILL.md covers Outcome, When To Use, Inputs and Procedure, plus 4 more sections
  • Calls pnpm

What it does

Core Testing is an agent skill from macalbert/envilder. Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or GitHub Action flows.

Its SKILL.md is about 1.4k 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 Testing & QA, covering Unit testing, CI/CD and End-to-end testing. It works with Vitest. The repository describes itself as: One secret mapping for local dev, CI/CD, and runtime. Envilder resolves cloud secrets from your own vaults without SaaS middlemen, duplicated config, or .env drift. The licence is MIT.

When your agent uses it

  • Tasks that involve Unit testing
  • Tasks that involve CI/CD
  • Tasks that involve End-to-end testing

Example prompts

  • “/core-testing”

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Read the approved intent, behavior, invariants, and verification strategy.
  2. Classify the justified test level.
  3. Create or update only the verification artifacts required by the contract.
  4. Name tests using the required pattern.
  5. Write tests with explicit AAA sections.
  6. Mock at the port boundary for application tests.
  7. Validate primary success and failure paths required by the contract.
  8. Keep assertions behavior-focused.
  9. For test-support changes, run a production-behavior consumer or direct
  10. Run the targeted contract command and assigned broader gates.

What it can do on your machine

Read from SKILL.md and the folder at commit b6a0327. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Core Testing loads about 1.4k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 565 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from macalbert/envilder at commit b6a0327, republished under its MIT licence (© macalbert). 565 words, ~1,374 tokens.

Download SKILL.mdSave it as .claude/skills/core-testing/SKILL.md (or your agent's skills folder).
name
core-testing
description
Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or GitHub Action flows.
argument-hint
feature or file under test

Envilder Testing Conventions

Outcome

Produce behavioral verification that matches Envilder standards and protects the risk identified by an approved VerificationContract.

When To Use

  • Establishing, reusing, or updating tests for application or domain behavior
  • Updating tests after refactors in CLI, GHA, infrastructure, or ports
  • Reviewing whether test style is consistent before opening a PR
  • Diagnosing test infrastructure after consumer evidence proved insufficient

Inputs

  • Target behavior, file, or feature to test
  • Test level: unit, integration, or e2e
  • Any error paths or edge conditions to validate

Procedure

  1. Read the approved intent, behavior, invariants, and verification strategy.
    • Do not add a test when a compiler, schema, direct workflow, existing baseline, or other oracle protects the requirement more directly.
  2. Classify the justified test level.
    • Use unit tests for pure domain or application behavior with stable ports.
    • Use mocked port contracts (vi.fn()) for application handlers.
    • Use integration or e2e tests when cloud, DI, CLI, GitHub Action, or cross-layer wiring is the actual risk.
  3. Create or update only the verification artifacts required by the contract.
    • App and domain tests: tests/ mirrored to src/ structure.
    • E2E tests: e2e/ using LocalStack/TestContainers.
  4. Name tests using the required pattern.
    • Should_<Expected>_When_<Condition>
    • Example: Should_ThrowError_When_SSMParameterIsNotFound
  5. Write tests with explicit AAA sections.
    • Add comment markers in each test block:
      • // Arrange
      • // Act
      • // Assert
    • Each marker appears at most once per test. If you need to test two actions or two assertions on different behaviors, write two separate tests.
  6. Mock at the port boundary for application tests.
    • Build test doubles by implementing domain port interfaces.
    • Prefer vi.fn() to control behavior and assertions.
  7. Validate primary success and failure paths required by the contract.
    • Success path (expected output/state change)
    • Domain error path (invalid input, missing parameter, etc.)
    • Empty/no-op behavior where relevant
  8. Keep assertions behavior-focused.
    • Assert effects and interactions, not implementation details.
    • Verify calls to injected ports and logger where behavior requires it.
  9. For test-support changes, run a production-behavior consumer or direct workflow first. Add a focused support test only for a documented diagnostic precision gap.
  10. Run the targeted contract command and assigned broader gates.
  • pnpm test
  • pnpm lint
  • For CI parity when needed: pnpm test:ci
Show full SKILL.md (209 more words)Show less

Decision Points

  • If a business rule is pure and deterministic: use a domain unit test.
  • If orchestration calls multiple ports: test command handler with mocked dependencies.
  • If AWS integration semantics are the risk: add or update e2e with LocalStack.
  • Require e2e only when behavior changes cannot be proven confidently with unit tests.
  • If only formatting/import changes occurred: update tests only when behavior changed or snapshots/assertions became stale.
  • If the intent is PURE_REFACTOR: establish a green baseline and keep behavioral tests unchanged.
  • If the intent is NON_BEHAVIORAL_CHANGE: do not manufacture a test.

Completion Criteria

  • Test names follow Should_<Expected>_When_<Condition>
  • AAA markers are present, clear, and appear at most once each per test
  • Positive and negative paths are both covered
  • No mandatory coverage percentage threshold is enforced by this skill
  • Verification rejects the incorrect or previous behavior for the expected reason when a negative signal is practical
  • Tests run green locally with pnpm test
  • No type/lint regressions from test changes (pnpm lint)

Quick Prompt Examples

  • "Use testing-conventions for PullSecretsToEnvCommandHandler and add missing error-path tests."
  • "Apply testing-conventions to review tests/envilder/apps/gha/entry/Gha.test.ts for naming and AAA compliance."
  • "Use testing-conventions to design e2e coverage for SSM not-found behavior."

Anti-Pattern: Duplicate Act/Assert Blocks

Wrong: two Acts and Asserts in one test:

typescript
it('Should_HandleParameters_When_Called', async () => {
  // Arrange
  const mockData = { KEY: '/ssm/path' };

  // Act
  await handler.handle(commandA);

  // Assert
  expect(mockStore.saveEnvironment).toHaveBeenCalledOnce();

  // Act
  await handler.handle(commandB);

  // Assert
  expect(mockStore.saveEnvironment).toHaveBeenCalledTimes(2);
});

Correct: split into two focused tests:

typescript
it('Should_SaveEnvironment_When_CommandAProvided', async () => {
  // Arrange
  const mockData = { KEY: '/ssm/path' };

  // Act
  await handler.handle(commandA);

  // Assert
  expect(mockStore.saveEnvironment).toHaveBeenCalledOnce();
});

it('Should_SaveEnvironment_When_CommandBProvided', async () => {
  // Arrange
  const mockData = { KEY: '/ssm/path' };

  // Act
  await handler.handle(commandB);

  // Assert
  expect(mockStore.saveEnvironment).toHaveBeenCalledOnce();
});

© macalbert, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/core-testing of macalbert/envilder.

Open the folder on GitHubat commit b6a0327

Compare with similar skills

Core Testing 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.

Core Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Core Testing this skillmacalbert/envilder138—~1.4kAutomated safety check: PassMIT
Designing TestsCloudAI-X/claude-workflow-v21.4k1 repos~1.5kAutomated safety check: PassMIT
Testing Guidemobazha/mobazha-unified165—~1.7kAutomated safety check: PassMPL-2.0
Angular TestingKilo-Org/kilo-marketplace189—~2.9kAutomated safety check: PassMIT
Test Writing WorkflowiOfficeAI/AionUi33k1 repos~1.2kAutomated safety check: PassApache-2.0
Archestra Dev Testingarchestra-ai/archestra4.3k—~3.2kAutomated safety check: PassCustom licence

Similar skills

  • Designing Tests

    CloudAI-X/claude-workflow-v2

    Designs and implements testing strategies for any codebase. An agent skill from CloudAI-X/claude-workflow-v2.

    1.4k GitHub starsUsed in 1 repo~1.5k tokens
    Testing & QAAuto-check passed
  • Testing Guide

    mobazha/mobazha-unified

    Guide for writing unit tests (Vitest), integration tests, and E2E tests (Playwright) following Mobazha project conventions.

    165 GitHub stars~1.7k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Angular Testing

    Kilo-Org/kilo-marketplace

    Write unit and integration tests for Angular v20+ applications using Vitest or Jasmine with TestBed and modern testing patterns.

    189 GitHub stars~2.9k tokensUpdated 9 days ago
    Testing & QAAuto-check passed
  • Test Writing Workflow

    iOfficeAI/AionUi

    Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.

    33k GitHub starsUsed in 1 repo~1.2k tokens
    Testing & QAAuto-check passed
  • Archestra Dev Testing

    archestra-ai/archestra

    A skill your agent uses for test selection and quality across backend, frontend, and e2e; load its backend reference for Vitest projects, mocking, DB fixtures, and performance.

    4.3k GitHub stars~3.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Frontend Testing

    Ohh-889/skyroc

    Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities.

    795 GitHub starsUsed in 1 repo~2.5k tokens
    Testing & QAAuto-check passed

More from macalbert/envilder

All 30 skills in this repo
  • Code Review Perspectives

    macalbert/envilder

    Five independent analysis perspectives for code review: correctness, architecture, security, conventions, and complexity.

    138 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions.

    138 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Common Git

    macalbert/envilder

    Git commit messages, PR workflow, and branching strategy using Conventional Commits and Semantic Versioning.

    138 GitHub stars~991 tokensUpdated 2 days ago
    Auto-check passed
  • Common Testing Conventions

    macalbert/envilder

    Mandatory testing conventions including the narrow diagnostic exception for testing test-only code, AAA pattern, test naming, and assertions across all stacks (.NET, TypeScript, Python).

    138 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Doc Maintenance

    macalbert/envilder

    Workflow for maintaining changelogs, READMEs, and documentation files.

    138 GitHub stars~904 tokensUpdated 2 days ago
    Auto-check passed
  • Doc Sync

    macalbert/envilder

    Audit and synchronize documentation across website, READMEs, and docs/.

    138 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Core Testing

What does Core Testing do?

Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or…. Core Testing is an agent skill from macalbert/envilder. Apply Envilder testing conventions when a verification contract selects Vitest unit tests, integration tests, or LocalStack e2e evidence for command handlers, domain entities, adapters, CLI, or GitHub Action flows.

When should I use Core Testing?

Core Testing fits situations like: tasks that involve Unit testing; tasks that involve CI/CD; tasks that involve End-to-end testing.

How do I install Core Testing in Claude Code?

Run `npx skills add macalbert/envilder --skill core-testing -a claude-code`. Or copy the skill folder (.github/skills/core-testing in macalbert/envilder) into .claude/skills/core-testing in your project. Claude Code loads it when a task matches its description.

How do I install Core Testing in Codex?

Run `npx skills add macalbert/envilder --skill core-testing -a codex`. Or copy the skill folder (.github/skills/core-testing in macalbert/envilder) into .agents/skills/core-testing in your project. Codex loads it when a task matches its description.

Can I use Core Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add macalbert/envilder --skill core-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/core-testing, .gemini/skills/core-testing, .github/skills/core-testing and .opencode/skills/core-testing in your project.

What does Core Testing need to run?

Going by SKILL.md and its folder, Core Testing needs the command-line tools its instructions call (pnpm).

Does Core Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Core Testing safe to install?

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.

What licence does Core Testing use?

Core Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Core Testing use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Core Testing?

Skills that share tags, products or a category with Core Testing: Designing Tests (CloudAI-X/claude-workflow-v2, 1.4k stars), Testing Guide (mobazha/mobazha-unified, 165 stars), Angular Testing (Kilo-Org/kilo-marketplace, 189 stars) and Test Writing Workflow (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Core Testing?

macalbert (a GitHub user) maintains it in macalbert/envilder, which has 138 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 5, 2026.

Source: macalbert/envilder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.