Model or dataset
Norman-bury/research-writing-skill avatar
Norman-bury/research-writing-skill

research-writing-skill: a skill-based paper workflow for Claude Code, Cursor and Codex

科研写作助手 (Research Writing Assistant)

3,292 stars216 forksPythonMIT

At a glance

What is it?
Norman-bury/research-writing-skill turns paper writing into a tracked, resumable process with 19 skill modules, progress files and quality gates. It produces Markdown, LaTeX and Python figure scripts, not Word files.
Who is it for?
Adopt it if you write a thesis, course paper or first submission draft in a supported agent platform and you are willing to keep chapters as Markdown files with a plan/progress.md audit trail. Skip it if your deliverable must be a formatted .docx, or if you need the tool to produce final Word layout on its own, since the README states it does not write .docx and expects you to handle styles, headers, table of contents and bibliography fields in Word.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 113 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What research-writing-skill solves, and who it is written for

The README frames the problem in one line: paper writing should stop being a one-shot chat and become a trackable, resumable, reusable engineering workflow. That is a specific complaint about conversational writing tools. In a single long chat, the paper type, the research background, the method and the chapter structure live only in the conversation, and a new session starts from nothing. This project moves that context into files inside the paper project directory.

The stated audience is undergraduates, graduate students and early-career researchers. The README names three concrete situations: a graduation thesis, a course project paper, and a first submission draft. All three share the same shape. They run for weeks, they get interrupted, and they are judged on structure and traceability as much as on prose. The project is not aimed at people who want a paragraph polished in a browser tab.

How the skill routing and gating actually work

The entry point is skills/using-research-writing/, which routes a task to one of the other modules. The README describes the flow as: align goals and constraints before starting, run a brainstorming round to confirm paper type, research background, method and chapter structure, then route by discipline and task. Brainstorming is documented as seven rounds of questions.

For medium or full-paper tasks, skills/paper-orchestration/ generates a task package first, and the run records a capability-use audit in plan/progress.md. Gate conditions are file-based rather than advisory. The introduction and related-work sections require refs/evidence-map.md or plan/evidence-map.md to exist first. The experiment and results sections require plan/experiment-protocol.md, tables/table-schema.md and figures/data-manifest.md. Discipline modules (writing-humanities, writing-medical, writing-law) sit alongside general ones (writing-core, writing-chapters).

Outputs are project files by default: chapters/*.md for prose, chapters/*.tex plus main.tex for LaTeX, .py scripts for data figures, and .md prompt assets for translation, polishing and de-AI rewriting. The README states plainly that the default product is not a Word file.

Installing research-writing-skill and running a first chapter

The README gives two installation routes. You can download the repository, unzip it, and copy research-writing-skill/ into your paper writing directory, or clone it. The clone commands are:

bash
git clone https://github.com/Norman-bury/research-writing-skill.git
cd research-writing-skill

After that, platform handling differs. Codex users are pointed at .codex/INSTALL.md and OpenCode users at .opencode/INSTALL.md. For other platforms the README says to place the whole directory in the paper project root. Claude Code reads .claude-plugin/plugin.json, Cursor reads .cursor-plugin/plugin.json, and Gemini CLI reads GEMINI.md.

The documented entry phrase is simply to say you want to write a paper. The README states the skill then walks you through confirming paper type, title and research background, and creates chapter skeletons under chapters/ once the structure is agreed. Each chapter becomes its own file.

For integrity checks the README lists two PowerShell commands. The first validates the skill itself, the second runs the quality gate against a paper project:

powershell
powershell -ExecutionPolicy Bypass -File scripts/check_skill_integrity.ps1
powershell -ExecutionPolicy Bypass -File scripts/research_quality_gate.ps1 -ProjectPath <paper-project>

Both are Windows-oriented. The README does not document a bash or cross-platform equivalent of these two scripts.

The de-AI writing rule is a preservation rule, not a shortening rule

Most tools that advertise de-AI rewriting treat compression as the goal. This project inverts that. The README states that unless the user explicitly asks for shortening, the skill does not delete facts, data, qualifying conditions or explanatory sentences. It lists what must survive: research object, data range, sample definition, method conditions, indicator meaning, experimental boundary, conclusion limits and proper nouns.

The prose rules are equally explicit. Body text should be continuous paragraphs rather than bullet stacks, and emphasis should not come from bold or italics. The README names mechanical connectors to avoid (首先, 其次, 最后, 此外, 另外, 接下来, 总之) and hollow framing phrases (值得注意的是, 需要指出的是, 重要的是, 必须强调的是). When a sentence is complete and naturally ordered but slightly wordy, the instruction is light tidying rather than cutting.

This is a defensible editorial position, and it is also a constraint. If your draft genuinely needs to lose 20 percent of its length, the default behaviour will not do that for you. You have to ask for abbreviation explicitly.

Where the workflow stops: Word, citations and high-risk claims

The boundary section is the most useful part of the README. Four limits are stated. The skill does not generate or write .docx by default. It does not open Word and lay out your document. It can produce plain-text paragraphs suitable for pasting into Word, but heading levels, headers and footers, table of contents and bibliography fields remain your job in Word. And references and data are never fabricated; citations must be traceable, and the README asks you to independently verify high-risk conclusions.

The Markdown-to-Word path is documented in two options. Manual copy-paste is listed as the default recommendation. Pandoc is optional. The README shows a version check and a basic conversion:

bash
pandoc --version
pandoc draft.md -o draft.docx

If you have a school or journal Word style template, the README gives the reference-doc form: pandoc draft.md --reference-doc=template.docx -o draft.docx. It also notes that Pandoc handles format conversion and style inheritance only, and that after conversion you still need to check heading levels, figure and table numbering, formulas, references, headers, footers and the TOC field.

Two more gaps are worth naming. The README mentions a QQ group (827924233) for discussion, which means the support channel is Chinese-language. And the repository has no releases listed, so version 3.1.0 with a 2026-05-10 update date is the only version marker available.

research-writing-skill versus a general-purpose writing assistant

The obvious alternative is a general chat assistant with a long context window and a pasted style guide. The difference is where state lives. A chat assistant keeps the paper type, method and structure in the conversation, and you re-supply them whenever the session resets. This project keeps them in the project directory: chapters as separate files, plan/progress.md as the audit record, evidence maps and experiment protocols as gate prerequisites.

The second difference is discipline routing. A general assistant applies one voice to every paper. Here the README documents separate modules for engineering, social science, medicine and law, plus a dedicated literature-review module that splits English search integration from Chinese source organisation.

The third difference is figure generation. Data figures come from Python scripts the skill writes, which you then run locally for reproducibility. Diagram, architecture and mechanism figures go the other way: skills/figures-diagram/ produces a prompt, and you hand that prompt to an image tool such as Gemini. That split is deliberate and it means the project does not pretend to render diagrams itself.

Licence, maintenance and upgrade cost

The repository is MIT licensed, which permits commercial and academic reuse with attribution and without warranty. Nothing in the README adds terms beyond that.

The last push was on 2026-06-10, and the repository is not archived. The README records version 3.1.0 with an update date of 2026-05-10. No GitHub releases were retrieved, so upgrades are tracked through CHANGELOG.md rather than release tags. If you vendor the skill directory into a paper project, as the README's install route suggests, you have no automatic update path; you re-copy the directory and read the changelog.

The upgrade cost that matters is structural. The quality gates depend on specific file paths (plan/progress.md, refs/evidence-map.md, plan/experiment-protocol.md, tables/table-schema.md, figures/data-manifest.md). If a later version renames those, existing paper projects do not satisfy the new gates until you rename the files too. The README does not document such a migration.

Editorial conclusion

Adopt it if you write a thesis, course paper or first submission draft in a supported agent platform and you are willing to keep chapters as Markdown files with a plan/progress.md audit trail. Skip it if your deliverable must be a formatted .docx, or if you need the tool to produce final Word layout on its own, since the README states it does not write .docx and expects you to handle styles, headers, table of contents and bibliography fields in Word. Before committing, check that scripts/check_skill_integrity.ps1 runs on your machine, that your platform's install file (.codex/INSTALL.md or .opencode/INSTALL.md) matches your setup, and that you can supply a school or journal LaTeX template if you want .tex output.

Frequently asked questions

What are the 5 C's in research?

The README does not define a set of five C's. It describes its own workflow instead: seven rounds of brainstorming questions that confirm paper type, discipline, title, research background, method and chapter structure before writing begins.

What is a research writing example?

The README points to real products rather than describing one abstractly. It shows local Python-generated result figures, such as a validation-set mIoU comparison and a training-loss comparison, plus diagram examples produced from prompts, including a federated calibration flow and a Mask2Former decoder mechanism.

What are the 5 basic writing skills?

The README does not enumerate five basic writing skills. It does state prose rules for this project: continuous paragraphs rather than bullet stacks, no reliance on bold or italics for emphasis, and avoidance of mechanical connectors and hollow framing phrases.

Can you give me an example of a research skill?

Yes. The repository ships 19 modules under skills/, including brainstorming-research for the seven-round intake, evidence-driven-writing for the introduction and related work, figures-python for reproducible data plots, and peer-review for pre-submission self-check.

Official sources

  1. Issues
  2. License: MIT
  3. Norman-bury/research-writing-skill on GitHub
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/norman-bury-research-writing-skill.svg)](https://hysenlabs.com/projects/norman-bury-research-writing-skill)