A gated, multi-engine research orchestrator for Claude Code.
Odin turns a single research question into a planned, budgeted, multi-engine research flight. It scopes GTM questions with a senior product-marketing advisor (PMM Sherpa), routes each sub-question to the engine best shaped for it, fans out parallel "ravens" (subagents) across your internal sources, accumulates all evidence in a persistent provenance-tagged vault, and ships a synthesized report to both the vault and your notes system.
Named for the Norse god who sends his ravens Huginn and Muninn (Thought and Memory) across the worlds each morning and learns everything they saw.
/odin <your research question>
- Classify: GTM-shaped, technical-shaped, or mixed. Technical questions never touch the PMM advisor; GTM questions get its full treatment.
- Intake (Gate 1): external / internal / hybrid mode, depth budget, deliverable shape. Checks the vault first for prior coverage.
- Scope: facet decomposition validated by
ask_sherpa, onescope_pmm_researchcall per GTM facet, then merges sub-questions under strict rules (cap 5 to 7, park the rest). - Route (Gate 2): a routing table with per-question engine, justification, and cost estimate. Long/expensive engine runs require explicit per-row approval before launch.
- Execute: parallel legs across three engines:
- hyperresearch for deep, contested, or academic questions
- Deep-Research-skills for structured items-by-fields comparisons (competitive matrices)
- Raven subagents for internal sources (Slack, email, docs, meeting transcripts, trackers)
- Synthesize (Gate 3): blends external and internal evidence, hunts
internal-vs-external tension, pressure-tests the thesis once with
get_feedback, then writes the report to the vault and your notes folder. Optionally drafts a named PMM artifact (battlecard, comparison matrix, GTM brief, positioning, etc.).
Every evidence note is provenance-tagged. Internal-origin evidence never enters an externally-shareable artifact without explicit per-item sign-off. Every flight writes a resumable run manifest.
Odin is an orchestration skill: it assumes three underlying systems are installed and working. Set them up in this order.
Odin runs inside Claude Code (CLI, IDE extension, or desktop). Install it and sign in first.
Requires Python 3.11–3.13 (3.14 is NOT supported; the install will fail on it).
# macOS, via Homebrew + pipx (recommended):
brew install python@3.13 pipx
pipx ensurepath
pipx install hyperresearch --python /opt/homebrew/opt/python@3.13/bin/python3.13
# Create your research workspace and install into it:
mkdir -p ~/research-workspace && cd ~/research-workspace
hyperresearch installThis initializes the vault, injects the pipeline skills/agents into
.claude/, and (if crawl4ai is detected) configures free local web
fetching. Verify with hyperresearch status. Full docs:
jordan-gibbs/hyperresearch.
Installed by copying files into the SAME workspace:
git clone --depth 1 https://github.com/Weizhena/Deep-Research-skills /tmp/drs
cd ~/research-workspace
cp -R /tmp/drs/skills/research-en/* .claude/skills/
cp /tmp/drs/agents/web-search-agent.md .claude/agents/
cp -R /tmp/drs/agents/web-search-modules .claude/agents/
python3 -m pip install pyyaml # its only dependency
# (on Homebrew Python add: --break-system-packages)Full docs: Weizhena/Deep-Research-skills.
A remote MCP server (OAuth sign-in, no self-hosting). Add it to Claude Code:
claude mcp add --transport http pmm-sherpa https://pmmsherpa.com/api/mcpThen authenticate when prompted. Setup guides and the calling-guide
skill: boommark/pmmsherpa-mcp.
Sherpa is metered by credits; Odin enforces strict call discipline
(at most 2 ask_sherpa + 1 scope_pmm_research per facet + 1
get_feedback per flight).
Sherpa is only exercised for GTM-shaped questions. If you only ever run technical research, Odin works without it (those flights skip the advisor entirely).
Odin's ravens use whatever MCP connectors your Claude Code environment
has: Slack, Microsoft 365 (Outlook/SharePoint), Granola, Atlassian, etc.
Connect the ones you use; edit
references/internal-source-map.md to match your toolset. External-only
flights need none of these.
Clone this repo into your research workspace's skills folder:
cd ~/research-workspace
git clone https://github.com/boommark/odin .claude/skills/odinThen edit the Configuration section at the top of SKILL.md
(notably OBSIDIAN_REPORTS_DIR, the folder where final reports are
mirrored; point it at your Obsidian vault or any notes folder).
Open Claude Code in the workspace folder and run:
/odin <your research question>
SKILL.md # the orchestrator (phases, gates, rules)
references/internal-source-map.md # Sherpa source classes → your internal surfaces
references/run-manifest-template.yaml # resumable per-flight state
references/note-frontmatter.md # provenance tagging convention + firewall rule
- Engines are folder-scoped: Odin, hyperresearch, and Deep-Research-skills must live in the same workspace, and Claude Code must run from it.
- Cost control is structural: light tier is the default, full-tier hyperresearch (~$60-120 of model spend, 1.5-2.5 hr) requires explicit per-row approval at Gate 2.
- The manifest's
templateflag exists so a completed, approved flight can later be re-run headlessly on a schedule. Odin never creates templates on its own.
MIT