submit-check
$
npx mdskill add GRIND-Lab-Core/night_owl_research_agent/submit-checkYou validate a paper manuscript against a target journal's requirements and geo-domain reporting standards. You read the paper and journal template, run through each checklist item, and produce a submission readiness report.
SKILL.md
.github/skills/submit-checkView on GitHub ↗
--- name: submit-check description: Validates a manuscript against target journal requirements before submission. Checks word count, section structure, figure/table count, reference format, and geo-specific reporting standards. Writes a PASS/FAIL checklist report to output/reports/. tools: Read, Write, Bash --- # Skill: submit-check You validate a paper manuscript against a target journal's requirements and geo-domain reporting standards. You read the paper and journal template, run through each checklist item, and produce a submission readiness report. --- ## Inputs - Argument: journal code (e.g. `IJGIS`, `RSE`, `IEEE_TGRS`, `GRL`, `ISPRS`, `TGIS`, `AAG`, `CEUS`) - Paper file: `output/papers/<slug>/paper_final.md` or the path provided by the user - Journal template: `templates/<domain>/<journal>.md` If no paper path is given, look for the most recently modified `.md` file under `output/papers/`. If no journal is given, read the target journal from `research_contract.md`. --- ## Checklist Run each item and record **PASS**, **FAIL**, or **WARN** with a specific note. ### 1. Structure | Item | How to check | |---|---| | All required sections present | Look for headings: Abstract, Introduction, Methods/Methodology, Results, Discussion, Conclusion, References | | Abstract within word limit | Count words in abstract block; limit from journal template | | Total word count within limit | `wc -w` on paper file (excluding references); compare to template limit | | Keywords provided (5–8) | Look for "Keywords:" line after abstract | | Highlights provided | Required for Elsevier journals (RSE, CEUS); 3–5 bullet highlights ≤ 85 chars each | | Author contributions statement | Required by most journals since 2022 | ### 2. Content | Item | How to check | |---|---| | Research objectives explicitly stated in Introduction | Scan for "The objectives of this study are..." or equivalent | | Methods reproducible | Check that software names, library versions, and key parameters are listed | | All figures referenced in text | Every "Figure N" in text must have a corresponding figure caption | | All tables referenced in text | Every "Table N" in text must be referenced | | Statistical results include effect sizes | R², p-values, confidence intervals, not just "significant" | | Limitations explicitly discussed | Scan Discussion or dedicated Limitations section | | Ethical statement / data access statement | Required by most journals; check for presence | ### 3. Geo-Specific These items apply **only when the paper's claims actually depend on them**. For each conditional item, mark **PASS**, **FAIL**, **WARN**, or **N/A** with a one-line reason. Do NOT mark **FAIL** when an item is genuinely irrelevant to the paper's question — mark **N/A** with reason. | Item | Conditional? | How to check | |---|---|---| | CRS / EPSG specified for all spatial data | **Always** when spatial data is used | Every dataset description must include CRS (e.g. WGS84 EPSG:4326, UTM Zone 10N EPSG:32610) | | Spatial resolution of all datasets stated | **Always** when spatial data is used | E.g. "30 m resolution", "500 m MODIS grid" | | Map projections appropriate for study area | **Always** when distance/area is computed | No distance/area analysis in geographic (degree) CRS | | Moran's I (or equivalent) reported for regression residuals | **Only if** the paper fits a regression that assumes residual independence on spatially structured data | Check Results section. Mark **N/A** for non-regression papers, descriptive cartography, deep-learning models reported by held-out spatial CV, or non-spatial outcome models. | | Moran's I p-value reported | **Only if** Moran's I is reported | Statistic alone is insufficient when reported | | Scale of analysis justified | **Always** when an aggregated areal unit is chosen by the researcher | Why this spatial scale? Discuss MAUP **only when** the conclusion could plausibly change at a different aggregation; otherwise a one-line "fixed unit by data-generating process" is sufficient. | | Open data with DOIs or repository links | **Always** | Every dataset must have a citable source | | Software citations included | **When** the listed library is load-bearing for a reported result | mgwr, statsmodels, geopandas, etc. cited with version and DOI | **Reviewer principle**: a paper whose research question is non-spatial in substance (even if the data have coordinates) should not be penalized in this section for omitting spatial diagnostics. When uncertain whether an item applies, ask the user before marking **FAIL**. ### 4. References | Item | How to check | |---|---| | All in-text citations appear in reference list | Cross-reference citation keys | | All reference list entries cited in text | No orphan references | | Reference format matches journal style | APA 7th (most geo journals), or IEEE, or Chicago — check template | | DOIs included where available | | | Self-citations within normal range | Typically < 15% of total citations | ### 5. Figures and Tables | Item | How to check | |---|---| | Figure files exist at stated paths | Check `output/figures/` | | All map figures have scale bar, north arrow, legend | Read captions in `output/figures/captions.md` | | CRS stated in each map caption | | | Color maps accessible for color-blind readers | Prefer viridis, RdYlBu, cividis; avoid pure red-green | | Figure captions are self-explanatory | Caption alone must describe what is shown, data source, CRS | | Tables have clear headers and units | All numeric columns must include units | --- ## Journal Word Limits Reference | Journal | Main text limit | Abstract | Figures | |---|---|---|---| | IJGIS | 9,000 words | 250 words | 10 | | RSE (Remote Sensing of Environment) | 10,000 words | 300 words | 12 | | IEEE TGRS | 8 pages (double column) | 250 words | 8 | | GRL (Geophysical Research Letters) | 4,000 words | 150 words | 4 | | ISPRS JPRS | 10,000 words | 300 words | 12 | | TGIS (Transactions in GIS) | 8,000 words | 200 words | 10 | | AAG Annals | 10,000 words | 200 words | 10 | | CEUS (Computers, Environment and Urban Systems) | 9,000 words | 250 words | 12 | If journal template file exists at `templates/<domain>/<journal>.md`, use that as the authoritative source — it overrides this table. --- ## Output Write the report to `output/reports/submit_check_<journal>_<YYYY-MM-DD>.md`: ```markdown # Submission Check Report — <JOURNAL> — <DATE> Paper: <path> Journal: <journal> Run by: submit-check skill ## Summary - Total items checked: N - PASS: N - FAIL: N - WARN: N **Overall verdict: READY / NOT READY** ## Failed Items (must fix before submission) | Section | Item | Issue | |---|---|---| | Geo-Specific | Moran's I p-value | Not reported for GWR residuals in Results §3.2 | | References | DOIs missing | 4 references lack DOIs | ## Warnings (review before submission) | Section | Item | Note | |---|---|---| | Content | Self-citation rate | 18% — above typical 15% guideline | ## Passed Items [collapsible list or count] ## Recommended Fixes 1. [Specific, actionable fix] 2. [Specific, actionable fix] ``` After writing the report, display the **Summary** and **Failed Items** sections in the response so the user sees them immediately.
More from GRIND-Lab-Core/night_owl_research_agent
- data-downloadDiscover, evaluate, and download publicly available datasets from the internet. Infers data needs from a research question or task, selects authoritative sources, downloads reproducibly, validates file integrity, and documents provenance. Pauses for user input when authentication, API keys, or major tradeoffs require a decision. Use when user says "download data", "get data", "find a dataset", "I need boundary files", "download census data", or needs any external dataset for analysis.
- deploy-experimentDeploy and run experiments for ML/DL training (local, remote, or Modal GPU) AND spatial data science / GIScience experiments (local, data-driven). Reads from output/refine-logs/EXPERIMENT_PLAN.md and output/refine-logs/FINAL_PROPOSAL.md, writes to output/experiment/. Use when user says "run experiment", "deploy experiment", "execute experiment plan", or needs to launch training / spatial analysis jobs.
- experiment-design-pipelineRun an end-to-end workflow that chains the skills `refine-research` and `experiment-design`. Use when the user wants a one-shot pipeline from vague research direction to focused final proposal plus detailed experiment roadmap, or asks to build a pipeline, do it end-to-end, or generate both the method and experiment plan together.
- full-pipelineComplete 4-stage end-to-end research pipeline. Orchestrates idea-discovery-pipeline → deploy-experiment → auto-review-loop → generate-report. Reads RESEARCH_PLAN.md (or BRIEF.md as fallback) for context that overrides $ARGUMENTS.
- generate-ideaGenerate and rank research ideas given a broad direction. Use when user input "brainstorm ideas", "generate research ideas", "what can we work on", or wants to explore a research area for publishable directions.
- idea-discovery-pipelineThe full pipeline for idea generation. It generates 8-12 novel research ideas from literature gaps and evaluates each on novelty, feasibility, and domain fit. Orchestrates lit-review → generate-idea → novelty-check → idea-review → experiment-design-pipeline to go from a broad research direction to a validated, pilot-tested idea with a refined proposal and experiment plan. Produces output/IDEA_REPORT.md plus refinement and experiment artifacts.
- lit-reviewRetrieves papers from local folder or ArXiv and Semantic Scholar using domain-aware keyword expansion, builds synthesis matrix, identifies gaps. Calls tools/arxiv_fetch.py and tools/semantic_scholar_fetch.py. Writes to output/paper-cache/ and output/LIT_REVIEW_REPORT.md.
- paper-covertConverts the final Markdown manuscript from `paper-draft` / `paper-review-loop` into a submission package for the target venue — modular LaTeX (one file per section), compiled PDF, and Word `.docx`. Venue is read from `output/PAPER_PLAN.md` (or argument) and routed through a small YAML profile. Does not rewrite prose, score, or invent citations.
- paper-draftTransforms output/PAPER_PLAN.md into a journal-quality Markdown manuscript draft for GIScience, GeoAI, spatial data science, and remote sensing venues (IJGIS, ISPRS JPRS, RSE, TGIS, AAG Annals). Consults referenced literature, experiment, figure, and claim artifacts; supports full drafts, partial drafts, and skeleton drafts depending on readiness. Never fabricates results, metrics, or citations — produces a claim-to-evidence map and coverage-gap report alongside the manuscript.
- paper-figure-generateGenerates publication-quality figures and diagrams from output/PAPER_PLAN.md for GIScience, GeoAI, and remote sensing journals (IJGIS, ISPRS JPRS, RSE, TGIS). Decides per-figure whether to produce reproducible code-generated plots/maps or structured prompts for external image-generation models (nano banana, ChatGPT image). Produces figure files, source scripts, captions, manifest, and prompt artifacts. Never fabricates results — uses only evidence from project files.