diff --git a/spec/core/keywords.json b/spec/core/keywords.json
new file mode 100644
index 0000000000000000000000000000000000000000..207638151c7bdf1ee6409e59d32159258434956d
--- /dev/null
+++ b/spec/core/keywords.json
@@ -0,0 +1,63 @@
+[
+  {
+    "description": "instance keywords",
+    "tests": [
+      {
+        "description": "should handle array of types",
+        "schema": {
+          "type": ["string", "number"]
+        },
+        "valid": true
+      },
+      {
+        "description": "should handle enum values",
+        "schema": {
+          "enum": ["", [], {}, false, null, -1]
+        },
+        "valid": true
+      },
+      {
+        "description": "should handle allOf values",
+        "schema": {
+          "allOf": [
+            {
+              "type": "string"
+            },
+            {
+              "enum": ["a", "value"]
+            }
+          ]
+        },
+        "valid": true
+      },
+      {
+        "description": "should handle anyof values",
+        "schema": {
+          "anyOf": [
+            {
+              "type": "number"
+            },
+            {
+              "type": "array"
+            }
+          ]
+        },
+        "valid": true
+      },
+      {
+        "description": "should handle oneOf values",
+        "schema": {
+          "oneOf": [
+            {
+              "type": "boolean"
+            },
+            {
+              "type": "null"
+            }
+          ]
+        },
+        "valid": true
+      }
+    ]
+  }
+]