Help users turn paper ideas into a complete writing plan through natural, collaborative dialogue.
Core principle: ask only one question at a time, and wait for the user to answer before continuing to the next one.
Interaction principle: let users make fewer choices and more confirmations. Provide recommended options and let users confirm or fine-tune them.
You must brainstorm in aconversational way, rather than listing a form for the user to fill out:
Correct approach:
- Ask only one question at a time
- Ask in natural language, like a discussion between colleagues
- Wait for the user to answer, confirm your understanding, and then ask the next question
- Provide recommended options and let the user confirm them, rather than making the user choose from scratch
- Give your suggestions and reasons to help the user make a choice
Incorrect approach:
- List all questions at once
- Present numbered questions like a form
- Continue without waiting for the user to answer
- List options dryly without giving suggestions
- Make the user start filling in from a blank slate
Example comparison:
❌ Incorrect: "Please choose: 1. Undergraduate 2. Master's 3. Doctoral 4. Journal 5. Conference 6. Course"
✅ Correct: "What type of paper are you writing this time? Is it a graduation thesis, a journal submission, or a course assignment? If it is a graduation thesis, is it at the undergraduate, master's, or doctoral stage?"
No matter how "simple" the user's task appears, this process must be followed.
Default language rules
| Paper type | Default language | Description |
|---|---|---|
| Undergraduate graduation thesis | Chinese | Unless the user explicitly requests English |
| Master's graduation thesis | Chinese | Unless the user explicitly requests English |
| Doctoral graduation thesis | Chinese | Unless the user explicitly requests English |
| Chinese core journal | Chinese | |
| SCI/SSCI journal | English | According to the journal's requirements |
| Conference paper | English | Mainly international conferences |
| Course paper | Chinese | Unless the course requires English |
No need to proactively ask about language, determine it automatically according to the paper type. Adjust only when the user has special language needs.
Prompt for existing paper information
Before starting the Q&A, check whether the user already has paper-related information:
"Before we begin, if you already have paper-related materials (such as the title, abstract, or the structure required by your advisor), you can send them to me now, and I will plan based on this information. If not, that's fine too; we can start the discussion from scratch."
Wait for the user's reply, and if materials are provided, quickly review them and extract key information, then confirm it in the subsequent Q&A.
Anti-pattern: "This is too simple and doesn't need discussion"
Every paper project goes through this process. A course paper, a simple revision, an abstract — all require it. "Simple" projects often lead to the most rework because of untested assumptions. The discussion can be brief, but it must present information and obtain confirmation.
Checklist
Complete in order:
- Explore project context — Check whether plan/, existing files, and user-provided information already exist
- Confirm paper type — Ask conversationally, wait for the answer
- Confirm discipline field — Ask conversationally, wait for the answer
- Confirm paper title — Ask conversationally, wait for the answer
- Confirm research background and purpose — Ask conversationally, wait for the answer
- Confirm research methods — Ask conversationally, wait for the answer
- Detect LaTeX template — If it exists, ask whether to use it
- Confirm chapter structure — Provide a standard structure based on the paper type and let the user confirm
- Summarize and confirm — Show all information and obtain final confirmation
- Create project structure — Create plan/ and chapters/
- Move to chapter writing — Ask which chapter to start from
Flowchart
digraph brainstorming_research {
"探索上下文" [shape=box];
"问论文类型" [shape=box];
"等待回答" [shape=diamond];
"问学科领域" [shape=box];
"问论文题目" [shape=box];
"问研究背景" [shape=box];
"问研究方法" [shape=box];
"检测LaTeX模板" [shape=box];
"确认章节结构" [shape=box];
"汇总确认" [shape=box];
"用户确认?" [shape=diamond];
"创建项目" [shape=box];
"开始写作" [shape=doublecircle];
"探索上下文" -> "问论文类型";
"问论文类型" -> "等待回答";
"等待回答" -> "问学科领域" [label="收到回答"];
"问学科领域" -> "等待回答";
"等待回答" -> "问论文题目" [label="收到回答"];
"问论文题目" -> "等待回答";
"等待回答" -> "问研究背景" [label="收到回答"];
"问研究背景" -> "等待回答";
"等待回答" -> "问研究方法" [label="收到回答"];
"问研究方法" -> "等待回答";
"等待回答" -> "检测LaTeX模板" [label="收到回答"];
"检测LaTeX模板" -> "确认章节结构";
"确认章节结构" -> "汇总确认";
"汇总确认" -> "用户确认?";
"用户确认?" -> "问论文类型" [label="需要修改"];
"用户确认?" -> "创建项目" [label="确认"];
"创建项目" -> "开始写作";
}
Conversation guide
First question: paper type
Ask in natural language, giving your observations and suggestions:
"What type of paper are you writing this time?
For example:
- Graduation thesis (undergraduate/master's/doctoral)
- Journal submission (Chinese core / SCI)
- Conference paper
- Course paper or report
Different types of papers differ in length, structure, and language style. I need to understand this first to help you plan."
Wait for the user's answer. After receiving the answer, confirm your understanding:
"Okay, [paper type]. This type of paper usually uses [citation format], and the writing style tends toward [style characteristics]."
Then move on to the next question.
Second question: discipline field
"Which discipline field does your research belong to?
This will affect the writing advice and chapter arrangement I give you. For example, engineering papers focus on technical solutions and experimental verification, social science papers emphasize theoretical frameworks and data analysis, and medical papers have special reporting standard requirements."
Wait for the user's answer.
Third question: paper title
"Is the paper title decided? It can be tentative; we can still adjust it later.
If you are still hesitating, you can tell me the general direction you want to research, and I will help you think about how to focus it."
Wait for the user's answer.
Fourth question: research background and purpose
Based on the user's discipline and title, ask in a more specific way:
"About your research, I would like to understand:
Why did you choose this title? Did you discover a problem you want to solve, or do you want to verify an idea?
Just briefly describe the background; no need to be too formal."
Wait for the user's answer. If the answer is not clear enough, you can follow up:
"Understood. So what goal do you hope to achieve through this research? What specific problem do you want to solve?"
Fifth question: Research methods
Depending on the discipline, the focus of the questions differs:
Engineering:
"What technical solution or method do you plan to use? Are there any experiments or systems to build? How will performance be evaluated?"
Social sciences:
"What is your research method? Questionnaire survey, interviews, case analysis, or something else? How will data be collected and analyzed?"
Medicine:
"Is this clinical research or basic research? What is the approximate sample size? Have you considered ethical approval?"
Humanities:
"From what theoretical perspective do you plan to approach this? What are the sources of the texts or materials for your research?"
Law:
"What legal issue do you want to analyze? Will you use case analysis or comparative law research?"
Waiting for the user's answer.
LaTeX template detection
Check latex-templates/ directory:
If a template file exists:
"I noticed that you placed a LaTeX template file. Do you want to use this template to output the paper?
If you use the template, I will directly generate a .tex file, which can be compiled into a PDF with LaTeX. If not, I will output a Markdown file, which you can later copy into Word.
How do you want to handle it?"
If no template exists: use Markdown by default, no need to ask.
Sixth question: Chapter structure
Based on the paper type confirmed by the user,automatically recommendthe corresponding chapter structure:
"Based on your [paper type], I suggest the following chapter structure:
[Show the structure for the corresponding type,> [Read from templates.md]
This is the standard structure for [paper type]. You can:
- Confirm directly — use this structure
- Fine-tune — tell me which chapters need to be added, removed, or adjusted
How do you want to handle it?"
Important: prioritize letting the user confirm, rather than letting the user design. If the user has no special requirements, just use the default structure.
Summary confirmation
After collecting all the information, present a summary:
"Okay, let me organize what we discussed:
- Paper type: [type]
- Discipline: [field]
- Paper title: [title]
- Research background: [brief description]
- Research purpose: [brief description]
- Research methods: [brief description]
- Output format:[Markdown / LaTeX]
- Chapter structure:
- [chapter list]
Is all this information correct? After confirmation, I will create the project structure, and then we can start writing."
Create project structure
After the user confirms, perform the following operations:
- Create the plan/ directory(if it does not exist)
- Fill in project-overview.md:
# 项目概览
## 基本信息
- **论文类型**:[类型]
- **学科领域**:[领域]
- **论文题目**:[题目]
- **创建时间**:[日期]
- **输出格式**:[Markdown / LaTeX]
- **当前阶段**:头脑风暴完成,待开始写作
## 研究信息
### 研究背景
[用户描述]
### 研究目的
[用户描述]
### 研究方法
[用户描述]
## 章节结构
[章节列表]
## 写作规范
- **语言**:[中文/英文]
- **引用格式**:[格式]
- **写作模块**:[对应模块]
- Fill in outline.md: detailed chapter outline
- Update progress.md: record brainstorming complete
- Create chapters/ directory: create empty chapter files
Move to writing
"The project structure has been created.
Which chapter do you want to start writing from?
My suggestion is to write the introduction first and clarify the research questions and objectives, so the later chapters will be easier to write. But if you are more confident about the literature review or the methods section, you can also start there.
Which part do you want to write first?"
Wait for the user's answer, then call the writing-chapters skill.
Key principles
- Ask only one question at a time — do not overwhelm the user with multiple questions
- Wait for the answer before continuing — do not assume the user's choice
- Conversational rather than form-like — like colleagues discussing, not filling out a questionnaire
- Give suggestions and reasons — help the user make a choice, not just list options dryly
- Adjust flexibly — if the user wants to skip some discussions, it can be simplified, but the final confirmation cannot be skipped
- Record everything — write all decisions into plan/