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.
Scholarly research companion using Knows sidecar spec (.knows.yaml).
$ npx skills add first-fluke/oh-my-agent --skill oma-scholar -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install first-fluke/oh-my-agent oma-scholar --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/first-fluke/oh-my-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .claude/skills/oma-scholar && 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 "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .claude/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholarType 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 first-fluke/oh-my-agent --skill oma-scholar -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install first-fluke/oh-my-agent oma-scholar --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .agents/skills/oma-scholar && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .agents/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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 first-fluke/oh-my-agent --skill oma-scholar -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install first-fluke/oh-my-agent oma-scholar --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .cursor/skills/oma-scholar && 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 "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .cursor/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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/first-fluke/oh-my-agent.git --path benchmarks/runs/oma/.agents/skills/oma-scholar--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 first-fluke/oh-my-agent --skill oma-scholar -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install first-fluke/oh-my-agent oma-scholar --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .gemini/skills/oma-scholar && 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 "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .gemini/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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 first-fluke/oh-my-agent oma-scholarInstalls 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 first-fluke/oh-my-agent --skill oma-scholar -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .github/skills/oma-scholar && 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 "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .github/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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 first-fluke/oh-my-agent --skill oma-scholar -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install first-fluke/oh-my-agent oma-scholar --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-scholar .opencode/skills/oma-scholar && 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 "oma-scholar" agent skill from https://github.com/first-fluke/oh-my-agent/tree/main/benchmarks/runs/oma/.agents/skills/oma-scholar into .opencode/skills/oma-scholar/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oma-scholar", 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.
oma-scholarScholarly research companion using Knows sidecar spec (.knows.yaml).
Oma Scholar is an agent skill from first-fluke/oh-my-agent. Scholarly research companion using Knows sidecar spec (.knows.yaml). Generates, validates, reviews, queries, and compares structured research-paper sidecars, and fetches them from knows.academy. Use for academic literature search, survey synthesis, paper authoring assistance, and peer review with token-efficient claim/evidence/relation access.
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files (for example `config/scholar-config.yaml`, `resources/api-endpoints.md` and `resources/checklist.md`).
It sits in Research & Science, covering Literature review and Peer review. The repository describes itself as: Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges). The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 268bb4a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
knows.academyFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENALEX_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Oma Scholar loads about 3.4k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,328 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 first-fluke/oh-my-agent at commit 268bb4a, republished under its MIT licence (© first-fluke). 1,328 words, ~3,388 tokens.
.claude/skills/oma-scholar/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Search, fetch, generate, validate, analyze, review, and compare scholarly paper sidecars using the Knows .knows.yaml spec for token-efficient research workflows.
.knows.yaml, knows.academy, OpenAlex, claims, evidence, relations, or paper sidecars..knows.yaml sidecars from your own paper drafts, LaTeX, or research notesknows.academy (~50K papers indexed)oma-searchoma-translatoroma-pdf.knows.yaml sidecar, review sidecar, lint report, search/fetch result, natural-language analysis, or structural comparisonpaper@1 profileoma scholar CLI subcommandsresources/sidecar-spec.md, API endpoints, OpenAlex setup, upstream cache, checklist, and execution protocol| Action | SSL primitive | Evidence |
|---|---|---|
| Select mode | SELECT | Generate/Validate/Review/Analyze/Compare/Remote |
| Read paper or sidecar | READ | Source files or YAML |
| Request remote data | REQUEST | Knows/OpenAlex APIs |
| Infer claims/evidence/relations | INFER | Sidecar generation/analysis |
| Write sidecar | WRITE | .knows.yaml outputs |
| Validate sidecar | VALIDATE | oma scholar lint |
| Report result | NOTIFY | Summary or lint report |
oma scholar search|resolve|get|lintoma scholar search "<query>"
oma scholar resolve "<title-or-doi>"
oma scholar get "<record-id-or-doi>"
oma scholar lint "<paper.knows.yaml>"| Scope | Resource target |
|---|---|
LOCAL_FS | Paper drafts, sidecar YAML, review sidecars |
NETWORK | knows.academy and OpenAlex APIs |
PROCESS | oma scholar CLI and lint |
USER_DATA | User-provided paper content and research notes |
paper@1 profile — verified against production sidecars from knows.academy; see resources/sidecar-spec.mdanthropic SDK or external LLM CLI; this skill runs inside an agentdoi: TODO or guesstitle, authors, venue, year live at the top level (no metadata wrapper)statement_type, evidence_type, predicate, artifact_type (not type/claim)provenance.actor is one object, NOT a provenance.actors array{claim_strength: ..., extraction_fidelity: ...}, both from high|medium|lowcoverage.statements (4-value enum) + coverage.evidence (3-value enum)tool|person|org (never ai/llm/model); artifact role subject|supporting|cited; predicates in present tensevalue: 22, never value: '22'supported_by evidence (lint warns when ratio is below; orphan statements warned per-id)stmt:privacy-budget-tradeoff, ev:cifar10-accuracy-table, art:paperoma scholar lint after Generatehttps://knows.academy/api/proxy/* is public; do not invent auth headerssection (singular) — fixed enum statements|evidence|relations|artifacts|citationoma-config.yaml languageknows.md natural-language description; refresh resources/upstream-spec-cache.md periodically| Mode | Trigger | Output |
|---|---|---|
| Generate | "create sidecar from this paper / abstract / draft", "generate .knows.yaml" | {paper}.knows.yaml (host LLM emits, then oma scholar lint validates) |
| Validate | "lint this sidecar", "validate .knows.yaml" | Pass/fail report with file:line issues |
| Review | "peer review this paper as sidecar" | {paper}.review.knows.yaml |
| Analyze | "summarize this sidecar", "what claims does it make?" | Natural-language answer |
| Compare | "compare paper A and paper B structurally" | Diff table (claims/methods/evidence) |
| Remote | "find papers on X", "fetch sidecar :id", "get claims only for :id" | Search results / sidecar payload |
knows.academy currently indexes only 2026 papers (~50K, mostly arXiv). For
older or non-2026 papers (Transformer 2017, BERT 2018, classics, journals),
the skill automatically falls back to OpenAlex for metadata and abstract.
Use the oma scholar CLI subcommands:
# Hybrid search: knows first, OpenAlex fallback
oma scholar search "vision language action"
# Cross-source resolve: figures out which source has the right paper
oma scholar resolve "Attention Is All You Need"
# Get by id (knows record_id, OpenAlex W-id, or DOI)
oma scholar get "10.48550/arXiv.1706.03762"When OpenAlex returns the answer (knows.academy lacks the paper), use the returned abstract as input to Mode 1 Generate to produce a local sidecar.
Follow resources/execution-protocol.md step by step for the selected mode.
oma scholar search "diffusion super resolution"
oma scholar search --year-min 2024 "vision language action"oma scholar resolve "Attention Is All You Need"
# returns top hit from each source + recommendation# knows.academy full sidecar
oma scholar get "knows:generated/reconvla/1.0.0"
# Partial fetch (claims only — ~700 tokens, 93% reduction vs PDF)
oma scholar get --section statements "knows:generated/reconvla/1.0.0"
# By DOI or OpenAlex W-id (works regardless of knows.academy availability)
oma scholar get "10.48550/arXiv.1706.03762"When knows.academy is unreachable, get knows:... automatically falls back
to OpenAlex by extracting the slug from the record_id. The result is marked
with fallback: "openalex" and contains metadata + abstract — useful for
running Mode 1 Generate locally.
# Strict — for own Generate output (default)
oma scholar lint paper.knows.yaml
# Lenient — for third-party / fetched sidecars
oma scholar lint --lenient remote.knows.yaml
# Treat warnings as failures (CI mode)
oma scholar lint --fail-on-warning paper.knows.yamlAbout 47% of knows.academy-served sidecars contain at least one dangling
cross-reference (typo in subject_ref/object_ref, measured across 15
production samples). Use --lenient when consuming third-party records so
these surface as warnings rather than blocking errors.
curl -s "https://knows.academy/api/proxy/search?q=..."
curl -s "https://knows.academy/api/proxy/sidecars/<encoded-id>"
curl -s "https://knows.academy/api/proxy/partial?record_id=<id>§ion=statements"
curl -s "https://knows.academy/api/proxy/jobs/stats" # platform healthProject-specific settings: config/scholar-config.yaml
| Issue | Solution |
|---|---|
[ERROR] *.value: numeric value '22' is quoted | Remove quotes: value: '22' -> value: 22 |
[ERROR] provenance.actor.type: 'ai' is not allowed | Change to tool, person, or org |
[ERROR] *.type: use \statement_type` instead of `type`` | Rename type -> statement_type (or evidence_type/predicate/artifact_type) |
[ERROR] provenance.actors: v0.9 spec uses singular \actor`` | Replace actors: [{...}] array with actor: {...} object |
[ERROR] *.object_ref: reference 'X' does not match any defined id | Fix the subject_ref/object_ref to point to a real id, OR use --lenient if consuming third-party data |
[WARN] relations: avg relations/statement is N.NN (target ≥ 1.5) | Add more supported_by/depends_on relations |
[WARN] statements: only N statements — most papers warrant ≥ 8 | Expected when generating from abstract only; full-paper Generate should hit 15+ |
[WARN] *.predicate: past-tense '...' is suspicious | Switch to present tense (evaluated_on -> evaluates_on) |
| Remote API returns empty results | Try broader query; check /api/proxy/jobs/stats; CLI auto-falls-back to OpenAlex |
knows.academy search failed: fetch failed (stderr) | Platform timeout — fallback to OpenAlex is automatic; retry later for sidecars |
| OpenAlex 403/429 | Set OPENALEX_API_KEY (see resources/setup-openalex.md) |
| YAML won't parse | Check indentation; numbers/booleans must be unquoted; strings with : need quotes |
resources/execution-protocol.mdresources/sidecar-spec.mdresources/api-endpoints.mdresources/setup-openalex.mdresources/upstream-spec-cache.mdresources/checklist.mdoma scholar search|resolve|get|lint (implementation under cli/commands/scholar/)../_shared/core/context-loading.md../_shared/core/quality-principles.md../../rules/i18n-guide.md© first-fluke, 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 8 other files in benchmarks/runs/oma/.agents/skills/oma-scholar of first-fluke/oh-my-agent.
Open the folder on GitHubat commit 268bb4a
Oma Scholar 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 |
|---|---|---|---|---|---|---|
| Oma Scholar this skillfirst-fluke/oh-my-agent | 1.3k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Academic Paper Writing PipelineImbad0202/academic-research-skills | 51k | — | ~16k | Automated safety check: Pass | Custom licence | |
| Academic Research PipelineImbad0202/academic-research-skills | 51k | — | ~15k | Automated safety check: Pass | Custom licence | |
| Academic Research Suite for CodexImbad0202/academic-research-skills-codex | 12k | — | ~12k | Automated safety check: Pass | Custom licence | |
| Deep Research Agent TeamImbad0202/academic-research-skills | 51k | — | ~13k | Automated safety check: Pass | Custom licence | |
| Social Science Paper Writingfakerqwq/social-science-paper-writing-skill | 382 | — | ~7k | Automated safety check: Pass | None |
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.
Imbad0202/academic-research-skills
Orchestrates a ten-stage academic workflow from research to finished manuscript, including integrity checks, two rounds of peer review and revision.
Imbad0202/academic-research-skills-codex
A router skill that sends academic work such as literature reviews, drafting, citation checks, peer review and revision to the right workflow in the ARS suite.
Imbad0202/academic-research-skills
Runs a 13-agent pipeline for rigorous academic research, from forming the question through systematic search, synthesis, bias checks and an APA 7.0 report.
fakerqwq/social-science-paper-writing-skill
Helps draft, diagnose, review and revise social science papers, from topic and research question to literature review, citation risks and pre-submission checks.
jimmc414/Kosmos
Systematic framework for evaluating scholarly and research work based on the ScholarEval methodology.
first-fluke/oh-my-agent
Decomposes a complex feature into tasks, dispatches parallel specialist agents with durable state, and supervises verification, QA review and retries.
first-fluke/oh-my-agent
Splits a complex feature into prioritized tasks, spawns specialist CLI subagents in parallel, tracks them through shared memory and verifies each result.
first-fluke/oh-my-agent
Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.
first-fluke/oh-my-agent
Explores goals, constraints and alternative designs one question at a time and saves an approved design document before any planning or coding starts.
first-fluke/oh-my-agent
Coordinate assigned specialist tasks and handoffs manually. An agent skill from first-fluke/oh-my-agent.
first-fluke/oh-my-agent
Generate raster images or reference-guided variations through the OMA image CLI.
Categories
Scholarly research companion using Knows sidecar spec (.knows.yaml). Oma Scholar is an agent skill from first-fluke/oh-my-agent.yaml).
Oma Scholar fits situations like: academic literature search; survey synthesis; paper authoring assistance; peer review with token-efficient claim/evidence/relation access.
Run `npx skills add first-fluke/oh-my-agent --skill oma-scholar -a claude-code`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-scholar in first-fluke/oh-my-agent) into .claude/skills/oma-scholar in your project. Claude Code loads it when a task matches its description.
Run `npx skills add first-fluke/oh-my-agent --skill oma-scholar -a codex`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-scholar in first-fluke/oh-my-agent) into .agents/skills/oma-scholar 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 first-fluke/oh-my-agent --skill oma-scholar -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oma-scholar, .gemini/skills/oma-scholar, .github/skills/oma-scholar and .opencode/skills/oma-scholar in your project.
Going by SKILL.md and its folder, Oma Scholar needs the command-line tools its instructions call (curl) and credentials named OPENALEX_API_KEY.
SKILL.md names 1 domain. In commands or code: knows.academy; the agent is likely to contact it when it follows the instructions. 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.
Oma Scholar is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Oma Scholar: Academic Paper Writing Pipeline (Imbad0202/academic-research-skills, 51k stars), Academic Research Pipeline (Imbad0202/academic-research-skills, 51k stars), Academic Research Suite for Codex (Imbad0202/academic-research-skills-codex, 12k stars) and Deep Research Agent Team (Imbad0202/academic-research-skills, 51k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
first-fluke (a GitHub organization) maintains it in first-fluke/oh-my-agent, which has 1,336 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on October 10, 2026.
Source: first-fluke/oh-my-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.