Semi-automated local research knowledge base and research assistant for paper analysis, ideation, coding, experiments, writing, and publication workflows.
ResearchFlow turns paper lists, PDFs, and structured analysis notes into shared local research memory that Claude Code, Codex CLI, and other AI research tools can reuse, and provides a coordinated skill layer that helps across ideation, framework design, coding, experimentation, writing, and publication.
collect paper list -> paper analysis -> build index -> research assist
It can serve three usage modes at the same time:
- Claude Code / Cursor: via
.claude/skills - Codex CLI: via
AGENTS.mdplus generated.agents/skills/.codex/skillscompatibility aliases - Other AI research tools: by directly reading local Markdown, PDFs, and indexes
Its focus is not just "paper management". The real goal is to turn local literature accumulation into an agent-ready knowledge base that can be retrieved, compared, reused for ideation, and linked with local codebases while keeping ResearchFlow itself as the active workspace.
ResearchFlow is not limited to academic research. With the domain-fork skill, you can migrate the same architecture into other professional domains while preserving the ideas of local knowledge accumulation, structured indexing, workflow skills, and downstream execution.
Typical examples include frontend development, accounting, journalism, policy analysis, legal workflows, or any domain that benefits from a shared local memory plus semi-automated assistance.
If you want a neutral starter name for your own fork, you are also welcome to try YourAnyFlow.
/domain-fork
Fork ResearchFlow into a frontend engineering version.
Keep the local knowledge base + workflow architecture, but remap papers, venues, and analysis notes to frontend references, implementation patterns, bug cases, and framework comparisons.
Generate the adapted repository structure, renamed skills, and README.
You are also welcome to try YourAnyFlow!
- Collect candidate papers for a topic from conference pages, blogs, and GitHub awesome repositories
- Turn local PDFs into structured paper analysis notes with reusable fields such as
core_operator,primary_logic, tags, venue, and year - Automatically rebuild
paperCollection/pages for statistics, Obsidian navigation, and backlink-friendly browsing - Use
paperAnalysis/as the main agent-facing retrieval and evidence layer for comparison, question lists, idea generation, reviewer-style critique, and paper retrieval before implementation - Let multiple agents, research projects, and code repositories reuse the same local knowledge base
Below are several prompt examples.
- The first line of each block explicitly names the recommended skill.
- For the knowledge-base construction workflow, it is better to run the stages one by one instead of merging collect / download / analyze / build into one giant prompt.
If you do not yet have a good paper source, you can first ask the agent to find a better awesome repository or curated list for intake.
I want to build a knowledge base for controllable human motion generation.
Please search for relevant GitHub awesome repositories or curated paper lists first, and recommend the 2 most suitable options.
After selecting the source, run the following four prompts stage by stage.
(1) Build the paper candidate list
/papers-collect-from-github-awesome
Collect papers related to controllable human motion generation from this GitHub awesome repository: <URL>
Keep only items related to diffusion, controllability, real-time generation, or long-form motion.
Organize the result into a candidate list suitable for the downstream download workflow, and mark which entries should be kept or skipped.
(2) Download papers
/papers-download-from-list
Download the papers that are still marked as `Wait` in the current candidate list.
If a link is broken or a download fails, mark it as `Missing` and provide a short failure reason.
After finishing, return the counts of successful downloads, failures, and skipped items.
(3) Analyze papers
Because each session has limited context, it is recommended to process no more than 8 papers at a time, and continue in a new session when the context is getting full.
/papers-analyze-pdf
Analyze the PDFs under `paperPDFs/` that were newly downloaded but do not yet have corresponding analysis notes.
Write the analysis results into `paperAnalysis/`, and make sure the frontmatter includes title, venue, year, tags, core_operator, and primary_logic.
When finished, tell me which papers were newly added into the knowledge base in this round.
(4) Build indexes
Each analyzed paper carries tags. Index building organizes the tags across all papers so later research-assist steps can retrieve relevant papers more quickly.
/papers-build-collection-index
Rebuild `paperCollection/` based on the latest `paperAnalysis/`.
When finished, briefly summarize the current coverage of the knowledge base by task, technique, and venue.
/papers-analyze-pdf, /papers-build-collection-index
Process the items in `paperAnalysis/analysis_log.csv` that still need work.
After the analysis is done, rebuild `paperCollection/`.
Finally summarize:
- which papers were newly added this time
- which new method tags and technique tags were introduced
/papers-compare-table
Compare DART, OmniControl, MoMask, and ReactDance, with a focus on their representation design.
Based on the core thinking, applicable scenarios, and capability characteristics of each design, analyze whether they can support <XXX>.
Save the analysis result into `paperIDEAs/`.
(1) Use the agent to generate initial ideas from a rough direction
/research-brainstorm-from-kb, /reviewer-stress-test
I want to study long-audio temporal localization.
Please first identify the first-principles challenges of this task, then combine the local knowledge base with necessary external search, borrow recent developments from video understanding, and organize several rounds of discussion between an author perspective and a CVPR/ICLR reviewer perspective.
Finally propose 3 viable ideas.
Each idea should include:
- the problem entry point
- why it is feasible
- which existing papers provide technical support and evidence
- whether the supporting papers have open-source code, how credible that support is, and how strongly it matches the current idea
- the minimum viable experiment
- the most likely reviewer objection
Write the final result into `paperIDEAs/`.
(2) Refine an initial idea with the agent
/idea-focus-coach
I designed a new motion representation in @paperIDEAs/2026-10-08_new_motion_representation_raw.md, and the goal is to support high generation quality, strong instruction following, and long-horizon consistency at the same time. I still need to further determine the following parts:
1. XXXX
2. XXXXX
3. ...
Write the result back into the markdown file.
(3) Once the idea is more mature, let the agent act as a reviewer for a pre-mortem
/reviewer-stress-test /research-question-bank
I designed a new motion representation in @paperIDEAs/2026-10-10_new_motion_representation.md, and the goal is to support high generation quality, strong instruction following, and long-horizon consistency at the same time.
Please act like a top-tier conference reviewer, point out the main weaknesses of the current plan, its overlap with related work, the core evaluation criteria, and major risks, and write the result back into the markdown file.
Link the target codebase under linkedCodebases/ inside ResearchFlow. This keeps ResearchFlow as the active workspace, so Claude Code and Codex can still discover the shared skills while the agent retrieves relevant papers before changing code.
/code-context-paper-retrieval
Please implement the code changes according to @paperIDEAs/2026-10-12_new_motion_representation_roadmap.md. Before editing, retrieve relevant KB materials if needed.
Summarize:
- transferable operators
- key implementation constraints
- points that may conflict with the current code structure
- which designs best match our current idea / roadmap
Then provide the code modification plan and start implementing.
If the current knowledge base does not provide enough evidence, please point that out clearly before continuing.
Output a handling summary, and if there is progress, update @paperIDEAs/2026-10-12_new_motion_representation_roadmap.md.
ResearchFlow can serve as a high-quality local knowledge base and be combined with existing automated research tools, such as Deep Researcher Agent.
/papers-query-knowledge-base
Treat `ResearchFlow/` as the shared research memory and evidence layer for multiple agents in this project.
Follow these conventions while working:
- start retrieval from `paperAnalysis/`
- use `paperCollection/` only when you want statistics, overview pages, or Obsidian navigation / backlink exploration
- write new question lists into `QuestionBank/`
- write new research ideas into `paperIDEAs/`
- if the local knowledge base already covers the relevant papers, do not restate the whole literature chain from scratch
- before proposing a new idea or code change, first check whether the local knowledge base already contains reusable operators, baselines, or reviewer concerns
- when returning results to the automation system, prioritize concise, traceable, evidence-based summaries instead of generic brainstorming
| Phase | Goal | Main outputs |
|---|---|---|
| Collect paper list | Collect candidate papers from web pages or GitHub lists | candidate list aligned with the local workflow |
| Paper analysis | Download PDFs and convert them into structured analysis notes | paperPDFs/, paperAnalysis/, analysis_log.csv |
| Build index | Rebuild statistics / navigation pages from analysis notes | paperCollection/ organized by task, technique, and venue |
| Research assist | Query, compare, generate ideas, run reviewer stress tests, and connect to code | answers, tables, QuestionBank/, paperIDEAs/, implementation plans |
Download belongs to the intake stage between collect and analysis. For agent retrieval, paperAnalysis/ is the primary source; build index mainly refreshes the generated paperCollection/ pages for statistics and Obsidian-side navigation.
Once paperAnalysis/ accumulates structured notes, ResearchFlow is no longer just a paper archive directory. paperCollection/ can then be regenerated as a companion layer for statistics and Obsidian-friendly navigation.
| Layer | Main directories | Role |
|---|---|---|
| Agent-facing evidence layer | paperAnalysis/ |
Primary retrieval and evidence layer for agents, with structured fields such as operators, logic, links, and tags |
| Statistics / navigation layer | paperCollection/ |
Generated overview pages for task / technique / venue statistics, Obsidian jumps, and backlink exploration |
| Output layer | QuestionBank/, paperIDEAs/, linkedCodebases/ |
Turns knowledge into question lists, ideas, implementation plans, and code decisions |
Based on the interaction of these three layers, several forms of research assist naturally emerge:
KB -> comparison decision: decide which operator, control mechanism, or training strategy is worth borrowingKB -> question list: organize open problems, evaluation gaps, baseline gaps, and reviewer risksKB -> idea generation: ground ideas in the literature network instead of generic brainstormingKB -> reviewer simulation: run a strict challenge before project kickoff or writingKB -> codebase linkage: retrieve paper evidence before modifying model, loss, network, control, or training codeKB -> multi-agent collaboration: let Claude Code, Codex CLI, and other agents share the same local research memory
ResearchFlow ships with .claude/skills, so tools that support this convention can use skill routing directly.
ResearchFlow also supports Codex CLI in two layers:
AGENTS.mdis the stable Codex entry point for repo-level instructionsscripts/setup_shared_skills.pycreates.agents/skills,.agents/skills-config.json,.codex/skills, and.codex/skills-config.jsonas compatibility aliases pointing to the same.claude/skillssource of truth- on macOS/Linux the script uses symlinks; on Windows it uses directory junctions plus a hard-linked config file
This keeps one canonical skill library while still giving Claude Code and Codex the compatibility paths they expect on different platforms.
Even without skill support, this repository still works directly as a local knowledge base:
- start from
paperAnalysis/for agent-facing retrieval and evidence - use
paperCollection/only if you want overview pages, statistics, or Obsidian-style navigation - open
paperPDFs/when deeper verification is needed - write outputs into
QuestionBank/,paperIDEAs/, or code repositories linked underlinkedCodebases/
For the minimum working setup, complete Step 1 and Step 2 first. Step 3 and Step 4 are optional add-ons.
Clone ResearchFlow and enter the workspace root:
git clone https://github.com/<your-username>/ResearchFlow.git
cd ResearchFlowThis step keeps .claude/skills as the only maintained skill library while automatically exposing the same files to Codex-compatible paths.
macOS / Linux:
python3 scripts/setup_shared_skills.pyWindows:
py -3 scripts\setup_shared_skills.pyUse this if you want the recommended Obsidian workspace configuration.
- Download the shared Obsidian package from Google Drive.
- Unzip it locally.
- Rename the extracted folder to
.obsidian. - Place that
.obsidianfolder at the repository root.
Use this when you want to keep ResearchFlow as the active workspace while making one or more local codebases available under linkedCodebases/.
Recommended automated setup:
macOS / Linux:
python3 scripts/link_codebase.py /path/to/your-codebaseWindows:
py -3 scripts\link_codebase.py C:\path\to\your-codebaseCustom alias under linkedCodebases/:
python3 scripts/link_codebase.py /path/to/your-codebase --name your-codebaseManual fallback:
ln -s /path/to/your-codebase linkedCodebases/your-codebaseWindows PowerShell fallback:
New-Item -ItemType Junction -Path .\linkedCodebases\your-codebase -Target C:\path\to\your-codebaseOne ResearchFlow can host links to multiple codebases while staying the workspace that exposes Claude/Codex skills.
ResearchFlow/
├── AGENTS.md
├── LOGO.png
├── .claude/skills/
├── .claude/skills-config.json
├── .agents/
│ └── skills/ # generated by scripts/setup_shared_skills.py
├── .codex/
│ └── skills/ # generated by scripts/setup_shared_skills.py
├── paperAnalysis/
│ └── analysis_log.csv
├── paperCollection/
├── paperPDFs/
├── QuestionBank/
├── paperIDEAs/
├── linkedCodebases/
├── scripts/
└── obsidian setting/
paperCollection/is the generated statistics / navigation layerpaperAnalysis/is the main agent-facing knowledge and retrieval layerQuestionBank/andpaperIDEAs/are downstream research output layerslinkedCodebases/stores local symlinks or junctions to external code repositoriesscripts/stores maintenance and automation utilities.claude/skills/User_README.mdand.claude/skills/User_README_ZN.mdprovide the quickest bilingual skill map
- If analysis notes are added or modified and you want refreshed
paperCollection/pages, rebuild the index - The main state flow in
analysis_log.csvisWait -> Downloaded -> checked, withMissingandSkipas side states - Obsidian is optional; the repository still works as a normal local folder for agents
- If
.agents/skillsor.codex/skillsis missing, rerunscripts/setup_shared_skills.py - The shared Obsidian package is public-safe and has had private workspace state and share tokens removed
- If the extracted folder is named
obsidian setting, rename it to.obsidianbefore placing it in the repository root
- Describe the task directly in natural language
- Name the skill explicitly, such as
papers-download-from-list - Use slash-style invocation, such as
/papers-analyze-pdf
- If you are unsure where to start, begin with
research-workflow - For KB construction, the usual path is
papers-collect-* -> papers-download-from-list -> papers-analyze-pdf -> papers-build-collection-index - For retrieval and design work, start from
papers-query-knowledge-baseorpapers-compare-table - For ideation, use
research-brainstorm-from-kb,research-question-bank,idea-focus-coach, orreviewer-stress-test - For code-grounded implementation, use
code-context-paper-retrievalbefore editing model- or method-related code - For cross-domain adaptation of the full repository architecture, use
domain-fork
.claude/skills/User_README.md: English user-facing skill selection guide.claude/skills/User_README_ZN.md: Chinese user-facing skill selection guide.claude/skills/README.md: compact skill map by workflow family.claude/skills-config.json: registered skill descriptions and routing metadata
MIT
