Agent skill · product strategy · datadrivenconstruction
digital-twin-sync
Synchronize construction digital twins with real-time data. Connect BIM models with IoT sensors, progress updates, and field data for live project visualization and monitoring.
Why this skill is useful
Provides specific domain knowledge and implementation patterns for synchronizing BIM models with IoT data in construction projects.
What it needs
Requires python3 installed locally. About 6k tokens when loaded. Last updated 2026-02-14. 265 stars on the source repository.
What this skill does
Digital Twin Synchronization Overview This skill implements digital twin synchronization for construction projects. Connect BIM models with real-time sensor data, progress updates, and field information to create a living digital representation. Capabilities: BIM-IoT data binding Real-time status updates Historical data tracking Anomaly detection Predictive analytics Multi-source data fusion Quick Start Comprehensive Digital Twin System Core Twin Model Real-Time Synchronization Schedule Integration `python from datetime import date, datetime @dataclass class ScheduleActivity: activityid: str name: str plannedstart: date plannedend: date actualstart: Optional[date] = None actualend: Optional[date] = None percentcomplete: float = 0 elementids: List[str] = field(defaultfactory=list) class ScheduleTwinIntegrator: """Integrate schedule with digital twin""" def init(self, twin: DigitalTwinCore): self.twin = twin self.activities: Dict[str, ScheduleActivity] = {} def importschedule(self, scheduledata: List[Dict]): """Import schedule activities""" for actdata in scheduledata: activity = ScheduleActivity( activityid=actdata['id'], name=actdata['name'], plannedstart=date.fromisoformat(actdata['start']), plannedend=date.fromisoformat(actdata['end']), elementids=actdata.get('elements', []) ) self.activities[activity.activityid] = activity # Link elements to activity for elemid in activity.elementids: if elemid in self.twin.elements: self.twin.elements[elemid].scheduleactivityid = activity.activityid def updateactivityprogress(self, activityid: str, percentcomplete: float, actualstart: date = None, actualend: date = None): """Update activity progress""" activity = self.activities.get(activityid) if not activity: return activity.percentcomplete = percentcomplete if actualstart: activity.actualstart = actualstart if actualend: activity.actualend = actualend # Update linked elements status = self.determinestatus(percentcomplete) for elemid in activity.elementids: self.twin.updatesta …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills datadrivenconstruction/digital-twin-sync