dantelabs-agentic-school 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +94 -15
- package/README.md +188 -39
- package/package.json +5 -2
- package/plugins/common/skills/kie-image-generator/scripts/utils.py +25 -6
- package/plugins/common/skills/kie-video-generator/scripts/utils.py +29 -13
- package/plugins/data-science/data-profiling/README.md +297 -0
- package/plugins/data-science/data-profiling/agents/data-profiler.md +140 -0
- package/plugins/data-science/data-profiling/agents/eda-analyst.md +253 -0
- package/plugins/data-science/data-profiling/commands/analyze-profile.md +406 -0
- package/plugins/data-science/data-profiling/commands/profile-data.md +245 -0
- package/plugins/data-science/data-profiling/plugin.json +9 -0
- package/plugins/data-science/data-profiling/skills/profiling/SKILL.md +315 -0
- package/plugins/data-science/data-profiling/skills/profiling/requirements.txt +30 -0
- package/plugins/data-science/data-profiling/skills/profiling/scripts/analyze_eda.py +611 -0
- package/plugins/data-science/data-profiling/skills/profiling/scripts/generate_profile.py +325 -0
- package/plugins/data-science/feature-engineering/README.md +118 -0
- package/plugins/data-science/feature-engineering/agents/feature-engineer.md +194 -0
- package/plugins/data-science/feature-engineering/commands/engineer-features.md +296 -0
- package/plugins/data-science/feature-engineering/plugin.json +9 -0
- package/plugins/data-science/feature-engineering/skills/feature-engineering/outputs/models/creditcard_preprocessing_pipeline.pkl +0 -0
- package/plugins/data-science/feature-engineering/skills/feature-engineering/outputs/reports/creditcard_feature_engineering_log.md +38 -0
- package/plugins/data-science/feature-engineering/skills/feature-engineering/requirements.txt +18 -0
- package/plugins/data-science/feature-engineering/skills/feature-engineering/scripts/transform_features.py +358 -0
- package/plugins/data-science/hyperparameter-tuning/README.md +230 -0
- package/plugins/data-science/hyperparameter-tuning/commands/tune-hyperparameters.md +351 -0
- package/plugins/data-science/hyperparameter-tuning/plugin.json +9 -0
- package/plugins/data-science/hyperparameter-tuning/skills/tuning/requirements.txt +25 -0
- package/plugins/data-science/hyperparameter-tuning/skills/tuning/scripts/tune_model.py +299 -0
- package/plugins/data-science/imbalance-handling/README.md +234 -0
- package/plugins/data-science/imbalance-handling/commands/balance-data.md +304 -0
- package/plugins/data-science/imbalance-handling/plugin.json +9 -0
- package/plugins/data-science/imbalance-handling/skills/imbalance-handling/requirements.txt +18 -0
- package/plugins/data-science/imbalance-handling/skills/imbalance-handling/scripts/balance_data.py +134 -0
- package/plugins/data-science/model-deployment/README.md +340 -0
- package/plugins/data-science/model-deployment/commands/deploy-model.md +375 -0
- package/plugins/data-science/model-deployment/plugin.json +9 -0
- package/plugins/data-science/model-deployment/skills/deployment/requirements.txt +22 -0
- package/plugins/data-science/model-deployment/skills/deployment/scripts/deploy_api.py +561 -0
- package/plugins/data-science/model-evaluation/README.md +316 -0
- package/plugins/data-science/model-evaluation/commands/evaluate-model.md +279 -0
- package/plugins/data-science/model-evaluation/plugin.json +9 -0
- package/plugins/data-science/model-evaluation/skills/evaluation/requirements.txt +22 -0
- package/plugins/data-science/model-evaluation/skills/evaluation/scripts/evaluate_model.py +471 -0
- package/plugins/data-science/model-monitoring/README.md +225 -0
- package/plugins/data-science/model-monitoring/commands/monitor-model.md +250 -0
- package/plugins/data-science/model-monitoring/plugin.json +9 -0
- package/plugins/data-science/model-monitoring/skills/monitoring/requirements.txt +22 -0
- package/plugins/data-science/model-monitoring/skills/monitoring/scripts/monitor_performance.py +488 -0
- package/plugins/data-science/model-selection/README.md +364 -0
- package/plugins/data-science/model-selection/commands/train-model.md +500 -0
- package/plugins/data-science/model-selection/plugin.json +9 -0
- package/plugins/data-science/model-selection/skills/model-selection/requirements.txt +20 -0
- package/plugins/data-science/model-selection/skills/model-selection/scripts/train_model.py +168 -0
- package/plugins/data-science/shap-analysis/README.md +357 -0
- package/plugins/data-science/shap-analysis/commands/analyze-shap.md +300 -0
- package/plugins/data-science/shap-analysis/plugin.json +9 -0
- package/plugins/data-science/shap-analysis/skills/shap-analysis/requirements.txt +21 -0
- package/plugins/data-science/shap-analysis/skills/shap-analysis/scripts/analyze_shap.py +422 -0
- package/samples/datascience/INSTALL.md +243 -0
- package/samples/datascience/QUICKSTART.md +318 -0
- package/samples/datascience/README.md +241 -0
- package/samples/datascience/STRUCTURE.md +125 -0
- package/samples/datascience/outputs/reports/creditcard_eda_report.md +226 -0
- package/samples/datascience/requirements.txt +33 -0
- package/samples/datascience/scripts/01_data_profiling.py +89 -0
- /package/plugins/{brand-analytics → marketing/brand-analytics}/agents/brand-strategist.md +0 -0
- /package/plugins/{brand-analytics → marketing/brand-analytics}/agents/competitive-analyst.md +0 -0
- /package/plugins/{brand-analytics → marketing/brand-analytics}/commands/analyze-brand.md +0 -0
- /package/plugins/{brand-analytics → marketing/brand-analytics}/plugin.json +0 -0
- /package/plugins/{brand-analytics → marketing/brand-analytics}/skills/brand-positioning/SKILL.md +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/agents/campaign-director.md +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/agents/workflow-coordinator.md +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/commands/run-full-pipeline.md +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/commands/run-phase.md +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/plugin.json +0 -0
- /package/plugins/{campaign-orchestration → marketing/campaign-orchestration}/skills/pipeline-framework/SKILL.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/agents/conversion-copywriter.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/agents/copy-strategist.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/agents/script-writer.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/commands/generate-copy.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/commands/write-script.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/plugin.json +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/skills/hook-formulas/SKILL.md +0 -0
- /package/plugins/{content-creation → marketing/content-creation}/skills/message-architecture/SKILL.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/agents/creative-director.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/agents/production-coordinator.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/commands/create-image.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/commands/create-video.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/plugin.json +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/skills/image-prompt-guide/SKILL.md +0 -0
- /package/plugins/{creative-production → marketing/creative-production}/skills/video-production/SKILL.md +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/agents/data-analyst.md +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/agents/segmentation-architect.md +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/commands/create-segments.md +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/plugin.json +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/skills/activation-map/SKILL.md +0 -0
- /package/plugins/{customer-segmentation → marketing/customer-segmentation}/skills/segmentation-framework/SKILL.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/agents/competitive-intelligence.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/agents/market-analyst.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/commands/analyze-market.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/commands/competitive-landscape.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/plugin.json +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/analysis-reports/SKILL.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/analysis-reports/references/data_patterns.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/analysis-reports/references/report_structure.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/analysis-reports/references/visualization_guide.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/analysis-reports/scripts/generate_visual.py +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/diagram-generator/SKILL.md +0 -0
- /package/plugins/{market-research → marketing/market-research}/skills/diagram-generator/scripts/generate_visual.py +0 -0
- /package/plugins/{persona-builder → marketing/persona-builder}/agents/customer-insights-partner.md +0 -0
- /package/plugins/{persona-builder → marketing/persona-builder}/agents/persona-architect.md +0 -0
- /package/plugins/{persona-builder → marketing/persona-builder}/commands/build-persona.md +0 -0
- /package/plugins/{persona-builder → marketing/persona-builder}/plugin.json +0 -0
- /package/plugins/{persona-builder → marketing/persona-builder}/skills/persona-framework/SKILL.md +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/agents/channel-analyst.md +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/agents/social-strategy-director.md +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/commands/plan-channels.md +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/plugin.json +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/skills/channel-roadmap/SKILL.md +0 -0
- /package/plugins/{social-strategy → marketing/social-strategy}/skills/content-pillars/SKILL.md +0 -0
|
@@ -16,64 +16,133 @@
|
|
|
16
16
|
"name": "common",
|
|
17
17
|
"description": "공통 유틸리티 스킬 모음. 인증 관리, 문서 제작 도구(PPTX, PDF, DOCX), 이미지/비디오 생성(Kie.ai) 등 여러 플러그인에서 공통으로 사용하는 기능을 제공합니다.",
|
|
18
18
|
"version": "1.0.0",
|
|
19
|
-
"source": "./plugins/common"
|
|
19
|
+
"source": "./plugins/common",
|
|
20
|
+
"category": "common"
|
|
20
21
|
},
|
|
21
22
|
{
|
|
22
23
|
"name": "brand-analytics",
|
|
23
24
|
"description": "브랜드 소개서를 분석하여 포지셔닝, SWOT, 경쟁사 분석을 수행합니다.",
|
|
24
25
|
"version": "1.0.0",
|
|
25
|
-
"source": "./plugins/brand-analytics"
|
|
26
|
+
"source": "./plugins/marketing/brand-analytics",
|
|
27
|
+
"category": "marketing"
|
|
26
28
|
},
|
|
27
29
|
{
|
|
28
30
|
"name": "customer-segmentation",
|
|
29
31
|
"description": "데이터 기반 고객 세그먼트를 설계하고 정의합니다.",
|
|
30
32
|
"version": "1.0.0",
|
|
31
|
-
"source": "./plugins/customer-segmentation"
|
|
33
|
+
"source": "./plugins/marketing/customer-segmentation",
|
|
34
|
+
"category": "marketing"
|
|
32
35
|
},
|
|
33
36
|
{
|
|
34
37
|
"name": "persona-builder",
|
|
35
38
|
"description": "타겟 세그먼트의 상세 페르소나 카드를 생성합니다.",
|
|
36
39
|
"version": "1.0.0",
|
|
37
|
-
"source": "./plugins/persona-builder"
|
|
40
|
+
"source": "./plugins/marketing/persona-builder",
|
|
41
|
+
"category": "marketing"
|
|
38
42
|
},
|
|
39
43
|
{
|
|
40
44
|
"name": "social-strategy",
|
|
41
45
|
"description": "페르소나 기반 채널 선정 및 콘텐츠 전략을 수립합니다.",
|
|
42
46
|
"version": "1.0.0",
|
|
43
|
-
"source": "./plugins/social-strategy"
|
|
47
|
+
"source": "./plugins/marketing/social-strategy",
|
|
48
|
+
"category": "marketing"
|
|
44
49
|
},
|
|
45
50
|
{
|
|
46
51
|
"name": "content-creation",
|
|
47
52
|
"description": "채널별 홍보 카피 및 스크립트를 생성합니다.",
|
|
48
53
|
"version": "1.0.0",
|
|
49
|
-
"source": "./plugins/content-creation"
|
|
54
|
+
"source": "./plugins/marketing/content-creation",
|
|
55
|
+
"category": "marketing"
|
|
50
56
|
},
|
|
51
57
|
{
|
|
52
58
|
"name": "creative-production",
|
|
53
59
|
"description": "실제 이미지와 비디오를 생성합니다. common 플러그인의 kie-image-generator, kie-video-generator 스킬을 활용합니다.",
|
|
54
60
|
"version": "1.0.0",
|
|
55
|
-
"source": "./plugins/creative-production"
|
|
61
|
+
"source": "./plugins/marketing/creative-production",
|
|
62
|
+
"category": "marketing"
|
|
56
63
|
},
|
|
57
64
|
{
|
|
58
65
|
"name": "campaign-orchestration",
|
|
59
66
|
"description": "전체 마케팅 워크플로우를 통합하고 순차 실행합니다.",
|
|
60
67
|
"version": "1.0.0",
|
|
61
|
-
"source": "./plugins/campaign-orchestration"
|
|
68
|
+
"source": "./plugins/marketing/campaign-orchestration",
|
|
69
|
+
"category": "marketing"
|
|
62
70
|
},
|
|
63
71
|
{
|
|
64
72
|
"name": "market-research",
|
|
65
73
|
"description": "시장 규모/성장률 분석, Porter's 5 Forces, 경쟁 환경 분석 등 종합적인 시장 조사를 수행합니다. TAM/SAM/SOM 모델링, PESTLE 분석, 경쟁사 포지셔닝 맵 등을 포함합니다.",
|
|
66
74
|
"version": "1.0.0",
|
|
67
|
-
"source": "./plugins/market-research"
|
|
75
|
+
"source": "./plugins/marketing/market-research",
|
|
76
|
+
"category": "marketing"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "data-profiling",
|
|
80
|
+
"description": "데이터 프로파일링 및 탐색적 데이터 분석(EDA)을 수행합니다. ydata-profiling 기반 자동 리포트 생성 및 인터랙티브 분석을 제공합니다.",
|
|
81
|
+
"version": "1.0.0",
|
|
82
|
+
"source": "./plugins/data-science/data-profiling",
|
|
83
|
+
"category": "data-science"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "feature-engineering",
|
|
87
|
+
"description": "Feature Engineering 및 데이터 전처리 파이프라인을 구축합니다. 스케일링, 인코딩, Feature 생성 등을 자동화합니다.",
|
|
88
|
+
"version": "1.0.0",
|
|
89
|
+
"source": "./plugins/data-science/feature-engineering",
|
|
90
|
+
"category": "data-science"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "imbalance-handling",
|
|
94
|
+
"description": "클래스 불균형 문제를 해결합니다. SMOTE, ADASYN 등 다양한 리샘플링 기법을 제공합니다.",
|
|
95
|
+
"version": "1.0.0",
|
|
96
|
+
"source": "./plugins/data-science/imbalance-handling",
|
|
97
|
+
"category": "data-science"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "model-selection",
|
|
101
|
+
"description": "머신러닝 모델 학습 및 선택을 수행합니다. XGBoost, LightGBM, Random Forest 등 주요 알고리즘을 지원합니다.",
|
|
102
|
+
"version": "1.0.0",
|
|
103
|
+
"source": "./plugins/data-science/model-selection",
|
|
104
|
+
"category": "data-science"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "hyperparameter-tuning",
|
|
108
|
+
"description": "Optuna 기반 하이퍼파라미터 최적화를 수행합니다. TPE Sampler, Median Pruner를 활용한 효율적인 튜닝을 제공합니다.",
|
|
109
|
+
"version": "1.0.0",
|
|
110
|
+
"source": "./plugins/data-science/hyperparameter-tuning",
|
|
111
|
+
"category": "data-science"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "model-evaluation",
|
|
115
|
+
"description": "모델 성능 평가 및 시각화를 수행합니다. Feature Importance, Learning Curves, Cross-Validation 등을 제공합니다.",
|
|
116
|
+
"version": "1.0.0",
|
|
117
|
+
"source": "./plugins/data-science/model-evaluation",
|
|
118
|
+
"category": "data-science"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "shap-analysis",
|
|
122
|
+
"description": "SHAP 기반 모델 해석성 분석을 수행합니다. Summary Plot, Waterfall Plot, Force Plot 등을 생성합니다.",
|
|
123
|
+
"version": "1.0.0",
|
|
124
|
+
"source": "./plugins/data-science/shap-analysis",
|
|
125
|
+
"category": "data-science"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "model-monitoring",
|
|
129
|
+
"description": "모델 성능 모니터링 및 데이터 드리프트 감지를 수행합니다. PSI, KS Test 기반 알림 시스템을 제공합니다.",
|
|
130
|
+
"version": "1.0.0",
|
|
131
|
+
"source": "./plugins/data-science/model-monitoring",
|
|
132
|
+
"category": "data-science"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "model-deployment",
|
|
136
|
+
"description": "FastAPI 기반 REST API 모델 배포를 자동화합니다. Docker 컨테이너화 및 Swagger UI 문서를 제공합니다.",
|
|
137
|
+
"version": "1.0.0",
|
|
138
|
+
"source": "./plugins/data-science/model-deployment",
|
|
139
|
+
"category": "data-science"
|
|
68
140
|
}
|
|
69
141
|
],
|
|
70
142
|
"categories": [
|
|
71
|
-
"
|
|
143
|
+
"common",
|
|
72
144
|
"marketing",
|
|
73
|
-
"data-
|
|
74
|
-
"ai-ml",
|
|
75
|
-
"business-ops",
|
|
76
|
-
"automation"
|
|
145
|
+
"data-science"
|
|
77
146
|
],
|
|
78
147
|
"tags": [
|
|
79
148
|
"agentic-business",
|
|
@@ -85,7 +154,17 @@
|
|
|
85
154
|
"content-generation",
|
|
86
155
|
"image-generation",
|
|
87
156
|
"video-generation",
|
|
88
|
-
"data-
|
|
157
|
+
"data-science",
|
|
158
|
+
"machine-learning",
|
|
159
|
+
"data-profiling",
|
|
160
|
+
"feature-engineering",
|
|
161
|
+
"model-training",
|
|
162
|
+
"hyperparameter-tuning",
|
|
163
|
+
"model-evaluation",
|
|
164
|
+
"shap-analysis",
|
|
165
|
+
"model-monitoring",
|
|
166
|
+
"model-deployment",
|
|
167
|
+
"imbalance-handling",
|
|
89
168
|
"workflow-automation"
|
|
90
169
|
]
|
|
91
170
|
}
|
package/README.md
CHANGED
|
@@ -6,16 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
이 프로젝트는 **GTM Agents 스타일의 전략 에이전트**와 **실제 생성/분석 도구**를 통합하여, **엔드투엔드 비즈니스 자동화**를 제공합니다.
|
|
8
8
|
|
|
9
|
-
현재 **마케팅 자동화** 플러그인이 구현되어 있으며, 향후
|
|
9
|
+
현재 **마케팅 자동화**(8개)와 **데이터 사이언스**(9개) 플러그인이 구현되어 있으며, 향후 **일반 비즈니스** 등으로 확장될 예정입니다.
|
|
10
10
|
|
|
11
11
|
## 지원 영역
|
|
12
12
|
|
|
13
|
-
| 영역 | 상태 | 설명 |
|
|
14
|
-
| --- | --- | --- |
|
|
15
|
-
| 🎯 Marketing | ✅ 구현완료 | 브랜드 분석 → 크리에이티브 제작 |
|
|
16
|
-
| 📊 Data
|
|
17
|
-
|
|
|
18
|
-
| 💼 Business Ops | 🔜 예정 | 워크플로우 → 자동화 → 리포팅 |
|
|
13
|
+
| 영역 | 상태 | 설명 | 플러그인 수 |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| 🎯 Marketing | ✅ 구현완료 | 브랜드 분석 → 크리에이티브 제작 | 8개 |
|
|
16
|
+
| 📊 Data Science | ✅ 구현완료 | 데이터 분석 → 모델 학습 → 배포 | 9개 |
|
|
17
|
+
| 💼 Business Ops | 🔜 예정 | 워크플로우 → 자동화 → 리포팅 | - |
|
|
19
18
|
|
|
20
19
|
## 특징
|
|
21
20
|
|
|
@@ -24,6 +23,7 @@
|
|
|
24
23
|
- **실행 커맨드**: 직접 실행 가능한 작업 커맨드
|
|
25
24
|
- **전문 스킬**: 도메인 지식 및 프레임워크
|
|
26
25
|
- **AI 생성 도구 내장**: kie-image-generator, kie-video-generator (common 플러그인)
|
|
26
|
+
- **완전 자동화 파이프라인**: 엔드투엔드 자동화 (마케팅 6단계, 데이터 사이언스 10단계)
|
|
27
27
|
|
|
28
28
|
## 설치
|
|
29
29
|
|
|
@@ -86,9 +86,11 @@ npx dantelabs-agentic-school sample marketing --force
|
|
|
86
86
|
|
|
87
87
|
```text
|
|
88
88
|
samples/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
├── marketing/
|
|
90
|
+
│ ├── dante-coffee-agentic-marketing-scenario.md # 마케팅 시나리오 가이드
|
|
91
|
+
│ └── dante-coffee-brand-brief.md # 브랜드 브리프 예시
|
|
92
|
+
└── datascience/
|
|
93
|
+
└── creditcard.csv # 신용카드 사기 탐지 데이터셋
|
|
92
94
|
```
|
|
93
95
|
|
|
94
96
|
> **Tip**: 다운로드한 브랜드 브리프를 사용하여 `/analyze-brand --brand-doc ./samples/marketing/dante-coffee-brand-brief.md` 명령어로 전체 파이프라인을 실행해볼 수 있습니다.
|
|
@@ -187,10 +189,15 @@ Claude Code 실행 후 `/help` 명령어로 설치된 커맨드를 확인할 수
|
|
|
187
189
|
# Claude Code 내에서
|
|
188
190
|
/help
|
|
189
191
|
|
|
190
|
-
# 설치된 커맨드 예시
|
|
192
|
+
# 설치된 커맨드 예시 (마케팅)
|
|
191
193
|
/analyze-brand --brand-doc ./brand-brief.md
|
|
192
194
|
/create-segments
|
|
193
195
|
/build-persona --segment "워라밸 직장인"
|
|
196
|
+
|
|
197
|
+
# 설치된 커맨드 예시 (데이터 사이언스)
|
|
198
|
+
/profile-data --data-path "./data/creditcard.csv"
|
|
199
|
+
/train-model --algorithm xgboost
|
|
200
|
+
/deploy-model --model-path "./models/model.pkl"
|
|
194
201
|
```
|
|
195
202
|
|
|
196
203
|
---
|
|
@@ -302,10 +309,10 @@ python ~/.claude/skills/kie-video-generator/scripts/generate_video.py --credits
|
|
|
302
309
|
|
|
303
310
|
| 항목 | 개수 |
|
|
304
311
|
| --- | --- |
|
|
305
|
-
| 플러그인 |
|
|
312
|
+
| 플러그인 | 18개 (common 1 + marketing 8 + data-science 9) |
|
|
306
313
|
| 에이전트 | 15개 |
|
|
307
|
-
| 커맨드 |
|
|
308
|
-
| 스킬 |
|
|
314
|
+
| 커맨드 | 19개 |
|
|
315
|
+
| 스킬 | 28개 (common 6 + marketing 13 + data-science 9) |
|
|
309
316
|
|
|
310
317
|
## 플러그인 목록
|
|
311
318
|
|
|
@@ -474,40 +481,181 @@ Brand Document
|
|
|
474
481
|
Complete Campaign Assets
|
|
475
482
|
```
|
|
476
483
|
|
|
477
|
-
|
|
484
|
+
---
|
|
478
485
|
|
|
479
|
-
|
|
480
|
-
| --- | --- |
|
|
481
|
-
| "브랜드 분석해줘" | brand-strategist |
|
|
482
|
-
| "고객 세그먼트 나눠줘" | segmentation-architect |
|
|
483
|
-
| "페르소나 만들어줘" | persona-architect |
|
|
484
|
-
| "SNS 전략 수립해줘" | social-strategy-director |
|
|
485
|
-
| "인스타그램 카피 써줘" | conversion-copywriter |
|
|
486
|
-
| "영상 스크립트 작성해줘" | script-writer |
|
|
487
|
-
| "제품 이미지 만들어줘" | creative-director |
|
|
486
|
+
## 📊 Data Science Plugins ⭐ NEW
|
|
488
487
|
|
|
489
|
-
|
|
488
|
+
데이터 분석부터 모델 학습, 배포까지 10단계 자동화 파이프라인을 제공합니다.
|
|
490
489
|
|
|
491
|
-
|
|
490
|
+
### 기본 파이프라인 (4개)
|
|
491
|
+
|
|
492
|
+
| # | 플러그인 | 설명 | 주요 기능 |
|
|
493
|
+
| --- | --- | --- | --- |
|
|
494
|
+
| 1 | **data-profiling** | 데이터 품질 검증 및 EDA | ydata-profiling, A4 전략 레포트 |
|
|
495
|
+
| 2 | **feature-engineering** | 특성 변환 및 전처리 | RobustScaler, 시간 특성, 파이프라인 저장 |
|
|
496
|
+
| 3 | **imbalance-handling** | 클래스 불균형 처리 | SMOTE, ADASYN, BorderlineSMOTE |
|
|
497
|
+
| 4 | **model-selection** | 모델 학습 및 평가 | XGBoost, LightGBM, Random Forest |
|
|
498
|
+
|
|
499
|
+
### 고급 파이프라인 (5개) ⭐
|
|
500
|
+
|
|
501
|
+
| # | 플러그인 | 설명 | 주요 기능 |
|
|
502
|
+
| --- | --- | --- | --- |
|
|
503
|
+
| 5 | **hyperparameter-tuning** | 자동 하이퍼파라미터 최적화 | Optuna TPE, Median Pruner, +2-4% 성능 향상 |
|
|
504
|
+
| 6 | **model-evaluation** | 모델 성능 심층 분석 | Feature Importance, Learning Curves, CV |
|
|
505
|
+
| 7 | **shap-analysis** | 예측 설명 및 해석 | SHAP Values, Waterfall Plot, Force Plot |
|
|
506
|
+
| 8 | **model-monitoring** | 프로덕션 모델 추적 | Data Drift (PSI, KS), Alert System |
|
|
507
|
+
| 9 | **model-deployment** | API 배포 | FastAPI, Swagger UI, Docker |
|
|
508
|
+
|
|
509
|
+
### 파이프라인 구조
|
|
492
510
|
|
|
493
|
-
|
|
511
|
+
```text
|
|
512
|
+
Raw Data
|
|
513
|
+
↓
|
|
514
|
+
1️⃣ Data Profiling (HTML Report)
|
|
515
|
+
↓
|
|
516
|
+
2️⃣ EDA Analysis (A4 Strategy Report)
|
|
517
|
+
↓
|
|
518
|
+
3️⃣ Feature Engineering (Scaling, Time Features)
|
|
519
|
+
↓
|
|
520
|
+
4️⃣ Imbalance Handling (SMOTE)
|
|
521
|
+
↓
|
|
522
|
+
5️⃣ Model Training (XGBoost, LightGBM, RF)
|
|
523
|
+
↓
|
|
524
|
+
6️⃣ Hyperparameter Tuning (Optuna, 50-100 trials) ⭐
|
|
525
|
+
↓
|
|
526
|
+
7️⃣ Model Evaluation (Feature Importance, Curves) ⭐
|
|
527
|
+
↓
|
|
528
|
+
8️⃣ SHAP Analysis (Prediction Explanation) ⭐
|
|
529
|
+
↓
|
|
530
|
+
9️⃣ Model Monitoring (Drift Detection, Alerts) ⭐
|
|
531
|
+
↓
|
|
532
|
+
🔟 Model Deployment (FastAPI, Docker) ⭐
|
|
533
|
+
↓
|
|
534
|
+
Production API Server
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
### 사용 예시
|
|
538
|
+
|
|
539
|
+
#### 프로젝트 초기화
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
# 새 데이터 사이언스 프로젝트 생성
|
|
543
|
+
python scripts/init_project.py --name my-ml-project
|
|
494
544
|
|
|
495
|
-
데이터
|
|
545
|
+
# 데이터 복사
|
|
546
|
+
cp /path/to/data.csv projects/my-ml-project/data/raw/
|
|
547
|
+
```
|
|
496
548
|
|
|
497
|
-
|
|
498
|
-
- exploratory-analysis: 탐색적 데이터 분석
|
|
499
|
-
- visualization: 대시보드 및 시각화
|
|
500
|
-
- insight-generation: 인사이트 도출
|
|
549
|
+
#### 기본 파이프라인 (1-4단계)
|
|
501
550
|
|
|
502
|
-
|
|
551
|
+
```bash
|
|
552
|
+
# 1. 데이터 프로파일링
|
|
553
|
+
/profile-data --data-path "projects/my-ml-project/data/raw/data.csv" --target-column "target"
|
|
503
554
|
|
|
504
|
-
|
|
555
|
+
# 2. EDA 분석
|
|
556
|
+
/analyze-profile --data-path "projects/my-ml-project/data/raw/data.csv" --target-column "target"
|
|
505
557
|
|
|
506
|
-
|
|
507
|
-
-
|
|
508
|
-
|
|
558
|
+
# 3. 특성 엔지니어링
|
|
559
|
+
/engineer-features --data-path "projects/my-ml-project/data/raw/data.csv" --target-column "target"
|
|
560
|
+
|
|
561
|
+
# 4. 불균형 처리
|
|
562
|
+
/balance-data \
|
|
563
|
+
--X-path "projects/my-ml-project/data/processed/data_processed_X.csv" \
|
|
564
|
+
--y-path "projects/my-ml-project/data/processed/data_processed_y.csv" \
|
|
565
|
+
--method smote
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
#### 고급 파이프라인 (5-10단계) ⭐
|
|
569
|
+
|
|
570
|
+
```bash
|
|
571
|
+
# 5. 모델 학습 (베이스라인)
|
|
572
|
+
/train-model \
|
|
573
|
+
--X-train-path "projects/my-ml-project/data/processed/X_train_balanced.csv" \
|
|
574
|
+
--y-train-path "projects/my-ml-project/data/processed/y_train_balanced.csv" \
|
|
575
|
+
--X-test-path "projects/my-ml-project/data/processed/X_test.csv" \
|
|
576
|
+
--y-test-path "projects/my-ml-project/data/processed/y_test.csv" \
|
|
577
|
+
--algorithm xgboost
|
|
578
|
+
|
|
579
|
+
# 6. 하이퍼파라미터 튜닝
|
|
580
|
+
/tune-hyperparameters \
|
|
581
|
+
--X-train-path "projects/my-ml-project/data/processed/X_train_balanced.csv" \
|
|
582
|
+
--y-train-path "projects/my-ml-project/data/processed/y_train_balanced.csv" \
|
|
583
|
+
--n-trials 50
|
|
584
|
+
|
|
585
|
+
# 7. 모델 평가
|
|
586
|
+
/evaluate-model \
|
|
587
|
+
--model-path "projects/my-ml-project/outputs/models/xgboost_tuned_model.pkl" \
|
|
588
|
+
--X-test-path "projects/my-ml-project/data/processed/X_test.csv" \
|
|
589
|
+
--y-test-path "projects/my-ml-project/data/processed/y_test.csv"
|
|
590
|
+
|
|
591
|
+
# 8. SHAP 분석
|
|
592
|
+
/analyze-shap \
|
|
593
|
+
--model-path "projects/my-ml-project/outputs/models/xgboost_tuned_model.pkl" \
|
|
594
|
+
--X-test-path "projects/my-ml-project/data/processed/X_test.csv"
|
|
595
|
+
|
|
596
|
+
# 9. 모델 모니터링
|
|
597
|
+
/monitor-model \
|
|
598
|
+
--model-path "projects/my-ml-project/outputs/models/xgboost_tuned_model.pkl" \
|
|
599
|
+
--reference-data "projects/my-ml-project/data/processed/X_train_balanced.csv" \
|
|
600
|
+
--current-data "projects/my-ml-project/data/production/prod_data.csv"
|
|
601
|
+
|
|
602
|
+
# 10. API 배포
|
|
603
|
+
/deploy-model \
|
|
604
|
+
--model-path "projects/my-ml-project/outputs/models/xgboost_tuned_model.pkl" \
|
|
605
|
+
--X-sample-path "projects/my-ml-project/data/processed/X_train_balanced.csv"
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
### 성능 개선 과정
|
|
609
|
+
|
|
610
|
+
**신용카드 사기 탐지 예시** (284,807건, 1:578 불균형)
|
|
611
|
+
|
|
612
|
+
| 단계 | F1-Score | PR-AUC | 개선 |
|
|
613
|
+
| --- | --- | --- | --- |
|
|
614
|
+
| 베이스라인 (XGBoost) | 0.83 | 0.87 | - |
|
|
615
|
+
| + 하이퍼파라미터 튜닝 | 0.86 | 0.89 | +3.6% |
|
|
616
|
+
| + Feature Selection | 0.87 | 0.90 | +4.8% |
|
|
617
|
+
| + Threshold 최적화 | 0.88 | 0.91 | +6.0% |
|
|
618
|
+
|
|
619
|
+
### 프로젝트 구조
|
|
620
|
+
|
|
621
|
+
```text
|
|
622
|
+
projects/{project-name}/
|
|
623
|
+
├── data/
|
|
624
|
+
│ ├── raw/ # 원본 데이터
|
|
625
|
+
│ ├── processed/ # 전처리 데이터
|
|
626
|
+
│ └── production/ # 프로덕션 데이터 (모니터링용)
|
|
627
|
+
├── outputs/
|
|
628
|
+
│ ├── models/ # 학습/튜닝 모델
|
|
629
|
+
│ ├── reports/ # HTML/Markdown 리포트
|
|
630
|
+
│ ├── evaluations/ # 평가 시각화
|
|
631
|
+
│ ├── shap/ # SHAP 분석
|
|
632
|
+
│ └── monitoring/ # Drift 리포트
|
|
633
|
+
├── deployment/ # FastAPI 서버
|
|
634
|
+
│ ├── app.py
|
|
635
|
+
│ ├── Dockerfile
|
|
636
|
+
│ └── docker-compose.yml
|
|
637
|
+
└── notebooks/ # Jupyter 노트북
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
### 활용 시나리오
|
|
641
|
+
|
|
642
|
+
| 시나리오 | 소요 시간 | 예상 성능 | 산출물 |
|
|
643
|
+
| --- | --- | --- | --- |
|
|
644
|
+
| **신속 프로토타입** | 3시간 | F1 0.80-0.85 | 베이스라인 모델 |
|
|
645
|
+
| **프로덕션 모델** | 3일 | F1 0.85-0.90 | 튜닝 모델 + 평가 |
|
|
646
|
+
| **엔터프라이즈** | 1주 | F1 0.90+ | API + 모니터링 + 문서 |
|
|
647
|
+
|
|
648
|
+
### 상세 가이드
|
|
649
|
+
|
|
650
|
+
- [기본 파이프라인 가이드](./DATA_SCIENCE_PIPELINE.md)
|
|
651
|
+
- [고급 파이프라인 가이드](./ADVANCED_DATA_SCIENCE_PIPELINE.md)
|
|
652
|
+
- [프로젝트 구조 가이드](./PROJECTS.md)
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
## 🔜 Coming Soon
|
|
509
657
|
|
|
510
|
-
|
|
658
|
+
### 💼 Business Ops Plugins (예정)
|
|
511
659
|
|
|
512
660
|
비즈니스 워크플로우 자동화
|
|
513
661
|
|
|
@@ -521,6 +669,7 @@ AI 모델 선택부터 학습, 배포까지의 파이프라인
|
|
|
521
669
|
|
|
522
670
|
- Claude Code CLI
|
|
523
671
|
- Node.js 18.0.0 이상 (NPX CLI용)
|
|
672
|
+
- Python 3.8+ (데이터 사이언스 플러그인)
|
|
524
673
|
|
|
525
674
|
> 이미지/비디오 생성 스킬(`kie-image-generator`, `kie-video-generator`)은 common 플러그인에 포함되어 있습니다.
|
|
526
675
|
> API 키 설정은 [auth-manager 스킬](#auth-manager-스킬) 참조
|
|
@@ -533,7 +682,7 @@ MIT License
|
|
|
533
682
|
|
|
534
683
|
Dante Labs
|
|
535
684
|
|
|
536
|
-
- Website: [dante-
|
|
685
|
+
- Website: [dante-labs.com](https://dante-labs.com)
|
|
537
686
|
- YouTube: [@dante-labs](https://youtube.com/@dante-labs)
|
|
538
687
|
- Email: <datapod.k@gmail.com>
|
|
539
688
|
- Discord: [Dante Labs Community](https://discord.com/invite/rXyy5e9ujs)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dantelabs-agentic-school",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "CLI tool for installing Dante Labs agentic plugins for Claude Code",
|
|
5
5
|
"main": "cli/src/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,9 +18,12 @@
|
|
|
18
18
|
"plugins",
|
|
19
19
|
"agentic",
|
|
20
20
|
"marketing",
|
|
21
|
+
"data-science",
|
|
22
|
+
"machine-learning",
|
|
21
23
|
"automation",
|
|
22
24
|
"dante-labs",
|
|
23
|
-
"ai-agents"
|
|
25
|
+
"ai-agents",
|
|
26
|
+
"mlops"
|
|
24
27
|
],
|
|
25
28
|
"author": {
|
|
26
29
|
"name": "Dante Labs",
|
|
@@ -132,7 +132,12 @@ MODELS = {
|
|
|
132
132
|
|
|
133
133
|
def load_api_key(skill_dir: Optional[Path] = None) -> str:
|
|
134
134
|
"""
|
|
135
|
-
Load Kie.ai API key from .env file.
|
|
135
|
+
Load Kie.ai API key from environment variable or .env file.
|
|
136
|
+
|
|
137
|
+
Priority order:
|
|
138
|
+
1. Environment variable KIEAI_API_KEY (set via auth-loader or shell)
|
|
139
|
+
2. ~/.claude/auth/kiei-api.env (centralized auth management)
|
|
140
|
+
3. Skill directory .env file (local fallback)
|
|
136
141
|
|
|
137
142
|
Args:
|
|
138
143
|
skill_dir: Path to skill directory (default: script's parent directory)
|
|
@@ -143,19 +148,30 @@ def load_api_key(skill_dir: Optional[Path] = None) -> str:
|
|
|
143
148
|
Raises:
|
|
144
149
|
ValueError: If API key is not found or invalid
|
|
145
150
|
"""
|
|
151
|
+
# 1. Check if KIEAI_API_KEY is already set in environment
|
|
152
|
+
api_key = os.getenv('KIEAI_API_KEY', '').strip()
|
|
153
|
+
if api_key and api_key != 'your_api_key_here':
|
|
154
|
+
return api_key
|
|
155
|
+
|
|
156
|
+
# 2. Try loading from centralized auth directory (~/.claude/auth/)
|
|
157
|
+
auth_env = Path.home() / '.claude' / 'auth' / 'kiei-api.env'
|
|
158
|
+
if auth_env.exists():
|
|
159
|
+
load_dotenv(auth_env)
|
|
160
|
+
api_key = os.getenv('KIEAI_API_KEY', '').strip()
|
|
161
|
+
if api_key and api_key != 'your_api_key_here':
|
|
162
|
+
return api_key
|
|
163
|
+
|
|
164
|
+
# 3. Fallback to skill directory .env
|
|
146
165
|
if skill_dir is None:
|
|
147
166
|
skill_dir = Path(__file__).parent.parent
|
|
148
167
|
|
|
149
168
|
env_file = skill_dir / '.env'
|
|
150
169
|
env_example = skill_dir / '.env.example'
|
|
151
170
|
|
|
152
|
-
# Load .env if exists
|
|
153
171
|
if env_file.exists():
|
|
154
172
|
load_dotenv(env_file)
|
|
155
173
|
elif env_example.exists():
|
|
156
|
-
# Copy example to .env and prompt user
|
|
157
174
|
print(f"⚠️ .env file not found. Creating from .env.example...")
|
|
158
|
-
env_example.read_text()
|
|
159
175
|
with open(env_file, 'w') as f:
|
|
160
176
|
f.write(env_example.read_text())
|
|
161
177
|
print(f"📝 Please edit {env_file} and add your Kie.ai API key")
|
|
@@ -165,8 +181,11 @@ def load_api_key(skill_dir: Optional[Path] = None) -> str:
|
|
|
165
181
|
|
|
166
182
|
if not api_key or api_key == 'your_api_key_here':
|
|
167
183
|
raise ValueError(
|
|
168
|
-
|
|
169
|
-
"
|
|
184
|
+
"KIEAI_API_KEY not found. Set it via:\n"
|
|
185
|
+
" 1. Environment variable: export KIEAI_API_KEY=your_key\n"
|
|
186
|
+
" 2. Auth loader: ~/.claude/auth/kiei-api.env\n"
|
|
187
|
+
" 3. Skill .env file: " + str(env_file) + "\n"
|
|
188
|
+
"Get your API key from https://kie.ai/dashboard/api-keys"
|
|
170
189
|
)
|
|
171
190
|
|
|
172
191
|
return api_key
|
|
@@ -230,29 +230,45 @@ CREDIT_TO_USD = 0.005
|
|
|
230
230
|
|
|
231
231
|
|
|
232
232
|
def load_api_key(skill_dir: Optional[Path] = None) -> str:
|
|
233
|
-
"""
|
|
233
|
+
"""
|
|
234
|
+
Load Kie.ai API key from environment variable or .env file.
|
|
235
|
+
|
|
236
|
+
Priority order:
|
|
237
|
+
1. Environment variable KIEAI_API_KEY (set via auth-loader or shell)
|
|
238
|
+
2. ~/.claude/auth/kiei-api.env (centralized auth management)
|
|
239
|
+
3. Skill directory .env file (local fallback)
|
|
240
|
+
"""
|
|
241
|
+
# 1. Check if KIEAI_API_KEY is already set in environment
|
|
242
|
+
api_key = os.getenv('KIEAI_API_KEY', '').strip()
|
|
243
|
+
if api_key and api_key != 'your_api_key_here':
|
|
244
|
+
return api_key
|
|
245
|
+
|
|
246
|
+
# 2. Try loading from centralized auth directory (~/.claude/auth/)
|
|
247
|
+
auth_env = Path.home() / '.claude' / 'auth' / 'kiei-api.env'
|
|
248
|
+
if auth_env.exists():
|
|
249
|
+
load_dotenv(auth_env)
|
|
250
|
+
api_key = os.getenv('KIEAI_API_KEY', '').strip()
|
|
251
|
+
if api_key and api_key != 'your_api_key_here':
|
|
252
|
+
return api_key
|
|
253
|
+
|
|
254
|
+
# 3. Fallback to skill directory .env
|
|
234
255
|
if skill_dir is None:
|
|
235
256
|
skill_dir = Path(__file__).parent.parent
|
|
236
257
|
|
|
237
258
|
env_file = skill_dir / '.env'
|
|
238
|
-
auth_file = Path.home() / '.claude' / 'auth' / 'kie-ai.env'
|
|
239
259
|
|
|
240
|
-
# Try skill .env first
|
|
241
260
|
if env_file.exists():
|
|
242
261
|
load_dotenv(env_file)
|
|
243
262
|
|
|
244
|
-
|
|
245
|
-
if auth_file.exists():
|
|
246
|
-
load_dotenv(auth_file)
|
|
247
|
-
|
|
248
|
-
api_key = os.getenv('KIE_AI_API_KEY', '').strip()
|
|
263
|
+
api_key = os.getenv('KIEAI_API_KEY', '').strip()
|
|
249
264
|
|
|
250
|
-
if not api_key:
|
|
265
|
+
if not api_key or api_key == 'your_api_key_here':
|
|
251
266
|
raise ValueError(
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"
|
|
267
|
+
"KIEAI_API_KEY not found. Set it via:\n"
|
|
268
|
+
" 1. Environment variable: export KIEAI_API_KEY=your_key\n"
|
|
269
|
+
" 2. Auth loader: ~/.claude/auth/kiei-api.env\n"
|
|
270
|
+
" 3. Skill .env file: " + str(env_file) + "\n"
|
|
271
|
+
"Get your API key from https://kie.ai/dashboard/api-keys"
|
|
256
272
|
)
|
|
257
273
|
|
|
258
274
|
return api_key
|