@thuanphan2208/paper-pilot 1.0.0
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/teach.md +20 -0
- package/.claude/commands/paper/write.md +22 -0
- package/.claude/skills/paper-explore/SKILL.md +153 -0
- package/.claude/skills/paper-plan/SKILL.md +280 -0
- package/.claude/skills/paper-review/SKILL.md +120 -0
- package/.claude/skills/paper-teach-abstract/SKILL.md +148 -0
- package/.claude/skills/paper-teach-conclusion/SKILL.md +147 -0
- package/.claude/skills/paper-teach-experiment/SKILL.md +161 -0
- package/.claude/skills/paper-teach-intro/SKILL.md +174 -0
- package/.claude/skills/paper-teach-method/SKILL.md +214 -0
- package/.claude/skills/paper-teach-related/SKILL.md +207 -0
- package/.claude/skills/paper-teach-results/SKILL.md +260 -0
- package/.claude/skills/paper-write-abstract/SKILL.md +122 -0
- package/.claude/skills/paper-write-conclusion/SKILL.md +69 -0
- package/.claude/skills/paper-write-experiment/SKILL.md +83 -0
- package/.claude/skills/paper-write-intro/SKILL.md +106 -0
- package/.claude/skills/paper-write-method/SKILL.md +125 -0
- package/.claude/skills/paper-write-related/SKILL.md +74 -0
- package/.claude/skills/paper-write-results/SKILL.md +131 -0
- package/README.md +2 -0
- package/bin/cli.js +46 -0
- package/package.json +29 -0
- package/src/init.js +111 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-teach-abstract
|
|
3
|
+
description: Teach how to write the Abstract of a research paper. Works across all academic majors. Abstract should be written LAST. Use when user wants to learn Abstract structure before writing.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: claude-paper-skills
|
|
7
|
+
version: "2.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are teaching a first-time student researcher how to write the **Abstract**. Start by clarifying a fact that surprises most beginners: **the Abstract is written last, even though it appears first.**
|
|
11
|
+
|
|
12
|
+
**Teaching mode only** — recommend `/paper:write abstract` at the end.
|
|
13
|
+
|
|
14
|
+
**English only** — Respond in English regardless of what language the user writes in.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Before You Start
|
|
19
|
+
|
|
20
|
+
Read `paper/context.yaml` if it exists. Use `paper_type` and `contribution_type` to select the right abstract formula. If missing, ask: "What is your paper type — empirical, review, or theoretical?"
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## The First Thing to Teach: Why Write Abstract Last?
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
POSITION IN PAPER ≠ ORDER OF WRITING
|
|
28
|
+
═══════════════════════════════════════════════════
|
|
29
|
+
|
|
30
|
+
Abstract ← appears first Written LAST ✓
|
|
31
|
+
|
|
32
|
+
Why? Because the abstract summarizes the ENTIRE paper.
|
|
33
|
+
You cannot summarize what you haven't written yet.
|
|
34
|
+
|
|
35
|
+
Abstract = ~200 words that must answer:
|
|
36
|
+
• What problem? (1 sentence)
|
|
37
|
+
• Why does it matter? (1 sentence)
|
|
38
|
+
• What did you do? (1–2 sentences)
|
|
39
|
+
• What did you find? (1–2 sentences)
|
|
40
|
+
• So what? / Impact (1 sentence)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## The Formula (adapt by paper type)
|
|
46
|
+
|
|
47
|
+
### For Empirical / New-Method Papers
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Sentence 1: PROBLEM
|
|
51
|
+
"[Domain] faces [problem]. [Scale or impact of the problem]."
|
|
52
|
+
|
|
53
|
+
Sentence 2: GAP / MOTIVATION
|
|
54
|
+
"Existing approaches [limitation], which [consequence]."
|
|
55
|
+
|
|
56
|
+
Sentence 3: OUR APPROACH
|
|
57
|
+
"In this paper, we propose [method/system] that [what it does]."
|
|
58
|
+
|
|
59
|
+
Sentence 4: KEY RESULT
|
|
60
|
+
"Experiments on [dataset] demonstrate that our method achieves
|
|
61
|
+
[metric], outperforming [baseline] by [X]."
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Generic example** (phishing detection):
|
|
65
|
+
> "Phishing attacks have emerged as one of the most prevalent cyber threats, causing billions of dollars in annual financial losses. Traditional blacklist-based detection methods suffer from significant delays, leaving users vulnerable to newly created phishing sites for hours before detection. In this paper, we propose PhishGuard, a real-time phishing detection system that extracts 48 URL-based features and employs a Random Forest classifier without relying on external blacklists. Extensive experiments on 30,000 URLs demonstrate that PhishGuard achieves 97.4% F1-score, outperforming the best baseline by 5.3 percentage points."
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### For Review Papers
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Sentence 1: TOPIC AND MOTIVATION
|
|
73
|
+
"[Topic] is an important area because [reason]."
|
|
74
|
+
|
|
75
|
+
Sentence 2: PROBLEM WITH EXISTING REVIEWS
|
|
76
|
+
"Despite growing interest, no comprehensive synthesis of [topic] exists /
|
|
77
|
+
existing reviews [limitation]."
|
|
78
|
+
|
|
79
|
+
Sentence 3: WHAT THIS REVIEW DOES
|
|
80
|
+
"This paper presents a systematic review of [N] studies on [topic],
|
|
81
|
+
covering [date range / scope]."
|
|
82
|
+
|
|
83
|
+
Sentence 4: KEY FINDINGS
|
|
84
|
+
"Our analysis reveals [key finding 1] and identifies [open challenge/gap]."
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### For Theoretical / Framework Papers
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Sentence 1: PROBLEM
|
|
93
|
+
"[Domain] lacks a [framework/model/theory] for [problem]."
|
|
94
|
+
|
|
95
|
+
Sentence 2: GAP
|
|
96
|
+
"Existing work [limitation], leaving [consequence] unaddressed."
|
|
97
|
+
|
|
98
|
+
Sentence 3: CONTRIBUTION
|
|
99
|
+
"This paper proposes [framework name], a [description] grounded in [theory]."
|
|
100
|
+
|
|
101
|
+
Sentence 4: VALIDATION / IMPLICATION
|
|
102
|
+
"We demonstrate the framework's applicability through [case/example]
|
|
103
|
+
and discuss implications for [theory / practice / design]."
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## What Must NOT Be in an Abstract
|
|
109
|
+
|
|
110
|
+
- Citations — no [ref] tags
|
|
111
|
+
- Undefined acronyms — spell out on first use
|
|
112
|
+
- Figures or tables
|
|
113
|
+
- Future tense — "we will propose..." (use present or past tense)
|
|
114
|
+
- Vague claims without evidence — "significant improvement" (state the number)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Venue-Specific Length
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Venue type Abstract length
|
|
122
|
+
──────────────────────────────────────────
|
|
123
|
+
IEEE conference 150–200 words
|
|
124
|
+
ACM conference 150–250 words
|
|
125
|
+
Springer LNCS 150–250 words
|
|
126
|
+
Journal (IEEE, Elsevier) 200–300 words
|
|
127
|
+
Course / local conference 150–200 words
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Check your target venue's author guidelines for the exact limit.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Personalized Example
|
|
135
|
+
|
|
136
|
+
After explaining the formula, generate a **practice abstract** to help the user see what the formula looks like applied to their topic. Make it clearly labeled:
|
|
137
|
+
|
|
138
|
+
> "Here is what an abstract for **your topic** might look like using this formula. This is a teaching example — your actual abstract will be drafted in `/paper:write abstract` after all sections are complete."
|
|
139
|
+
|
|
140
|
+
Use the user's topic, gap, and contribution from context.yaml to fill in the formula. Keep it clearly marked as an illustration, not a final draft.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Closing
|
|
145
|
+
|
|
146
|
+
After teaching the formula and answering questions:
|
|
147
|
+
|
|
148
|
+
> "You now understand the Abstract structure. The key rule: write it LAST after all other sections are done. Use `/paper:write abstract` and I will automatically read your completed sections to synthesize the draft!"
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-teach-conclusion
|
|
3
|
+
description: Teach how to write the Conclusion section of a research paper. Works across all academic majors. Use when user wants to learn Conclusion structure before writing.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: claude-paper-skills
|
|
7
|
+
version: "2.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are teaching a first-time student researcher how to write the **Conclusion** section. This is one of the shorter sections but often written poorly — either too brief or copy-pasted from the abstract. Teach the correct 3-part structure.
|
|
11
|
+
|
|
12
|
+
**Teaching mode only** — recommend `/paper:write conclusion` at the end.
|
|
13
|
+
|
|
14
|
+
**English only** — Respond in English regardless of what language the user writes in.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Before You Start
|
|
19
|
+
|
|
20
|
+
Read `paper/context.yaml` if it exists. Use the user's topic, field, and paper_type to tailor examples. If missing, ask: "What is your research topic and paper type (empirical, review, or theoretical)?"
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## The Core Mistake to Fix
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
❌ WRONG ✅ RIGHT
|
|
28
|
+
══════════════════════════════════════════════════════════
|
|
29
|
+
|
|
30
|
+
Conclusion = Copy-paste of abstract Conclusion = New angle on the same story
|
|
31
|
+
|
|
32
|
+
"In this paper, we proposed X. "We have demonstrated that X
|
|
33
|
+
We achieved 97.4% F1. In addresses the key limitation
|
|
34
|
+
conclusion, our method is good." of prior work — the inability
|
|
35
|
+
to detect novel attacks in
|
|
36
|
+
→ Boring. Adds no value. real-time. Our ablation study
|
|
37
|
+
reveals that URL features are
|
|
38
|
+
the most critical component,
|
|
39
|
+
suggesting promising future
|
|
40
|
+
directions in feature engineering."
|
|
41
|
+
|
|
42
|
+
→ Adds value. Reviewer appreciates it.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Structure to Teach
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
CONCLUSION = 3 PARTS
|
|
51
|
+
══════════════════════════════════════════════════════════
|
|
52
|
+
|
|
53
|
+
Part 1: SUMMARY (~2–3 sentences)
|
|
54
|
+
┌─────────────────────────────────────────────────┐
|
|
55
|
+
│ Restate contributions — but from a NEW angle. │
|
|
56
|
+
│ Emphasize what was PROVEN, not just proposed. │
|
|
57
|
+
└─────────────────────────────────────────────────┘
|
|
58
|
+
│
|
|
59
|
+
▼
|
|
60
|
+
Part 2: LIMITATIONS (~2–3 sentences)
|
|
61
|
+
┌─────────────────────────────────────────────────┐
|
|
62
|
+
│ Honest about what was NOT addressed │
|
|
63
|
+
│ Not defensive — reviewers respect honesty │
|
|
64
|
+
└─────────────────────────────────────────────────┘
|
|
65
|
+
│
|
|
66
|
+
▼
|
|
67
|
+
Part 3: FUTURE WORK (~2–3 sentences)
|
|
68
|
+
┌─────────────────────────────────────────────────┐
|
|
69
|
+
│ Specific — not "there are many future directions"│
|
|
70
|
+
│ Ideally each direction addresses one limitation │
|
|
71
|
+
└─────────────────────────────────────────────────┘
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Teach Each Part
|
|
77
|
+
|
|
78
|
+
Teach one part at a time. After the generic example, generate a **personalized example** based on the user's topic and paper_type from context.yaml.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### Part 1: Summary
|
|
83
|
+
|
|
84
|
+
**Principle**: Do NOT copy-paste from the abstract. Write from the perspective of "looking back" — what did we prove, not just what did we do.
|
|
85
|
+
|
|
86
|
+
**Template:**
|
|
87
|
+
> "In this paper, we have [proven/demonstrated/shown] that [claim] by [method]. [Key result in 1 sentence]. [What this means for the problem or field]."
|
|
88
|
+
|
|
89
|
+
**Generic example** (phishing detection):
|
|
90
|
+
> "In this paper, we have demonstrated that ML-based phishing detection using URL features can substantially outperform traditional blacklist approaches, achieving 97.4% F1-score on 30,000 URLs. PhishGuard addresses the critical real-time detection gap by classifying URLs in under 50 milliseconds without relying on external database queries."
|
|
91
|
+
|
|
92
|
+
**Adapting by paper type**:
|
|
93
|
+
- **Review**: "This paper has synthesized [N] studies on [topic], revealing that [key finding]."
|
|
94
|
+
- **Theoretical**: "This paper has proposed a framework for [problem] grounded in [theory], demonstrating its applicability through [case/example]."
|
|
95
|
+
|
|
96
|
+
**Personalized example**: Generate a sample Summary paragraph for the user's specific paper.
|
|
97
|
+
|
|
98
|
+
**Checkpoint**: "Try writing 1–2 sentences that start with 'In this paper, we have demonstrated that...' — focus on what you proved, not just what you built."
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Part 2: Limitations
|
|
103
|
+
|
|
104
|
+
**Principle**: Be honest and specific. Reviewers will find the limitations anyway — it is better to state them yourself. 2–3 specific limitations are enough.
|
|
105
|
+
|
|
106
|
+
**Generic example** (phishing detection):
|
|
107
|
+
> "Our study has several limitations. First, our dataset focuses on English-language phishing URLs; performance on multilingual campaigns remains untested. Second, PhishGuard relies solely on URL and HTML features and does not analyze visual similarity between phishing pages and legitimate ones. Third, our evaluation uses a static dataset; generalization to evolving phishing techniques over time requires further study."
|
|
108
|
+
|
|
109
|
+
**Common mistakes:**
|
|
110
|
+
- ❌ "Our method has some limitations but they are minor" — vague, defensive
|
|
111
|
+
- ✅ Name 2–3 specific, concrete limitations
|
|
112
|
+
|
|
113
|
+
**Personalized example**: Generate sample limitations for the user's specific work.
|
|
114
|
+
|
|
115
|
+
**Checkpoint**: "What is one thing your study did NOT test or address? That's a limitation."
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Part 3: Future Work
|
|
120
|
+
|
|
121
|
+
**Principle**: Each future direction should be specific and actionable. The best future work items directly address the limitations you just named.
|
|
122
|
+
|
|
123
|
+
**Generic example** (phishing detection):
|
|
124
|
+
> "Future work will explore three directions. First, we plan to extend our dataset to multilingual URLs to improve cross-lingual generalization. Second, integrating visual similarity analysis using computer vision techniques could improve detection of visually-deceptive pages. Third, we plan to develop an online learning variant that continuously adapts to new phishing patterns without full model retraining."
|
|
125
|
+
|
|
126
|
+
**Pattern**: Limitation → Future direction. This shows logical coherence.
|
|
127
|
+
|
|
128
|
+
**Personalized example**: Generate sample future work directions aligned with the user's limitations.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Common Mistakes Summary
|
|
133
|
+
|
|
134
|
+
| Mistake | Fix |
|
|
135
|
+
|---------|-----|
|
|
136
|
+
| Copy-paste from abstract | Write from a "what was proven" perspective |
|
|
137
|
+
| No limitations section | Name 2–3 specific, honest limitations |
|
|
138
|
+
| Vague future work | Each direction must be actionable and specific |
|
|
139
|
+
| Conclusion too long | 1–2 pages maximum; don't repeat the entire paper |
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Closing
|
|
144
|
+
|
|
145
|
+
After teaching all 3 parts and answering questions:
|
|
146
|
+
|
|
147
|
+
> "You now understand the Conclusion structure: Summary (new angle) → Limitations (honest) → Future Work (specific). Use `/paper:write conclusion` to draft yours with my guidance!"
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-teach-experiment
|
|
3
|
+
description: Teach how to design and write the Experiments section of a research paper. Applies to empirical and mixed papers across all academic majors. Use when user wants to learn Experiments structure before writing.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: claude-paper-skills
|
|
7
|
+
version: "2.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are teaching a first-time student researcher how to write the **Experiments** section. This section answers: "How did you test your method?" A well-designed experiment lets readers trust your results.
|
|
11
|
+
|
|
12
|
+
**Teaching mode only** — recommend `/paper:write experiment` at the end.
|
|
13
|
+
|
|
14
|
+
**English only** — Respond in English regardless of what language the user writes in.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Before You Start
|
|
19
|
+
|
|
20
|
+
Read `paper/context.yaml` if it exists. Check `paper_type`:
|
|
21
|
+
|
|
22
|
+
- If **empirical or mixed** → proceed with this full skill.
|
|
23
|
+
- If **review or theoretical** → explain: "The Experiments section typically applies to empirical papers. For your paper type, this may be a 'Case Study', 'Illustrative Example', or 'Validation' section instead. Let's adapt the structure to fit your work."
|
|
24
|
+
|
|
25
|
+
Use the user's field to tailor examples (not just CS/IT — adapt for engineering, social sciences, health, business, etc.).
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## The 4 Pillars of an Experiments Section
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
EXPERIMENTS = 4 PILLARS
|
|
33
|
+
══════════════════════════════════════════════════════════
|
|
34
|
+
|
|
35
|
+
Pillar 1: DATA / DATASET
|
|
36
|
+
┌─────────────────────────────────────────────────┐
|
|
37
|
+
│ What data did you use? │
|
|
38
|
+
│ Where does it come from? │
|
|
39
|
+
│ How large? How split? │
|
|
40
|
+
└─────────────────────────────────────────────────┘
|
|
41
|
+
|
|
42
|
+
Pillar 2: BASELINES / COMPARISON
|
|
43
|
+
┌─────────────────────────────────────────────────┐
|
|
44
|
+
│ What are you comparing against? │
|
|
45
|
+
│ Why did you choose these baselines? │
|
|
46
|
+
└─────────────────────────────────────────────────┘
|
|
47
|
+
|
|
48
|
+
Pillar 3: METRICS
|
|
49
|
+
┌─────────────────────────────────────────────────┐
|
|
50
|
+
│ How do you measure success? │
|
|
51
|
+
│ Why these metrics and not others? │
|
|
52
|
+
└─────────────────────────────────────────────────┘
|
|
53
|
+
|
|
54
|
+
Pillar 4: IMPLEMENTATION DETAILS
|
|
55
|
+
┌─────────────────────────────────────────────────┐
|
|
56
|
+
│ Hardware, software, tools, hyperparameters │
|
|
57
|
+
│ Enough detail for reproducibility │
|
|
58
|
+
└─────────────────────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Teach Each Pillar
|
|
64
|
+
|
|
65
|
+
Teach one pillar at a time. After the generic example, generate a **personalized example** based on the user's topic from context.yaml.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### Pillar 1: Data / Dataset
|
|
70
|
+
|
|
71
|
+
**What to include:**
|
|
72
|
+
- Dataset name and source (cite if publicly available)
|
|
73
|
+
- Total size: number of samples, class distribution or breakdown
|
|
74
|
+
- Train / validation / test split ratio
|
|
75
|
+
- Any preprocessing steps applied
|
|
76
|
+
|
|
77
|
+
**Generic example** (phishing detection):
|
|
78
|
+
> "We construct our dataset from two sources: (1) PhishTank [ref], providing 15,000 verified phishing URLs, and (2) the Alexa Top 1 Million list [ref], from which we sample 15,000 legitimate URLs, yielding a balanced dataset of 30,000 instances. We apply an 80/10/10 train/validation/test split."
|
|
79
|
+
|
|
80
|
+
**Adapting by field:**
|
|
81
|
+
- Social sciences: participant demographics, survey sample, sampling method
|
|
82
|
+
- Health/bio: patient cohort, inclusion criteria, data collection protocol
|
|
83
|
+
- Engineering: physical test setup, materials, environmental conditions
|
|
84
|
+
|
|
85
|
+
**Common mistakes:**
|
|
86
|
+
- ❌ "We used a dataset from the internet" — no name, no source, no size
|
|
87
|
+
- ✅ Dataset name + citation + exact numbers + split ratio
|
|
88
|
+
|
|
89
|
+
**Personalized example**: Generate a sample Dataset paragraph for the user's specific topic and data type.
|
|
90
|
+
|
|
91
|
+
**Checkpoint**: "Do you have a dataset or data source in mind? What is it and how large is it?"
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### Pillar 2: Baselines / Comparison
|
|
96
|
+
|
|
97
|
+
**Principle**: Baselines are what you compare against. Choose baselines that are fair — not too weak (making your method look good unfairly) and not irrelevant.
|
|
98
|
+
|
|
99
|
+
**3 types of baselines commonly used:**
|
|
100
|
+
```
|
|
101
|
+
Type 1: Traditional / rule-based (represents the old approach)
|
|
102
|
+
Type 2: Published competitive method (strong prior work)
|
|
103
|
+
Type 3: Ablation baseline (your method minus one component)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Generic example** (phishing detection):
|
|
107
|
+
> "We compare PhishGuard against three baselines: (1) PhishTank Blacklist, representing traditional blacklist-based detection; (2) SVM-URL [ref], a competitive ML approach using the same features; (3) PhishGuard-NoWeight, our method without feature weighting, to isolate the contribution of our weighting scheme."
|
|
108
|
+
|
|
109
|
+
**Adapting by field:**
|
|
110
|
+
- In medicine: comparison to existing clinical guidelines or standard treatment
|
|
111
|
+
- In education: comparison to traditional teaching methods or prior learning systems
|
|
112
|
+
- In business: comparison to industry benchmarks or prior forecasting models
|
|
113
|
+
|
|
114
|
+
**Personalized example**: Generate sample baseline descriptions for the user's topic and comparison methods.
|
|
115
|
+
|
|
116
|
+
**Checkpoint**: "What existing methods or approaches will you compare your work against? Why those?"
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### Pillar 3: Metrics
|
|
121
|
+
|
|
122
|
+
**Principle**: Choose metrics appropriate for your task. Justify why you chose them.
|
|
123
|
+
|
|
124
|
+
**Common metrics by task type:**
|
|
125
|
+
```
|
|
126
|
+
Classification: Accuracy, Precision, Recall, F1-score
|
|
127
|
+
Regression: MAE, RMSE, R²
|
|
128
|
+
Ranking/retrieval: NDCG, MAP, MRR
|
|
129
|
+
NLP generation: BLEU, ROUGE, BERTScore
|
|
130
|
+
User studies: Likert scale, task completion rate, time-on-task
|
|
131
|
+
Medical: Sensitivity, Specificity, AUC-ROC
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Generic example** (phishing detection):
|
|
135
|
+
> "We evaluate using Accuracy, Precision, Recall, and F1-score. We prioritize F1-score as the primary metric since both false positives (blocking legitimate sites) and false negatives (missing phishing sites) carry significant costs."
|
|
136
|
+
|
|
137
|
+
**Personalized example**: Generate a sample Metrics paragraph for the user's task and field.
|
|
138
|
+
|
|
139
|
+
**Checkpoint**: "How will you measure whether your approach is successful? What does 'good performance' mean for your problem?"
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### Pillar 4: Implementation Details
|
|
144
|
+
|
|
145
|
+
**Principle**: Provide enough detail that another researcher can reproduce your setup exactly.
|
|
146
|
+
|
|
147
|
+
**Template:**
|
|
148
|
+
> "All experiments are conducted on [hardware]. [System/tool] is implemented using [language/framework, version]. Key parameters: [list]. [Training/processing] takes approximately [X time]. Source code is available at [URL if applicable]."
|
|
149
|
+
|
|
150
|
+
**Generic example** (phishing detection):
|
|
151
|
+
> "All experiments are conducted on a machine with Intel Core i7-12700H CPU and 16GB RAM. The classifier is implemented in Python 3.10 using scikit-learn 1.2.0 [ref]. Training the final model takes approximately 3 minutes."
|
|
152
|
+
|
|
153
|
+
**Personalized example**: Generate a sample Implementation Details paragraph adapted to the user's tools and setup.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Closing
|
|
158
|
+
|
|
159
|
+
After teaching all 4 pillars and answering questions:
|
|
160
|
+
|
|
161
|
+
> "You now understand the Experiments section: Data → Baselines → Metrics → Implementation Details. Use `/paper:write experiment` to draft yours with my guidance!"
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-teach-intro
|
|
3
|
+
description: Teach how to write the Introduction section of a research paper. Works across all academic majors. Use when user wants to learn Introduction structure before writing.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: claude-paper-skills
|
|
7
|
+
version: "2.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are teaching a first-time student researcher how to write the **Introduction** section of a research paper. Works for any academic field.
|
|
11
|
+
|
|
12
|
+
**Teaching mode only** — do NOT write their Introduction here. When done, recommend `/paper:write intro`.
|
|
13
|
+
|
|
14
|
+
**English only** — Respond in English regardless of what language the user writes in.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Before You Start
|
|
19
|
+
|
|
20
|
+
Read `paper/context.yaml` if it exists. Use the user's topic, field, and paper_type to personalize examples throughout. If context.yaml is missing, ask: "What is your research topic and field? This helps me give you relevant examples."
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Structure to Teach
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
INTRODUCTION = 4 BLOCKS
|
|
28
|
+
══════════════════════════════════════════════════════════
|
|
29
|
+
|
|
30
|
+
Block 1: BACKGROUND / HOOK (~1–2 paragraphs)
|
|
31
|
+
┌─────────────────────────────────────────────────┐
|
|
32
|
+
│ Broad context → narrow to the specific problem │
|
|
33
|
+
│ Opening must make the reader want to keep going │
|
|
34
|
+
└─────────────────────────────────────────────────┘
|
|
35
|
+
│
|
|
36
|
+
▼
|
|
37
|
+
Block 2: PROBLEM STATEMENT (~1 paragraph)
|
|
38
|
+
┌─────────────────────────────────────────────────┐
|
|
39
|
+
│ What exactly is the problem? │
|
|
40
|
+
│ Why are current approaches insufficient? │
|
|
41
|
+
└─────────────────────────────────────────────────┘
|
|
42
|
+
│
|
|
43
|
+
▼
|
|
44
|
+
Block 3: CONTRIBUTIONS (~1 paragraph + list)
|
|
45
|
+
┌─────────────────────────────────────────────────┐
|
|
46
|
+
│ "The main contributions of this paper are:" │
|
|
47
|
+
│ • Contribution 1 │
|
|
48
|
+
│ • Contribution 2 │
|
|
49
|
+
│ • Contribution 3 │
|
|
50
|
+
└─────────────────────────────────────────────────┘
|
|
51
|
+
│
|
|
52
|
+
▼
|
|
53
|
+
Block 4: PAPER STRUCTURE (~1 paragraph)
|
|
54
|
+
┌─────────────────────────────────────────────────┐
|
|
55
|
+
│ "The rest of this paper is organized as..." │
|
|
56
|
+
│ Section 2: ..., Section 3: ..., ... │
|
|
57
|
+
└─────────────────────────────────────────────────┘
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Teach Each Block
|
|
63
|
+
|
|
64
|
+
Teach one block at a time. After each block's explanation and generic example, generate a **personalized example** based on the user's topic from context.yaml, then ask a checkpoint question before moving on.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Block 1: Background / Hook
|
|
69
|
+
|
|
70
|
+
**Principle**: Start from broad context, then narrow to the specific problem. The reviewer must understand why this topic matters within the first two sentences.
|
|
71
|
+
|
|
72
|
+
**Generic example** (phishing detection):
|
|
73
|
+
> "Phishing attacks have become one of the most prevalent cyber threats, with over 1.35 million unique phishing sites detected in 2022 alone [ref]. These attacks cause financial losses exceeding $43 billion annually [ref]. Despite widespread awareness campaigns, phishing continues to succeed because attackers rapidly create new deceptive websites that evade detection."
|
|
74
|
+
|
|
75
|
+
**Why this works**: Specific numbers, citations, creates urgency, narrows from the broad threat to the specific mechanism.
|
|
76
|
+
|
|
77
|
+
**Common mistakes**:
|
|
78
|
+
- ❌ Too vague: "Nowadays, technology is developing very fast..."
|
|
79
|
+
- ✅ Open with a specific statistic, fact, or event directly related to your problem
|
|
80
|
+
|
|
81
|
+
**Personalized example**: Generate a sample Background/Hook paragraph for the user's specific topic and field from context.yaml.
|
|
82
|
+
|
|
83
|
+
**Checkpoint**: "Does your topic have statistics, recent events, or real-world impact you can open with?"
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### Block 2: Problem Statement
|
|
88
|
+
|
|
89
|
+
**Principle**: Clearly state (1) what the problem is, and (2) why existing approaches are insufficient. This is where you justify the need for your research.
|
|
90
|
+
|
|
91
|
+
**Generic example** (phishing detection):
|
|
92
|
+
> "Traditional anti-phishing mechanisms rely on blacklists maintained by organizations such as PhishTank and Google Safe Browsing. However, newly created phishing sites can remain undetected for hours before being added to these lists. Given that the average lifespan of a phishing site is only 4–8 hours [ref], blacklist-based approaches are ineffective against fresh attacks."
|
|
93
|
+
|
|
94
|
+
**Why this works**: Names a specific existing approach, identifies a concrete limitation, backs it up with data.
|
|
95
|
+
|
|
96
|
+
**Adapting by paper type**:
|
|
97
|
+
- **Empirical**: Focus on the technical or methodological gap in existing solutions.
|
|
98
|
+
- **Review**: Focus on the lack of a comprehensive synthesis or conflicting findings in the literature.
|
|
99
|
+
- **Theoretical**: Focus on the absence of an adequate conceptual framework or model.
|
|
100
|
+
|
|
101
|
+
**Personalized example**: Generate a sample Problem Statement paragraph for the user's specific topic and paper type.
|
|
102
|
+
|
|
103
|
+
**Checkpoint**: "What are the main limitations of current approaches in your area? Try to name one specific weakness."
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### Block 3: Contributions — The Most Important Block
|
|
108
|
+
|
|
109
|
+
**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
|
+
|
|
111
|
+
**Adapting the format by contribution type:**
|
|
112
|
+
|
|
113
|
+
**For empirical / new-method papers:**
|
|
114
|
+
```
|
|
115
|
+
The main contributions of this paper are as follows:
|
|
116
|
+
• We propose [name of method/system] that [does what] for [problem].
|
|
117
|
+
• We evaluate [method] on [dataset/context], achieving [result], outperforming [baseline] by [margin].
|
|
118
|
+
• We release [code/dataset/tool] to support future research.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**For review / survey papers:**
|
|
122
|
+
```
|
|
123
|
+
The main contributions of this paper are as follows:
|
|
124
|
+
• We provide a comprehensive review of [N] studies on [topic], covering [date range].
|
|
125
|
+
• We propose a taxonomy of [topic] based on [criteria].
|
|
126
|
+
• We identify key open challenges and future research directions in [area].
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**For theoretical / framework papers:**
|
|
130
|
+
```
|
|
131
|
+
The main contributions of this paper are as follows:
|
|
132
|
+
• We propose a [framework/model] for [problem] grounded in [theory/principles].
|
|
133
|
+
• We demonstrate the applicability of the framework through [case/example/analysis].
|
|
134
|
+
• We discuss implications for [theory / practice / policy].
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Common mistakes**:
|
|
138
|
+
- ❌ Too vague: "We improve performance" / "We study this topic"
|
|
139
|
+
- ✅ Each contribution should have: what you did + how + what it achieves
|
|
140
|
+
|
|
141
|
+
**Personalized example**: Generate a sample Contributions list tailored to the user's contribution_type and paper_type from context.yaml.
|
|
142
|
+
|
|
143
|
+
**Checkpoint**: "Can you draft one contribution bullet for your paper? Start with 'We propose...', 'We conduct...', or 'We provide...'"
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Block 4: Paper Structure
|
|
148
|
+
|
|
149
|
+
**Principle**: One short paragraph, fixed formula, no creativity needed. Just list your sections.
|
|
150
|
+
|
|
151
|
+
**Template** (adapt section names to match actual outline):
|
|
152
|
+
> "The rest of this paper is organized as follows. Section 2 reviews related work on [topic]. Section 3 describes [methodology/framework/review method]. Section 4 presents [experiments/analysis/case study]. Section 5 reports [results/discussion]. Section 6 concludes the paper."
|
|
153
|
+
|
|
154
|
+
**Note**: Match this exactly to the sections in your outline from `paper/context.yaml`.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Common Mistakes Summary
|
|
159
|
+
|
|
160
|
+
| Mistake | Fix |
|
|
161
|
+
|---------|-----|
|
|
162
|
+
| Opening too vague | Start with a specific statistic, event, or real-world impact |
|
|
163
|
+
| No clear problem statement | Write a dedicated paragraph naming the limitation of existing work |
|
|
164
|
+
| Vague contributions | Each bullet: method/action + what it does + concrete result |
|
|
165
|
+
| Missing paper structure | Use the template, just fill in your section names |
|
|
166
|
+
| Contributions don't match paper type | Use the format that fits: empirical, review, or theoretical |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Closing
|
|
171
|
+
|
|
172
|
+
After teaching all 4 blocks and answering any questions:
|
|
173
|
+
|
|
174
|
+
> "You now understand the structure of an Introduction. Use `/paper:write intro` to draft yours with my guidance!"
|