Agent skill · data analytics · datadrivenconstruction

bim-validation-pipeline

Build automated BIM validation pipelines for IFC/Revit data. Continuous validation against IDS, LOD requirements, COBie, and project-specific BEP standards.

Why this skill is useful

Adds executable scripts for validating BIM models against specific project standards and requirements that are not commonly known.

What it needs

Requires ifcopenshell, python3 installed locally. About 6k tokens when loaded. Last updated 2026-02-14. 265 stars on the source repository.

What this skill does

BIM Validation Pipeline Overview Based on DDC methodology (Chapter 4.3), this skill provides automated BIM data validation pipelines. Validate BIM models against Information Delivery Specification (IDS), Level of Development (LOD) requirements, and project standards. Book Reference: "Автоматический ETL конвейер для валидации данных" / "Automated ETL Pipeline for Data Validation" "Автоматизированная валидация BIM-данных позволяет выявлять ошибки на ранних стадиях и обеспечивать соответствие требованиям BEP." — DDC Book, Chapter 4.3 Quick Start BIM Validation Framework Core Validator Class LOD Validation Level of Development Checker IDS Validation Information Delivery Specification Pipeline Automation Automated Validation Pipeline `python import os from datetime import datetime import json class BIMValidationPipeline: """Automated BIM validation pipeline""" def init(self, configpath=None): self.config = self.loadconfig(configpath) self.resultshistory = [] def loadconfig(self, path): if path and os.path.exists(path): with open(path) as f: return json.load(f) return { 'lodtarget': 'LOD300', 'requiredpsets': { 'IfcWall': ['PsetWallCommon'], 'IfcSlab': ['PsetSlabCommon'] }, 'namingpatterns': {}, 'failonerrors': True, 'warnthreshold': 50 } def run(self, ifcpath): """Run complete validation pipeline""" starttime = datetime.now() # Initialize validators validator = BIMValidator(ifcpath) lodvalidator = LODValidator( validator.model, self.config['lodtarget'] ) # Run validations bimreport = validator.validateall() lodreport = lodvalidator.validatemodel() # Compile results result = { 'file': ifcpath, 'timestamp': starttime.isoformat(), 'durationseconds': (datetime.now() - starttime).totalseconds(), 'bimvalidation': bimreport, 'lodvalidation': lodreport, 'passed': self.evaluatepass(bimreport, lodreport) } self.resultshistory.append(result) return result def evaluatepass(self, bimreport, lodreport): """Determine if validation passed""" if self.config['failonerrors'] and bimreport[ …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills datadrivenconstruction/bim-validation-pipeline

View the source on GitHub

Browse the @skills marketplace