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
유지보수
최신
오늘 푸시됨
위험
검토 필요
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 신뢰 점수 v5
설치 전 사람 검토
실제 작업에 사용하기 전 샌드박스에서만 실행하고 유사 대안과 비교하세요.
스타
GitHub 스타 282
저장소 활동
스타 282, 포크 74
유지보수
오늘 푸시됨
라이선스
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 검증 결과 근거가 없습니다
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를 통해 동일한 결정, 신뢰, 감사, 사용 사례, 설치 신호를 제공하므로 Agent가 UI를 스크래핑하지 않고도 순위를 매길 수 있습니다.
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; 현재 메타데이터에서 이슈 활동을 확인할 수 없습니다
최근 유지보수
통과오늘 푸시됨
라이선스 명확성
통과MIT
긍정 신호
- AI 검토 승인됨
- 설치 경로를 사용할 수 있습니다
- 저장소 근거를 사용할 수 있습니다
- 최근 유지보수된 저장소
- 설치 명령에서 뚜렷한 고위험 패턴이 발견되지 않았습니다
- 결과 루프는 준비되었지만 첫 실제 Agent 실행이 필요합니다
설치 전 검토
- 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; 현재 메타데이터에서 이슈 활동을 확인할 수 없습니다정보
- 최근 유지보수오늘 푸시됨통과
- 라이선스 명확성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 스타