CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/api-testing-first-steps

Get test coverage on an Express/Node API fast — the first 5 tests that catch

94

1.26x
Quality

90%

Does it follow best practices?

Impact

100%

1.26x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

five-core-tests.jsonverifiers/

{
  "instruction": "Write the 5 core API tests: happy path, validation, 404, persistence, error format consistency",
  "relevant_when": "Agent writes API tests for an Express application",
  "context": "These 5 tests catch the most common bugs. The error format test is critical: it must check that BOTH 400 and 404 responses have { error: { message: string } } shape, asserting typeof error.message === 'string', not just that error exists.",
  "sources": [
    {
      "type": "file",
      "filename": "skills/api-testing-first-steps/SKILL.md",
      "tile": "tessl-labs/api-testing-first-steps@0.1.0"
    }
  ],
  "checklist": [
    {
      "name": "happy-path-test",
      "rule": "Agent writes a test that GETs a main endpoint and checks status 200 with data",
      "relevant_when": "Agent writes API tests"
    },
    {
      "name": "validation-test",
      "rule": "Agent writes a test that POSTs invalid data and checks for 400 status",
      "relevant_when": "Agent writes API tests"
    },
    {
      "name": "not-found-test",
      "rule": "Agent writes a test for a nonexistent resource and checks for 404 status",
      "relevant_when": "Agent writes API tests"
    },
    {
      "name": "persistence-test",
      "rule": "Agent writes a test that POSTs data then GETs it back to verify persistence",
      "relevant_when": "Agent writes API tests"
    },
    {
      "name": "error-format-consistency",
      "rule": "Agent writes a test that checks multiple error types (400 AND 404) all have the same shape with error.message as a string, using typeof check or equivalent",
      "relevant_when": "Agent writes API tests or error format tests"
    },
    {
      "name": "no-express-internals",
      "rule": "Agent does NOT assert content-type headers, res.type, or other Express transport internals in tests — only checks response body shape",
      "relevant_when": "Agent writes API tests"
    },
    {
      "name": "five-test-limit",
      "rule": "When starting from zero tests, agent writes exactly 5 tests (not more) following the 5-test discipline",
      "relevant_when": "Agent writes initial API tests for a project with no existing tests"
    }
  ]
}

tile.json