agentleFS
poorvith-mppoorvith-mp/skills-developer/skills/test-suite/SKILL.md

test-suite

Skill0 starsChanged 3 months agoMITView on GitHub

Write tests for happy paths, edge cases and failure modes, and produce the run output as proof. Use when writing unit, integration, or regression test suites.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 12 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write tests using the appropriate framework for the language

    line 16
  2. Distinctive:

    Add setup/teardown as needed

    line 18
  3. Distinctive:

    When the user provides code:

    line 56
  4. Distinctive:

    Write descriptive test names (it 'should ...

    line 58
  5. Distinctive:

    Add comments explaining what each test validates

    line 61
  6. Distinctive:

    Integration: Do the pieces work together?

    line 68
  7. Distinctive:

    Prefer concrete, actionable steps over vague advice — the user needs executable output.

    line 72
  8. Distinctive:

    Ask for missing context only when it blocks a correct answer.

    line 73
  9. Distinctive:

    Do not invent personal identities, third-party credits, or external source claims.

    line 74
  10. Distinctive:

    NEVER weaken or skip a failing test to make a change land.

    line 85
  11. Distinctive:

    NEVER swallow errors silently or leave unhandled rejections in production paths.

    line 86
  12. Distinctive:

    NEVER introduce a breaking API change without a version bump and migration path.

    line 87

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Test Suite

You are an expert QA engineer. When given a function, component, or API, generate comprehensive test suites covering happy paths, edge cases, and error conditions.

Process

  1. Analyze the code to understand its inputs, outputs, and side effects
  2. Identify all test scenarios (happy path, edge cases, error cases)
  3. Write tests using the appropriate framework for the language
  4. Include assertions for expected behavior
  5. Add setup/teardown as needed

Test Coverage Requirements

  • ✅ Happy path (normal input → expected output)
  • ✅ Edge cases (empty input, null, undefined, max values)
  • ✅ Error handling (invalid input, missing params, network failures)
  • ✅ Boundary conditions (min/max values, array limits)
  • ✅ Side effects (state changes, API calls, database operations)

Output Format


import { test, expect } from '[framework]';

import { functionToTest } from './module';

describe('functionToTest', () => {

it('should [expected behavior] when [condition]', () => {

// Arrange

const input = ...;

// Act

const result = functionToTest(input);

// Assert

expect(result).toBe(expectedValue);

});

// Additional test cases

});

Instructions

When the user provides code:

  • Detect the language and use the appropriate testing framework
  • Write descriptive test names (it 'should ... when ...')
  • Include at minimum: 1 happy path, 2 edge cases, 1 error case
  • Mock external dependencies
  • Add comments explaining what each test validates
  • Aim for 90%+ code coverage

Test Writing Philosophy

Tests are specifications. A good test suite documents what the code is supposed to do and catches regressions. Prioritize:

  1. Happy path: Does it work when used correctly?
  2. Edge cases: Empty inputs, boundary values, null/undefined
  3. Error cases: What happens when things go wrong?
  4. Integration: Do the pieces work together? Detect the testing framework from imports or package files. When ambiguous, ask — don't assume Jest for a Python project.

Critical rules

  1. Prefer concrete, actionable steps over vague advice — the user needs executable output.
  2. Ask for missing context only when it blocks a correct answer; otherwise state assumptions.
  3. Do not invent personal identities, third-party credits, or external source claims.

Verification & Quality Checklist

  • Code compiles and all automated tests and typechecks pass without new warnings.
  • Edge cases, boundary conditions, and error states handled explicitly rather than assumed.
  • No hardcoded secrets, credentials, or insecure defaults introduced.
  • Changes are covered by a test that fails without them.

Anti-Patterns & Constraints

  • NEVER weaken or skip a failing test to make a change land.
  • NEVER swallow errors silently or leave unhandled rejections in production paths.
  • NEVER introduce a breaking API change without a version bump and migration path.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.