Agent skill · data analytics · datadrivenconstruction
change-order-analysis
Analyze and predict construction change orders using ML. Classify change order types, predict costs and schedule impacts, identify patterns, and optimize approval workflows.
Why this skill is useful
Provides domain-specific machine learning models and classification methods for analyzing construction change orders that the AI wouldn't generate on its own.
What it needs
Requires python3 installed locally. About 7k tokens when loaded. Last updated 2026-02-14. 265 stars on the source repository.
What this skill does
Change Order Analysis Overview This skill implements machine learning-based change order analysis for construction projects. Predict change order costs, classify types, identify patterns in historical data, and streamline approval processes. Capabilities: Change order classification Cost impact prediction Schedule impact analysis Pattern identification Root cause analysis Approval workflow optimization Quick Start Comprehensive Change Order System Change Order Management ML Classification and Prediction Pattern Analysis `python from collections import defaultdict from typing import List, Dict import pandas as pd class ChangeOrderAnalyzer: """Analyze patterns in change orders""" def init(self, changeorders: List[ChangeOrderDetail]): self.cos = changeorders self.df = self.todataframe() def todataframe(self) -> pd.DataFrame: """Convert change orders to DataFrame""" data = [] for co in self.cos: data.append({ 'coid': co.coid, 'cotype': co.cotype.value, 'initiatedby': co.initiatedby, 'cost': co.costbreakdown.total, 'scheduledays': co.scheduleimpact.totaldays if co.scheduleimpact else 0, 'submitteddate': co.submitteddate, 'affectedelements': len(co.affectedelements), 'severity': co.severity.value }) return pd.DataFrame(data) def analyzebytype(self) -> Dict: """Analyze change orders by type""" if self.df.empty: return {} analysis = {} for cotype in self.df['cotype'].unique(): typedf = self.df[self.df['cotype'] == cotype] analysis[cotype] = { 'count': len(typedf), 'totalcost': typedf['cost'].sum(), 'avgcost': typedf['cost'].mean(), 'totalscheduledays': typedf['scheduledays'].sum(), 'avgscheduledays': typedf['scheduledays'].mean() } return analysis def analyzetrends(self) -> Dict: """Analyze trends over time""" if self.df.empty: return {} self.df['month'] = pd.todatetime(self.df['submitteddate']).dt.toperiod('M') monthly = self.df.groupby('month').agg({ 'coid': 'count', 'cost': 'sum', 'scheduledays': 'sum' }).rename(columns={'coid': 'count'}) return { 'monthlytrend': monthly …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills datadrivenconstruction/change-order-analysis