productivity-analyzer

Revisar · 67
Indexado en Registry

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

Verified installs0
Estrellas282
Versión1.0.0
Calidad71/100 · Sólido
Confianza67/100 · Solo sandbox
Auditoría81/100 · Requiere revisión

Perfil del activo

Agents de programación y desarrollo

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

Ver categoría

Escenario

GitHub automation

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

Afinidad con Agent

Claude Code + CLI + Codex

Funciona con Codex, Claude Code, Cursor, CLI o Agents personalizados.

Instalar

Listo

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

Mantenimiento

Actual

Actualizado hoy

Riesgo

Requiere revisión

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

Calidad de GitHub

282

71/100 Calidad · 75/100 Confianza

Etiquetas de cobertura

CodingGitHub automationdata-analysisagent-skill

Notas de revisión

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.

Tarjeta de adopción del Agent

Confianza, auditoría y preparación de instalación de un vistazo

Estas puntuaciones combinan metadatos públicos del repositorio, señales de revisión de OpenAgentSkill, actualidad de mantenimiento y preparación de instalación. Sirven para preseleccionar; no sustituyen la revisión humana.

Calidad

Sólido
71

Solid option that is likely worth shortlisting for production workflows.

Confianza

Solo sandbox
67

Candidata útil con señales de confianza incompletas o mixtas. Manténgala en un espacio aislado hasta que el ciclo de resultados demuestre el ajuste.

Auditoría

Requiere revisión
81

Revisión legible por máquina de la preparación de instalación, los metadatos de seguridad, el mantenimiento y el riesgo de adopción.

Trust Score de OpenAgentSkill v5

Revisión humana antes de instalar

Ejecute solo en un sandbox y compare alternativas cercanas antes de usarla en trabajo real.

CodexClaude CodeCursorOpenAgentSkill CLI

Estrellas

282 estrellas de GitHub

Actividad del repositorio

282 estrellas y 74 forks

Mantenimiento

Actualizado hoy

Licencia

MIT

Instalar

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

Seguridad de instalación

Ruta estándar de paquete o instalación en tiempo de ejecución

Superficie de permisos

No hay superficie de permisos de alto riesgo en los metadatos públicos

Resultados del Agent

Aún no hay datos de resultados del Agent

Documentación

Contexto sólido de README/SKILL.md

Resumen de riesgo

Revisar antes de producción

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

Preparación de instalación

Ruta de instalación disponible

  • La ruta de instalación está disponible
  • La evidencia del repositorio está disponible
  • La licencia está declarada
  • Aún no hay evidencia de resultados Agent-Proven

Metadatos legibles por Agent

Datos de decisión legibles por máquina para este skill.

Usa este bloque o el JSON integrado para decidir si un Agent debe instalar este skill, elegir una alternativa o pedir revisión humana primero.

Abrir JSON

Tareas adecuadas

  • Flujos de Agents de investigación
  • Equipos de Claude Code
  • builders willing to evaluate younger projects
  • Fuentes de búsqueda

Agents adecuados

CodexClaude CodeCursorOpenAgentSkill CLICLI

Decisión de instalación

Comando
npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
Política
Revisar
Revisión humana

Confianza y riesgo

Confianza
67/100
Auditoría
81/100
Nivel de riesgo
Requiere revisión

Ciclo de resultados

Endpoint
/api/agent/outcome
ID del evento
resolve
Resultados
5

Comando de instalación

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

No usar cuando

  • Equipos que necesitan un SLA con soporte del proveedor
  • 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.

Seguridad de Agent v2

69/100 · Revisar antes de instalar

Revisado con notas de permisosRevisar

Candidato utilizable, pero el Agent debe mostrar las notas de permisos y auditoría antes de instalar.

Requiere aprobación humana antes de instalar en un espacio de trabajo real.

Resolver con API

Medio

Acceso a red

El skill probablemente consulta páginas remotas, API, repositorios o servicios externos.

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

Destinos de instalación

Instala este skill en tu flujo de Agent

Usa el endpoint público para obtener el comando, la lista de seguridad, prompts y enlaces canónicos.

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 resolución de Agent

Deja que un Agent valide el ajuste antes de instalar.

La API Resolve devuelve la skill elegida, alternativas, política de seguridad, notas de auditoría, destino de instalación y un prompt listo para usar.

Abrir plan de texto

Agent debe revisar

  • 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.

Copiar 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.

Traspaso de Agent

Da al Agent la ruta de instalación, no otro directorio.

Usa el endpoint público para obtener el comando, la lista de seguridad, prompts y enlaces canónicos.

Abrir API de instalación

Prompt de 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

Metadatos del Registry

Perfil legible por Agent para seleccionar skills automáticamente.

La API Registry expone señales de decisión, confianza, auditoría, casos de uso e instalación sin raspar la interfaz.

Abrir Manifest

Afinidad con Agent

70/100

Agents de investigación

Plataformas

Claude Code

Informe de auditoría

Requiere revisión · 81/100

Revisión legible por máquina de la preparación de instalación, los metadatos de seguridad, el mantenimiento y el riesgo de adopción.

Ver informe de auditoríaVer informe de evaluación

Panel de decisión de Agent

Fallback candidate for Research agents

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

70
Preparación
Prototipo
Etapa

Rol en la pila

Candidata de respaldo

Ajuste principal

Agents de investigación

Etiqueta de confianza

Prototipar primero

Ruta de instalación

Comando listo

Úsalo cuando

  • Flujos de Agents de investigación
  • Equipos de Claude Code
  • builders willing to evaluate younger projects

Evidencia

  • recent repository activity
  • install command or GitHub repo available
  • perfil de calidad 71/100

revisar primero

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

Ruta de implementación

  1. 1Instálalo en un Agent de sandbox y ejecuta una tarea de Agents de investigación de principio a fin.
  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.

Perfil de confianza

Solo sandbox

Candidata útil con señales de confianza incompletas o mixtas. Manténgala en un espacio aislado hasta que el ciclo de resultados demuestre el ajuste.

67
Trust Score de OpenAgentSkill

Adopción en GitHub

Info

282 estrellas de GitHub

Actividad de stars/forks

Info

282 estrellas y 74 forks; la actividad de issues no está disponible en los metadatos actuales

Mantenimiento reciente

Aprobado

Actualizado hoy

Claridad de licencia

Aprobado

MIT

Señales positivas

  • Revisión de IA aprobada
  • La ruta de instalación está disponible
  • La evidencia del repositorio está disponible
  • Repositorio mantenido recientemente
  • El comando de instalación no muestra un patrón de alto riesgo evidente
  • El ciclo de resultados está listo, pero necesita la primera ejecución real de Agent

Revisar antes de instalar

  • The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
  • Quality score needs review
  • Aún no hay informes reales de resultados del Agent
  • Se requiere revisión humana antes de una instalación desatendida

Acción recomendada

Ejecute solo en un sandbox y compare alternativas cercanas antes de usarla en trabajo real.

Perfil de calidad

Sólido candidato para flujos de Agent

Solid option that is likely worth shortlisting for production workflows.

71
Estrellas de GitHub
282
Actualidad
Hoy
Listo para instalar
Licencia
MIT
Revisar antes de instalar: The SKILL.md excerpt is truncated; full documentation should be verified for completeness.

Ajuste de flujo

Usa esta skill en estos escenarios

Ajuste de flujo

Añadir a un flujo completo

Lista de alternativas

Compara antes de instalar

Similar skills that may fit this task.

Comparar todo

Resumen

--- 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,

Detalles técnicos

Versión
1.0.0
Licencia
MIT
Última actualización
22 ago 2026
Publicado
22 ago 2026

Resumen de decisión

Candidata de respaldo

70
Listo
Prototipo
Etapa

recent repository activity

Auditoría

Revisión de instalación

Revisión de instalación y adopción

81
Requiere revisión
Seguridad
83/100
Mantenimiento
100/100
Instalar
92/100
Abrir auditoría completaVer informe de evaluación

Evidencia probada por Agent

Evidencia probada por Agent

Informes de resultados tras resolver, revisar, instalar y una ejecución limitada.

0
Probado
Needs first agent runAuto-instalación: revisar primeroÚltimo: Desconocido
Tasa de éxito
Fallo reciente
Resultados
0
Calidad de salida
Fallidos
0
No relevante
0
Instalaciones
0
Bloqueado por riesgo
0
Configuración necesaria
0
Producción
0

Aún no hay datos de resultados de Agent. La primera ejecución puede informar éxito, configuración necesaria, bloqueos de riesgo, fallo o irrelevancia mediante /api/agent/outcome.

Instalar

Añadir al flujo de Agent

Gratis y de código abierto. Revisa el informe antes de instalar en Agents de producción.

Bucle de crecimiento

Kit para compartir

X

Borrador basado en un caso para productivity-analyzer, listo para publicar manualmente en X.

Nota del curador
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
Abrir borrador de X
Respuesta opcional con comando de instalación
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 --...

Fuente de la ficha

Indexado por Registry

Reclamable

Esta ficha se indexó desde fuentes públicas y no está marcada como oficial hasta que se apruebe una reclamación de mantenedor.

Indexado por
Índice comunitario de OpenAgentSkill

La atribución enlaza al repositorio público o al perfil del creador. Los creadores pueden reclamar la ficha para actualizar las señales de propiedad.

Reclamar este skill

Reclamación del propietario

Reclamar esta ficha de skill

Esta ficha Indexado por Registry se atribuye a datadrivenconstruction, pero aún no está marcada como oficial. Reclámala para añadir una señal de propietario verificado y hacer más fiables futuras actualizaciones de lanzamiento, instalación y auditoría.

Kit de enlaces para creadores

Añade las insignias de evidencia a tu README

Muestra la ficha canónica, las señales actuales de confianza y auditoría, y evidencia real de Agent-Proven donde los desarrolladores evalúan el repositorio.

[![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)

Autor

D

datadrivenconstruction

@datadrivenconstruction

Etiquetas

Afinidad con plataforma

Señales de salud

Estrellas de GitHub
282
Puntuación de calidad
40/100
Último push de GitHub
22 ago 2026
Pistas del framework
Desconocido
Vistas de OpenAgentSkill
0
Copias de instalación
0
Clics externos
0

Señal de comunidad

Comparte si este skill resulta útil para tu flujo de Agent. Los comentarios agregados mejoran la clasificación con el tiempo.

Confianza y seguridad

Solo sandbox

67
  • Adopción en GitHub282 estrellas de GitHubInfo
  • Actividad de stars/forks282 estrellas y 74 forks; la actividad de issues no está disponible en los metadatos actualesInfo
  • Mantenimiento recienteActualizado hoyAprobado
  • Claridad de licenciaMITAprobado
  • Completitud de README/SKILL.mdLos metadatos incluyen suficiente contexto de uso y flujo de trabajoAprobado
  • Riesgo de dependencias/runtimeNo hay indicios importantes de riesgo de dependencias en los metadatos públicosAprobado