bim-snapshot-converter

Convert Revit/BIM export files into normalized JSON snapshots for downstream analysis.

Updated Jun 16, 2026
One-click install
npx skills add https://github.com/robikscube/SJ-skills-sandbox --skill bim-snapshot-converter
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bim-snapshot-converter
Source: https://github.com/robikscube/SJ-skills-sandbox/tree/main/Skill-List/ddc-bim/bim-snapshot-converter
Command: npx skills add https://github.com/robikscube/SJ-skills-sandbox --skill bim-snapshot-converter

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openpyxl, and includes scripts (resource) components.

What problem does it solve?

Manually querying live Revit/BIM models for analysis is time-consuming and repetitive, especially when working with multiple export files that have inconsistent column names. This Skill eliminates that overhead by creating a single normalized JSON snapshot of all relevant BIM data that can be reused across downstream analysis workflows.

Core Features & Use Cases

  • Normalized Data Conversion: Transforms messy Revit/BIM schedule, material takeoff, Dynamo, or pyRevit exports (CSV, JSON, Excel) into a consistent, structured JSON format.
  • Auto-Detection & Aliasing: Automatically identifies the role of input files (elements, layers, materials, quantities, bounding boxes) and maps common column name aliases to stable snake-case fields, no manual renaming required.
  • Downstream Workflow Prep: Pre-builds structured inputs for complementary BIM analysis skills including clash detection, validation reporting, and carbon footprint calculation.
  • Stale Data Refresh: Overwrites existing snapshots with updated data when source Revit models change, ensuring analysis always uses the latest information.

Quick Start

Use the bim-snapshot-converter skill to convert all Revit export files in your 'exports' folder into a normalized bim_snapshot.json file for use in downstream BIM analysis tasks.

Frequently Asked Questions about bim-snapshot-converter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I normalize Revit schedule exports with inconsistent column names for analysis?

To normalize Revit schedule exports, this skill auto-detects file roles and maps inconsistent column aliases to stable snake-case fields. It outputs a structured JSON snapshot for consistent downstream analysis without manual renaming.

What is a BIM snapshot and when do I need it for clash detection?

A BIM snapshot is a normalized JSON file containing merged element, material, and geometry data from Revit exports. You need it when preprocessing inconsistent export files into stable structured inputs for repeated agent analysis in clash detection.

Can I use Dynamo or pyRevit exports as input files for BIM data normalization?

Yes, you can use Dynamo or pyRevit exports. The skill accepts CSV, JSON, and Excel files from these tools, automatically identifying file roles like elements, layers, materials, quantities, and bounding boxes for normalization.

How do I refresh stale BIM data when the source Revit model changes?

To refresh stale BIM data, run the skill on your updated exports folder to overwrite the existing bim_snapshot.json file. This ensures your downstream analysis always uses the latest information from the changed Revit model.

Does openpyxl support converting Excel material takeoff exports to JSON?

Yes, openpyxl supports reading Excel material takeoff exports. The skill uses it as a dependency to parse Excel files, normalizing material takeoff data into a structured JSON snapshot for downstream validation and carbon footprint calculation.

What is the best way to prepare BIM exports for carbon footprint calculation?

The best way to prepare BIM exports for carbon footprint calculation is converting them into a normalized JSON snapshot. This skill pre-builds structured inputs by merging material takeoff and quantity data, ensuring stable inputs for downstream carbon analysis.