grind-lab-core/night_owl_research_agent/full-pipeline
Claude Code and agent skill by grind-lab-core/night_owl_research_agent
- community
Checking that the SKILL.md file is still in the repository.
Complete 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.
Install
npx vskill@latest install grind-lab-core/night_owl_research_agent/full-pipelineSKILL.md
Skill: full-pipeline
End-to-end research pipeline. You are the pipeline conductor — you sequence the four sub-skills, check gates, and persist state across sessions.
The pipeline orchestrates exactly four subskills, in order:
Constants
- AUTO_PROCEED = true — When
true, Gate 1 auto-selects the top-ranked idea (highest pilot signal + novelty confirmed) and continues to implementation. Whenfalse, always waits for explicit user confirmation before proceeding. Passed through to/idea-discovery-pipeline. - ARXIV_DOWNLOAD = false — When
true,/lit-review(inside/idea-discovery-pipeline) downloads the top relevant arXiv PDFs. Whenfalse(default), only fetches metadata via arXiv API. Passed through to/idea-discovery-pipeline. - HUMAN_CHECKPOINT = false — When
true, the auto-review loop (Stage 3) pauses after each round's review to let you see the score and provide custom modification instructions before fixes are implemented. Whenfalse(default), the loop runs fully autonomously. Passed through to/auto-review-loop. - REVIEWER_DIFFICULTY = medium — How adversarial the reviewer is.
medium(default): standard MCP review.hard: adds reviewer memory + debate protocol.nightmare: GPT reads the repo directly viacodex exec+ memory + debate. Passed through to/auto-review-loop. - COMPACT_MODE = false — When
true, prefer compact summaries (output/PROJ_NOTES.md,output/experiment/EXPERIMENT_RESULT.md) over full logs (output/experiment/EXPERIMENT_LOG.md,output/AUTO_REVIEW_REPORT.md) on session recovery. Passed through to/auto-review-loopand/generate-report.
Override via argument, e.g.,/full-pipeline "topic" — AUTO_PROCEED: false, human checkpoint: true, difficulty: nightmare.
Startup: Load Context, Check & Resume
Before any subskill is invoked, load the project context. All discovered files override `$ARGUMENTS`; $ARGUMENTS is only the primary driver when none of the context files exist or carry usable information.
- Read
CLAUDE.md— project dashboard, control flags, canonical output paths. - Read
handoff.jsonif it exists —pipeline.stage,recovery.resume_skill,recovery.read_first. - Read
memory/MEMORY.mdfor the current pipeline stage and prior token usage. - Load research context (priority order):
- `RESEARCH_PLAN.md` in the project root — if present and non-empty, this is the authoritative research brief (problem, method, constraints, success criteria, prior attempts). Treat it as ground truth.
- `BRIEF.md` in the project root — if
RESEARCH_PLAN.mdis missing, readBRIEF.md(the 12-section research brief — seeCLAUDE.mdKey Files). Treat it as the authoritative brief. - `$ARGUMENTS` — if neither file exists, or both are empty / contain only template placeholders, fall back to
$ARGUMENTSas the research direction. - Both file and `$ARGUMENTS` present: the file's details (problem, constraints, success criteria) override;
$ARGUMENTSmay sharpen scope but cannot contradict the brief. If they conflict materially, surface the conflict to the user and ask which one to follow before proceeding. - Read
output/REVIEW_STATE.jsonif it exists — resume from saved round (see/auto-review-loopresume rules). - Read the experiment status file appropriate for
COMPACT_MODE:
COMPACT_MODE = true→output/PROJ_NOTES.mdandoutput/experiment/EXPERIMENT_RESULT.mdCOMPACT_MODE = false→output/experiment/EXPERIMENT_LOG.mdandoutput/experiment/EXPERIMENT_RESULT.md
- Display the resolved context (which brief was loaded, current stage, last action) and confirm with the user before proceeding.
💡 If neitherRESEARCH_PLAN.mdnorBRIEF.mdexists and$ARGUMENTSis also empty, stop and ask the user for a research direction or to create one of these files (templates:templates/RESEARCH_PLAN_TEMPLATE.md).
Stage 1 — Idea Discovery (/idea-discovery-pipeline)
Goal: Identify a tractable, novel research direction and produce an experiment plan.
Invoke the subskill, passing through control flags:
The subskill internally chains: /lit-review → /generate-idea → /novelty-check → /idea-review → /experiment-design-pipeline (which itself runs /refine-research → /experiment-design). It will read RESEARCH_PLAN.md directly in its Phase 0 — do not re-paste its contents into the prompt.
Outputs (canonical paths produced by `/idea-discovery-pipeline`):
output/LIT_REVIEW_REPORT.md— literature landscape and ranked gapsoutput/IDEA_REPORT.md— ranked, novelty-checked, pilot-tested ideas (top-level report)output/NOVELTY_REPORT.md— deep novelty verdictsoutput/IDEA_REVIEW_REPORT.md— external critical reviewoutput/refine-logs/FINAL_PROPOSAL.md+output/refine-logs/REFINE_REPORT.md— refined proposaloutput/EXPERIMENT_PLAN.md+output/EXPERIMENT_TRACKER.md— experiment roadmapoutput/EXP_PIPELINE_SUMMARY.md— pipeline summary
Gate 1: If AUTO_PROCEED = false, stop here and present the top ideas to the user:
The user may approve, pick a different idea, request changes (re-run the subskill with refined constraints), reject all (collect feedback, re-run), or stop and save state.
If AUTO_PROCEED = true, the subskill auto-selects the top idea after presenting results.
After selection, ensure the chosen idea and supporting context are recorded in RESEARCH_PLAN.md (template: templates/RESEARCH_PLAN_TEMPLATE.md) so downstream stages and future sessions inherit it.
Path bridge before Stage 2: /deploy-experiment reads output/refine-logs/EXPERIMENT_PLAN.md and output/refine-logs/FINAL_PROPOSAL.md. /idea-discovery-pipeline writes the plan to output/EXPERIMENT_PLAN.md. Before Stage 2, verify output/refine-logs/EXPERIMENT_PLAN.md exists; if it does not, copy output/EXPERIMENT_PLAN.md to that location so the deploy skill finds it. Do not relocate the original.
Update memory/MEMORY.md.
Stage 2 — Autonomous Experiment Execution (/deploy-experiment)
Goal: Run all experiments described in the plan and collect results.
Invoke the subskill:
The subskill will:
- Read
output/refine-logs/EXPERIMENT_PLAN.md(authoritative plan) andoutput/refine-logs/FINAL_PROPOSAL.md(context). - Run the mandatory local GPU availability check (Step 0 of `/deploy-experiment`) before any classification. This applies to every pilot or full experiment in this pipeline. If a local GPU (CUDA or MPS) is detected, all ML/DL runs MUST execute on it; only when
LOCAL_GPU=nonemay runs route to remote/Modal/CPU. - Classify the experiment into Track A (ML/DL on GPU) or Track B (spatial/GIScience on CPU) — or both for mixed GeoAI.
- Acquire data via
/data-downloadif any required dataset is missing fromdata/raw/. - Pre-flight environment checks (GPU re-confirmed from Step 0 for Track A, package availability for Track B).
- Launch runs (long-running jobs go to background or remote screen sessions).
- For Track B, route execution through
/spatial-analysisper claim. - Periodically invoke
/training-check(Track A with W&B) to monitor for stalls/failures.
Outputs (canonical paths produced by `/deploy-experiment`):
output/experiment/EXPERIMENT_RESULT.md— final per-claim results, tables, key numbersoutput/experiment/EXPERIMENT_LOG.md— chronological run log (commands, timings, failures)output/experiment/data/— visualization-ready artifacts (CSV, GeoPackage, predictions, metrics, sidecar metadata)output/experiment/figures/— quick-look figuresoutput/experiment/scripts/— runner scripts created during execution
Wait for runs to finish, then confirm EXPERIMENT_RESULT.md and EXPERIMENT_LOG.md are populated before advancing.
Update memory/MEMORY.md.
Stage 3 — Autonomous Review Loop (/auto-review-loop)
Goal: Iteratively improve work quality through adversarial review until all per-criterion floors are met and the weighted score is acceptable, or MAX_ROUNDS = 4 is reached.
Invoke the subskill, passing the chosen idea and difficulty:
The subskill reads output/experiment/EXPERIMENT_RESULT.md, output/experiment/EXPERIMENT_LOG.md, output/refine-logs/FINAL_PROPOSAL.md, and prior review state. Each round runs: independent reviewer (Codex MCP / codex exec / Claude subagent fallback) → parse → (optional debate in hard/nightmare) → fix verification → re-evaluate. State is persisted to output/REVIEW_STATE.json at every phase boundary.
Outputs (canonical paths produced by `/auto-review-loop`):
output/AUTO_REVIEW_REPORT.md— cumulative review log (one entry per round)output/review-rounds/round_<N>_raw.md— verbatim raw reviewer responsesoutput/REVIEW_STATE.json— per-round scores, open weaknesses, threadId, statusoutput/METHOD_DESCRIPTION.md— concise final method description (consumed by/paper-figure-generateand/paper-draft)memory/REVIEWER_MEMORY.md(hardandnightmareonly) — persistent reviewer memory across roundsoutput/PROJ_NOTES.md(whenCOMPACT_MODE = true) — appended one-line discoveries per round
After the loop completes, read the terminal status and final score from output/REVIEW_STATE.json:
status = "completed"(POSITIVE_THRESHOLD met) → proceed to Stage 4.status = "max_rounds_reached"→ proceed to Stage 4 with the remainingopen_weaknessesflagged as limitations in the narrative.status = "blocked"(Phase B.7 circuit breaker, contract violation, or no reviewer backend) → STOP. Surfaceoutput/CONTRACT_VIOLATION.md(if any) and the blocker reason. Do not proceed to/generate-reportuntil a human resolves it.
Update memory/MEMORY.md.
Stage 4 — Report Writing (/generate-report)
Goal: Consolidate all pipeline artifacts into a single narrative rich enough to drive the downstream paper-writing-pipeline (paper-plan → paper-figure-generate → paper-draft → paper-review-loop → paper-convert).
Invoke the subskill (optionally with a focus hint):
The subskill reads, at minimum:
output/LIT_REVIEW_REPORT.mdoutput/IDEA_REPORT.mdandRESEARCH_PLAN.md(orBRIEF.mdif that was the active brief)output/refine-logs/FINAL_PROPOSAL.mdoutput/refine-logs/EXPERIMENT_PLAN.mdoutput/experiment/EXPERIMENT_RESULT.mdandoutput/experiment/EXPERIMENT_LOG.mdoutput/AUTO_REVIEW_REPORT.mdandoutput/REVIEW_STATE.jsonoutput/METHOD_DESCRIPTION.mdoutput/PROJ_NOTES.md(whenCOMPACT_MODE = true)data/DATA_MANIFEST.md,output/spatial-analysis/,output/figures/(as needed)
…and produces output/NARRATIVE_REPORT.md — the single source-of-truth narrative for the paper-writing pipeline.
After /generate-report returns, append a short pipeline summary block to output/NARRATIVE_REPORT.md (or write it alongside as output/PIPELINE_SUMMARY.md):
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/full-pipeline/SKILL.md
Popularity
- Repository stars
- 82
- Repository forks
- 21
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 16 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/grind-lab-core/night_owl_research_agent/full-pipeline)