Skip to main content
ClaudeWave
EN, English
Slash Command5.9k repo starsupdated 4d ago

research-init

This slash command initializes a research project by creating a Zotero-integrated literature review workflow. It accepts a research topic and optional scope parameters, then systematically audits or creates project-scoped source collections, generates research question cards, and produces a research proposal only after verifying sufficient evidence availability. Use this command when starting a new research project or conducting a thorough literature review that requires structured source management and evidence-based proposal development.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/Galaxy-Dawn/claude-scholar/HEAD/commands/research-init.md -o ~/.claude/commands/research-init.md
Then start a new Claude Code session; the slash command loads automatically.

research-init.md

# /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

```bash
/research-init "transformer interpretability"
```

### Specify Scope

```bash
/research-init "few-shot learning" focused
```

### Specify All Parameters

```bash
/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 as a last-resort placeholder, it must be treated as `To-Read` only, never as a confirmed paper source for `Core Papers`, `Methods`, `Applications`, or `Baselines`
   - When you skip such a candidate during Step 2, print this exact user-facing line in the terminal output:
     - `Skipped abstract-only page; searching better source`
7. **Smart import with collection assignment**: Call `zotero_add_items_by_identifier` with the target sub-collection's `collection_key`, `attach_pdf=true`, and `fallback_mode="webpage"`
   - Route priority is fixed: DOI / doi.org URL → arXiv ID or arXiv URL → direct PDF URL → generic landing-page URL
   - The tool will prefer proper paper/preprint items and only fall back to `webpage` when no reliable DOI/arXiv identifier is found
   - For difficult publisher pages and cookie-gated PDFs, the import path may additionally use the local Zotero connector/browser
agent-identifierSkill

Use when creating or configuring Claude Code agents and their frontmatter.

analyze-resultsSlash Command

Run a blocker-first post-experiment workflow: validate evidence, produce strict statistical analysis when possible, and generate a decision-oriented results report only when the analysis bundle is sufficient. Uses results-analysis + results-report as a gated two-stage workflow.

architecture-designSkill

Use only when creating new registrable ML components that require Factory or Registry patterns.

bug-detectiveSkill

This skill should be used when the user asks to "debug this", "fix this error", "investigate this bug", "troubleshoot this issue", "find the problem", "something is broken", "this isn't working", "why is this failing", or reports errors/exceptions/bugs. Provides systematic debugging workflow and common error patterns.

citation-verificationSkill

This skill provides reference guidance for citation verification in academic writing. Use when the user asks about "citation verification best practices", "how to verify references", "preventing fake citations", or needs guidance on citation accuracy. This skill supports ml-paper-writing by providing detailed verification principles and common error patterns.

code-review-excellenceSkill

This skill should be used when the user asks to review a diff or pull request, write review comments, audit code quality, establish review standards, or improve how a team performs code review.

code-reviewerSubagent

Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code. MUST BE USED for all code changes.

command-developmentSkill

This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.