Build validation rules for construction data. Create RegEx and logic-based validation for BIM elements, cost codes, and schedule data.
SkillScore59Maintained
Automatic
◆Data Engineer pack
Last verified 8/23/2026
What it changes
Passed 13 of 22 test cases with the skill, and 3 of 22 without it.
Without skill14%
With skill59%
Checks it passed that the model alone missed
Calls get_rules_summary()
Uses regex pattern ^[A-Z]{1,3}[0-9]{4,6}$
Uses regex pattern ^[A-Z]{1,3}-[0-9]{3,6}$
and 8 more in the full report
10 fixed3 passed either way9 still failing0 broke
Pass-rate lift
+45 pp
Tokens
+127%
Agent turns
0%
Response time
-33%
Model gemini-3.6-flashMeasured 8/23/2026v113 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
What regex pattern is defined in the standard construction patterns dictionary for activity IDs such as 'ACT1000' or 'A12345'?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses regex pattern ^[A-Z]{1,3}[0-9]{4,6}$
Missed
Passed
case-22 · 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.md416 linessingle file
Validation Rules Builder
Business Case
Problem Statement
Construction data quality challenges:
Inconsistent naming conventions
Invalid cost codes and WBS
Missing or malformed data
Non-compliant BIM elements
Solution
Rule-based validation engine using RegEx and logic rules to ensure data quality across construction systems.
Technical Implementation
import re
from typing import Dict, Any, List, Optional, Callable
from dataclasses import dataclass, field
from enum import Enum
from datetime import date
class RuleType(Enum):
REGEX = "regex"
RANGE = "range"
ENUM = "enum"
CUSTOM = "custom"
REQUIRED = "required"
DATE = "date"
REFERENCE = "reference"
class Severity(Enum):
ERROR = "error"
WARNING = "warning"
INFO = "info"