# Claude Code

Install Research Scan in Claude Code as a plugin, or wire the skill directly.

Claude Code has two front doors to the same pipeline. The **skill** is where the
rubrics live, so it carries the screening and reranking cognition. The **plugin**
installs that skill and configures the MCP server in one step.

## The plugin

The shortest route. It installs the skill and configures the `uvx` MCP server
together.

```
/plugin marketplace add Synectic-Research/research-scan
/plugin install research-scan@synectic
```

The marketplace is `synectic`; the plugin is `research-scan@synectic`.

## The skill on its own

Three equivalent routes, all pointing at the same `skills/research-scan/`
directory in the main repo.

```bash
# 1. symlink a clone — edits to the rubrics take effect immediately
ln -s "$PWD/skills/research-scan" ~/.claude/skills/research-scan

# 2. load the repo as a plugin, per invocation
claude --plugin-dir /path/to/research-scan

# 3. skills CLI
npx skills add Synectic-Research/research-scan
```

The first route is the one to pick if you intend to change the rubrics. The
screening scale, the plan rules and the rerank criteria are plain Markdown files;
symlinking a clone means your edits are live on the next scan, and you can diff
scores across runs to see what a change actually did.

## Using it

```
/research-scan "what is the strongest recent evidence that default enrolment changes
                how much people save?" --profile quick
```

Or against a brief:

```
/research-scan research/my-brief.md --profile standard --top 10
```

See [your first scan](/getting-started/first-scan/) for the full argument list and
what each brief section feeds.

## What the skill needs

The skill declares its own tool requirements, and they matter if you are running
with a restricted tool set:

```
Bash(research-scan *), Read, Write, Edit, Glob, Grep,
scan_start, scan_continue, scan_verify, scan_result
```

`Glob` is not optional — the skill globs `screen-batches/` to find the batches to
score.

The skill also runs in a forked context. That is invisible in interactive use, but
it changes how headless invocation has to be phrased; see
[running it unattended](/concepts/research-scan-as-agent-primitive/#running-it-unattended).

## The MCP route instead

If you would rather configure the server yourself, or you are also using Claude
Desktop or Cursor, `.mcp.json` in the project root does it:

```json
{
  "mcpServers": {
    "research-scan": {
      "command": "uvx",
      "args": ["research-scan", "mcp"]
    }
  }
}
```

See [MCP clients](/integrations/mcp-clients/).
