analyze_current
Read and understand the current baseline implementation. Extract all relevant information about the existing approach without modifying anything, and record…
Set up and manage the experiment folder structure. This is Phase 0 — it runs before any analysis begins. All bookkeeping files are JSON (never markdown).
$ npx -y skills add Upsonic/Upsonic --skill experiment_management --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/experiment_managementContext preview
The summary Claude sees to decide when to auto-load this skill.
Set up and manage the experiment folder structure. This is Phase 0 — it runs before any analysis begins. All bookkeeping files are JSON (never markdown).
Set up and manage the experiment folder structure. This is Phase 0 — it runs before any analysis begins. All bookkeeping files are JSON (never markdown).
| Parameter | Type | Description | |-----------|------|-------------| | research_name | string | The experiment name **as given by the caller**. Use it verbatim — do not rename it, do not re-derive it from the source title. | | research_source | ref | A free-form reference describing the new method. The caller can pass anything that identifies the content — a local file path, any URL (blog post, arXiv, docs, Hugging Face page, …), a git repository, a Kaggle link, a paper ID, or **a plain text idea** describing the approach to try. Do not reject unusual values; investigate and fetch whatever was given, or, for pure text ideas, save the text verbatim. | | current_notebook | path | Path to the current baseline .ipynb | | current_data | ref \| placeholder | Path to the current dataset (file or directory), a short description of how the notebook loads data, **or** the literal placeholder `"(not provided — infer it from the current notebook's data-loading cells)"`. When you see that placeholder, read the current notebook yourself and infer the source from its data-loading cells; do not ask the user. | | experiments_directory | path | The directory (inside the workspace) where experiment folders live (e.g. `./experiments`). |
1. **Create experiment directory:**
experiments/{research_name}/2. **Copy baseline files (NEVER move, NEVER modify originals):**
cp {current_notebook} experiments/{research_name}/current.ipynb
# Only when current_data is a real path on disk:
cp -r {current_data} experiments/{research_name}/current_data/Resolve `{current_data}` as follows before copying:
3. **Materialize the research source.** `{research_source}` can be anything — a local file, a URL of any kind, a git or Kaggle link, an arXiv / paper ID, a Hugging Face page, **or a plain text idea** describing the method to try. Your job is to bring its content into the experiment folder using whatever tool fits:
Let `research_source_local` be whichever local path you produced. Use that path for Phase 2 onwards — never re-fetch.
4. **Create `log.json`** with the starting skeleton:
{
"name": "{research_name}",
"metadata": {
"date": "YYYY-MM-DD",
"original_notebook": "{current_notebook}",
"original_data": "{current_data}",
"research_source": "{research_source_local}",
"research_source_origin": "{research_source}",
"research_source_kind": "a short label you pick, e.g. pdf, file, git, kaggle_notebook, kaggle_dataset, arxiv, huggingface_model, html, idea, other"
},
"phases": []
}Phases append entries here as they finish;
Read and understand the current baseline implementation. Extract all relevant information about the existing approach without modifying anything, and record…
Define the comparison metrics and extract baseline values from the current implementation. Record them as a structured JSON entry so downstream phases and…
Compare baseline and new implementation results. Produce the machine-readable final report `result.json`, update `experiments.json`, and append a row to…
Create a new Jupyter notebook implementing the method from the research paper, using the same data as the baseline. Record implementation details and measured…
Maintain a **machine-readable** progress file so dashboards, CLIs, and notebooks can poll the experiment's state at any time. The file is a JSON document —…