Skip to content

/research-init

Output type (review/proposal/both). All modes produce research-question-card.md; references.bib is produced only when reliable citation metadata exists; review adds literature-review.md only when evidence is sufficient; proposal adds research-proposal.md only when the selected

From plugin
claude-scholar
5.5k65 skills6 agents65 commands5 hooks
Install
> /plugin marketplace add Galaxy-Dawn/claude-scholar
> /plugin install claude-scholar@claude-scholar

How it fires

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

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/research-init

Context preview

What this command does when you run it.

Output type (review/proposal/both). All modes produce research-question-card.md; references.bib is produced only when reliable citation metadata exists; review adds literature-review.md only when evidence is sufficient; proposal adds research-proposal.md only when the selected

Command definition

research-init.md
name: research-init
description: Initialize a research project with Zotero-integrated literature review. Creates or audits project-scoped sources, generates research question cards, and only writes a research proposal when the evidence gate passes.
args:
  - name: topic
    description: Research topic or keywords
    required: true
  - name: scope
    description: Review scope (focused/broad)
    required: false
    default: focused
  - name: output_type
    description: Output type (review/proposal/both). All modes produce research-question-card.md; references.bib is produced only when reliable citation metadata exists; review adds literature-review.md only when evidence is sufficient; proposal adds research-proposal.md only when the selected card passes the proposal readiness gate.
    required: false
    default: both
tags: [Research, Literature Review, Zotero, Paper Search]

/research-init - Zotero-Integrated Research Startup Workflow

Launch a project-scoped literature startup workflow for the research topic "$topic", with scope "$scope" and output type "$output_type".

Default behavior is evidence-first: if Zotero is unavailable, if full-paper evidence is insufficient, or if the selected Research Question Card is not ready, produce an intake/audit result instead of forcing a polished proposal.

Usage

Basic Usage

/research-init "transformer interpretability"

Specify Scope

/research-init "few-shot learning" focused

Specify All Parameters

/research-init "neural architecture search" broad both

Workflow

Execute the following steps in order:

Step 0: Intake and Capability Gate

Before creating collections or writing files:

1. Confirm the practical purpose: new project intake, literature review, proposal draft, or source audit. 2. Check whether Zotero MCP is configured and writable. 3. If Zotero MCP is unavailable, read-only, or the user asks for dry-run mode:

  • do **not** create collections,
  • do **not** import papers,
  • produce `research-question-card.md` and a source candidate/audit section,
  • either skip `references.bib` or create a stub that clearly says canonical BibTeX is unavailable unless reliable BibTeX can be generated from existing sources,
  • stop before `literature-review.md` or `research-proposal.md` unless the user explicitly provides sufficient local evidence.

4. If the topic, target venue/audience, or project boundary is ambiguous enough to change the search strategy, ask a short clarifying question before acting.

Step 1: Create Zotero Research Collection

1. Call the Zotero MCP tool `zotero_create_collection` to create the main collection, named `Research-{Topic}-{YYYY-MM}` (extract a short PascalCase keyword from the topic, use the current year and month) 2. Create sub-collections under the main collection:

  • `Core Papers`
  • `Methods`
  • `Applications`
  • `Baselines`
  • `To-Read`

3. Record the `collection_key` for each sub-collection (needed for import in Step 2)

Step 2: Literature Search and Import

1. Use WebSearch to find papers related to "$topic"

  • Search strategy: use the topic directly, plus variant combinations of key terms
  • Target sources: arXiv, DOI-backed publisher landing pages, conference proceedings with full-paper pages, direct PDF pages
  • Time range: focused mode searches the last 3 years, broad mode searches the last 5 years
  • Target paper count: 20-50 papers for focused scope, 50-100 for broad scope

2. **Source quality filter before extraction**:

  • Prefer candidates that expose at least one of: DOI, arXiv ID, direct PDF URL, or clear citation metadata for a full paper
  • **Explicitly avoid abstract-only pages as primary sources** when a better source exists for the same paper (for example conference abstract listings, event schedule pages, teaser pages, or pages that only contain a short abstract with no DOI/arXiv/PDF)
  • For the same title, source preference should be:

1. DOI-backed publisher page 2. arXiv abs/pdf page 3. direct PDF URL 4. full-paper proceedings landing page 5. abstract-only page (last resort only)

  • If the discovered page is clearly abstract-only and no DOI/arXiv/PDF can be extracted, do **not** prioritize it for import; keep searching for a better source first
  • Abstract-only pages should **not** be counted toward the target paper quota unless all better identifier-bearing/full-paper sources for that title have been exhausted

3. Extract candidate DOI / arXiv ID / landing-page URL from filtered search results 4. **Classify before import**: For each paper, determine which sub-collection it belongs to (Core Papers, Methods, Applications, Baselines, or To-Read) based on its title, abstract, and venue 5. **Pre-import deduplication (two-step)**:

  • Call the Zotero MCP tool `zotero_search_items` with the DOI string when available to find potential matches
  • Call `zotero_get_item_metadata` on results to confirm the DOI field matches exactly
  • If confirmed match → skip import, log ("Already exists: {DOI} → {item_key}")
  • For papers without DOI → search by title using token overlap ratio (lowercase both titles, remove punctuation, compute intersection of words / union of words). Ratio > 0.8 = duplicate

6. **Abstract-only page guardrail (mandatory)**:

  • Before calling `zotero_add_items_by_identifier`, check whether the chosen URL is likely an abstract-only page
  • Strong signals include: URL/path contains `abstract`, page title/heading is an abstract listing, page body lacks PDF/full-text links, and no DOI/arXiv identifier is visible
  • If it is abstract-only **and** no DOI/arXiv/PDF can be recovered, prefer one of:
  • keep searching for a better source for the same title, or
  • skip this candidate for now
  • Do **not** eagerly import abstract-only pages into analytical sub-collections just to satisfy paper count
  • If an abstract-only page is imported
Read more
Ships withclaude-scholar

Semi-automated research assistant for academic research and software development. Supports Claude Code, Codex CLI, Kimi Code CLI, and OpenCode across ideation, coding, experiments, writing, and publication.

Get the whole plugin, auto-invoked

Other commands on claude-scholar.