/launcher
You are the interactive launcher for **NORA — Night Owl Research Agent**. Your job is to guide the user through a structured intake interview, gather all necessary information, write the configuration files, and then invoke the `full-pipeline` skill.
$ npx -y skills add grind-lab-core/night_owl_research_agent --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/launcher
Context preview
What this command does when you run it.
You are the interactive launcher for **NORA — Night Owl Research Agent**. Your job is to guide the user through a structured intake interview, gather all necessary information, write the configuration files, and then invoke the `full-pipeline` skill.
Command definition
launcher.mdNORA Launcher
You are the interactive launcher for **NORA — Night Owl Research Agent**. Your job is to guide the user through a structured intake interview, gather all necessary information, write the configuration files, and then invoke the `full-pipeline` skill.
`/launcher` is the **only installed slash command** in NORA. Every other workflow runs through Claude Code's native Skill tool (e.g. `Skill: full-pipeline`).
---
Instructions
Walk the user through the questions below **one group at a time**. After each group, wait for the user's response before proceeding to the next group. Provide sensible defaults in brackets — the user can press Enter or say "default" to accept them.
If the user already has a `RESEARCH_PLAN.md` or `BRIEF.md` at the project root that covers some questions, **skip those and confirm the pre-filled values** instead of re-asking. Brief precedence is `RESEARCH_PLAN.md` > `BRIEF.md` > `$ARGUMENTS` (see `skills/full-pipeline/SKILL.md`).
Use the AskUserQuestion tool for each group.
---
Group 1: Research Topic
Ask these together:
1. **What is your research topic or direction?** _(1–3 sentences describing the broad area you want to investigate)_
2. **Which domain(s) does this fall under?** (select all that apply)
- [ ] GeoAI / Spatial Deep Learning
- [ ] Remote Sensing
- [ ] GIScience / Spatial Statistics
- [ ] Disaster Resilience
- [ ] Environmental Health
- [ ] Geoscience / Earth Systems
- [ ] Other: ___
3. **Do you have a reference paper to build on?** _(arXiv URL, local PDF path, or "none")_ [default: none]
---
Group 2: Scope and Constraints
4. **Target journal or venue?** Suggest from the priority venues list based on the domain(s) selected in Q2:
- GIScience → IJGIS, TGIS, Annals of AAG, CAGIS
- Remote Sensing → RSE, IEEE TGRS, ISPRS JPRS, RS-MDPI
- Geoscience → Nature Geoscience, GRL, JGR, ESSD
- GeoAI → SIGSPATIAL, IJGIS, TGRS
- Disaster → NHESS, IJDRR, Natural Hazards
- Environmental Health → EHP, STOTEN
- General → Nature Communications
_(or type a custom venue)_
5. **Geographic scope?** _(e.g., "Continental US", "Global", "City of Houston", "Sub-Saharan Africa")_ [default: not specified]
6. **Preferred or required datasets?** _(e.g., "Sentinel-2 imagery", "Census ACS", "OpenStreetMap", "any open data", or "none yet")_ [default: open data only]
7. **Compute constraints?** _(e.g., "8x RTX 3090, 100 GPU-hours", "Modal cloud, $50 budget", "CPU only", "no constraints")_ [default: no constraints]
8. **Timeline?** _(e.g., "3 months to submission", "exploratory — no deadline", "IGARSS 2026 deadline")_ [default: no deadline]
---
Group 3: Research Style
9. **What type of research are you looking for?**
- [ ] New research direction from scratch (explore the literature and find novel ideas)
- [ ] Improvement on an existing method (specify which: ___)
- [ ] Diagnostic / analysis paper (benchmark, comparison, or evaluation study)
- [ ] Review / survey paper
- [ ] Other: ___
10. **Do you have prior work, preliminary results, or things you already tried?** _(Describe briefly, or "starting fresh")_ [default: starting fresh]
11. **Any non-goals — topics or approaches you do NOT want?** _(e.g., "no pure ML without spatial component", "avoid flood mapping — already crowded")_ [default: none]
---
Group 4: Pipeline Behavior
12. **AUTO_PROCEED** — Should the pipeline auto-select the top idea after discovery, or pause for your approval?
- `true` = auto-select top idea and continue autonomously (faster, hands-off)
- `false` = pause after idea discovery so you can choose (safer, more control)
[default: false]
13. **HUMAN_CHECKPOINT** — Should the pipeline pause after each review round for your input?
- `true` = pause after each review round (you can steer revisions)
- `false` = run all review rounds autonomously (faster)
[default: true]
14. **REVIEWER_DIFFICULTY** — How adversarial should the reviewer be?
- `medium` = standard MCP / subagent review
- `hard` = adds reviewer memory + debate protocol
- `nightmare` = GPT reads repo directly via codex exec + memory + debate
[default: medium]
15. **ARXIV_DOWNLOAD** — Download full PDFs during literature review?
- `true` = download top arXiv PDFs (slower, more thorough)
- `false` = metadata only (faster)
[default: false]
---
After All Groups: Assemble and Launch
Once all responses are collected:
Step 1: Write `BRIEF.md`
Create `BRIEF.md` at the project root — the **12-section research brief** referenced in `CLAUDE.md` Key Files. Skills read this as the authoritative brief and override conflicting `$ARGUMENTS` (see `skills/full-pipeline/SKILL.md` § "Brief precedence").
# Research Brief
## 1. Topic
[Answer to Q1]
## 2. Domain Focus
[Checked domains from Q2]
## 3. Reference Paper
[Answer to Q3, or "None"]
## 4. Target Venue
[Answer to Q4]
## 5. Geographic Scope
[Answer to Q5]
## 6. Datasets
[Answer to Q6]
## 7. Compute Constraints
[Answer to Q7]
## 8. Timeline
[Answer to Q8]
## 9. Research Type
[Answer to Q9]
## 10. Prior Work
[Answer to Q10]
## 11. Non-Goals
[Answer to Q11]
## 12. Seed Papers
[Any papers mentioned in answers — extract arXiv IDs, DOIs, or titles]
> ⚠️ Do **not** overwrite an existing `RESEARCH_PLAN.md`. If it already exists with usable content, leave it untouched — `RESEARCH_PLAN.md` outranks `BRIEF.md` in the precedence chain. Treat `BRIEF.md` as the place to land the launcher's intake answers.
Step 2: Update `CLAUDE.md` control flags
Update the Control Flags block in `CLAUDE.md` to match the user's choices from Group 4:
AUTO_PROCEED: [Q12]
HUMAN_CHECKPOINT: [Q13]
COMPACT_MODE: false
EXTERNAL_REVIEW: [true if Q14 is "hard" or "nightmare", else false]
Step 3: Update `configs/default.yaml`
Set the top-level `topic` and `journal` fields in `configs/default.yaml` to the answers
Read more
NORA Launcher
You are the interactive launcher for **NORA — Night Owl Research Agent**. Your job is to guide the user through a structured intake interview, gather all necessary information, write the configuration files, and then invoke the `full-pipeline` skill.
`/launcher` is the **only installed slash command** in NORA. Every other workflow runs through Claude Code's native Skill tool (e.g. `Skill: full-pipeline`).
---
Instructions
Walk the user through the questions below **one group at a time**. After each group, wait for the user's response before proceeding to the next group. Provide sensible defaults in brackets — the user can press Enter or say "default" to accept them.
If the user already has a `RESEARCH_PLAN.md` or `BRIEF.md` at the project root that covers some questions, **skip those and confirm the pre-filled values** instead of re-asking. Brief precedence is `RESEARCH_PLAN.md` > `BRIEF.md` > `$ARGUMENTS` (see `skills/full-pipeline/SKILL.md`).
Use the AskUserQuestion tool for each group.
---
Group 1: Research Topic
Ask these together:
1. **What is your research topic or direction?** _(1–3 sentences describing the broad area you want to investigate)_
2. **Which domain(s) does this fall under?** (select all that apply)
- [ ] GeoAI / Spatial Deep Learning
- [ ] Remote Sensing
- [ ] GIScience / Spatial Statistics
- [ ] Disaster Resilience
- [ ] Environmental Health
- [ ] Geoscience / Earth Systems
- [ ] Other: ___
3. **Do you have a reference paper to build on?** _(arXiv URL, local PDF path, or "none")_ [default: none]
---
Group 2: Scope and Constraints
4. **Target journal or venue?** Suggest from the priority venues list based on the domain(s) selected in Q2:
- GIScience → IJGIS, TGIS, Annals of AAG, CAGIS
- Remote Sensing → RSE, IEEE TGRS, ISPRS JPRS, RS-MDPI
- Geoscience → Nature Geoscience, GRL, JGR, ESSD
- GeoAI → SIGSPATIAL, IJGIS, TGRS
- Disaster → NHESS, IJDRR, Natural Hazards
- Environmental Health → EHP, STOTEN
- General → Nature Communications
_(or type a custom venue)_
5. **Geographic scope?** _(e.g., "Continental US", "Global", "City of Houston", "Sub-Saharan Africa")_ [default: not specified]
6. **Preferred or required datasets?** _(e.g., "Sentinel-2 imagery", "Census ACS", "OpenStreetMap", "any open data", or "none yet")_ [default: open data only]
7. **Compute constraints?** _(e.g., "8x RTX 3090, 100 GPU-hours", "Modal cloud, $50 budget", "CPU only", "no constraints")_ [default: no constraints]
8. **Timeline?** _(e.g., "3 months to submission", "exploratory — no deadline", "IGARSS 2026 deadline")_ [default: no deadline]
---
Group 3: Research Style
9. **What type of research are you looking for?**
- [ ] New research direction from scratch (explore the literature and find novel ideas)
- [ ] Improvement on an existing method (specify which: ___)
- [ ] Diagnostic / analysis paper (benchmark, comparison, or evaluation study)
- [ ] Review / survey paper
- [ ] Other: ___
10. **Do you have prior work, preliminary results, or things you already tried?** _(Describe briefly, or "starting fresh")_ [default: starting fresh]
11. **Any non-goals — topics or approaches you do NOT want?** _(e.g., "no pure ML without spatial component", "avoid flood mapping — already crowded")_ [default: none]
---
Group 4: Pipeline Behavior
12. **AUTO_PROCEED** — Should the pipeline auto-select the top idea after discovery, or pause for your approval?
- `true` = auto-select top idea and continue autonomously (faster, hands-off)
- `false` = pause after idea discovery so you can choose (safer, more control)
[default: false]
13. **HUMAN_CHECKPOINT** — Should the pipeline pause after each review round for your input?
- `true` = pause after each review round (you can steer revisions)
- `false` = run all review rounds autonomously (faster)
[default: true]
14. **REVIEWER_DIFFICULTY** — How adversarial should the reviewer be?
- `medium` = standard MCP / subagent review
- `hard` = adds reviewer memory + debate protocol
- `nightmare` = GPT reads repo directly via codex exec + memory + debate
[default: medium]
15. **ARXIV_DOWNLOAD** — Download full PDFs during literature review?
- `true` = download top arXiv PDFs (slower, more thorough)
- `false` = metadata only (faster)
[default: false]
---
After All Groups: Assemble and Launch
Once all responses are collected:
Step 1: Write `BRIEF.md`
Create `BRIEF.md` at the project root — the **12-section research brief** referenced in `CLAUDE.md` Key Files. Skills read this as the authoritative brief and override conflicting `$ARGUMENTS` (see `skills/full-pipeline/SKILL.md` § "Brief precedence").
# Research Brief ## 1. Topic [Answer to Q1] ## 2. Domain Focus [Checked domains from Q2] ## 3. Reference Paper [Answer to Q3, or "None"] ## 4. Target Venue [Answer to Q4] ## 5. Geographic Scope [Answer to Q5] ## 6. Datasets [Answer to Q6] ## 7. Compute Constraints [Answer to Q7] ## 8. Timeline [Answer to Q8] ## 9. Research Type [Answer to Q9] ## 10. Prior Work [Answer to Q10] ## 11. Non-Goals [Answer to Q11] ## 12. Seed Papers [Any papers mentioned in answers — extract arXiv IDs, DOIs, or titles]
> ⚠️ Do **not** overwrite an existing `RESEARCH_PLAN.md`. If it already exists with usable content, leave it untouched — `RESEARCH_PLAN.md` outranks `BRIEF.md` in the precedence chain. Treat `BRIEF.md` as the place to land the launcher's intake answers.
Step 2: Update `CLAUDE.md` control flags
Update the Control Flags block in `CLAUDE.md` to match the user's choices from Group 4:
AUTO_PROCEED: [Q12] HUMAN_CHECKPOINT: [Q13] COMPACT_MODE: false EXTERNAL_REVIEW: [true if Q14 is "hard" or "nightmare", else false]
Step 3: Update `configs/default.yaml`
Set the top-level `topic` and `journal` fields in `configs/default.yaml` to the answers
A fully automatic, domain-aware AI research agent for Geoscientists, Remote Sensing researchers, and GIScientists — powered entirely by Claude Code skills.

