huggingface-trackio — скилл для Claude Code: что делает
Скилл учит агента логировать метрики обучения ML через Trackio, отслеживать расхождения лосса и выгружать результаты через CLI. Пригодится для автономного перезапуска экспериментов.
npx skills add huggingface/skills --skill huggingface-trackio -a claude-codeЧто делает huggingface-trackio
Скилл объясняет агенту три интерфейса Trackio: вызовы Python API для фиксации метрик, систему алертов и команды консоли. В коде обучения задаются вызовы trackio.init(), trackio.log() и trackio.finish(). Также поддерживается прямая интеграция с библиотекой TRL через параметр report_to="trackio".
Для автономной работы агент расставляет в скрипте проверки с вызовом trackio.alert(). Они реагируют на взрывы градиентов или NaN и выводят статусы INFO, WARN или ERROR прямо в консоль. Фоновые процессы агент опрашивает через команду trackio list alerts --json.
Создаваемые Hugging Face Spaces по умолчанию публичны. Если данные обучения нельзя открывать, в скрипте обязательно передавать параметр private=True. Метрики синхронизируются с облачным дашбордом, поэтому они не пропадут после остановки виртуальной машины.
Какие задачи решает
- логировать метрики обучения моделей в коде на Python
- отправлять структурированные алерты при росте лосса или затухании градиентов
- опрашивать метрики фоновых экспериментов через консольный интерфейс
- передавать телеметрию обучения в приватные Hugging Face Spaces
Примеры запросов агенту
- Добавь в тренировочный скрипт логирование через trackio и алерт на случай NaN в лоссе
- Проверь новые алерты в проекте my-project через CLI trackio с флагом --json
- Настрой синхронизацию метрик обучения с приватным Hugging Face Space
Как установить huggingface-trackio
1Через Skills CLI (Vercel)
npx skills add huggingface/skills --skill huggingface-trackio -a claude-code2Вручную: положить файлы
~/.claude/skills/huggingface-trackio/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/huggingface-trackio/
1Через Skills CLI (Vercel)
npx skills add huggingface/skills --skill huggingface-trackio -a codex2Вручную: положить файлы
.agents/skills/huggingface-trackio/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add huggingface/skills --skill huggingface-trackio -a cursor2Вручную: положить файлы
.cursor/skills/huggingface-trackio/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install huggingface/skills huggingface-trackio2Вручную: положить файлы
.github/skills/huggingface-trackio/SKILL.md1Через Skills CLI (Vercel)
npx skills add huggingface/skills --skill huggingface-trackio -a gemini-cli2Командой платформы
gemini skills install https://github.com/huggingface/skills --path skills/huggingface-trackioВручную: положить файлы
.devin/skills/huggingface-trackio/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add huggingface/skills --skill huggingface-trackio -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора10
Весь набор →Похожие
Вопросы о huggingface-trackio
Как установить huggingface-trackio в Claude Code?
Выполните команду npx skills add huggingface/skills --skill huggingface-trackio -a claude-code.
Зачем нужен скилл huggingface-trackio?
Он даёт агенту инструкции по интеграции библиотеки Trackio в обучающие скрипты, настройке алертов на сбои и парсингу метрик через CLI.
Безопасно ли отправлять метрики в Hugging Face Space?
Автоматически создаваемые спейсы публичны по умолчанию. Чтобы скрыть метрики и дашборд от посторонних, нужно обязательно указывать параметр private=True при вызове trackio.init().
Исходный текст
SKILL.md · Apache-2.0
---
name: huggingface-trackio
description: Track and visualize ML training experiments with Trackio. Use when logging metrics during training (Python API), firing alerts for training diagnostics, or retrieving/analyzing logged metrics (CLI). Supports real-time dashboard visualization, alerts with webhooks, HF Space syncing, and JSON output for automation.
---
# Trackio - Experiment Tracking for ML Training
Trackio is an experiment tracking library for logging and visualizing ML training metrics. It syncs to Hugging Face Spaces for real-time monitoring dashboards.
## Three Interfaces
| Task | Interface | Reference |
|------|-----------|-----------|
| **Logging metrics** during training | Python API | [references/logging_metrics.md](references/logging_metrics.md) |
| **Firing alerts** for training diagnostics | Python API | [references/alerts.md](references/alerts.md) |
| **Retrieving metrics & alerts** after/during training | CLI | [references/retrieving_metrics.md](references/retrieving_metrics.md) |
## When to Use Each
### Python API → Logging
Use `import trackio` in your training scripts to log metrics:
- Initialize tracking with `trackio.init()`
- Log metrics with `trackio.log()` or use TRL's `report_to="trackio"`
- Finalize with `trackio.finish()`
**Key concept**: For remote/cloud training, pass `space_id` — metrics sync to a Space dashboard so they persist after the instance terminates. Auto-created Spaces are **public by default** — pass `private=True` if the metrics should not be public.
→ See [references/logging_metrics.md](references/logging_metrics.md) for setup, TRL integration, and configuration options.
### Python API → Alerts
Insert `trackio.alert()` calls in training code to flag important events — like inserting print statements for debugging, but structured and queryable:
- `trackio.alert(title="...", level=trackio.AlertLevel.WARN)` — fire an alert
- Three severity levels: `INFO`, `WARN`, `ERROR`
- Alerts are printed to terminal, stored in the database, shown in the dashboard, and optionally sent to webhooks (Slack/Discord)
**Key concept for LLM agents**: Alerts are the primary mechanism for autonomous experiment iteration. An agent should insert alerts into training code for diagnostic conditions (loss spikes, NaN gradients, low accuracy, training stalls). Since alerts are printed to the terminal, an agent that is watching the training script's output will see them automatically. For background or detached runs, the agent can poll via CLI instead.
→ See [references/alerts.md](references/alerts.md) for the full alerts API, webhook setup, and autonomous agent workflows.
### CLI → Retrieving
Use the `trackio` command to query logged metrics and alerts:
- `trackio list projects/runs/metrics` — discover what's available
- `trackio get project/run/metric` — retrieve summaries and values
- `trackio list alerts --project <name> --json` — retrieve alerts
- `trackio show` — launch the dashboard
- `trackio sync` — sync to HF Space
**Key concept**: Add `--json` for programmatic output suitable for automation and LLM agents.
→ See [references/retrieving_metrics.md](references/retrieving_metrics.md) for all commands, workflows, and JSON output formats.
## Minimal Logging Setup
```python
import trackio
# Spaces are PUBLIC by default (good for shareable dashboards);
# pass private=True if the metrics should not be public
trackio.init(project="my-project", space_id="username/trackio", private=True)
trackio.log({"loss": 0.1, "accuracy": 0.9})
trackio.log({"loss": 0.09, "accuracy": 0.91})
trackio.finish()
```
### Minimal Retrieval
```bash
trackio list projects --json
trackio get metric --project my-project --run my-run --metric loss --json
```
## Autonomous ML Experiment Workflow
When running experiments autonomously as an LLM agent, the recommended workflow is:
1. **Set up training with alerts** — insert `trackio.alert()` calls for diagnostic conditions
2. **Launch training** — run the script in the background
3. **Poll for alerts** — use `trackio list alerts --project <name> --json --since <timestamp>` to check for new alerts
4. **Read metrics** — use `trackio get metric ...` to inspect specific values
5. **Iterate** — based on alerts and metrics, stop the run, adjust hyperparameters, and launch a new run
```python
import trackio
trackio.init(project="my-project", config={"lr": 1e-4})
for step in range(num_steps):
loss = train_step()
trackio.log({"loss": loss, "step": step})
if step > 100 and loss > 5.0:
trackio.alert(
title="Loss divergence",
text=f"Loss {loss:.4f} still high after {step} steps",
level=trackio.AlertLevel.ERROR,
)
if step > 0 and abs(loss) < 1e-8:
trackio.alert(
title="Vanishing loss",
text="Loss near zero — possible gradient collapse",
level=trackio.AlertLevel.WARN,
)
trackio.finish()
```
Then poll from a separate terminal/process:
```bash
trackio list alerts --project my-project --json --since "2025-01-01T00:00:00"
```
© huggingface · Apache-2.0 · huggingface/skills