Academic Paper Writing Pipeline
Imbad0202/academic-research-skills
Runs a 12-agent pipeline that plans, drafts, cites, reviews and formats academic papers, with modes for revision, rebuttals, abstracts and citation checks.
Draft or revise a related-work, background, or prior-art section in which every citation key already exists in the project bibliography.
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Oleafly/Oleafly oleafly-related-work --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .claude/skills/oleafly-related-work && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .claude/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-workType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Oleafly/Oleafly oleafly-related-work --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .agents/skills/oleafly-related-work && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .agents/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Oleafly/Oleafly oleafly-related-work --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .cursor/skills/oleafly-related-work && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .cursor/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Oleafly/Oleafly.git --path src-tauri/resources/skills/oleafly-related-work--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Oleafly/Oleafly oleafly-related-work --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .gemini/skills/oleafly-related-work && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .gemini/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Oleafly/Oleafly oleafly-related-workInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .github/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .github/skills/oleafly-related-work && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .github/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Oleafly/Oleafly --skill oleafly-related-work -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Oleafly/Oleafly oleafly-related-work --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Oleafly/Oleafly.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src-tauri/resources/skills/oleafly-related-work .opencode/skills/oleafly-related-work && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "oleafly-related-work" agent skill from https://github.com/Oleafly/Oleafly/tree/main/src-tauri/resources/skills/oleafly-related-work into .opencode/skills/oleafly-related-work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oleafly-related-work", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
oleafly-related-workDraft or revise a related-work, background, or prior-art section in which every citation key already exists in the project bibliography.
Oleafly Related Work is an agent skill from Oleafly/Oleafly. Draft or revise a related-work, background, or prior-art section in which every citation key already exists in the project bibliography. Use when the user asks to write related work, expand the background, group prior work by theme, position their contribution against existing work, or repair a section full of unresolved citations. Checks projectmap unresolvedCites, adds verified entries before writing, and compiles until nothing is left unresolved.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files and assets (for example `assets/related-work-skeleton.md`, `references/citation-syntax.md` and `references/structure.md`). Compatibility notes: Needs a project with a bibliography and an engine that can compile. projectmap is offered only when the engine advertises a document index, and this skill…
It sits in Research & Science, covering Literature review, Citation management and LaTeX. It works with LaTeX. The repository describes itself as: The local-first AI assisted research workspace for scientific writing & publishing. Research, Write, Compile, Verify and Publish in LaTeX • Typst • Markdown • Git-native • Open…. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dc582ef. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
project_mapsearch_projectproject_library_searchread_filewrite_filereplace_in_filecreate_filecompileget_logget_pdf_text…and 3 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Needs a project with a bibliography and an engine that can compile. project_map is offered only when the engine advertises a document index, and this skill falls back to search_project.
From compatibility in the SKILL.md frontmatter.
Oleafly Related Work loads about 2.7k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 1,522 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Oleafly/Oleafly at commit dc582ef, republished under its MIT licence (© Oleafly). 1,522 words, ~2,680 tokens.
.claude/skills/oleafly-related-work/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.A related-work section has one job: show where this work sits among what already exists, and why the gap it fills is a real gap. It is an argument, not an annotated bibliography. Paragraphs that open "Smith et al. proposed..." and close "...achieved good results" are a list with margins.
The hard rule of this skill: never write a citation key that is not already in the project bibliography. Not as a placeholder, not with a comment saying to fix it later, not because the paper obviously exists. An invented key either fails to compile or renders as a question mark that survives to submission. If you want to cite something that has no entry, stop and add the entry first (step 4).
Answer these before writing a sentence. Ask when you cannot infer it.
search_project with {"query": "Related Work"} or {"query": "\\section{Related"} finds an existing section. project_map with {} returns sections with file and line for each, and files for the project structure.references/citation-syntax.md.Set the plan with update_todos.
Three sources, in this order.
project_map with {}. Read bibKeys, which is the exact set of keys you are allowed to use, and unresolvedCites, which is the set of keys the document already cites with no entry behind them. A non empty unresolvedCites is a bug in the document and part of your job.read_file with {"path": "research/reading-list.md"}. If a sweep ran, this is the thematic grouping already done, with a "why it matters" sentence per paper that is the seed of your prose. If the file does not exist, the sweep has not run: consider handing off to oleafly-literature-sweep before drafting, and say so.project_library_search with {"query": "<topic>"} surfaces anything the user already wrote about this prior work elsewhere in the project, which you should not contradict.When project_map is not offered, read_file the bibliography directly and take the keys from the @type{key, lines. search_project with {"query": "@"} locates them if you do not know the path.
Group the papers by the question they answer, not by year and not by author. Three to five themes is the usual shape for a conference paper. Each theme becomes one paragraph, occasionally two.
Order the themes so that the last one is closest to this work. The section should narrow as it goes, ending where the contribution begins, so the transition into the next section needs no announcement.
Write the grouping down before you write prose. A three column sketch is enough: theme, the papers in it, the one sentence that paragraph must land.
Common groupings that work: by approach family (what they do), by the assumption they make (what they require), by the limitation they share (why the gap exists). The last one is the strongest when the paper's contribution is removing that limitation.
Now, not later. For each paper you intend to cite that is not in bibKeys:
verify_citation with {"doi": "<doi>"}, or {"title": "<exact title>"} when there is no DOI.verified: false result means the paper is not confirmed. Do not cite it. Either drop the point or find a source that does verify.read_file, then replace_in_file anchored on the last entry. Never write_file over an existing bibliography.compile with {} to confirm the file still parses.If more than three or four entries are missing, this is a sweep, not a gap. Hand off with load_skill and {"id": "oleafly-literature-sweep"} so the papers get source notes and provenance rather than bare entries.
For keys already sitting in unresolvedCites, work out which is true: the entry is missing (add it as above), or the key is misspelled in the prose (fix the prose, do not add an entry to match a typo). search_project with {"query": "<the key>"} shows every use.
Use the skeleton in assets/ for your markup. Write with write_file for a new section file, or replace_in_file anchored on the existing section heading for a rewrite. For a rewrite, read_file the current text first: the user's own framing and terminology should survive your edit.
What a paragraph does, in order: name the approach family, say what those works achieve, say precisely what they do not handle, and connect that to this work. The fourth part is what makes it an argument.
Rules that keep it honest:
to read, either read it with read_file on its source note, or leave the claim general enough to be supported by the abstract.Write the section, then reread it once asking a single question: if these paragraphs were deleted, what would the reader not understand about the contribution? If the answer is nothing, the section is a list and needs the fourth part of each paragraph.
compile with {}. On failure, get_log with {}, fix, compile again.project_map with {}. unresolvedCites must be empty. If it is not, every key in it is either a missing entry or a typo, and both are yours to fix.get_pdf_text with {}. Read the rendered section. This is the step that catches what compiles but is wrong: a citation rendering as [?], an entry rendering with the wrong year, a paragraph that ran to three pages, a bibliography that lost an author list.A citation that resolves at compile time can still render as a question mark if the bibliography style dropped the entry. The PDF text is the only place that shows up.
load_skill with {"id": "scientific-writing"}.load_skill with {"id": "oleafly-verify-claims"}.load_skill with {"id": "oleafly-literature-sweep"}.load_skill with {"id": "scientific-critical-thinking"}.| What happened | What to do |
|---|---|
project_map is not offered | The engine has no document index. Read the bibliography with read_file and take keys from the @type{key, lines. Verify with compile and get_pdf_text instead |
A key you want is not in bibKeys | Step 4. Never write it and fix later |
verify_citation cannot confirm a paper | Do not cite it. Rewrite the point around a source that verifies, or drop it |
compile fails after a bibliography append | The entry is malformed. get_log, fix the entry, compile again. Do not comment out the citation to make the build pass |
unresolvedCites still lists a key after your edit | Either the entry did not land or the prose spells the key differently. search_project on the key shows both sides |
A citation renders as [?] in get_pdf_text | The entry exists but the style rejected it, usually a missing required field. Check the entry against the minimum fields for its type |
| The user asks you to cite a paper you cannot find | Say you could not verify it. Ask for a DOI or a link. Do not write the key |
bibKeys.unresolvedCites is empty.verify_citation.compile is green and the rendered section in get_pdf_text shows no [?] and no missing bibliography entries.references/structure.md covers grouping patterns, paragraph shapes, and the failure modes of each.references/citation-syntax.md covers cite commands per engine and how to detect which one the project uses.assets/related-work-skeleton.tex, .typ and .md are starting skeletons.© Oleafly, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references, assets) in src-tauri/resources/skills/oleafly-related-work of Oleafly/Oleafly.
Open the folder on GitHubat commit dc582ef
Oleafly Related Work next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Oleafly Related Work this skillOleafly/Oleafly | 212 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Academic Paper Writing PipelineImbad0202/academic-research-skills | 51k | — | ~16k | Automated safety check: Pass | Custom licence | |
| Arxiv MCP Serverblazickjp/arxiv-mcp-server | 3.2k | — | ~353 | Automated safety check: Pass | Apache-2.0 | |
| Arxiv Paper Writerappautomaton/latex-arxiv-SKILL | 458 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Arxiv Paper Writeryunshenwuchuxun/latex-paper-skills | 267 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Paper SkillcLin-c/paper-skill | 119 | — | ~2.6k | Automated safety check: Pass | MIT |
Imbad0202/academic-research-skills
Runs a 12-agent pipeline that plans, drafts, cites, reviews and formats academic papers, with modes for revision, rebuttals, abstracts and citation checks.
blazickjp/arxiv-mcp-server
A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…
appautomaton/latex-arxiv-SKILL
Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations.
yunshenwuchuxun/latex-paper-skills
Writes ML/AI review and survey papers for arXiv using the IEEEtran LaTeX template with verified BibTeX citations.
cLin-c/paper-skill
End-to-end, Chinese-first academic research and publication workflow for reading papers, literature reviews, research framing, manuscript planning and writing, Chinese-English translation, LaTeX…
EvoScientist/EvoSkills
Generates structured literature survey reports from collected papers using a multi-stage pipeline: outline generation (query-type adaptive) → draft survey → section-by-section expansion → summary…
Oleafly/Oleafly
Perform bounded, local exploratory analysis of explicitly supported scientific files.
Oleafly/Oleafly
Design experiments and studies BEFORE data is collected — choosing a design, randomizing, blocking, and laying out treatment combinations so results are interpretable.
Oleafly/Oleafly
Facilitates evidence-aware scientific ideation with independent generation, structured discussion, explicit assumptions, transparent evaluation, adversarial review, and decision logs.
Oleafly/Oleafly
Create and audit truthful, accessible, publication-ready scientific figures with Matplotlib, Seaborn, or Plotly.
Oleafly/Oleafly
Turn a research question into an annotated reading list with provenance.
Oleafly/Oleafly
Entry point for research writing in Oleafly. An agent skill from Oleafly/Oleafly.
Works with
Categories
Draft or revise a related-work, background, or prior-art section in which every citation key already exists in the project bibliography. Oleafly Related Work is an agent skill from Oleafly/Oleafly. Draft or revise a related-work, background, or prior-art section in which every citation key already exists in the project bibliography.
Oleafly Related Work fits situations like: the user asks to write related work; expand the background; group prior work by theme; position their contribution against existing work.
Run `npx skills add Oleafly/Oleafly --skill oleafly-related-work -a claude-code`. Or copy the skill folder (src-tauri/resources/skills/oleafly-related-work in Oleafly/Oleafly) into .claude/skills/oleafly-related-work in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Oleafly/Oleafly --skill oleafly-related-work -a codex`. Or copy the skill folder (src-tauri/resources/skills/oleafly-related-work in Oleafly/Oleafly) into .agents/skills/oleafly-related-work in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Oleafly/Oleafly --skill oleafly-related-work -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oleafly-related-work, .gemini/skills/oleafly-related-work, .github/skills/oleafly-related-work and .opencode/skills/oleafly-related-work in your project.
SKILL.md names no scripts, command-line tools or credentials: Oleafly Related Work is instructions for the agent only. Its frontmatter pre-approves these tools: project_map, search_project, project_library_search, read_file, write_file, replace_in_file, create_file, compile, get_log, get_pdf_text, verify_citation, update_todos, load_skill. Compatibility (from SKILL.md): Needs a project with a bibliography and an engine that can compile. project_map is offered only when the engine advertises a document index, and this skill falls back to search_project..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Oleafly Related Work is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Oleafly Related Work: Academic Paper Writing Pipeline (Imbad0202/academic-research-skills, 51k stars), Arxiv MCP Server (blazickjp/arxiv-mcp-server, 3.2k stars), Arxiv Paper Writer (appautomaton/latex-arxiv-SKILL, 458 stars) and Arxiv Paper Writer (yunshenwuchuxun/latex-paper-skills, 267 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Oleafly (a GitHub organization) maintains it in Oleafly/Oleafly, which has 212 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.
Source: Oleafly/Oleafly on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.