JSON/data schema validation for construction data exchange: API payloads, file imports, BIM exports. Ensure data structure compliance before processing.
SkillScore82Maintained
Automatic
◆Data Engineer pack
Last verified 8/23/2026
What it changes
Passed 18 of 22 test cases with the skill, and 11 of 22 without it.
Without skill50%
With skill82%
Checks it passed that the model alone missed
The guid property specifies format uuid.
The spec_section field uses SchemaType.CSI_CODE.
The spec_section field allows null values with nullable=True.
and 10 more in the full report
7 fixed11 passed either way4 still failing0 broke
Pass-rate lift
+32 pp
Tokens
+252%
Agent turns
0%
Response time
-16%
Model gemini-3.6-flashMeasured 8/23/2026v118 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 7
Prompt
In a project schedule schema, what exact set of calendar working day options should be allowed for the project calendar field?
What was checked, without and with the skill
Checked
Without skill
With skill
The schema restricts project calendar string values to the enumeration 5-day, 6-day, and 7-day.
Missed
Passed
case-08 · gemini-3.6-flash · 8/23/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md621 linessingle file
Schema Validation for Construction Data
Overview
Validate data structures against defined schemas for construction data exchange. Ensure API payloads, file imports, and BIM exports conform to expected formats before processing.
Schema Validation Framework
Core Schema Validator
from dataclasses import dataclass, field
from typing import Any, Dict, List, Optional, Union
from enum import Enum
import json
import re
from datetime import datetime
class SchemaType(Enum):
STRING = "string"
NUMBER = "number"
INTEGER = "integer"
BOOLEAN = "boolean"
ARRAY = "array"
OBJECT = "object"
DATE = "date"
DATETIME = "datetime"
CSI_CODE = "csi_code"
CURRENCY = "currency"
GUID = "guid"
@dataclass
class SchemaField:
name: str
type: SchemaType
required: bool = True
nullable: bool = False
min_value: Optional[float] = None
max_value: Optional[float] = None
min_length: Optional[int] = None