@thuanphan2208/paper-pilot 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/paper/cite.md +10 -0
- package/.claude/commands/paper/explore.md +10 -0
- package/.claude/commands/paper/plan.md +10 -0
- package/.claude/commands/paper/review.md +14 -0
- package/.claude/skills/paper-cite/SKILL.md +382 -0
- package/.claude/skills/paper-explore/SKILL.md +96 -1
- package/.claude/skills/paper-plan/SKILL.md +100 -2
- package/.claude/skills/paper-review/SKILL.md +1 -1
- package/.claude/skills/paper-teach-abstract/SKILL.md +1 -1
- package/.claude/skills/paper-teach-conclusion/SKILL.md +1 -1
- package/.claude/skills/paper-teach-experiment/SKILL.md +1 -1
- package/.claude/skills/paper-teach-intro/SKILL.md +107 -7
- package/.claude/skills/paper-teach-method/SKILL.md +1 -1
- package/.claude/skills/paper-teach-related/SKILL.md +2 -2
- package/.claude/skills/paper-teach-results/SKILL.md +1 -1
- package/.claude/skills/paper-write-abstract/SKILL.md +1 -1
- package/.claude/skills/paper-write-conclusion/SKILL.md +1 -1
- package/.claude/skills/paper-write-experiment/SKILL.md +1 -1
- package/.claude/skills/paper-write-intro/SKILL.md +30 -9
- package/.claude/skills/paper-write-method/SKILL.md +1 -1
- package/.claude/skills/paper-write-related/SKILL.md +132 -6
- package/.claude/skills/paper-write-results/SKILL.md +1 -1
- package/README.md +127 -2
- package/bin/cli.js +46 -46
- package/package.json +36 -29
- package/src/init.js +111 -111
|
@@ -11,7 +11,7 @@ You are a paper reviewer giving constructive feedback to a first-time student re
|
|
|
11
11
|
|
|
12
12
|
**This skill works on any section.** The user invokes it as `/paper:review <section>` (e.g., `/paper:review intro`).
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Abstract**.
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write abstract` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Conclusion**
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write conclusion` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Experiments*
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write experiment` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Introduction
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — do NOT write their Introduction here. When done, recommend `/paper:write intro`.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -24,7 +24,7 @@ Read `paper/context.yaml` if it exists. Use the user's topic, field, and paper_t
|
|
|
24
24
|
## Structure to Teach
|
|
25
25
|
|
|
26
26
|
```
|
|
27
|
-
INTRODUCTION =
|
|
27
|
+
INTRODUCTION = 5 BLOCKS
|
|
28
28
|
══════════════════════════════════════════════════════════
|
|
29
29
|
|
|
30
30
|
Block 1: BACKGROUND / HOOK (~1–2 paragraphs)
|
|
@@ -34,14 +34,22 @@ INTRODUCTION = 4 BLOCKS
|
|
|
34
34
|
└─────────────────────────────────────────────────┘
|
|
35
35
|
│
|
|
36
36
|
▼
|
|
37
|
-
Block 2: PROBLEM STATEMENT
|
|
37
|
+
Block 2: PROBLEM STATEMENT + GAP (~1 paragraph)
|
|
38
38
|
┌─────────────────────────────────────────────────┐
|
|
39
39
|
│ What exactly is the problem? │
|
|
40
40
|
│ Why are current approaches insufficient? │
|
|
41
|
+
│ (Gap = what existing work has NOT addressed) │
|
|
41
42
|
└─────────────────────────────────────────────────┘
|
|
42
43
|
│
|
|
43
44
|
▼
|
|
44
|
-
Block 3:
|
|
45
|
+
Block 3: RESEARCH QUESTION (~1–2 sentences)
|
|
46
|
+
┌─────────────────────────────────────────────────┐
|
|
47
|
+
│ The specific question this paper sets out to │
|
|
48
|
+
│ answer — must be Specific, Feasible, Measurable │
|
|
49
|
+
└─────────────────────────────────────────────────┘
|
|
50
|
+
│
|
|
51
|
+
▼
|
|
52
|
+
Block 4: CONTRIBUTIONS (~1 paragraph + list)
|
|
45
53
|
┌─────────────────────────────────────────────────┐
|
|
46
54
|
│ "The main contributions of this paper are:" │
|
|
47
55
|
│ • Contribution 1 │
|
|
@@ -50,7 +58,7 @@ INTRODUCTION = 4 BLOCKS
|
|
|
50
58
|
└─────────────────────────────────────────────────┘
|
|
51
59
|
│
|
|
52
60
|
▼
|
|
53
|
-
Block
|
|
61
|
+
Block 5: PAPER STRUCTURE (~1 paragraph)
|
|
54
62
|
┌─────────────────────────────────────────────────┐
|
|
55
63
|
│ "The rest of this paper is organized as..." │
|
|
56
64
|
│ Section 2: ..., Section 3: ..., ... │
|
|
@@ -104,7 +112,96 @@ Teach one block at a time. After each block's explanation and generic example, g
|
|
|
104
112
|
|
|
105
113
|
---
|
|
106
114
|
|
|
107
|
-
### Block 3:
|
|
115
|
+
### Block 3: Research Question
|
|
116
|
+
|
|
117
|
+
**Principle**: The Research Question (RQ) is the specific question your paper sets out to answer. It appears right after the gap — bridging the problem and your contributions. A good RQ has exactly 3 properties:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
3 TÍNH CHẤT CỦA MỘT RESEARCH QUESTION TỐT
|
|
121
|
+
══════════════════════════════════════════════════════════
|
|
122
|
+
|
|
123
|
+
1. SPECIFIC (Cụ thể)
|
|
124
|
+
─────────────────────────────────────────────────────
|
|
125
|
+
RQ phải hỏi về một đối tượng, bối cảnh, hoặc
|
|
126
|
+
hiện tượng RÕ RÀNG — không hỏi chung chung.
|
|
127
|
+
|
|
128
|
+
❌ Vague: "How can we improve security?"
|
|
129
|
+
✅ Specific: "How vulnerable are Random Forest and
|
|
130
|
+
DNN-based IDS models to FGSM and PGD
|
|
131
|
+
adversarial attacks on network traffic?"
|
|
132
|
+
|
|
133
|
+
Kiểm tra: Nếu 10 researcher đọc RQ, họ có đồng ý
|
|
134
|
+
về ý nghĩa của nó không? Nếu không → còn vague.
|
|
135
|
+
|
|
136
|
+
──────────────────────────────────────────────────────
|
|
137
|
+
|
|
138
|
+
2. FEASIBLE (Khả thi)
|
|
139
|
+
─────────────────────────────────────────────────────
|
|
140
|
+
RQ phải trả lời được trong phạm vi thời gian,
|
|
141
|
+
nguồn lực, và dữ liệu bạn có.
|
|
142
|
+
|
|
143
|
+
❌ Not feasible: "What is the best AI model for all
|
|
144
|
+
cybersecurity tasks?"
|
|
145
|
+
(quá rộng, không có đáp án dứt khoát)
|
|
146
|
+
✅ Feasible: "Does adversarial training reduce
|
|
147
|
+
attack success rate on CICIDS2017
|
|
148
|
+
by more than 20%?"
|
|
149
|
+
(có thể đo được trong 8 tuần)
|
|
150
|
+
|
|
151
|
+
Kiểm tra: Bạn có dataset, công cụ, và thời gian
|
|
152
|
+
để trả lời câu hỏi này không?
|
|
153
|
+
|
|
154
|
+
──────────────────────────────────────────────────────
|
|
155
|
+
|
|
156
|
+
3. MEASURABLE (Đo lường được)
|
|
157
|
+
─────────────────────────────────────────────────────
|
|
158
|
+
Câu trả lời cho RQ phải là một kết quả CÓ THỂ
|
|
159
|
+
QUAN SÁT hoặc ĐO ĐẾM — không phải ý kiến.
|
|
160
|
+
|
|
161
|
+
❌ Not measurable: "Is AI useful in SOC?"
|
|
162
|
+
(useful = chủ quan, không đo được)
|
|
163
|
+
✅ Measurable: "To what extent do adversarial
|
|
164
|
+
attacks degrade F1-score of
|
|
165
|
+
ML-based IDS on CICIDS2017?"
|
|
166
|
+
(F1-score = con số cụ thể)
|
|
167
|
+
|
|
168
|
+
Kiểm tra: Câu trả lời của bạn sẽ là số, tỉ lệ,
|
|
169
|
+
bảng so sánh, hay taxonomy? Nếu có → measurable.
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Các mẫu câu mở đầu RQ theo loại paper:**
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Empirical / new-method:
|
|
176
|
+
"To what extent does [method] improve [metric]
|
|
177
|
+
compared to [baseline] on [dataset]?"
|
|
178
|
+
"How effective is [approach] at [task] under
|
|
179
|
+
[condition]?"
|
|
180
|
+
|
|
181
|
+
Evaluation / framework:
|
|
182
|
+
"How vulnerable are [AI models] to [attack types]
|
|
183
|
+
in the context of [domain]?"
|
|
184
|
+
"What factors determine the adversarial robustness
|
|
185
|
+
of [system] against [threat]?"
|
|
186
|
+
|
|
187
|
+
Review / survey:
|
|
188
|
+
"What methods have been proposed for [task], and
|
|
189
|
+
what are their key limitations?"
|
|
190
|
+
|
|
191
|
+
Theoretical / framework:
|
|
192
|
+
"What framework can systematically evaluate
|
|
193
|
+
[property] of [system] in [context]?"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Personalized example**: Dựa vào `research_questions` trong context.yaml, hiển thị RQ hiện tại của user và đánh giá theo 3 tiêu chí Specific / Feasible / Measurable. Nếu thiếu tiêu chí nào, đề xuất cách cải thiện.
|
|
197
|
+
|
|
198
|
+
**Nếu user muốn xem thêm ví dụ**: Cung cấp thêm 2–3 RQ mẫu từ các paper thật trong lĩnh vực gần với topic của user.
|
|
199
|
+
|
|
200
|
+
**Checkpoint**: "Nhìn vào RQ của bạn — nó đã Specific, Feasible, và Measurable chưa? Thử tự chấm điểm từng tiêu chí."
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
### Block 4: Contributions — The Most Important Block
|
|
108
205
|
|
|
109
206
|
**Principle**: Reviewers often read the contributions list *before* reading the rest of the paper. This is your paper's "promise" — be specific, concrete, and honest.
|
|
110
207
|
|
|
@@ -144,7 +241,7 @@ The main contributions of this paper are as follows:
|
|
|
144
241
|
|
|
145
242
|
---
|
|
146
243
|
|
|
147
|
-
### Block
|
|
244
|
+
### Block 5: Paper Structure
|
|
148
245
|
|
|
149
246
|
**Principle**: One short paragraph, fixed formula, no creativity needed. Just list your sections.
|
|
150
247
|
|
|
@@ -161,6 +258,9 @@ The main contributions of this paper are as follows:
|
|
|
161
258
|
|---------|-----|
|
|
162
259
|
| Opening too vague | Start with a specific statistic, event, or real-world impact |
|
|
163
260
|
| No clear problem statement | Write a dedicated paragraph naming the limitation of existing work |
|
|
261
|
+
| Missing Research Question | Add 1–2 sentences after the gap: "This raises the question: ..." |
|
|
262
|
+
| RQ too broad | Apply Specific + Feasible + Measurable check — narrow scope |
|
|
263
|
+
| RQ not measurable | Rewrite so the answer is a number, ratio, table, or taxonomy |
|
|
164
264
|
| Vague contributions | Each bullet: method/action + what it does + concrete result |
|
|
165
265
|
| Missing paper structure | Use the template, just fill in your section names |
|
|
166
266
|
| Contributions don't match paper type | Use the format that fits: empirical, review, or theoretical |
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Methodology*
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write method` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Related Work
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write related` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -146,7 +146,7 @@ Opening sentence:
|
|
|
146
146
|
|
|
147
147
|
**Personalized example**: Generate a sample theme grouping structure for the user's specific topic and field.
|
|
148
148
|
|
|
149
|
-
**Checkpoint**: "
|
|
149
|
+
**Checkpoint**: "Thử nhìn vào các papers bạn đang có hoặc dự định tìm — bạn thấy chúng có thể nhóm thành 2–3 theme nào không? Mô tả ngắn gọn là được."
|
|
150
150
|
|
|
151
151
|
---
|
|
152
152
|
|
|
@@ -11,7 +11,7 @@ You are teaching a first-time student researcher how to write the **Results** se
|
|
|
11
11
|
|
|
12
12
|
**Teaching mode only** — recommend `/paper:write results` at the end.
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Abstract** — the last section to write, though it appears first. Synthesize from completed sections automatically, adapt the formula to paper type, then confirm with the user.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Conclusion** section. This is shorter but must be distinct from the abstract — it reflects on what was proven, not just what was done.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Experiments** section. This section must be detailed enough that another researcher can reproduce the experimental setup exactly.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Introduction** section via guided Q&A. Read context, ask questions, then write the draft.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -29,7 +29,7 @@ Check if `paper/context.yaml` exists and read it.
|
|
|
29
29
|
|
|
30
30
|
## Step 2: Q&A (ask one at a time, wait for each answer)
|
|
31
31
|
|
|
32
|
-
Tell the user: "I'll ask you
|
|
32
|
+
Tell the user: "I'll ask you 6 questions to gather enough information to write your Introduction. Short answers are fine — I'll expand them when writing."
|
|
33
33
|
|
|
34
34
|
**Q1**: "What is the problem your paper addresses? Describe it briefly."
|
|
35
35
|
*(Example: "Phishing websites trick users into giving away passwords, and current detection systems are too slow to catch newly created ones.")*
|
|
@@ -41,30 +41,51 @@ Tell the user: "I'll ask you 5 questions to gather enough information to write y
|
|
|
41
41
|
*(Example: "Most systems use blacklists — databases of known bad URLs. But these lists take hours to update, so brand-new phishing sites slip through for hours before being blocked.")*
|
|
42
42
|
*(If the user is unsure, prompt: "Think about what tools or methods exist today. What can they NOT do?")*
|
|
43
43
|
|
|
44
|
-
**Q4**: "What
|
|
44
|
+
**Q4**: "What is your Research Question — the specific question your paper sets out to answer?"
|
|
45
|
+
|
|
46
|
+
If `research_questions` already exists in context.yaml, show it and ask: "Is this still your RQ, or would you like to refine it?"
|
|
47
|
+
|
|
48
|
+
If missing or user is unsure, guide them:
|
|
49
|
+
> "Try filling in one of these templates:
|
|
50
|
+
> - 'To what extent does [your method] improve [metric] compared to [baseline] on [dataset]?'
|
|
51
|
+
> - 'How vulnerable are [AI models] to [attack types] in the context of [domain]?'
|
|
52
|
+
> - 'What framework can systematically evaluate [property] of [system]?'"
|
|
53
|
+
|
|
54
|
+
Then validate the RQ against 3 criteria before accepting:
|
|
55
|
+
- **Specific**: Is it about a clearly defined object/context?
|
|
56
|
+
- **Feasible**: Can it be answered with available data and time?
|
|
57
|
+
- **Measurable**: Will the answer be a number, ratio, table, or taxonomy?
|
|
58
|
+
|
|
59
|
+
If any criterion fails, suggest a refined version and confirm with the user.
|
|
60
|
+
|
|
61
|
+
**Q5**: "What are your main contributions? List 2–3 specific points."
|
|
45
62
|
*(Example: "1) We propose PhishGuard, a real-time URL classifier using 48 features. 2) We achieve 97.4% F1 on 30,000 URLs, beating the best baseline by 5.3%. 3) We identify the top 10 features most predictive of phishing.")*
|
|
46
63
|
*(Guide if stuck: "Start with: 'We propose...', 'We demonstrate...', 'We achieve...'")*
|
|
47
64
|
|
|
48
|
-
**
|
|
65
|
+
**Q6**: Read the outline from `context.yaml` (sections_status keys) and confirm with the user:
|
|
49
66
|
"Based on your plan, your paper has these sections: [list from context.yaml]. Should I use this structure for the paper structure paragraph, or would you like to adjust it?"
|
|
50
67
|
|
|
51
68
|
---
|
|
52
69
|
|
|
53
70
|
## Step 3: Write Draft
|
|
54
71
|
|
|
55
|
-
After all Q&A, write a complete Introduction following the
|
|
72
|
+
After all Q&A, write a complete Introduction following the 5-block structure. Adapt language and framing to the user's field and paper_type.
|
|
56
73
|
|
|
57
74
|
**Block 1 — Background (2–3 sentences):**
|
|
58
75
|
- Open with the scale, impact, or significance of the problem domain
|
|
59
76
|
- Narrow from broad context to the specific problem
|
|
60
77
|
- Use numbers or statistics if the user provided them
|
|
61
78
|
|
|
62
|
-
**Block 2 — Problem Statement (2–3 sentences):**
|
|
79
|
+
**Block 2 — Problem Statement + Gap (2–3 sentences):**
|
|
63
80
|
- State the specific problem clearly
|
|
64
81
|
- Explain the limitations of existing approaches (from Q3)
|
|
65
|
-
- End with
|
|
82
|
+
- End with the gap: "However, no existing work has systematically addressed [missing piece]."
|
|
83
|
+
|
|
84
|
+
**Block 3 — Research Question (1–2 sentences):**
|
|
85
|
+
- Transition naturally from the gap: "This raises the question: ..." or "To address this gap, this paper asks: ..."
|
|
86
|
+
- Write the validated RQ from Q4 verbatim — do not paraphrase or soften it
|
|
66
87
|
|
|
67
|
-
**Block
|
|
88
|
+
**Block 4 — Contributions (1 sentence + bullet list):**
|
|
68
89
|
|
|
69
90
|
Adapt the format to paper_type and contribution_type:
|
|
70
91
|
|
|
@@ -92,7 +113,7 @@ The main contributions of this paper are as follows:
|
|
|
92
113
|
• We discuss implications for [theory / practice / policy].
|
|
93
114
|
```
|
|
94
115
|
|
|
95
|
-
**Block
|
|
116
|
+
**Block 5 — Paper Structure (1 paragraph):**
|
|
96
117
|
"The rest of this paper is organized as follows. Section 2 [reviews / describes / ...]. Section 3 [describes / presents / ...]. [Continue per outline.] Section N concludes the paper."
|
|
97
118
|
|
|
98
119
|
---
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Methodology** section. Read context, conduct Q&A, then write a draft tailored to the paper type.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Related Work** section. Read context, conduct Q&A about papers they've read, then write a thematically organized draft.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -26,11 +26,40 @@ Check `paper/context.yaml`. If missing, ask the user to run `/paper:plan` first.
|
|
|
26
26
|
|
|
27
27
|
## Step 2: Q&A (one at a time, wait for each answer)
|
|
28
28
|
|
|
29
|
-
Tell the user: "
|
|
29
|
+
Tell the user: "Before we start writing, let me recommend the types of papers you should look for based on your topic."
|
|
30
30
|
|
|
31
|
-
**Q1
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
**Q1 — Paper Recommendation (không hỏi user có bao nhiêu bài)**
|
|
32
|
+
|
|
33
|
+
Dựa vào `topic`, `field`, `contribution_type`, và `research_questions` từ context.yaml, generate một danh sách recommend theo format:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
PAPERS BẠN NÊN TÌM
|
|
37
|
+
════════════════════════════════════════════════════════
|
|
38
|
+
|
|
39
|
+
Nhóm 1 — [Theme 1 liên quan đến topic]
|
|
40
|
+
Tìm: "[keyword search query]" trên Google Scholar
|
|
41
|
+
Cần: 3–5 papers, ưu tiên sau [năm hiện tại - 3]
|
|
42
|
+
Mục đích: Làm background cho phần [problem/gap]
|
|
43
|
+
|
|
44
|
+
Nhóm 2 — [Theme 2: existing methods/approaches]
|
|
45
|
+
Tìm: "[keyword search query]"
|
|
46
|
+
Cần: 4–6 papers
|
|
47
|
+
Mục đích: Nhóm paper chính để critique limitations
|
|
48
|
+
|
|
49
|
+
Nhóm 3 — [Theme 3: most related to your method]
|
|
50
|
+
Tìm: "[keyword search query]"
|
|
51
|
+
Cần: 3–5 papers
|
|
52
|
+
Mục đích: Positioning — chứng minh bạn khác họ ở đâu
|
|
53
|
+
|
|
54
|
+
Tổng recommend: 10–16 papers
|
|
55
|
+
→ Dùng Google Scholar Operators để tìm nhanh
|
|
56
|
+
→ Lưu vào Zotero, dùng /paper:cite để chèn sau
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Sau khi show recommendation, hỏi:
|
|
60
|
+
"Bạn đã tìm được paper nào chưa? Nếu có, list ra để mình map vào các nhóm trên. Nếu chưa, tìm theo gợi ý trên rồi quay lại."
|
|
61
|
+
|
|
62
|
+
Khi user đã có papers, tiếp tục Q2.
|
|
34
63
|
|
|
35
64
|
**Q2**: "How would you group those papers into 2–3 themes or categories? What patterns do you see?"
|
|
36
65
|
*(Example: "Group 1: blacklist-based — PhishTank, Safe Browsing. Group 2: ML with URL features — Zhang, Li, Kim. Group 3: deep learning on page content — Chen, Wang.")*
|
|
@@ -71,4 +100,101 @@ Ask: "Shall I save this draft to `paper/sections/02-related-work.md`?"
|
|
|
71
100
|
|
|
72
101
|
If yes, save and update context.yaml: `related_work: draft`.
|
|
73
102
|
|
|
74
|
-
"Draft saved!
|
|
103
|
+
"Draft saved! Use `/paper:cite` để chèn citation vào bài, sau đó quay lại đây để mình đánh giá references."
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Step 5: Reference Quality Evaluation
|
|
108
|
+
|
|
109
|
+
Chạy bước này sau khi user đã chèn citation (qua `/paper:cite`). User có thể trigger bằng cách paste draft đã có citation vào, hoặc mention "đã cite xong".
|
|
110
|
+
|
|
111
|
+
Đọc toàn bộ draft Related Work đã có citation và đánh giá theo 3 tiêu chí:
|
|
112
|
+
|
|
113
|
+
### Tiêu chí 1 — Độ phủ (Coverage)
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
KIỂM TRA ĐỘ PHỦ
|
|
117
|
+
════════════════════════════════════════════════════════
|
|
118
|
+
|
|
119
|
+
Mỗi factual claim phải có ít nhất 1 citation.
|
|
120
|
+
Scan từng câu có dạng:
|
|
121
|
+
• "X has been shown to..." → cần cite
|
|
122
|
+
• "Studies indicate that..." → cần cite
|
|
123
|
+
• "X achieves Y% accuracy..." → cần cite
|
|
124
|
+
• "X is widely used in..." → cần cite
|
|
125
|
+
|
|
126
|
+
Câu KHÔNG cần cite:
|
|
127
|
+
• Kết quả của chính paper này
|
|
128
|
+
• Câu chuyển tiếp
|
|
129
|
+
• Common knowledge quá phổ biến
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Nếu có claim thiếu citation → list ra và recommend paper bổ sung:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
THIẾU CITATION
|
|
136
|
+
════════════════════════════════════════════════════════
|
|
137
|
+
|
|
138
|
+
Claim: "[câu cụ thể]"
|
|
139
|
+
→ Cần: 1–2 papers về [chủ đề]
|
|
140
|
+
→ Search: "[suggested query]" on Google Scholar
|
|
141
|
+
→ Loại paper phù hợp: [survey / empirical / benchmark]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Tiêu chí 2 — Tính thuyết phục (Persuasiveness)
|
|
145
|
+
|
|
146
|
+
Đánh giá từng nhóm theme:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
ĐÁNH GIÁ TỪNG NHÓM
|
|
150
|
+
════════════════════════════════════════════════════════
|
|
151
|
+
|
|
152
|
+
Nhóm [Theme 1]: X papers
|
|
153
|
+
→ Đủ thuyết phục? [Yes / Borderline / No]
|
|
154
|
+
→ Lý do: [giải thích]
|
|
155
|
+
|
|
156
|
+
Nhóm [Theme 2]: X papers
|
|
157
|
+
→ Đủ thuyết phục? [...]
|
|
158
|
+
|
|
159
|
+
Positioning: X papers
|
|
160
|
+
→ Đủ để claim novelty? [Yes / No]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Ngưỡng tối thiểu:**
|
|
164
|
+
- Mỗi theme: ≥ 2 papers (1 paper = không đủ để generalize)
|
|
165
|
+
- Positioning paragraph: ≥ 1 paper trực tiếp so sánh với approach của bạn
|
|
166
|
+
- Tổng Related Work: ≥ 10 papers (conference), ≥ 20 (journal)
|
|
167
|
+
|
|
168
|
+
### Tiêu chí 3 — Redundancy (Dư thừa)
|
|
169
|
+
|
|
170
|
+
Nếu có papers bị cite nhưng không đóng góp gì vào argument:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
NÊN BỎ BỚT
|
|
174
|
+
════════════════════════════════════════════════════════
|
|
175
|
+
|
|
176
|
+
Paper: [tên]
|
|
177
|
+
Lý do nên bỏ: Nội dung trùng với [paper khác] /
|
|
178
|
+
Không support claim cụ thể nào /
|
|
179
|
+
Quá cũ và đã có paper mới hơn thay thế
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Kết luận đánh giá
|
|
183
|
+
|
|
184
|
+
Sau khi phân tích xong, xuất ra **Reference Quality Report**:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
REFERENCE QUALITY REPORT
|
|
188
|
+
════════════════════════════════════════════════════════
|
|
189
|
+
|
|
190
|
+
Tổng citations hiện tại: X
|
|
191
|
+
|
|
192
|
+
✅ Đủ: [list các nhóm đã đủ]
|
|
193
|
+
⚠️ Thiếu: [list claim cần thêm paper + gợi ý tìm]
|
|
194
|
+
❌ Nên bỏ: [list papers dư thừa + lý do]
|
|
195
|
+
|
|
196
|
+
Sau khi bổ sung/bỏ: ước tính X papers
|
|
197
|
+
→ Đủ thuyết phục cho [venue từ context.yaml]? [Yes/No]
|
|
198
|
+
|
|
199
|
+
Next: `/paper:review related` để review toàn diện hơn.
|
|
200
|
+
```
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
You are helping a student write their **Results** section. Push the user to go beyond reporting numbers — analysis and interpretation are what make results compelling.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Language** — Always respond in the same language the user writes in. If they write in Vietnamese, respond in Vietnamese. If English, respond in English.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|