Profiles & Environment¶
Chapter 02 of the ResearchTools manual. Back to table of contents.
Profiles¶
A domain profile centralizes everything domain-specific (Scopus subject areas and
exclusions, topical-relevance signals, off-topic flag, stats profile, author, course
context, language) in one YAML file under profiles/, so the agents and skills stay
shared across users and labs: one maintained core, N profiles.
| Profile | Domain | Author | Default |
|---|---|---|---|
engineering.yaml |
Mechanical / electrical / ML / control / systems engineering | Martin Otis (UQAC) | yes |
cosmetic.yaml |
Cosmetic / formulation science (SPF, microbiome, dermatology, sensory) | Lionel Ripoll (UQAC) | no |
_template.yaml |
Copy it to profiles/<domain>.yaml to add a new domain |
- | - |
The active profile is recorded in .claude/CLAUDE.md as the machine-readable line
active_profile: <name>. Select it at install time (.\install.ps1 -Profile <name>, or
the interactive prompt) or edit that line directly. Currently wired consumer:
scopus-researcher (search clauses, Step 3a relevance check, synthesis framework); the
remaining fields (author, stats_profile, course_context, language) are schema-ready
and will be wired incrementally. Field-by-field spec, fallback rules, and the add-a-profile
procedure: profiles/README.md.
Environment variables / API keys¶
Set these at the Windows User scope (PowerShell), then restart Claude Code:
[System.Environment]::SetEnvironmentVariable('SCOPUS_API_KEY', 'your-key', 'User')
| Variable / source | Required for | Where to get it |
|---|---|---|
SCOPUS_API_KEY |
Required — all /scopus, /auditreview, /auditpaper, /auditthesis, /litreview, /litreview-updater, /bibclean, /replyreviewer, and PDF retrieval |
Elsevier Developer Portal |
.scopus_key file |
Fallback for SCOPUS_API_KEY — place the key in .claude/skills/scopus/.scopus_key (gitignored) |
same key as above |
UNPAYWALL_EMAIL |
Optional — enables the Unpaywall open-access tier in download_pdf.py (HTML/PDF fallback when no publisher PDF); a plain contact email, or pass --email |
any institutional email |
GEMINI_API_KEY |
Optional — Gemini 2.0 Flash cross-review and table enrichment (deliberation panel) | Google AI Studio |
GITHUB_TOKEN |
Optional — GPT-4o cross-review via GitHub Models (deliberation panel) | GitHub → Settings → Developer settings → Personal access token |
S2_API_KEY (or SEMANTIC_SCHOLAR_API_KEY) |
Optional — Semantic Scholar author/PDF backfill; without it the throttled public pool is used | Semantic Scholar API key request |
--insttoken (CLI flag, not an env var) |
Optional — off-campus Elsevier access when not on the UQAC network/VPN | UQAC library / Elsevier institutional token |
An on-campus network connection or active UQAC VPN is required for Scopus access unless an
--insttokenis supplied. Secrets are kept out of git:.env,secrets/, andcredentials/are listed in.gitignore.
← 01 Installation | Table of contents | 03 Token management →