Source: https://github.com/aipoch/medical-research-skills
When to Use
- You receive a messy, free-form CV draft (Chinese or English) and need it reorganized into a standard academic structure.
- You are asked to compile and format Publications from raw citation strings without changing their original citation format.
- You need to extract and normalize Education and Project Experience entries, then sort them by degree level or time.
- You must generate a Word (.docx) academic CV that matches a predefined visual style (uniform header color, bold headers, bullet lists).
- The user requests a polished CV output file with a fixed naming convention:
Name-Academic-CV.docx.
Key Features
- Classifies free-form input into: Personal Information, Educational Background, Project Experience, Publications, Awards (optional), Skills.
- Normalizes content into a required intermediate Markdown outline before rendering.
- Omits the Awards section entirely when no awards are provided.
- Infers a minimal Skills section from project descriptions when explicit skills are missing.
- Renders a Word document aligned to the reference layout
output/ZhangWei-Academic-CV.docx.
- Applies consistent styling rules: single-line section titles, larger than body text, bold, and one uniform header color.
Dependencies
- Python 3.x
python-docx (install via pip install python-docx)
Example Usage
1) Prepare input (free-form text)
Create or use the provided example input file:
sample_input_standard.txt
2) Generate the Word CV
python -m pip install python-docx
python scripts/render_cv.py --input sample_input_standard.txt --output output
3) Optional flags
python scripts/render_cv.py \
--input sample_input_standard.txt \
--output output \
--lang en \
--header-color random
Supported options:
--lang zh|en
--header-color purple|cyan|green|red|random
4) Expected output
- Output file:
Name-Academic-CV.docx (saved under the --output directory)
- Reference sample:
sample_output.docx
Implementation Details
1) End-to-end workflow
- Parse the input and classify content into:
- Personal Information
- Educational Background
- Project Experience
- Publications
- Skills
- Awards (optional)
- Convert the classified result into the required Markdown layout (mandatory intermediate step).
- If Awards is empty, omit the section from both Markdown and DOCX.
- If Skills is empty, infer skills from project experience and output a minimal skills list.
- Render the CV into Word using the same visual structure as
output/ZhangWei-Academic-CV.docx.
- Ensure section titles are single-line, bold, larger than body text, and share one uniform color.
- Save as
Name-Academic-CV.docx.
2) Classification rules
- Personal Information: name, title, organization, email, phone.
- Educational Background: degree (PhD/Master/Bachelor), major, school, year; sort from highest to lowest degree.
- Project Experience: project name + time range + responsibilities/description; sort by time (most recent first).
- Publications: keep original citation strings exactly as provided (no reformatting).
- Skills: use explicit skills if present; otherwise infer from project content.
3) Required Markdown output format (intermediate representation)
The classified content must be normalized into the following Markdown outline:
Personal Information
Name|Title|Organization|Email|Phone
Educational Background
Degree, Major, School, Year
Degree, Major, School, Year
Project Experience
Project Name (Project Period): Key responsibilities or work content
Project Name (Project Period): Key responsibilities or work content
Publications
Original citation entries (keep input format)
Original citation entries (keep input format)
Awards
Year, Award
Year, Award
Skills
Programming Languages: ...
Technical Fields: ...
Tools & Technologies: ...
Rules:
- If Awards is empty, omit the entire section.
- If Skills is empty, infer and output a minimal skills list (e.g.,
Technical Fields: Blockchain / Machine Learning / Systems Development).
4) Word rendering rules
- Do not print the “Personal Information” section title in the DOCX.
- Print the name as the first line in bold.
- Print the contact line as:
Title | Organization | Email | Phone.
- Section titles (Educational Background / Project Experience / Publications / Awards / Skills):
- bold
- single-line
- larger than body text
- all use one uniform color chosen from:
purple, cyan, green, red (or random)
- All items under each section are rendered as bullet points.
5) Output rules
- Output format must be Word (.docx).
- Output filename must be:
Name-Academic-CV.docx.
- Treat “Publications / Published Literature / Published Papers” as standalone publication sections.
- The final layout should match the reference:
output/ZhangWei-Academic-CV.docx.
1---2name: academic-cv-generator3description: Generate structured academic CVs from free-form Chinese/English text and export to Word (.docx). Use this skill when you are asked to organize, generate, or optimize an academic CV (e.g., publications/projects/awards) into a consistent, formatted document with uniform-colored section headers and optional bilingual output.4license: MIT5---6> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
7
8## When to Use
9
10- You receive a messy, free-form CV draft (Chinese or English) and need it reorganized into a standard academic structure.
11- You are asked to compile and format **Publications** from raw citation strings without changing their original citation format.
12- You need to extract and normalize **Education** and **Project Experience** entries, then sort them by degree level or time.
13- You must generate a **Word (.docx)** academic CV that matches a predefined visual style (uniform header color, bold headers, bullet lists).
14- The user requests a polished CV output file with a fixed naming convention: `Name-Academic-CV.docx`.
15
16## Key Features
17
18- Classifies free-form input into: Personal Information, Educational Background, Project Experience, Publications, Awards (optional), Skills.
19- Normalizes content into a required intermediate **Markdown outline** before rendering.
20- Omits the **Awards** section entirely when no awards are provided.
21- Infers a minimal **Skills** section from project descriptions when explicit skills are missing.
22- Renders a Word document aligned to the reference layout `output/ZhangWei-Academic-CV.docx`.
23- Applies consistent styling rules: single-line section titles, larger than body text, bold, and one uniform header color.
24
25## Dependencies
26
27- Python 3.x
28- `python-docx` (install via `pip install python-docx`)
29
30## Example Usage
31
32### 1) Prepare input (free-form text)
33
34Create or use the provided example input file:
35
36- `sample_input_standard.txt`
37
38### 2) Generate the Word CV
39
40```bash
41python -m pip install python-docx
42python scripts/render_cv.py --input sample_input_standard.txt --output output
43```
44
45### 3) Optional flags
46
47```bash
48python scripts/render_cv.py \
49 --input sample_input_standard.txt \
50 --output output \
51 --lang en \
52 --header-color random
53```
54
55Supported options:
56
57- `--lang zh|en`
58- `--header-color purple|cyan|green|red|random`
59
60### 4) Expected output
61
62- Output file: `Name-Academic-CV.docx` (saved under the `--output` directory)
63- Reference sample: `sample_output.docx`
64
65## Implementation Details
66
67### 1) End-to-end workflow
68
691. Parse the input and classify content into:
70 - Personal Information
71 - Educational Background
72 - Project Experience
73 - Publications
74 - Skills
75 - Awards (optional)
762. Convert the classified result into the required Markdown layout (mandatory intermediate step).
773. If **Awards** is empty, omit the section from both Markdown and DOCX.
784. If **Skills** is empty, infer skills from project experience and output a minimal skills list.
795. Render the CV into Word using the same visual structure as `output/ZhangWei-Academic-CV.docx`.
806. Ensure section titles are single-line, bold, larger than body text, and share one uniform color.
817. Save as `Name-Academic-CV.docx`.
82
83### 2) Classification rules
84
85- **Personal Information**: name, title, organization, email, phone.
86- **Educational Background**: degree (PhD/Master/Bachelor), major, school, year; sort from highest to lowest degree.
87- **Project Experience**: project name + time range + responsibilities/description; sort by time (most recent first).
88- **Publications**: keep original citation strings exactly as provided (no reformatting).
89- **Skills**: use explicit skills if present; otherwise infer from project content.
90
91### 3) Required Markdown output format (intermediate representation)
92
93The classified content must be normalized into the following Markdown outline:
94
95```text
96Personal Information
97Name|Title|Organization|Email|Phone
98
99Educational Background
100Degree, Major, School, Year
101Degree, Major, School, Year
102
103Project Experience
104Project Name (Project Period): Key responsibilities or work content
105Project Name (Project Period): Key responsibilities or work content
106
107Publications
108Original citation entries (keep input format)
109Original citation entries (keep input format)
110
111Awards
112Year, Award
113Year, Award
114
115Skills
116Programming Languages: ...
117Technical Fields: ...
118Tools & Technologies: ...
119```
120
121Rules:
122
123- If **Awards** is empty, omit the entire section.
124- If **Skills** is empty, infer and output a minimal skills list (e.g., `Technical Fields: Blockchain / Machine Learning / Systems Development`).
125
126### 4) Word rendering rules
127
128- Do **not** print the “Personal Information” section title in the DOCX.
129- Print the **name** as the first line in **bold**.
130- Print the contact line as: `Title | Organization | Email | Phone`.
131- Section titles (Educational Background / Project Experience / Publications / Awards / Skills):
132 - bold
133 - single-line
134 - larger than body text
135 - all use one uniform color chosen from: `purple`, `cyan`, `green`, `red` (or `random`)
136- All items under each section are rendered as bullet points.
137
138### 5) Output rules
139
140- Output format must be **Word (.docx)**.
141- Output filename must be: `Name-Academic-CV.docx`.
142- Treat “Publications / Published Literature / Published Papers” as standalone publication sections.
143- The final layout should match the reference: `output/ZhangWei-Academic-CV.docx`.