Research Proposal logo

Research Proposal

Community
luwill
research-proposal

Use when the user asks to write or draft a PhD / doctoral research proposal, research plan, 研究计划书, or 开题报告 — a forward-looking plan of background, gap, research questions, methodology, timeline, and significance, in English or Chinese. Triggers: "write a research proposal", "PhD proposal", "doctoral proposal", "研究计划书", "开题报告", "写博士研究计划". The literature-corpus half of 开题报告 (exhaustive, reproducible retrieval with recall evidence) belongs to the lit-search skill; this skill consumes its outputs (dois.md / references.md — the default formatted list; references.bib only when lit-search ran with --bibtex). Not for backward-looking literature reviews / 综述 / surveys (use medical-imaging-review). For grant applications (国自然/NSF) it drafts and structures the CONTENT (立项依据/研究内容/…) but never fills a funder's own form system or budget tables.

Overview

Publisherluwill
Repositoryresearch-skills
Skill nameresearch-proposal
Stars
863
Forks
100
Bundled files
10
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 10 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by luwill on GitHub. Read the source before you install it.

Installation

Install the Research Proposal AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/luwill/research-skills/tree/main/research-proposal
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/luwill/research-skills.git /tmp/research-skills
mkdir -p .claude/skills
cp -r /tmp/research-skills/research-proposal .claude/skills/research-proposal
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Research Proposal in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Research Proposal on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Research Proposal is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Research Proposal Generator

Generate a forward-looking academic research proposal — a plan for research not yet done — following flagship academic writing conventions, in English or Chinese.

This skill produces the first draft correctly, not a template to be fixed later. Its single most important discipline is citation integrity: a proposal with a fabricated reference is an academic-integrity problem, not a style problem. Read references/CITATION_INTEGRITY.md before Phase 2.

Core Principles

Prose first. Proposals read as flowing, connected paragraphs — not bulleted lists. Reserve lists for a focused set of research questions/objectives (2–4 items) and timeline milestones. Never enumerate contributions, methodology, background, or significance as bullets; narrate them. Full rules and examples: references/WRITING_STYLE_GUIDE.md.

Every citation verified before it is committed. Reference count follows the argument, never a quota — there is no minimum. A PhD proposal typically cites 25–50 sources (humanities often more); a tightly argued 25 beats a padded 45. Every reference must exist (DOI/PMID/arXiv resolves, or Zotero metadata), with author and year matching the source, before it enters the proposal. Unverifiable references are flagged [UNVERIFIED] and disclosed — never fabricated. See references/CITATION_INTEGRITY.md.

Write with verification, not one-shot. Draft section by section; verify each section's citations before moving to the next (Phase 4). Do not generate a full multi-section proposal with dozens of citations in a single pass — that is the structural cause of hallucinated references.

Hedge to the evidence. Use tentative language ("aims to", "may", "is expected to") for proposed work and uncertain claims; state well-established facts plainly. Do not over-claim ("will prove", "revolutionize").

Avoid the LLM tells. These phrases are AI-detector signatures — strip them: "Over the past decade, X has emerged as…", "In recent years,", "It is worth noting that", "plays a crucial/pivotal role", "has garnered significant attention", "delves into", "a testament to"; 中文: "近年来,随着……的飞速发展", "……日益受到广泛关注". Write specific openings grounded in the actual field instead of generic scene-setting.

Scenario Routing

The default structure below targets PhD/doctoral proposals and academic research plans (Abstract → Introduction → Literature Review → Methodology → Timeline → Significance). Confirm the scenario in Phase 1 and adapt:

RequestStructure
PhD/doctoral proposal, research plan, 研究计划书Default structure (this skill)
开题报告 (thesis proposal / defense)Default structure, but weight Literature Review more heavily and open Methodology with a 研究基础/可行性分析 (existing basis & feasibility) subsection — the reviewer's prior work, preliminary results, and access to data/compute; keep methodology concrete
Humanities dissertation proposalDefault + a Chapter Outline section (see references/DOMAIN_TEMPLATES.md)
基金申请书 / 国自然 / NSF grantDifferent structure (立项依据 / 研究内容与目标 / 研究方案与可行性 / 研究基础与工作条件). This skill drafts the content adapted to the funder's required sections — it does not fill the funder's own form system, budget tables, or NSF-specific fields (Intellectual Merit / Broader Impacts). Tell the user the default 5-section template is not a grant form; adapt headings to the funder's required template and confirm with the user before writing

Phase 1: Requirements Gathering

Use AskUserQuestion to collect:

  • Research topic / question — core problem to investigate.
  • Scenario — PhD proposal / 开题报告 / research plan / grant (routes structure, see above).
  • Academic domain — STEM (and whether computational/ML — see references/DOMAIN_TEMPLATES.md), Humanities, or Social Sciences.
  • Output language — English or 中文.
  • Target word count — default ~3,000 words; range 2,000–4,000 (humanities may extend to ~10,000).
  • Optional — target institution/supervisor; existing materials or a Zotero library to draw on.

If the topic is too vague to scope a methodology, ask focused clarifying questions before proceeding. Headless run (no interactive user, e.g. called from another agent's pipeline): extract the requirements above from the calling prompt instead of asking, and record them as locked assumptions in the outline the way Phase 3 does — never invent a requirement the prompt did not state.


Phase 2: Literature Collection (with verification gate)

Read references/LITERATURE_WORKFLOW.md for search strategy and organization.

Tool portability. Confirm which tools are available before using tool-specific names. Prefer the user's Zotero library (via the mcp__zotero__* tools) for closed-access papers; use WebSearch for landscape/trends and WebFetch to open DOI / PubMed / arXiv pages and confirm metadata. If a Zotero/arXiv/PubMed MCP is not connected, fall back to WebSearch + WebFetch. Remind the user to add relevant closed-access papers to Zotero.

Sources by role: WebSearch for trends, reviews, and terminology; WebFetch on arXiv / PubMed / publisher pages for open-access primary sources and metadata; Zotero MCP for the user's own library, annotations, and notes. For journal articles the Crossref REST API (WebFetch https://api.crossref.org/works/<DOI>) is the highest-signal existence+metadata check — it returns clean JSON (title / first author / year / venue), more reliable than parsing a publisher HTML page.

Organize candidates by role: background/context, current state-of-the-art, gap-identifying, methodology, and related work.

Verification gate (do not skip)

Before any source is eligible to be cited:

  1. Verify each candidate's existence, first author, and year against a first source (DOI/PMID/arXiv page, or Zotero metadata) — Rules 1, 2, 5 of references/CITATION_INTEGRITY.md.
  2. Only take specific findings/numbers from sources whose full text or abstract you actually accessed. Do not write internal results for a paper you could not open.
  3. Present the verified candidate list (title, author, year, source/DOI) to the user for a quick sanity check before outlining.

Anything that cannot be verified does not enter the reference pool; if the user insists on a half-remembered source, flag it [UNVERIFIED].

Non-interactive / headless runs. If the skill is invoked without an interactive user (a background agent or pipeline), do not deadlock on step 3: record the verified candidate list inline in the deliverable (or a companion citation_verification_log.md) and continue. The recorded list is the audit trail in lieu of a live sanity check.


Phase 3: Outline Generation

Read references/STRUCTURE_GUIDE.md and references/DOMAIN_TEMPLATES.md for section-by-section and domain guidance.

Standard Outline (default scenario)

markdown
# [Research Title]

## Abstract (150-300 words, 5-10%) — background, questions, methodology overview, significance
## 1. Introduction (500-800 words, 15-20%) — background, problem, questions/objectives, scope
## 2. Literature Review (500-1000 words, 20-25%) — framework, current state, gap, positioning
## 3. Methodology (500-800 words, 20-25%) — design, data collection, analysis, validity/limitations
## 4. Timeline (200-300 words, 5-10%) — phases, milestones, optional Gantt
## 5. Significance and Expected Contributions (200-400 words, 10-15%) — theoretical, practical, broader impact
## References — cite what the argument needs (see CITATION_INTEGRITY.md); no minimum, no padding

Add a Chapter Outline section for humanities proposals. Do NOT include appendices — integrate essential content into the body.

Approval gate (RED LINE)

Present the outline and wait for explicit user approval before Phase 4. Do not start writing content on an unapproved outline.

Ask whether the structure, section emphasis, and scope are acceptable, and whether to add/remove/modify sections.

If the user says "you decide" / "你看着办" / defers: state the assumptions you are locking in (scenario, domain, section set, target length, language), present the concrete outline once more as the decision, and proceed only after that — treat silence-plus-deferral as approval of that stated outline, but still surface the assumptions so the user can veto.

If there is no interactive user at all (headless/agent run): record the locked assumptions and the outline inline in the deliverable and treat that recorded outline as approved. This keeps the audit trail without deadlocking on an approval that no one can give.


Phase 4: Content Writing (write-with-verify)

Load the scaffold as the writing skeleton and fill it section by section:

Read references/WRITING_STYLE_GUIDE.md and apply it. Key hard rules from it: prose over lists; hedge to evidence; PEEL paragraphs (point → evidence+citation → explanation → link); define abbreviations on first use ("coronary CT angiography (CCTA)"); integrate citations into sentences.

Write-with-verify loop — repeat per section:

  1. Draft the section as connected prose, placing in-text citations only from the Phase 2 verified pool, in the chosen style: (Author, Year) for APA/MLA-style, numeric [N] for GB/T 7714 顺序编码制 (中文默认).
  2. Immediately verify that section's citations: each in-text citation has a matching References entry (Rule 3), and every directional/quantitative claim matches its source (Rule 4). See references/CITATION_INTEGRITY.md.
  3. Self-check against the LLM tells (Core Principles) and the hallucination red flags in CITATION_INTEGRITY.md.
  4. Fix any failure in place before starting the next section. Do not accumulate unverified citations across sections.

Citation style by domain: STEM/Social Sciences → APA (Author, Year); Humanities → MLA or Chicago; 中文 → GB/T 7714. Keep one style consistent throughout.

Figures: suggest 3–5 figures at appropriate locations (not in the Abstract), each with a title, content description, and style note. Format and placement guidance is in references/WRITING_STYLE_GUIDE.md.

中文 output: 规范学术语体;hedging("本研究旨在探讨…" 而非 "本研究将证明…");参考文献遵循 GB/T 7714。


Phase 5: Output and Review

Save as proposal_{topic_slug}_{YYYY-MM-DD}.md in the user's working directory.

Verify against references/QUALITY_CHECKLIST.md. Before delivering, the citation gate must pass:

  • grep -nE "xxx|XXXX|\[TBD\]|\[UNVERIFIED[^]]*\]|10\.xxxx|doi:10\.[a-z]+/x|forthcoming DOI|\[.*占位.*\]" returns 0 hits — or every remaining [UNVERIFIED] has been explicitly disclosed to the user and never presented as confirmed. (This regex is the single canonical version; references/CITATION_INTEGRITY.md links to it rather than restating a variant.)
  • Every in-text citation reconciles with the References list (no orphans either direction).
  • At least 20% of references, and every quantitative/directional claim, spot-checked against sources.
  • AI-tell gate: grep -nEi "over the past ((few|several|two|three) )?(decades?|years)|in recent years,|it is worth noting|plays a (crucial|pivotal|vital) role|sheds light on|paves the way|ever-evolving|has garnered significant attention|delves into|a testament to|众所周知|近年来,?随着|日益受到(广泛)?关注" returns 0 hits in the body (see Core Principles; the same patterns are banned in every reference file and scaffold).
  • No placeholder [brackets] or "TBD" left in the body — except applicant-specific scaffold fields the user must personalize ([University/Institution Name], [Your Field], [Month Year]; 中文 scaffold 表头的 [所属学科]、[大学/研究机构名称]、[年月] 等同类字段) and [Figure N Suggestion] labels, which are intentional and may remain.

Offer format conversion:

bash
pandoc proposal.md -o proposal.docx        # Word
pandoc proposal.md -o proposal.pdf         # PDF (needs LaTeX)

Reference Files

FileRead when
references/CITATION_INTEGRITY.mdBefore Phase 2 and throughout Phase 4/5 — the 5 citation rules; non-negotiable
references/STRUCTURE_GUIDE.mdPhase 3 — section-by-section writing guide
references/DOMAIN_TEMPLATES.mdPhase 1/3 — STEM (incl. computational/ML), humanities, social sciences differences
references/WRITING_STYLE_GUIDE.mdPhase 4 — academic writing style, hedging, transitions, figures
references/QUALITY_CHECKLIST.mdPhase 5 — final verification before delivery
references/LITERATURE_WORKFLOW.mdPhase 2 — literature collection workflow
assets/proposal_scaffold_en.mdPhase 4 — English writing skeleton
assets/proposal_scaffold_zh.mdPhase 4 — Chinese writing skeleton

Workflow Summary

Phase 1 Requirements (interactive) → Phase 2 Literature + verification gate → Phase 3 Outline + approval red line → Phase 4 Content, section-by-section write-with-verify → Phase 5 Output + citation gate + checklist.


Error Handling

  • No Zotero results / MCP unavailable — inform the user, fall back to WebSearch + WebFetch on open-access sources, suggest adding papers to Zotero and retrying.
  • A reference cannot be verified / looks fabricated — do not write it into the References list. Flag [UNVERIFIED] inline and tell the user; never invent a DOI or author list to complete it.
  • Topic too vague — ask clarifying questions; narrow scope; offer well-formed research-question examples.
  • Over the word limit — prioritize Introduction and Methodology; condense the literature review to the load-bearing citations; offer an expanded version as a separate file.

learnings:复盘先于重写

修改 references 或 scaffold 之前先扫 learnings/——v1→v2 的重写 诊断证明这类教训有值但从未沉淀。返工或发现自相矛盾后追加一篇,日期命名。

Version Notes

v2.0.0 was rewritten after diagnosis found the v1.0.0 skill generated many references with zero authenticity guardrails, a one-shot generation step, a hard "minimum 40 references" gate that incentivized padding, and internally contradictory numbers.

Earlier failure (v1.0.0)Current fix (v2.0.0)
No citation verification anywhereAdded CITATION_INTEGRITY.md with 5 rules; gates in Phase 2/4/5
Hard "minimum 40 references"Removed; "cite what the argument needs; typically 25–50; never pad"
Phase 4 = one-shot generationReplaced with section-by-section write-with-verify
No literature-verification gate before writingPhase 2 verify-before-cite + user sanity check
Contradictory numbers (40/30-50 refs, 60%/80% recency)Unified: no minimum; ~60% recent where the field moves fast
Scaffolds never loaded by the workflowPhase 4 explicitly loads assets/proposal_scaffold_{en,zh}.md
AI-tell sentence templates provided as modelsRemoved; added "avoid the LLM tells" guidance
Outline approval implicitMade a red line, with "你看着办" handling
Task tool declared but unused; WebFetch missingRemoved Task; added WebFetch
Coronary-imaging examples throughoutDiluted with cross-domain examples; added computational/ML sub-template
Bulleted contributions in scaffolds vs prose-first ruleScaffolds now demonstrate prose contributions/implications

v2.0.1 hardening: the v2.0.0 "AI-tell templates removed" pass had only cleaned WRITING_STYLE_GUIDE — STRUCTURE_GUIDE, DOMAIN_TEMPLATES, and the Chinese scaffold still recommended banned openings; they are now cleaned and the AI-tell grep gate added to Phase 5. 中文 scaffold switched to GB/T 7714 顺序编码制 end-to-end with realistic character counts; Bash added to allowed-tools so the citation gate and pandoc conversion are actually executable; 国自然/NSF boundary stated identically in description and routing; Phase 2 now routes corpus-building to the lit-search skill instead of duplicating it.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Research Proposal AI skill do?

Use when the user asks to write or draft a PhD / doctoral research proposal, research plan, 研究计划书, or 开题报告 — a forward-looking plan of background, gap, research questions, methodology, timeline, and significance, in English or Chinese. Triggers: "write a research proposal", "PhD proposal", "doctoral proposal", "研究计划书", "开题报告", "写博士研究计划". The literature-corpus half of 开题报告 (exhaustive, reproducible retrieval with recall evidence) belongs to the lit-search skill; this skill consumes its outputs (dois.md / references.md — the default formatted list; references.bib only when lit-search ran with...

Why use Research Proposal on TypingMind?

Because you install it once and use it with any model. Research Proposal is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Research Proposal in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/luwill/research-skills/tree/main/research-proposal. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Research Proposal?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Research Proposal?

As many as you like. As long as a model supports skills, you can use Research Proposal with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Research Proposal AI skill free?

It is published on GitHub by luwill. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇