productivity-analyzer

Revoir · 67
Indexé dans Registry

Analyze labor productivity from site data. Compare planned vs actual, identify trends, benchmark against industry standards.

Verified installs0
Stars282
Version1.0.0
Qualité71/100 · Solide
Confiance67/100 · Sandbox uniquement
Audit81/100 · Revue nécessaire

Profil de l’actif

Agents de code et de développement

Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.

Voir la catégorie

Scénario

GitHub automation

I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.

Adéquation Agent

Claude Code + CLI + Codex

Compatible avec Codex, Claude Code, Cursor, CLI ou des Agents personnalisés.

Installer

Prêt

npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer

Maintenance

À jour

Mis à jour aujourd’hui

Risque

Revue nécessaire

The SKILL.md excerpt is truncated; full documentation should be verified for completeness.

Qualité GitHub

282

71/100 Qualité · 75/100 Confiance

Tags de couverture

CodingGitHub automationdata-analysisagent-skill

Notes de revue

The SKILL.md excerpt is truncated; full documentation should be verified for completeness. · Access to filesystem is granted, but no explicit sandboxing or validation of file paths is described in instructions.md.

Carte d’adoption Agent

Confiance, audit et préparation à l’installation en un coup d’œil

Ces scores combinent les métadonnées publiques du dépôt, les signaux de revue OpenAgentSkill, la fraîcheur de maintenance et la préparation à l’installation. Ils servent à présélectionner et ne remplacent pas la revue humaine.

Qualité

Solide
71

Solid option that is likely worth shortlisting for production workflows.

Confiance

Sandbox uniquement
67

Candidate utile avec des signaux de confiance incomplets ou mixtes. Gardez-la dans un espace isolé jusqu’à ce que la boucle de résultats confirme son adéquation.

Audit

Revue nécessaire
81

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Trust Score OpenAgentSkill v5

Revue humaine avant installation

Exécutez uniquement dans un sandbox et comparez les alternatives proches avant usage réel.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

282 stars GitHub

Activité du dépôt

282 stars et 74 forks

Maintenance

Mis à jour aujourd’hui

Licence

MIT

Installer

npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer

Sécurité d’installation

Chemin d’installation standard de package ou runtime

Surface de permissions

Aucune surface de permissions à haut risque dans les métadonnées publiques

Résultats Agent

Pas encore de données de résultats Agent

Documentation

Contexte README/SKILL.md solide

Résumé des risques

Revoir avant production

  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
  • Quality score needs review

Préparation à l’installation

Chemin d’installation disponible

  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • La licence est déclarée
  • Pas encore de preuve de résultat Agent-Proven

Métadonnées lisibles par Agent

Données de décision lisibles par machine pour ce skill.

Utilisez ce bloc ou le JSON intégré pour décider si un Agent doit installer ce skill, choisir une alternative ou demander d’abord une revue humaine.

Ouvrir JSON

Tâches adaptées

  • Workflows d’Agents de recherche
  • Équipes Claude Code
  • builders willing to evaluate younger projects
  • Sources de recherche

Agents adaptés

CodexClaude CodeCursorOpenAgentSkill CLICLI

Décision d’installation

Commande
npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
Politique
Revoir
Revue humaine
Oui

Confiance et risque

Confiance
67/100
Audit
81/100
Niveau de risque
Revue nécessaire

Boucle de résultat

Endpoint
/api/agent/outcome
ID d’événement
resolve
Résultats
5

Commande d’installation

npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer

Ne pas utiliser quand

  • Équipes qui nécessitent un SLA soutenu par le fournisseur
  • production agents without a repository review
  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
  • No OpenAgentSkill engagement data yet
  • Access to filesystem is granted, but no explicit sandboxing or validation of file paths is described in instructions.md.

Sécurité Agent v2

69/100 · Revoir avant installation

Révisé avec notes de permissionsRevoir

Candidat utilisable, mais l’Agent doit afficher les notes de permissions et d’audit avant l’installation.

Une approbation humaine est requise avant l’installation dans un espace de travail réel.

Résoudre via API

Moyen

Accès réseau

La skill récupère probablement des pages distantes, API, dépôts ou services externes.

  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.

Cibles d’installation

Installer ce skill dans votre workflow Agent

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install datadrivenconstruction-productivity-analyzer

Plan de résolution Agent

Laissez un Agent vérifier la pertinence avant l’installation.

L’API Resolve renvoie la skill sélectionnée, des alternatives, la politique de sécurité, les notes d’audit, la cible d’installation et un prompt prêt à l’emploi.

Ouvrir le plan texte

L’Agent doit vérifier

  • Task fit and alternatives from Resolve API.
  • Audit score, trust score, and safety policy warnings.
  • Install target compatibility for Codex, Claude Code, Cursor, or CLI.

Copier le prompt

Task: Use productivity-analyzer in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20productivity-analyzer%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/datadrivenconstruction-productivity-analyzer/install
Install command: npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Relais Agent

Donnez à l’Agent le chemin d’installation, pas un autre annuaire.

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

Ouvrir l’API d’installation

Prompt Agent

Use productivity-analyzer for this task. Review https://www.openagentskill.com/api/skills/datadrivenconstruction-productivity-analyzer/install, then install with: npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer

Métadonnées Registry

Profil lisible par Agent pour la sélection automatique de skills.

L’API Registry fournit les signaux de décision, confiance, audit, cas d’usage et installation sans analyser l’interface.

Ouvrir Manifest

Adéquation Agent

70/100

Agents de recherche

Plateformes

Claude Code

Rapport d’audit

Revue nécessaire · 81/100

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Voir le rapport d’auditVoir le rapport d’évaluation

Panneau de décision Agent

Fallback candidate for Research agents

Prototype with this skill first; keep a fallback candidate ready.

70
Préparation
Prototype
Étape

Rôle dans la pile

Candidate de secours

Pertinence principale

Agents de recherche

Libellé de confiance

Prototyper d’abord

Chemin d’installation

Commande prête

À utiliser lorsque

  • Workflows d’Agents de recherche
  • Équipes Claude Code
  • builders willing to evaluate younger projects

Preuves

  • recent repository activity
  • install command or GitHub repo available
  • profil qualité 71/100

revoir d’abord

  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
  • No OpenAgentSkill engagement data yet

Chemin d’implémentation

  1. 1Installez-le dans un Agent en sandbox et exécutez une tâche de Agents de recherche de bout en bout.
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

Profil de confiance

Sandbox uniquement

Candidate utile avec des signaux de confiance incomplets ou mixtes. Gardez-la dans un espace isolé jusqu’à ce que la boucle de résultats confirme son adéquation.

67
Trust Score OpenAgentSkill

Adoption GitHub

Info

282 stars GitHub

Activité stars/forks

Info

282 stars et 74 forks; l’activité des issues n’est pas disponible dans les métadonnées actuelles

Maintenance récente

Validé

Mis à jour aujourd’hui

Clarté de licence

Validé

MIT

Signaux positifs

  • Revue IA approuvée
  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • Dépôt maintenu récemment
  • La commande d’installation ne présente aucun motif de haut risque évident
  • La boucle de résultats est prête mais nécessite la première exécution réelle de l’Agent

Réviser avant installation

  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
  • Quality score needs review
  • Pas encore de rapports de résultats Agent réels
  • Une revue humaine est requise avant une installation sans surveillance

Action recommandée

Exécutez uniquement dans un sandbox et comparez les alternatives proches avant usage réel.

Profil qualité

Solide candidat pour les workflows Agent

Solid option that is likely worth shortlisting for production workflows.

71
Stars GitHub
282
Actualité
Aujourd’hui
Prêt à installer
Oui
Licence
MIT
Réviser avant installation: The SKILL.md excerpt is truncated; full documentation should be verified for completeness.

Adéquation au workflow

Utilisez cette skill dans ces scénarios

Adéquation au workflow

Ajouter à un workflow complet

Liste d’alternatives

Comparer avant installation

Similar skills that may fit this task.

Tout comparer

Vue d’ensemble

--- name: "productivity-analyzer" description: "Analyze labor productivity from site data. Compare planned vs actual, identify trends, benchmark against industry standards." homepage: "https://datadrivenconstruction.io" metadata: {"openclaw": {"emoji": "📊", "os": ["darwin", "linux", "win32"], "homepage": "https://datadrivenconstruction.io", "requires": {"bins": ["python3"]}}} --- # Productivity Analyzer

## Business Case

### Problem Statement Understanding productivity requires: - Tracking actual output rates - Comparing to planned rates - Identifying problem areas - Forecasting project completion

### Solution Analyze labor productivity data to identify trends, compare to benchmarks, and provide actionable insights.

## Technical Implementation

```python import pandas as pd import numpy as np from typing import Dict, Any, List, Optional from dataclasses import dataclass from datetime import date, timedelta from enum import Enum

class ProductivityStatus(Enum): EXCELLENT = "excellent" # >110% of planned ON_TARGET = "on_target" # 90-110% BELOW = "below" # 70-90% CRITICAL = "critical" # <70%

@dataclass class ProductivityRecord: date: date activity_code: str description: str planned_output: float actual_output: float unit: str manhours: float crew_size: int conditions: str # weather, access issues

@dataclass class ProductivityAnalysis: activity_code: str description: str total_planned: float total_actual: float total_manhours: float planned_rate: float # unit per manhour actual_rate: float efficiency: float # percentage status: ProductivityStatus trend: str # improving, declining, stable

class ProductivityAnalyzer: """Analyze construction productivity data."""

# Industry benchmark rates (unit per manhour) BENCHMARKS = { 'concrete_pour': 0.5, # m3/MH 'rebar_install': 15, # kg/MH 'formwork': 0.8, # m2/MH 'brick_laying': 35, # bricks/MH 'drywall': 1.5, # m2/MH 'painting': 3.0, # m2/MH 'conduit': 8, # m/MH 'pipe': 3, # m/MH 'excavation': 2.5, # m3/MH 'backfill': 3.0, # m3/MH }

def __init__(self): self.records: List[ProductivityRecord] = []

def add_record(self, date: date, activity_code: str, description: str, planned_output: float, actual_output: float, unit: str, manhours: float, crew_size: int, conditions: str = "normal"): """Add productivity record."""

self.records.append(ProductivityRecord( date=date, activity_code=activity_code, description=description, planned_output=planned_output, actual_output=actual_output, unit=unit, manhours=manhours, crew_size=crew_size, conditions=conditions ))

def import_from_dataframe(self, df: pd.DataFrame): """Import records from DataFrame.""" for _, row in df.iterrows(): self.add_record( date=pd.to_datetime(row['date']).date(), activity_code=row['activity_code'], description=row.get('description', ''), planned_output=float(row['planned_output']), actual_output=float(row['actual_output']), unit=row.get('unit', 'unit'), manhours=float(row['manhours']), crew_size=int(row.get('crew_size', 1)), conditions=row.get('conditions', 'normal') )

def _get_status(self, efficiency: float) -> ProductivityStatus: """Determine productivity status.""" if efficiency >= 110: return ProductivityStatus.EXCELLENT elif efficiency >= 90: return ProductivityStatus.ON_TARGET elif efficiency >= 70: return ProductivityStatus.BELOW else: return ProductivityStatus.CRITICAL

def _calculate_trend(self, records: List[ProductivityRecord]) -> str: """Calculate productivity trend.""" if len(records) < 3: return "insufficient_data"

# Sort by date sorted_records = sorted(records, key=lambda x: x.date)

# Calculate efficiency for first and last third n = len(sorted_records) third = n // 3

early_efficiency = [] late_efficiency = []

for i, r in enumerate(sorted_records): if r.manhours > 0: eff = (r.actual_output / r.planned_output * 100) if r.planned_output > 0 else 0 if i < third: early_efficiency.append(eff) elif i >= n - third: late_efficiency.append(eff)

if not early_efficiency or not late_efficiency: return "stable"

early_avg = np.mean(early_efficiency) late_avg = np.mean(late_efficiency)

if late_avg > early_avg * 1.05: return "improving" elif late_avg < early_avg * 0.95: return "declining" else: return "stable"

def analyze_activity(self, activity_code: str) -> Optional[ProductivityAnalysis]: """Analyze productivity for specific activity."""

activity_records = [r for r in self.records if r.activity_code == activity_code]

if not activity_records: return None

total_planned = sum(r.planned_output for r in activity_records) total_actual = sum(r.actual_output for r in activity_records) total_manhours = sum(r.manhours for r in activity_records)

planned_rate = total_planned / total_manhours if total_manhours > 0 else 0 actual_rate = total_actual / total_manhours if total_manhours > 0 else 0 efficiency = (total_actual / total_planned * 100) if total_planned > 0 else 0

return ProductivityAnalysis( activity_code=activity_code, description=activity_records[0].description, total_planned=round(total_planned, 2), total_actual=round(total_actual, 2), total_manhours=round(total_manhours, 1), planned_rate=round(planned_rate, 3), actual_rate=round(actual_rate, 3), efficiency=round(efficiency, 1), status=self._get_status(efficiency), trend=self._calculate_trend(activity_records) )

def analyze_all_activities(self) -> List[ProductivityAnalysis]: """Analyze all activities.""" activities = set(r.activity_code for r in self.records) return [self.analyze_activity(code) for code in activities if self.analyze_activity(code)]

def compare_to_benchmark(self, activity_code: str) -> Dict[str, Any]: """Compare activity to industry benchmark."""

analysis = self.analyze_activity(activity_code) if not analysis: return {}

# Find matching benchmark benchmark = None for key, value in self.BENCHMARKS.items(): if key in activity_code.lower(): benchmark = value break

if benchmark is None: return { 'activity': activity_code, 'actual_rate': analysis.actual_rate, 'benchmark': 'Not available', 'vs_benchmark': 'N/A' }

vs_benchmark = (analysis.actual_rate / benchmark * 100) if benchmark > 0 else 0

return { 'activity': activity_code, 'actual_rate': analysis.actual_rate, 'benchmark_rate': benchmark, 'vs_benchmark_pct': round(vs_benchmark, 1), 'recommendation': 'Above benchmark' if vs_benchmark >= 100 else 'Below benchmark - investigate' }

def identify_problem_areas(self) -> List[Dict[str, Any]]: """Identify activities with productivity issues."""

problems = []

for analysis in self.analyze_all_activities(): if analysis.status in [ProductivityStatus.BELOW, ProductivityStatus.CRITICAL]: problems.append({ 'activity': analysis.activity_code, 'efficiency': analysis.efficiency, 'status': analysis.status.value, 'trend': analysis.trend, 'manhours_impacted': analysis.total_manhours, 'priority': 'HIGH' if analysis.status == ProductivityStatus.CRITICAL else 'MEDIUM' })

return sorted(problems, key=lambda x: x['efficiency'])

def forecast_completion(self, activity_code: str, remaining_quantity: float) -> Dict[str, Any]: """Forecast completion based on current productivity."""

analysis = self.analyze_activity(activity_code) if not analysis or analysis.actual_rate == 0: return {}

# Manhours needed at current rate manhours_needed = remaining_quantity / analysis.actual_rate

# Average daily manhours activity_records = [r for r in self.records if r.activity_code == activity_code] avg_daily_mh = np.mean([r.manhours for r in activity_records]) if activity_records else 8

days_needed = manhours_needed / avg_daily_mh if avg_daily_mh > 0 else 0

return { 'activity': activity_code, 'remaining_qty': remaining_quantity, 'current_rate': analysis.actual_rate, 'manhours_needed': round(manhours_needed, 1), 'days_needed': round(days_needed, 1), 'estimated_completion': date.today() + timedelta(days=int(days_needed)) }

def export_analysis(self, output_path: str) -> str: """Export analysis to Excel."""

with pd.ExcelWriter(output_path, engine='openpyxl') as writer: # Summary analyses = self.analyze_all_activities() summary_df = pd.DataFrame([ { 'Activity': a.activity_code, 'Description': a.description, 'Planned': a.total_planned, 'Actual': a.total_actual, 'Manhours': a.total_manhours, 'Efficiency %': a.efficiency, 'Status': a.status.value, 'Trend': a.trend } for a in analyses ]) summary_df.to_excel(writer, sheet_name='Summary', index=False)

# Problems problems = self.identify_problem_areas() if problems: problems_df = pd.DataFrame(problems) problems_df.to_excel(writer, sheet_name='Problem Areas', index=False)

# Raw data records_df = pd.DataFrame([ { 'Date': r.date, 'Activity': r.activity_code, 'Planned': r.planned_output, 'Actual': r.actual_output, 'Unit': r.unit, 'Manhours': r.manhours, 'Crew': r.crew_size, 'Conditions': r.conditions } for r in self.records ]) records_df.to_excel(writer, sheet_name='Raw Data', index=False)

return output_path ```

## Quick Start

```python from datetime import date, timedelta

# Initialize analyzer analyzer = ProductivityAnalyzer()

# Add records for i in range(10): analyzer.add_record( date=date.today() - timedelta(days=i), activity_code="concrete_pour", description="Slab pour Level 3", planned_output=20,

Détails techniques

Version
1.0.0
Licence
MIT
Dernière mise à jour
22 août 2026
Publié
22 août 2026

Instantané de décision

Candidate de secours

70
Prêt
Prototype
Étape

recent repository activity

Audit

Revue d’installation

Revue d’installation et d’adoption

81
Revue nécessaire
Sécurité
83/100
Maintenance
100/100
Installer
92/100
Ouvrir l’audit completVoir le rapport d’évaluation

Preuves validées par Agent

Preuves validées par Agent

Rapports après resolve, revue, installation et une exécution limitée.

0
Validé
Needs first agent runAuto-installation: revoir d’abordDernier: Inconnu
Taux de réussite
Échec récent
Résultats
0
Qualité de sortie
Échecs
0
Non pertinent
0
Installations
0
Bloqué par le risque
0
Configuration requise
0
Production
0

Aucune donnée de résultat Agent pour l’instant. La première exécution peut signaler succès, besoin de configuration, blocage de risque, échec ou non-pertinence via /api/agent/outcome.

Installer

Ajouter au workflow Agent

Gratuit et open source. Examinez le rapport avant l’installation dans des Agents de production.

Boucle de croissance

Kit de partage

X

Brouillon guidé par scénario pour productivity-analyzer, prêt pour une publication manuelle sur X.

Note du curateur
productivity-analyzer: Analyze labor productivity from site data. Compare planned vs actual, identify trends, benchm...

282 stars

https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer?ref=x
Ouvrir le brouillon X
Réponse facultative avec commande d’installation
Listing + install path for productivity-analyzer:
https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer?ref=x

Install: npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --...

Source de la fiche

Indexé par Registry

Revendiable

Cette fiche a été indexée à partir de sources publiques et n’est pas marquée officielle tant qu’une revendication de mainteneur n’est pas approuvée.

Indexé par
Index communautaire OpenAgentSkill

L’attribution renvoie au dépôt public ou au profil du créateur. Les créateurs peuvent revendiquer la fiche pour mettre à jour les signaux de propriété.

Revendiquer ce skill

Revendication du propriétaire

Revendiquer cette fiche de skill

Cette fiche Indexé par Registry est attribuée à datadrivenconstruction, mais n’est pas encore marquée officielle. Revendiquez-la pour ajouter un signal de propriétaire vérifié et rendre les futures mises à jour de lancement, d’installation et d’audit plus fiables.

Kit de backlinks créateur

Ajoutez les badges de preuve à votre README

Affichez la fiche canonique, les signaux actuels de confiance et d’audit, ainsi que de vraies preuves Agent-Proven là où les développeurs évaluent le dépôt.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/datadrivenconstruction-productivity-analyzer?metric=listed&label=Listed)](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/datadrivenconstruction-productivity-analyzer?metric=trust&label=Trust)](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/datadrivenconstruction-productivity-analyzer?metric=audit&label=Audit)](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/datadrivenconstruction-productivity-analyzer?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)

Auteur

D

datadrivenconstruction

@datadrivenconstruction

Adéquation plateforme

Signaux de santé

Stars GitHub
282
Score de qualité
40/100
Dernier push GitHub
22 août 2026
Indications de framework
Inconnu
Vues OpenAgentSkill
0
Copies d’installation
0
Clics sortants
0

Signal de communauté

Indiquez si ce skill semble utile à votre workflow Agent. Les retours agrégés améliorent le classement au fil du temps.

Confiance et sécurité

Sandbox uniquement

67
  • Adoption GitHub282 stars GitHubInfo
  • Activité stars/forks282 stars et 74 forks; l’activité des issues n’est pas disponible dans les métadonnées actuellesInfo
  • Maintenance récenteMis à jour aujourd’huiValidé
  • Clarté de licenceMITValidé
  • Complétude README/SKILL.mdLes métadonnées incluent suffisamment de contexte d’usage et de workflowValidé
  • Risque dépendances/runtimeAucun indice majeur de risque de dépendance dans les métadonnées publiquesValidé