Skip to content
Research
Skill

/paper-plan

Produces a detailed, venue-aware paper outline from all available upstream artifacts (RESEARCH_PLAN, lit review, idea report, refined proposal, experiment plan/results, narrative report). Creates section-by-section plan with word budgets, claim-evidence matrix, figure/table

BOOST
From plugin
night-owl-research-agent
10722 skills9 agents1 command6 MCP
Install
$ npx -y skills add grind-lab-core/night_owl_research_agent --skill paper-plan --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/paper-plan

Context preview

The summary Claude sees to decide when to auto-load this skill.

Produces a detailed, venue-aware paper outline from all available upstream artifacts (RESEARCH_PLAN, lit review, idea report, refined proposal, experiment plan/results, narrative report). Creates section-by-section plan with word budgets, claim-evidence matrix, figure/table

SKILL.md

paper-plan.SKILL.md
name: paper-plan
description: Produces a detailed, venue-aware paper outline from all available upstream artifacts (RESEARCH_PLAN, lit review, idea report, refined proposal, experiment plan/results, narrative report). Creates section-by-section plan with word budgets, claim-evidence matrix, figure/table plan, and citation scaffolding. Uses journal templates from templates/ for venue-specific formatting.
argument-hint: [topic-or-narrative-doc]
tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch, mcp__codex__codex, mcp__codex__codex-reply

Skill: paper-plan

You produce a concrete, actionable paper outline before any writing begins from: **$ARGUMENTS**

---

Constants

  • **REVIEWER_MODEL = `gpt-5.4`** — Model used via Codex MCP for outline review. Must be an OpenAI model.
  • **TARGET_VENUE = `IJGIS`** — Default venue. User can override (e.g., `/paper-plan "topic" — venue: AAAG`). Supported: `TGIS`, `RSE`, `ISPRS_JPRS`, `AAG_ANNALS`, `IEEE_TGRS`, `ICML`, `ICLR`, `NeurIPS`, `CVPR`, `ACL`, `AAAI`, `ACM`, `IEEE_JOURNAL` (IEEE Transactions / Letters), `IEEE_CONF` (IEEE conferences).
  • **MAX_PAGES = 40** — Adjust based on paper template selected. ML conferences typically 8–10 pages (excluding refs/appendix). IEEE venues include references in page count.
  • **MAX_PRIMARY_CLAIMS = 2** — One dominant contribution + one supporting. Prevents scope creep.
  • **MAX_FIGURES = 8** — Soft cap; hero figure + up to 7 supporting figures/tables.
  • **OUTPUT_PATH = `output/PAPER_PLAN.md`**

---

Orchestra-Guided Writing Overlay

Keep the existing workflow and outputs, but use the shared references below to improve the quality of the story and outline.

  • Read `skills/knowledge/academic-writing.md` when framing the one-sentence contribution, Abstract, Introduction, Related Work, or hero figure.
  • Read `skills/knowledge/geoai-domain.md` for GIScience/GeoAI framing conventions.
  • Read `skills/knowledge/spatial-methods.md` when planning methodology sections for spatial analysis papers.
  • Only load these references when needed; do not paste their full contents into the working draft.

---

Phase 0: Load Checkpoint (Resume Support)

Check for existing state:

1. Read `output/PAPER_PLAN.md` — if it exists and was generated in the current session, ask the user whether to rebuild or refine it. 2. Read `handoff.json` — if `pipeline.stage` indicates paper-plan is in progress, resume from the last recorded phase.

If no checkpoint exists, proceed to Phase 1.

---

Phase 1: Gather Context

Read all available upstream artifacts. Each file is **optional** — missing files are soft failures. Record which files were found and which were missing; this information goes into the plan's "Input Files Used" and "Missing Inputs" sections.

Primary Inputs (read in this order)

| Priority | File | What to extract | Required? | |---|---|---|---| | 1 | `RESEARCH_PLAN.md` | Problem statement, method overview, success criteria, target venue, research questions | No — fall back to FINAL_PROPOSAL or NARRATIVE_REPORT | | 2 | `output/LIT_REVIEW_REPORT.md` | Gap Analysis (gaps this paper closes), Synthesis (related work themes), key citations | No — reduces related work quality | | 3 | `output/IDEA_REPORT.md` | Chosen idea rationale, pilot scores, competing ideas considered | No — reduces novelty framing | | 4 | `output/refine-logs/FINAL_PROPOSAL.md` | Refined problem, method, contributions, feasibility assessment | No — fall back to RESEARCH_PLAN | | 5 | `output/EXPERIMENT_PLAN.md` | Experiment design, run order, success criteria, claim-to-experiment mapping | No — reduces experiment planning quality | | 6 | `output/EXPERIMENT_RESULT.md` | Actual quantitative results, metrics, pass/fail status | No — plan will flag results as [PENDING] | | 7 | `output/NARRATIVE_REPORT.md` | Consolidated narrative with claims-evidence matrix, figure plan, limitations | No — if present, this is the richest single source |

Context Synthesis Rules

1. **NARRATIVE_REPORT.md is king** — if it exists, it is the primary planning source. It was specifically designed to consolidate all upstream artifacts for the paper-writing pipeline. Use other files only to fill gaps or verify claims. 2. **RESEARCH_PLAN.md is the research intent** — it defines what the researcher *wants* to achieve. FINAL_PROPOSAL.md is the *refined* version. EXPERIMENT_RESULT.md is what *actually happened*. The outline must reconcile all three. 3. **Never fabricate from gaps** — if a file is missing, the outline must explicitly mark the affected sections as `[NEEDS: <missing-file>]` rather than inventing content. 4. **Numbers are sacred** — copy metrics verbatim from EXPERIMENT_RESULT.md and APPROVED_CLAIMS.md. Never round, paraphrase, or extrapolate.

---

Phase 2: Determine Venue and Paper Type

Step 2.1: Resolve TARGET_VENUE

Check in this order (first match wins): 1. Explicit user argument (e.g., `— venue: ISPRS_JPRS`) 2. `RESEARCH_PLAN.md` target venue field 3. `NARRATIVE_REPORT.md` venue target section 4. `output/PAPER_PLAN.md` existing venue (if refining) 5. Default: `IJGIS`

Step 2.2: Load Venue Template

Based on **TARGET_VENUE**, choose the appropriate template from `templates/`:

| Venue Category | Template Directory | Venues | |---|---|---| | GIScience | `templates/giscience/` | IJGIS, TGIS, AAG Annals | | Remote Sensing | `templates/remote_sensing/` | RSE, IEEE TGRS, ISPRS JPRS | | Geoscience | `templates/geoscience/` | GRL, Nature Geoscience | | ML Conference | (use WebSearch) | ICLR, NeurIPS, ICML, CVPR, ACL, AAAI | | IEEE | (use WebSearch) | IEEE_JOURNAL, IEEE_CONF |

If the template does not exist locally, use WebSearch to retrieve the venue's author guidelines and page limits.

Step 2.3: Determine Paper Type

Infer from the contributions and method:

| Paper Type | Signal | Section Emphasis | |---|---|---| | Methodological innovation | New algorithm/model, ablation studies | Heavy Methods + Experiments | | Applied case

Read more
Ships withnight-owl-research-agent

A fully automatic, domain-aware AI research agent for Geoscientists, Remote Sensing researchers, and GIScientists — powered entirely by Claude Code skills.

Get the whole plugin

Other skills on night-owl-research-agent.