| name | research-project-orienter |
| description | Read the .research/ manifest files at a project root and produce a single orientation memo (research question, datasets, current stage, key entrypoints, evidence artifacts, open questions). Use when the user asks to "orient me in this project", "what is this repo about", or "build a context map for this paper" — and the project already has .research/ manifests (or trigger research-context-compressor first). |
research-project-orienter
Quickly orient an AI assistant inside a research workspace without
scanning the whole repository. Reads the .research/ manifest files
written by research-context-compressor and produces a single
in-conversation orientation memo.
Part of the research-hub skill pack; works alongside Zotero, Obsidian,
and NotebookLM workflows but does not require any of them.
This skill is fast and read-only. If .research/ doesn't exist yet,
defer to research-context-compressor first.
When to use
Trigger phrases:
- "Understand this research project before helping me."
- "Summarize this repo's research question, data, experiments, and outputs."
- "Build a context map for this paper/project."
- "Orient me in this codebase."
- "What is this repo about?"
Not for:
- Detailed code review — that's a code task.
- Generating new manifests — use
research-context-compressor first.
- Literature review — use
literature-triage-matrix.
Inputs
Read in this order:
.research/project_manifest.yml — top-level orientation. Required.
.research/experiment_matrix.yml — experiment status. Read if present.
.research/data_dictionary.yml — datasets. Read if present.
.research/decisions.md — recent ADRs. Read last 5 if present.
.research/open_questions.md — known unknowns. Read all.
.research/run_log.md — last 3 entries for context.
Do not read source code, data files, or PDFs unless the manifest
points you at a specific path AND the user's question requires it.
What if .research/ doesn't exist?
Tell the user:
This project doesn't have a .research/ manifest yet. I can create one
first (loads research-context-compressor skill, takes ~30 seconds and
writes 3 small YAML files), or I can fall back to scanning the repo
directly (slower, more tokens). Which?
Don't auto-fall-back — ask first. If they pick "scan", read README.md +
docs/ + the top-level entrypoint, and produce the memo from that, but
caveat: "this orientation came from a one-shot scan; for more reliable
future sessions, run research-context-compressor once."
Output: orientation memo
Single message in this exact structure:
## Project orientation: <project_name>
**Research question**: <one sentence from manifest>
**Stage**: <current_stage> · **Last updated**: <last_updated>
**Datasets** (<count>):
- `<name|id>`: <purpose|description; "(no description)" if both absent>
- ...
**Experiments** (<count>, by status):
- <status>: <id> — <hypothesis or method, one line; "(no hypothesis)" if both absent>
- ...
**Entrypoints**:
- `<path>` — <one-line purpose> # if list form (`main_entrypoints`)
- `<key>: <path>` # if object form (`entrypoints` map)
- ...
**Recent decisions** (<count>):
- <date>: <decision title>
**Open questions** (<count>):
- <question text>
- ...
**Evidence artifacts**:
- `<path>` — supports claim/figure
- ...
**Suggested next action**: <based on current_stage>
Length budget: ~200-400 tokens for typical project. Don't pad.
Token-saving behavior
- The whole point of this skill is to save tokens. If you find yourself
reading > 5 files outside
.research/, stop and tell the user the
manifest is incomplete — they should refresh with
research-context-compressor.
- Cache-friendly: the orientation memo is identical between sessions if
the manifests don't change. Future sessions can paste it back as
context.
What NOT to do
- Don't summarize the manuscript —
paper-memory-builder does that.
- Don't compare papers —
literature-triage-matrix does that.
- Don't propose code changes — that's a separate task.
- Don't invent missing fields. If
research_question is empty in the
manifest, say "no research question recorded; please add one to
.research/project_manifest.yml" rather than guessing.
- Don't read PDFs in
data/ or outputs/ unless directly asked.