setup-project
Initialize a new YOLO project — detects your dataset's starting state and routes through the right tools.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Initialize a new YOLO project — detects your dataset's starting state and routes through the right tools.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | setup-project |
| description | Initialize a new YOLO project — detects your dataset's starting state and routes through the right tools. |
Interactive project initialization wizard for yolocc. Detects what you have (raw images, labeled data, complete dataset) and routes you through the right existing tools.
Ask the user:
Run the detection probe:
python -c "
from yolocc.dataset.validator import detect_dataset_state
from pathlib import Path
state = detect_dataset_state(Path('<data_path>'))
print(f'Structure: {state.structure}')
print(f'Images: {state.image_count}')
print(f'Labels: {state.label_count}')
print(f'Coverage: {state.label_coverage:.1%}')
print(f'Has splits: {state.has_splits}')
print(f'Has data.yaml: {state.has_data_yaml}')
print(f'Classes in labels: {state.detected_classes}')
print(f'Next steps: {state.next_steps}')
"
Report findings to the user, then route based on the detected structure.
structure = "complete")The dataset is ready. Tell the user and proceed directly to Step 4.
structure = "labeled_unsplit")The user has images with labels but no train/val split.
yolo-split --source <data_path> --output datasets/<project_name> --classes <target_classes>structure = "unlabeled")Check if the user's target classes overlap with COCO's 80 pretrained classes:
python -c "
from yolocc.dataset.autolabel import get_coco_overlap
overlapping, non_overlapping = get_coco_overlap([<target_classes_as_strings>])
print(f'COCO overlap: {overlapping}')
print(f'Not in COCO: {non_overlapping}')
"
If ALL target classes are in COCO:
yolo-autolabel --sources <data_path> --output datasets/<project_name> --model yolo11n.pt --review-threshold 0.4
review/ folder for low-confidence predictions — correct any errors before training."If SOME target classes are in COCO:
yolo-autolabel --sources <data_path> --output datasets/<project_name>_partial --model yolo11n.pt --classes <overlapping_classes> --review-threshold 0.4
yolo-cvat push --images <data_path> --task-name <project_name> (if CVAT is configured)/setup again once you've labeled the remaining classes."If NO target classes are in COCO:
yolo-autolabel --sources <data_path> --output datasets/<project_name> --model <their_model.pt> --review-threshold 0.4/setup again once you have labeled data."structure = "partial_labels")yolo-autolabel --sources <unlabeled_images> --model <their_model.pt> --output datasets/<project_name>_expanded --review-threshold 0.5
/analyze finds weak spots and /experiment runs active learning loops automatically."structure = "empty")/setup.All paths converge here once a valid YOLO dataset exists.
Run: yolo-validate <dataset_path>
Read the output to extract:
Write yolo-project.yaml in the workspace root with the gathered info.
Copy configs/architectures/*.yaml into the project workspace if not already present.
These are the pre-built configs the agent selects from during experimentation.
Run /review-dataset which includes the profiling step.
This generates experiments/dataset_profile.yaml and fills training-plan.md's Dataset Summary.
Ask: "Run a 5-epoch baseline to establish starting metrics? (recommended)"
If yes:
yolo-experiment baseline --budget 5 --patience 3
Read experiments/summary.md for baseline metrics.
Create training-plan.md using the boundaries template (not scripted phases):
# <Project Name> — Training Plan
## Project Context
### Training Mode
- [ ] Training from scratch
- [ ] Fine-tuning from pretrained model
- [ ] Transfer learning (freeze backbone)
### Model Lineage
- Base model: `<model>.pt`
- Architecture config: `configs/architectures/yolo11.yaml` (standard P3/P4/P5)
- Current best: (from baseline, or "run /setup to establish baseline")
- Best backup: (none yet)
### Model Intent
- [ ] Specialist (few classes, high accuracy)
- [ ] Generalist (many classes, broad coverage)
- Deployment target: (ask user)
### Setup Path
- Starting state: <detected structure>
- Auto-labeled: yes/no (if yes, note review/ folder status)
### Dataset Summary
(Auto-filled by /review-dataset profiling step)
- Total images: train / val
- Classes: N — [list]
- Class balance: most/least represented
- Scale distribution: % small / medium / large at imgsz
- Min object size at training resolution: Npx
- Avg objects per image:
### Current Performance
(Auto-filled after baseline)
- mAP50-95:
- mAP50:
- Per-class AP50: {class: value, ...}
- Weakest class:
## Goal
(Ask user for primary metric target)
### Secondary Goals
- (from dataset analysis: e.g., improve weakest class)
## Hard Constraints (agent cannot violate)
- Max experiments per session: 10
- Max minutes per session: 120
- Max epochs per experiment: 50
- Don't delete or modify original dataset files
- Don't decrease any class AP50 by more than 0.05 vs current best model
- Minimum 3 experiments on current architecture before switching
(exception: dataset profile shows >50% small objects with no P2 head)
## Soft Preferences (agent can override with justification)
- Start with current model variant before trying others
- Prefer augmentation approaches before architecture changes
- Prioritize weakest class improvement
## Allowed Actions
### HP Optimization (via model.tune)
- Presets: lr, augmentation, loss, optimizer, all
- Custom: any parameter with min:max range
- Agent selects preset based on diagnosis
### Tune Defaults
- Iterations per tune: 20
- Epochs per iteration: 10
- Patience: 5
### Architecture
- Model variants: n, s, m
- Head configs:
- `configs/architectures/yolo11.yaml` (standard P3/P4/P5)
- `configs/architectures/yolo11-p2.yaml` (P2/P3/P4/P5, small objects)
- `configs/architectures/yolo11-p2p3p4.yaml` (shifted, mostly small objects)
- imgsz: 640, 1280
### Data Handling
- Can create augmented copies (NOT modify originals)
- Can adjust train/val split if justified
## Domain Knowledge
> Tell the agent things it can't learn from the dataset statistics alone.
- (e.g., "Objects are frequently occluded — erasing augmentation is relevant")
- (e.g., "Class 'smoke' is visually similar to 'fog' — confusion is the main problem")
- (e.g., "False positives are more costly than missed detections in this application")
Fill in what's known from steps 2, 4, 7, 8. Leave placeholders for user-provided info.
Tell the user what was created and suggest next steps based on their path:
/experiment to start autonomous experimentation"review/ folder first, then run /experiment"/setup again"/experiment — it includes active learning loops"--review-threshold to flag uncertain predictionsSet up autonomous training monitoring — creates cron jobs to track long-running training, auto-continue pipeline when training completes.
Audit YOLO dataset quality — class distribution, annotation quality, image stats, and improvement suggestions.
Orchestrate the full active learning loop: train, analyze, push to CVAT, wait for review, pull, merge, retrain.
Analyze YOLO training runs — compares to baseline/best, checks per-class regression, analyzes training dynamics and tune convergence, writes actionable recommendations.
Run autonomous YOLO training experiments — reads training-plan.md, assesses bottlenecks, acts strategically, and delegates HP optimization to model.tune().
Profile YOLO model inference speed, FPS, and size across image sizes and export formats.