productivity-analyzer
Analyze labor productivity from site data. Compare planned vs actual, identify trends, benchmark against industry standards.
供給アセットの概要
コーディングと開発 Agent
コードレビュー、リポジトリ分析、テスト、CI、GitHub、DevOps、開発ワークフロー向けのスキルです。
シナリオ
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Agent 適合
Claude Code + CLI + Codex
Codex、Claude Code、Cursor、CLI、またはカスタム Agent に対応します。
インストール
準備完了
npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
メンテナンス
新しい
最終プッシュから 1 日
リスク
要レビュー
The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
GitHub 品質
282
71/100 品質 · 75/100 信頼
対象タグ
レビュー注記
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.
Agent 導入スコアカード
信頼、監査、インストール準備状況を一目で確認
公開リポジトリのメタデータ、OpenAgentSkill のレビューシグナル、保守の鮮度、インストール準備状況を組み合わせたスコアです。候補選定の目安であり、人によるレビューの代替ではありません。
品質
強い本番ワークフローの候補に値する堅実な選択肢です。
信頼
サンドボックス限定信頼シグナルが不足または混在する有用な候補です。結果ループがタスク適合を示すまで、隔離されたワークスペースで使用してください。
監査
要レビューインストール準備、安全メタデータ、保守、採用リスクの機械可読なレビュー。
OpenAgentSkill Trust Score v5
インストール前に人のレビュー
実作業で使う前に、サンドボックスでのみ実行し、近い代替と比較してください。
スター
GitHub スター 282
リポジトリ活動
スター 282、フォーク 74
メンテナンス
最終プッシュから 1 日
ライセンス
MIT
インストール
npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
インストール安全性
標準パッケージまたはランタイムのインストールパス
権限範囲
公開メタデータに高リスクな権限範囲はありません
Agent の成果
Agent の成果データはまだありません
ドキュメント
README/SKILL.md の文脈が十分です
リスク概要
本番前にレビュー
- The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
- Quality score needs review
インストール準備状況
インストールパスを利用可能
- インストールパスを利用できます
- リポジトリの根拠を利用できます
- ライセンスが明示されています
- Agent-Proven の成果エビデンスはまだありません
Agent 可読メタデータ
このスキルの機械可読な判断データ。
このブロックまたは埋め込み JSON を使い、Agent がこのスキルをインストールすべきか、代替を選ぶべきか、先に人のレビューを求めるべきかを判断できます。
適したタスク
- リサーチ Agent ワークフロー
- Claude Code チーム
- builders willing to evaluate younger projects
- 検索ソース
適した Agent
インストール判断
- コマンド
- npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer
- ポリシー
- レビュー
- 人によるレビュー
- はい
信頼とリスク
- 信頼
- 67/100
- 監査
- 81/100
- リスクレベル
- 要レビュー
成果ループ
- エンドポイント
- /api/agent/outcome
- イベント ID
- resolve
- 成果
- 5
インストールコマンド
npx skills add datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction --skill productivity-analyzer使わない場合
- ベンダー提供の SLA が必要なチーム
- production agents without a repository review
- The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
- OpenAgentSkill の利用フィードバックはまだありません
- Access to filesystem is granted, but no explicit sandboxing or validation of file paths is described in instructions.md.
Agent セーフティ v2
69/100 · インストール前にレビュー
利用可能な候補ですが、Agent はインストール前に権限と監査メモを提示する必要があります。
実際のワークスペースへインストールする前に人の承認が必要です。
中
ネットワークアクセス
Skill はリモートページ、API、リポジトリ、外部サービスにアクセスする可能性があります。
- The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
インストール先
Agent ワークフローにこのスキルをインストール
公開インストールエンドポイントからコマンド、安全チェックリスト、対象プロンプト、正規リンクを取得します。
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-analyzerAgent 解決プラン
インストール前に Agent に適合性を検証させます。
Resolve API は第一候補、代替、安全ポリシー、監査メモ、インストール先、Agent がそのまま使えるプロンプトを返します。
JSON を開く
/api/agent/resolve?task=Use%20productivity-analyzer%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve テキスト
/api/agent/resolve?task=Use%20productivity-analyzer%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
インストール引き継ぎ
/api/skills/datadrivenconstruction-productivity-analyzer/install
Agent が確認すべきこと
- Resolve API でタスク適合と代替を確認。
- 監査・信頼スコアと安全ポリシーの警告を確認。
- Codex、Claude Code、Cursor、CLI のインストール先互換性を確認。
プロンプトをコピー
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.Agent 引き継ぎ
別のディレクトリではなく、インストール経路を Agent に渡します。
公開インストールエンドポイントからコマンド、安全チェックリスト、対象プロンプト、正規リンクを取得します。
インストール引き継ぎ
/api/skills/datadrivenconstruction-productivity-analyzer/install
LLM テキスト形式
/api/skills/datadrivenconstruction-productivity-analyzer/install?format=text
代替を探す
/api/skills/search?q=productivity-analyzer&limit=3
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-analyzerRegistry メタデータ
自動スキル選択用の Agent 可読プロファイル。
Registry API 経由で判断、信頼、監査、ユースケース、インストールのシグナルを提供し、UI をスクレイピングせずに Agent が順位付けできます。
Manifest
/api/registry/manifest/datadrivenconstruction-productivity-analyzer
LLM テキスト
/api/registry/manifest/datadrivenconstruction-productivity-analyzer?format=text
インストール別名
/api/registry/install/datadrivenconstruction-productivity-analyzer
推奨
/api/registry/recommend?task=Use%20productivity-analyzer%20in%20an%20agent%20workflow&limit=3
Agent 判断パネル
Fallback candidate for Research agents
まずこのスキルでプロトタイプを作り、代替候補を用意してください。
スタック内の役割
代替候補
主な適合
リサーチ Agent
信頼ラベル
まずプロトタイプ
インストールパス
コマンド準備済み
使う場面
- リサーチ Agent ワークフロー
- Claude Code チーム
- builders willing to evaluate younger projects
根拠
- 最近のリポジトリ活動
- インストールコマンドまたは GitHub リポジトリが利用可能
- 品質プロファイル 71/100
先にレビュー
- The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
- OpenAgentSkill の利用フィードバックはまだありません
実装パス
- 1サンドボックスの Agent にインストールし、リサーチ Agent タスクを一度最初から最後まで実行します。
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
信頼プロファイル
サンドボックス限定
信頼シグナルが不足または混在する有用な候補です。結果ループがタスク適合を示すまで、隔離されたワークスペースで使用してください。
GitHub 採用度
情報GitHub スター 282
スター/フォーク活動
情報スター 282、フォーク 74; 現在のメタデータでは Issue 活動を利用できません
最近のメンテナンス
合格最終プッシュから 1 日
ライセンスの明確さ
合格MIT
良いシグナル
- AI レビュー承認済み
- インストールパスを利用できます
- リポジトリの根拠を利用できます
- 最近保守されたリポジトリ
- インストールコマンドに明確な高リスクパターンはありません
- 成果ループは準備済みですが、最初の実行が必要です
インストール前にレビュー
- The SKILL.md excerpt is truncated; full documentation should be verified for completeness.
- Quality score needs review
- 実際の Agent 成果レポートはまだありません
- 無人インストールの前に人によるレビューが必要です
推奨アクション
実作業で使う前に、サンドボックスでのみ実行し、近い代替と比較してください。
品質プロファイル
強い Agent ワークフロー向けの候補
本番ワークフローの候補に値する堅実な選択肢です。
ワークフロー適合
このスキルを使うシナリオ
Investigate faster
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Operate web apps
Browser automation
I need my agent to control a browser, fill forms, and verify web app workflows.
Analyze matches
Sports analytics
I need my agent to analyze football matches, World Cup data, xG, players, teams, and predictions.
ワークフロー適合
完全なワークフローに追加
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Find, compare, and synthesize
Research report agent
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Design, build, test, and ship interfaces
Frontend and UI
A practical workflow for agents that turn product briefs or Figma designs into polished frontend code, review the result, test it in a browser, and prepare a safe deployment.
代替候補
インストール前に比較
このタスクに適する可能性のある類似スキル。
D3
Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
Echarts
Apache ECharts is a powerful, interactive charting and data visualization library for browser
Data Science For Beginners
10 Weeks, 20 Lessons, Data Science for All!
Sequelize
Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB, DB2 and DB2 for IBM i.
概要
--- 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,
技術詳細
- バージョン
- 1.0.0
- ライセンス
- MIT
- 最終更新
- 2026年8月22日
- 公開日
- 2026年8月22日
判断の要約
代替候補
最近のリポジトリ活動
Agent 実証エビデンス
Agent 実証エビデンス
Resolve、レビュー、インストール、限定実行後の成果レポート。
- 成功率
- —
- 直近の失敗
- —
- 成果
- 0
- 出力品質
- —
- 失敗
- 0
- 非該当
- 0
- インストール数
- 0
- リスクによりブロック
- 0
- 設定が必要
- 0
- 本番
- 0
Agent の実行結果はまだありません。最初の実行では /api/agent/outcome を通じて成功、設定要件、リスクによるブロック、失敗、非該当を報告できます。
成長ループ
共有キット
productivity-analyzer 用のシナリオベース草案です。X へ手動投稿できます。
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
任意:インストールコマンド付きの返信
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 --...
掲載元
Registry により登録
この掲載は公開ソースから登録されており、メンテナー申請が承認されるまで公式として表示されません。
- インデックス作成者
- OpenAgentSkill コミュニティインデックス
帰属は公開リポジトリまたは作成者プロフィールにリンクされています。作成者は掲載を申請して所有権シグナルを更新できます。
このスキルを申請所有者の申請
このスキル掲載を申請
この Registry により登録 掲載は datadrivenconstruction に帰属していますが、まだ公式として表示されていません。申請すると、確認済み所有者シグナルが追加され、今後の公開、インストール、監査更新の信頼性が高まります。
クリエイター被リンクキット
README にエビデンスバッジを追加
開発者がリポジトリを評価する場所で、正規掲載、現在の信頼・監査シグナル、実際の Agent-Proven エビデンスを表示します。
[](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)
[](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)
[](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer/audit)
[](https://www.openagentskill.com/skills/datadrivenconstruction-productivity-analyzer)作者
datadrivenconstruction
@datadrivenconstruction
プラットフォーム適合
健全性シグナル
- GitHub スター
- 282
- 品質スコア
- 40/100
- 最終 GitHub プッシュ
- 2026年8月22日
- フレームワークのヒント
- 不明
- OpenAgentSkill 閲覧数
- 0
- インストールコピー数
- 0
- 外部クリック
- 0
コミュニティシグナル
このスキルが Agent ワークフローに役立つかを共有してください。集約されたフィードバックがランキングを改善します。
信頼と安全性
サンドボックス限定
- GitHub 採用度GitHub スター 282情報
- スター/フォーク活動スター 282、フォーク 74; 現在のメタデータでは Issue 活動を利用できません情報
- 最近のメンテナンス最終プッシュから 1 日合格
- ライセンスの明確さMIT合格
- README/SKILL.md の完全性メタデータには十分な利用・ワークフロー文脈があります合格
- 依存関係/ランタイムのリスク公開メタデータに重大な依存関係リスクのヒントはありません合格
関連スキル
D3
Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
113.1K スターEcharts
Apache ECharts is a powerful, interactive charting and data visualization library for browser
66.6K スターData Science For Beginners
10 Weeks, 20 Lessons, Data Science for All!
35.6K スターSequelize
Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB, DB2 and DB2 for IBM i.
30.4K スター