Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
npx claudepluginhub tianyi-billy-ma/oh-my-researchDiagnose Oh-My-Research (omr) installation, configuration, and connectivity issues.
Relentlessly stress-test a research idea, hypothesis, or plan against your literature corpus and a reviewer rubric before you commit to it.
Search, screen, and summarize literature into a structured corpus; re-runs append safely.
Install, configure, and health-check Oh-My-Research (omr).
Sync a local LaTeX/paper directory with an Overleaf project via pyoverleaf (cookie or browser-keychain auth), driven by ./.omr/config.yaml.
Admin access level
Server config contains admin-level keywords
External network access
Connects to servers outside your machine
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Harness-native ECC plugin for engineering teams - 64 agents, 262 skills, 84 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,495 supported skills.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Plugin that includes the Figma MCP server and Skills for common workflows
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
omr)Research workflows and skills for Claude Code. The plugin's namespace is
omr, so every bundled skill is invoked as /omr:<skill-name>.
claude --plugin-dir /path/to/Oh-My-Research
For persistent installation via a marketplace, see the Claude Code plugin docs at https://code.claude.com/docs/en/plugins.
The plugin ships an .mcp.json declaring five MCP servers, loaded
automatically when the plugin is enabled:
| Server | Transport | Source | Env var |
|---|---|---|---|
| Exa | stdio | exa-mcp-server (npx) | EXA_API_KEY |
| Tavily | stdio | tavily-mcp (npx) | TAVILY_API_KEY |
| Brave Search | stdio | @brave/brave-search-mcp-server (npx) | BRAVE_API_KEY |
| GitHub | http | https://api.githubcopilot.com/mcp/ | GITHUB_PERSONAL_ACCESS_TOKEN |
| Hugging Face | http | https://huggingface.co/mcp | HF_TOKEN |
Stdio servers are fetched on first use by npx; HTTP servers are hosted by the
vendor and need only a token.
Two layers, with shell environment always winning:
~/.zshrc / ~/.bashrc:
export EXA_API_KEY=...
export TAVILY_API_KEY=...
export BRAVE_API_KEY=...
export GITHUB_PERSONAL_ACCESS_TOKEN=...
export HF_TOKEN=...
.env (stdio servers only) — copy .env.example to
.env in the directory where you launch Claude Code. The loader shim picks
up any keys not already set in your shell. The two HTTP MCPs (github,
huggingface) cannot read .env because Claude Code expands their
Authorization header from its own process env at startup; for those, use
shell env or a tool like direnv that exports before launch.Token sources:
Missing a token only disables that one server; the others still work. Confirm
servers are up via /mcp inside Claude Code — each should show as connected
with its tools listed.
| Slash command | Keyword trigger | What it does |
|---|---|---|
/omr:setup | omr-setup | Install, configure, and health-check omr — CLAUDE.md install, MCP token audit, .env scaffolding, optional HPC config. |
/omr:doctor | omr-doctor | Read-only diagnostic: plugin integrity, MCP wiring, CLAUDE.md state, token presence, HPC drift, external deps. Points at /omr:setup for fixes. |
/omr:literature-review | omr-literature-review | Search → screen → summarize for a research question. KB-first (Zotero, local PDFs) then MCP fan-out (Exa, Tavily, Brave, HF, GitHub) then web. Reproducible screening rubric; re-runs append safely (Search dedups); --from-existing seeds from Zotero/BibTeX. |
/omr:sync-overleaf | omr-sync-overleaf | Two-way sync a local paper dir with Overleaf via pyoverleaf (cookie file or browser/keychain auth), driven by .omr/config.yaml. Resolves auth from a pointer (never the secret); dry-run + consent before any push. |
/omr:grill-me | omr-grill-me | Reviewer/committee-style grilling that stress-tests a research idea, hypothesis, or plan against your literature corpus + a rubric (novelty, feasibility, methodology, baselines, evaluation, threats). One question at a time; ends with a sharpened claim + ranked risks. |
More skills land here as they're added; all follow the /omr:<name>
convention.
Oh-My-Research/
├── .claude-plugin/
│ └── plugin.json
├── .mcp.json # search MCP server declarations
├── bin/ # plugin-internal scripts (env loader, etc.)
├── skills/ # add <name>/SKILL.md folders here
├── agents/ # optional agent definitions
├── hooks/ # optional hooks.json
└── README.md
Only plugin.json lives inside .claude-plugin/. All component directories
(skills, agents, hooks, etc.) sit at the plugin root.
MIT