analyze_current
Read and understand the current baseline implementation. Extract all relevant information about the existing approach without modifying anything, and record…
Read the materialized research source and extract actionable information needed to implement the proposed method. Record the findings as a structured JSON entry.
$ npx -y skills add Upsonic/Upsonic --skill research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/researchContext preview
The summary Claude sees to decide when to auto-load this skill.
Read the materialized research source and extract actionable information needed to implement the proposed method. Record the findings as a structured JSON entry.
Read the materialized research source and extract actionable information needed to implement the proposed method. Record the findings as a structured JSON entry.
Phase 2 — after the current implementation has been analyzed.
| Parameter | Type | Description | |-----------|------|-------------| | experiment_path | path | `experiments/{research_name}/` |
The research source was materialized into `{experiment_path}` during Phase 0. Its local path is recorded in `{experiment_path}/log.json` under `metadata.research_source`, and a short descriptive label Phase 0 chose is under `metadata.research_source_kind`. The label is free-form (common values: `pdf`, `file`, `git`, `kaggle_notebook`, `kaggle_dataset`, `arxiv`, `huggingface_model`, `html`, `idea`, `other`), but treat it as a hint only — always follow the actual path in `metadata.research_source`.
Inspect that path and read whatever is there:
Do not try to re-fetch the source. If the content is insufficient, note what is missing in the Phase 2 log entry and proceed with the best analysis you can.
1. **Read the materialized research source** at `metadata.research_source` (falling back to `research.pdf` for legacy experiments) and extract:
2. **Append a Phase 2 entry to `{experiment_path}/log.json`** under `phases`:
{
"name": "Phase 2: Research",
"completed_at": "2026-04-17T10:30:00Z",
"paper": {
"title": "CatBoost: Unbiased Boosting with Categorical Features",
"authors": ["Prokhorenkova et al."],
"method_summary": "CatBoost is a gradient-boosting framework that handles categorical features natively via ordered target statistics and uses oblivious decision trees to reduce overfitting."
},
"pros": [
"Native categorical handling — no manual encoding needed",
"Reduces target leakage with ordered boosting",
"Strong out-of-the-box performance"
],
"cons": [
"Training slower than XGBoost for small data",
"More memory intensive"
],
"requirements": {
"new_dependencies": ["catboost>=1.2"],
"data_format": "pandas.DataFrame with categorical columns marked",
"compute": "CPU is sufficient; GPU optional"
},
"compatibility": {
"same_data": true,
"same_metrics": true,
"preprocessing_notes": "CatBoost takes raw categorical columns; do NOT pre-encode them for the new notebook."
}
}Do not overwrite earlier entries; append to the `phases` array.
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…
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).
Create a new Jupyter notebook implementing the method from the research paper, using the same data as the baseline. Record implementation details and measured…