Skip to content
Automation
Skill

/inno-prepare-resources

Loads the evaluation instance, searches GitHub for related repositories, builds a dataset description, queries the Prepare Agent for reference codebases, and downloads arXiv paper sources. Covers both Idea mode and Plan mode (the only difference is whether innovative ideas are

From plugin
dr-claw
1k173 skills8 agents
Install
$ npx -y skills add OpenLAIR/dr-claw --skill inno-prepare-resources --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/inno-prepare-resources

Context preview

The summary Claude sees to decide when to auto-load this skill.

Loads the evaluation instance, searches GitHub for related repositories, builds a dataset description, queries the Prepare Agent for reference codebases, and downloads arXiv paper sources. Covers both Idea mode and Plan mode (the only difference is whether innovative ideas are

SKILL.md

inno-prepare-resources.SKILL.md
name: inno-prepare-resources
description: >
  Loads the evaluation instance, searches GitHub for related repositories,
  builds a dataset description, queries the Prepare Agent for reference codebases,
  and downloads arXiv paper sources.
  Covers both Idea mode and Plan mode (the only difference is whether innovative
  ideas are included in the Prepare Agent query).

Inno Prepare Resources

Inputs

Read from **`instance.json`**. Path values are **absolute** when the project is created by Dr. Claw; use as-is. If relative (e.g. hand-edited), resolve with `path.join(project_path, value)`.

| Parameter | Required | Description | |------------------------|----------|-------------| | `instance` | Yes | Path to the instance JSON file (absolute in Dr. Claw). Use as-is to read the file. File contains `source_papers`, `task1`/`task2`, etc. | | `task_level` | Yes | Which task field to read from the instance — `"task1"` (Plan) or `"task2"` (Idea) | | `Ideation.references` | Yes | Path to Ideation references dir (absolute in Dr. Claw) — for downloaded papers and prepare logs | | `Experiment.code_references` | Yes | Path (absolute in Dr. Claw) — for cloned repos | | `Experiment.datasets` | Yes | Path (absolute in Dr. Claw) — for dataset files | | `category` | Yes | Research category tag (e.g. `nlp_qa`, `gnn`, `recommendation`). Used to locate the built-in dataset metaprompt | | `references` | Yes | A pre-formatted string listing all source papers from the instance | | `context_variables` | Yes | Shared context dictionary; this step will write `date_limit` into it | | `ideas` | No | Full innovative-idea / plan text. **Provide only in Plan mode** — when present the Prepare Agent query includes the ideas for more targeted repo selection | | `dataset_description` | No | Pre-built dataset description from the orchestrator (for custom / user-provided datasets). When provided, skip the metaprompt import in Step 3 |

Outputs

| Output | Description | |------------------------|-------------| | `prepare_res` | Full text response from the Prepare Agent (contains selected reference repositories and reasoning) | | `download_res` | Result log from downloading arXiv paper sources to local disk | | `dataset_description` | Composed prompt string describing the datasets, baselines, comparisons, and evaluation metrics | | `data_module` | The imported metaprompt module object (Idea mode). In Plan mode this is not returned | | `context_variables` | Updated with `date_limit` (str, YYYY-MM-DD) |

Cache file outputs

Every intermediate result must be persisted as a JSON file under `Ideation/references/logs/`. The directory layout follows:

Ideation/references/logs/
├── load_instance.json                  ← written by orchestrator
├── github_search.json
├── download_arxiv_source_by_title.json
└── prepare_agent.json

> `Ideation/references/logs/load_instance.json` is written by the **orchestrator** before this skill runs — do not overwrite it.

Tool cache format (`tools/*.json`)

Each tool output file records the function call arguments and result:

{
  "name": "<tool_name>",
  "args": { ... },
  "result": <result_value>
}

**`github_search.json`** — written after Step 2:

{
  "name": "github_search",
  "args": {
    "metadata": {
      "source_papers": [ ... ],
      "task_instructions": "...",
      "date_limit": "YYYY-MM-DD"
    }
  },
  "result": "<concatenated github_result string>"
}

**`download_arxiv_source_by_title.json`** — written after Step 6:

{
  "name": "download_arxiv_source_by_title",
  "args": {
    "paper_list": ["paper title 1", "paper title 2"],
    "references_path": "<instance.Ideation.references if absolute, else path.join(project_path, instance.Ideation.references)>"
  },
  "result": "<download result log string>"
}

Agent cache format (`agents/*.json`)

Each agent output file records the final context variables (no conversation messages):

{
  "context_variables": {
    "references_path": "<use instance.Ideation.references as-is if absolute, else path.join(project_path, ...)>",
    "code_references_path": "<use instance.Experiment.code_references as-is if absolute, else path.join(project_path, ...)>",
    "datasets_path": "<use instance.Experiment.datasets as-is if absolute, else path.join(project_path, ...)>",
    "date_limit": "YYYY-MM-DD",
    "prepare_result": {
      "reference_codebases": ["repo1", "repo2"],
      "reference_paths": ["Experiment/code_references/repo1", "Experiment/code_references/repo2"],
      "reference_papers": ["paper title 1", "paper title 2"]
    }
  }
}

**`prepare_agent.json`** — written after Step 4–5. Contains the final `context_variables` with `prepare_result` holding `reference_codebases`, `reference_paths`, and `reference_papers`.

Step-by-step Instructions

Step 1 — Load the evaluation instance

Call `load_instance(instance.instance, task_level)` — when created by Dr. Claw, `instance.instance` is already absolute; otherwise resolve with `path.join(project_path, instance.instance)`.

This reads the instance JSON and returns an **EvalMetadata** object containing:

  • `source_papers` — list of dicts, each with `reference`, `rank`, `type`, `justification`, `usage`
  • `task_instructions` — the task description text (from the field named by `task_level`)
  • `date_limit` — the publication date of the target paper (fetched from arXiv via the instance `url`); defaults to `"2024-01-01"` if metadata cannot be retrieved

Write `date_limit` into `context_variables["date_limit"]`.

> **Note**: `Ideation/references/logs/load_instance.json` should already exist — it was written by the orchestrator. If not, write it now following the tool cache format.

> **Graceful handling**: If the instance JSON was constructed by the orche

Read more
Ships withdr-claw

A Super AI Lab with massive AI Doctors as Assistants. Best IDE for Research via AI Power.

Get the whole plugin

Other skills on dr-claw.