# research-skills: Claude Code skills for academic writing

> research-skills packages six Claude Code skills for research work, from a literature retrieval skill that reports measurable recall to a review skill that freezes its route at intake and audits every claim against a ledger. The design detail worth knowing is the anti-fabrication core: an audit whose gate status can be fail, warning or not_assessed but never pass.

**luwill/research-skills** — Some commonly used research experiences and processes are encapsulated into Agent skills.

- Repository: https://github.com/luwill/research-skills
- Stars: 876 · Forks: 102
- Language: Python
- License: not declared
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/luwill-research-skills

## Six skills, and why they are separate

The repository is a collection of Claude Code skills for academic research workflows, one directory per skill under the top-level tree, alongside a docs/ directory and a tests/ directory.

The catalogue in the README lists six of them with their triggers. medical-imaging-review writes thorough literature reviews for medical imaging AI and fires on a review paper request, a survey, or the Chinese word for a review. research-proposal generates PhD research proposals with Nature Reviews-style academic writing. research-paper drafts original research articles in IMRaD form from completed experiments, results first, bound to a reporting checklist. lit-search does exhaustive time-windowed literature retrieval with measurable recall, producing a quality-tiered DOI list and formatted references. scholar-slides builds fidelity-first academic decks for a live talk, with vector equations, extracted figures, grounded citations and editable PPTX. paper-slide-deck produces stylized slide images in 17 text-to-image aesthetic styles, for reading and sharing rather than for presenting.

Splitting them is the point, and the README is explicit about the two pairs where the split matters. Slides from a paper are two different tools on purpose: scholar-slides for a faithful, editable live talk where equations, numbers, tables and citations stay exact, and paper-slide-deck for stylized visual images to read or share, where look and feel matters more than editable precision, and whose slides are AI-generated images, so maths and data are not editable and can be garbled, which is why the README says not to use it for a defence or a results-heavy talk.

A review is also two stages. lit-search builds the corpus, finding the papers and proving how complete the search was, and medical-imaging-review writes the review from papers you already have, running over the dois.md that lit-search produced. Running a systematic review end to end means lit-search first and then the review skill over that file.

## Installation is a copy, and two skills need their own setup

Installation is deliberately unremarkable. You copy the desired skill folder into your Claude Code skills directory, and the README gives one command per skill:

```bash
cp -r medical-imaging-review ~/.claude/skills/
cp -r paper-slide-deck       ~/.claude/skills/
cp -r research-proposal      ~/.claude/skills/
cp -r research-paper         ~/.claude/skills/
cp -r scholar-slides         ~/.claude/skills/
cp -r lit-search             ~/.claude/skills/
```

Copying rather than installing from a registry keeps the skills reviewable before they run, which is the right shape for something that writes into an academic workflow.

Two of them carry their own toolchains, and the README says to provision them once after copying:

```bash
cd ~/.claude/skills/scholar-slides && ./install.sh
cd ~/.claude/skills/lit-search     && ./install.sh   # needs uv + Python 3.11+
```

So the floor for lit-search is uv and Python 3.11 or newer, while scholar-slides has its own requirements resolved by its installer. The other four skills have no extra setup, which is a hint about their design: they are prompt and file contracts rather than programs with dependencies.

One thing the README does not settle is the licence. The repository's licence field is empty, and there is no licence file in the top-level listing, which matters more than usual for a repository whose output is academic text that other people may end up publishing.

## lit-search treats recall as something you have to show

lit-search is described as exhaustive time-windowed literature retrieval with measurable recall, and the phrase measurable recall is the interesting part of that description. A search tool that returns papers has made no claim about what it missed, and a reviewer who cannot tell whether the search was complete cannot defend the review.

The skill's stated output is a quality-tiered DOI list plus formatted references, and the other skill in the pair consumes it as a dois.md file. That file is the interface between the two stages: the retrieval stage produces a corpus with its own file, and the writing stage reads that file rather than doing its own searching. The two-stage split is what makes the completeness claim auditable, because the corpus and the prose are separate artefacts with a step in between.

The trigger list shows the intended entry points, including Chinese phrases for a systematic review, for the literature retrieval part of a research proposal, and for a request to search a direction's literature thoroughly over the last N years. The time window is the same rclone-style max-age idea used elsewhere in this work, expressed here as a filter over publication dates, and the tiering implies that not every hit is treated as equally worth reading.

lit-search also has its own install step, which suggests it does real work rather than only prompting: a toolchain with uv and Python points at a retrieval pipeline with a literature connector behind it.

## The review skill freezes its route before it starts

medical-imaging-review is the most elaborate of the six, and its structure is the story.

It plans, conducts and drafts a review whose every claim audits back to first sources, and it supports four routes: narrative, method-survey, scoping and systematic, with meta-analysis and umbrella review explicitly out of scope and routed out to a specialized methods workflow. The route tokens are frozen at intake, which means the choice of review type cannot drift later, and each route is paired with matching reporting standards: PRISMA 2020 and ScR, QUADAS-3, CLAIM 2024, TRIPOD+AI, the PROBAST family and SWiM.

The project contract is immutable too. A script called init_review_project.py scaffolds a timestamped project containing review_config.yaml, REVIEW_CONTEXT.md, claim_ledger.csv, references.bib, manuscript.md and route-specific checklists, with atomic staging, and the initializer refuses existing targets. Atomic staging means a half-written project is not left behind, which is the kind of detail that matters when the project directory is the record of what was done.

The workflow is eight steps: route and configure at an intake gate, initialize the project, design the methods with the protocol and search plan frozen before screening, collect and register sources, pass human gates, synthesize within scope, draft from verified records, then validate and report status. The ordering constraint is explicit: the search plan is fixed before screening starts, so the corpus cannot be shaped by what was found in it.

## A ledger, and an audit that is not allowed to say pass

The most interesting design decision in the repository is the claim ledger and the audit built on top of it.

Citations use stable citekeys that are never mutable numbers. The working draft cites something like [@smith2024model], and the target journal's numeric or author-date style is rendered only at the final formatting stage. That separation means the manuscript's citations do not renumber every time a sentence is moved, which is where a lot of citation errors in generated text come from.

The claim ledger holds one atomic claim and source pair per row, with 26 columns including metric, direction, evidence excerpt and verification status. The rule that matters for behaviour is that drafting reads the ledger, not model memory. When a model writes a sentence, the sentence is assembled from a row that has an evidence excerpt attached to it, rather than from the model's recall of a paper it read earlier in the conversation.

The audit script, audit_manuscript.py, binds the manuscript's citekeys to references.bib and to the claim ledger, and it exits with codes 0, 1 or 2. Its status vocabulary is the part worth remembering: gate_status can be fail, warning or not_assessed, but never pass, and the README explains why, that a clean audit proves nothing was found wrong, not that the review is correct.

The human gates are held on the same principle. Screening, charting and extraction, risk-of-bias assessment and certainty steps are logged with named roles and are never auto-passed. The references directory makes the rest of the apparatus visible too: a verification protocol, a file of LLM hallucination indicators to self-check against, templates for the ledger schema and gates, a literature connector configuration with fallbacks, a pre-submission quality checklist, and a fixture test suite that locks the audit and initializer contracts.

## Two slide skills, and a shared integrity core

The slide pair is where the trade-off is clearest, and the README spells it out in a note of its own.

scholar-slides is the fidelity one. It produces vector equations, extracted figures, grounded citations and an editable PPTX, and its trigger is a paper PDF, an arXiv link or a DOI, or a request for slides for a group meeting or a defence. paper-slide-deck is the aesthetic one. It transforms any content into stylized, shareable slide images that are AI-generated, with figure detection and high-resolution page rendering from PDFs, across 17 visual styles.

paper-slide-deck's implementation detail is careful in a way that is worth copying. Figure detection is caption-based, locating the page by its caption, and the README recommends human confirmation for dense two-column layouts. The figure-to-slide mapping uses a full-page high-resolution render with a template container rather than cropping each figure's bounding box, which avoids the misaligned edges that per-figure cropping produces.

The cost is stated plainly: text, maths and data are baked into each image and not editable, and can be garbled. So the two skills are not competing versions of the same thing. They are a faithful record and a shareable picture, and the README tells you which to use for which occasion.

Both, along with the other writing skills, instantiate what the README calls a shared anti-fabrication core, the same five-rule citation-integrity discipline, with the variants reconciled at development time in docs/citation-integrity-core.md. That file is where the actual rules live, and it is the first thing to read before trusting any of these skills with a literature review.

## What the repository is, and what it leaves open

The whole project is prompts, file contracts, templates and two Python toolchains, and the top-level tree reflects that: the six skill directories, a docs/ directory, a tests/ directory, a .github/ directory and a README.

The design philosophy is legible from the details. Nothing in the medical imaging review skill is allowed to fabricate a claim, because a claim only exists if a ledger row exists. Nothing is allowed to claim the search was complete, because the retrieval stage emits a corpus file and the writing stage only reads it. Nothing is allowed to claim a review passed, because the audit's vocabulary has no word for that. And nothing in the human judgement path is automated, because screening, extraction, risk of bias and certainty are logged against named people.

That is a coherent answer to a problem the README never has to name, which is that a language model asked to write an academic review will produce a confident, well-formatted review with citations that may not exist. The answer here is to remove the model's memory from the path where it matters, and to make the check produce a status that can be fail.

What is left open is worth stating too. The licence is not declared, and there is no GitHub releases history, so there is no version to pin and no changelog to read. The last push was on 2026-10-10 and the repository is not archived. The skills reference an MCP literature connector with fallbacks, which means the retrieval quality depends on a connector the README does not describe in detail. And the review skill's own coverage is bounded: it is written for medical imaging AI, and its route contract, standards and domain lists are written for that field, so a reviewer in another discipline would be starting from a template that was shaped for a different one.

## Conclusion

Adopt research-skills if your group writes papers, reviews and decks with an assistant and has been burned by invented citations, because the claim ledger, the citekey discipline and an audit that is allowed to report not_assessed are a more serious answer to that problem than a prompt asking the model to be careful. Do not adopt the slide skills for a defence or a results-heavy talk, because the README says the paper-slide-deck images are AI-generated and can garble maths and data, and use scholar-slides for that instead. Before you install anything, copy only the skills you need into your Claude Code skills directory, run the two toolchain installers for scholar-slides and lit-search, and check the licence, because the repository declares no licence, which is the one thing to settle before you redistribute anything you build with these skills.

## FAQ

### How do I install the research-skills?

Copy the folder for the skill you want into your Claude Code skills directory, for example cp -r lit-search ~/.claude/skills/. The scholar-slides and lit-search skills carry their own toolchains, so after copying you run their install.sh once, and lit-search needs uv and Python 3.11 or newer.

### What is the difference between scholar-slides and paper-slide-deck?

scholar-slides makes fidelity-first, editable decks with vector equations, extracted figures, grounded citations and PPTX output, for a live talk. paper-slide-deck makes stylized AI-generated slide images in 17 styles, for reading and sharing, where the README warns that maths and data are baked in and can be garbled, so it should not be used for a defence.

### How do I run a systematic review with these skills?

In two stages, as the README describes. lit-search builds the corpus and proves how complete the search was, then medical-imaging-review writes the review from those papers, reading the dois.md file that the retrieval step produced.

### What stops the review skill from inventing citations?

The claim ledger. Drafting reads the ledger rather than model memory, one atomic claim and source pair per row across 26 columns, and the audit script binds the manuscript citekeys to references.bib and to the ledger, reporting a gate status that can be fail, warning or not_assessed but never pass.

## Sources

- [Issues](https://github.com/luwill/research-skills/issues)
- [luwill/research-skills on GitHub](https://github.com/luwill/research-skills)
- [README](https://github.com/luwill/research-skills/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/luwill-research-skills
