CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-json-schema-traverse

Traverse JSON Schema passing each schema object to callback

94

1.04x
Quality

Pending

Does it follow best practices?

Impact

94%

1.04x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-1/

{
  "context": "This criteria evaluates how effectively an engineer uses the json-schema-traverse package to traverse JSON Schema documents and work with standard JSON Schema keywords. The focus is on proper use of the traverse function, callback parameters, and keyword category detection.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses traverse function",
      "description": "Uses the main `traverse` function from json-schema-traverse to walk through the schema structure",
      "max_score": 20
    },
    {
      "name": "Callback implementation",
      "description": "Implements and passes a callback function using the `{cb: callback}` options format to process each schema object visited",
      "max_score": 20
    },
    {
      "name": "Schema counting",
      "description": "Correctly counts total schemas visited by incrementing a counter within the callback for each invocation",
      "max_score": 15
    },
    {
      "name": "Parent keyword detection",
      "description": "Uses the `parentKeyword` parameter from the callback to identify which JSON Schema keyword contains each visited schema",
      "max_score": 20
    },
    {
      "name": "Keyword categorization",
      "description": "Correctly categorizes keywords by checking against `traverse.keywords` (single schema), `traverse.arrayKeywords` (array of schemas), and `traverse.propsKeywords` (object of schemas)",
      "max_score": 20
    },
    {
      "name": "Duplicate handling",
      "description": "Ensures each keyword appears only once in the results by using a Set or checking for duplicates before adding keywords to result arrays",
      "max_score": 5
    }
  ]
}

tile.json