Source: https://github.com/aipoch/medical-research-skills
Note Summarizer
When to Use
- Use this skill when you need organize study notes into a structured knowledge-point outline and export to a .docx summary when you need a shareable, hierarchical document from word/ppt/text/markdown inputs in a reproducible workflow.
- Use this skill when a others task needs a packaged method instead of ad-hoc freeform output.
- Use this skill when the user expects a concrete deliverable, validation step, or file-based result.
- Use this skill when
scripts/note_summarizer.py is the most direct path to complete the request.
- Use this skill when you need the
note-summarizer package behavior rather than a generic answer.
Key Features
- Scope-focused workflow aligned to: Organize study notes into a structured knowledge-point outline and export to a .docx summary when you need a shareable, hierarchical document from Word/PPT/Text/Markdown inputs.
- Packaged executable path(s):
scripts/note_summarizer.py.
- Structured execution path designed to keep outputs consistent and reviewable.
Dependencies
Python: 3.10+. Repository baseline for current packaged skills.
Third-party packages: not explicitly version-pinned in this skill package. Add pinned versions if this skill needs stricter environment control.
Example Usage
cd "20260316/scientific-skills/Others/note-summarizer"
python -m py_compile scripts/note_summarizer.py
python scripts/note_summarizer.py --help
Example run plan:
- Confirm the user input, output path, and any required config values.
- Edit the in-file
CONFIG block or documented parameters if the script uses fixed settings.
- Run
python scripts/note_summarizer.py with the validated inputs.
- Review the generated output and return the final artifact with any assumptions called out.
Implementation Details
- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
- Primary implementation surface:
scripts/note_summarizer.py.
- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.
1. When to Use
- When you have class notes (Word/Markdown/text) and need a clean outline with key takeaways per section.
- When you need to merge notes from multiple sources (e.g., Word + PPT + Markdown) into one unified study summary.
- When you want to preserve the original heading hierarchy (H1/H2/H3) while summarizing content into bullet points.
- When you need to include images from the source materials in the corresponding sections of the exported Word document.
- When you need an offline, local-file-only summarization workflow for study materials.
2. Key Features
- Multi-format input support: .docx, .pptx, .txt, .md.
- Exports a Word (.docx) document with a structured outline (Heading 1/2/3).
- Generates key-point bullet summaries per section with a configurable limit.
- Optional heading hierarchy preservation to keep the original structure.
- Optional image handling: copy images into the output or skip them.
- Local-only processing (no network access) and minimal logging of user content.
3. Dependencies
- Python (recommended): 3.9+
- Python packages:
- python-docx (latest compatible)
- python-pptx (latest compatible)
- Pillow (latest compatible)
Install:
python -m pip install python-docx python-pptx pillow
4. Example Usage
Interactive run
python scripts/note_summarizer.py
Run with a JSON config (recommended)
- Create
input.json:
{
"inputs": ["notes.docx", "slides.pptx", "notes.md"],
"output": "summary.docx",
"keep_headings": true,
"max_bullets_per_section": 6,
"image_mode": "copy",
"max_image_long_edge": 1600
}
- Execute:
python scripts/note_summarizer.py --json input.json
5. Implementation Details
Input schema
Required
inputs: array of input file paths (Word/PPT/Text/Markdown)
output: output .docx file path
Optional
keep_headings (boolean, default: true): attempts to preserve heading hierarchy from source documents.
max_bullets_per_section (int, default: 6): maximum number of summary bullets generated per section.
image_mode ("copy" | "skip", default: "copy"): whether to copy images into the output document.
max_image_long_edge (int, default: 1600): maximum pixel size for the long edge when copying images.
Output structure
- A Word document containing:
- Heading levels (Heading 1/2/3) representing the outline
- Bullet lists of key points under each section
- Images copied into the relevant sections when
image_mode: "copy"
Security / compliance notes
- Processes local files only and does not access the network.
- Reads only user-provided paths and writes only to the specified output path.
- Avoids logging or emitting sensitive content from user files into logs.
Basic verification
python scripts/note_summarizer.py --json examples/example.json
Success criteria:
- The output
.docx exists and opens successfully.
- The heading hierarchy and per-section key points are present and correctly structured.
1---2name: note-summarizer3description: Organize study notes into a structured knowledge-point outline and export to a .docx summary when you need a shareable, hierarchical document from Word/PPT/Text/Markdown inputs.4license: MIT5---6> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
7
8# Note Summarizer
9
10## When to Use
11
12- Use this skill when you need organize study notes into a structured knowledge-point outline and export to a .docx summary when you need a shareable, hierarchical document from word/ppt/text/markdown inputs in a reproducible workflow.
13- Use this skill when a others task needs a packaged method instead of ad-hoc freeform output.
14- Use this skill when the user expects a concrete deliverable, validation step, or file-based result.
15- Use this skill when `scripts/note_summarizer.py` is the most direct path to complete the request.
16- Use this skill when you need the `note-summarizer` package behavior rather than a generic answer.
17
18## Key Features
19
20- Scope-focused workflow aligned to: Organize study notes into a structured knowledge-point outline and export to a .docx summary when you need a shareable, hierarchical document from Word/PPT/Text/Markdown inputs.
21- Packaged executable path(s): `scripts/note_summarizer.py`.
22- Structured execution path designed to keep outputs consistent and reviewable.
23
24## Dependencies
25
26- `Python`: `3.10+`. Repository baseline for current packaged skills.
27- `Third-party packages`: `not explicitly version-pinned in this skill package`. Add pinned versions if this skill needs stricter environment control.
28
29## Example Usage
30
31```bash
32cd "20260316/scientific-skills/Others/note-summarizer"
33python -m py_compile scripts/note_summarizer.py
34python scripts/note_summarizer.py --help
35```
36
37Example run plan:
381. Confirm the user input, output path, and any required config values.
392. Edit the in-file `CONFIG` block or documented parameters if the script uses fixed settings.
403. Run `python scripts/note_summarizer.py` with the validated inputs.
414. Review the generated output and return the final artifact with any assumptions called out.
42
43## Implementation Details
44
45- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
46- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
47- Primary implementation surface: `scripts/note_summarizer.py`.
48- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
49- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.
50
51## 1. When to Use
52- When you have class notes (Word/Markdown/text) and need a clean outline with key takeaways per section.
53- When you need to merge notes from multiple sources (e.g., Word + PPT + Markdown) into one unified study summary.
54- When you want to preserve the original heading hierarchy (H1/H2/H3) while summarizing content into bullet points.
55- When you need to include images from the source materials in the corresponding sections of the exported Word document.
56- When you need an offline, local-file-only summarization workflow for study materials.
57
58## 2. Key Features
59- Multi-format input support: **.docx**, **.pptx**, **.txt**, **.md**.
60- Exports a **Word (.docx)** document with a structured outline (Heading 1/2/3).
61- Generates **key-point bullet summaries** per section with a configurable limit.
62- Optional **heading hierarchy preservation** to keep the original structure.
63- Optional **image handling**: copy images into the output or skip them.
64- Local-only processing (no network access) and minimal logging of user content.
65
66## 3. Dependencies
67- Python (recommended): **3.9+**
68- Python packages:
69 - **python-docx** (latest compatible)
70 - **python-pptx** (latest compatible)
71 - **Pillow** (latest compatible)
72
73Install:
74```bash
75python -m pip install python-docx python-pptx pillow
76```
77
78## 4. Example Usage
79
80### Interactive run
81```bash
82python scripts/note_summarizer.py
83```
84
85### Run with a JSON config (recommended)
861) Create `input.json`:
87```json
88{
89 "inputs": ["notes.docx", "slides.pptx", "notes.md"],
90 "output": "summary.docx",
91 "keep_headings": true,
92 "max_bullets_per_section": 6,
93 "image_mode": "copy",
94 "max_image_long_edge": 1600
95}
96```
97
982) Execute:
99```bash
100python scripts/note_summarizer.py --json input.json
101```
102
103## 5. Implementation Details
104
105### Input schema
106**Required**
107- `inputs`: array of input file paths (Word/PPT/Text/Markdown)
108- `output`: output `.docx` file path
109
110**Optional**
111- `keep_headings` (boolean, default: `true`): attempts to preserve heading hierarchy from source documents.
112- `max_bullets_per_section` (int, default: `6`): maximum number of summary bullets generated per section.
113- `image_mode` (`"copy"` | `"skip"`, default: `"copy"`): whether to copy images into the output document.
114- `max_image_long_edge` (int, default: `1600`): maximum pixel size for the long edge when copying images.
115
116### Output structure
117- A Word document containing:
118 - Heading levels (Heading 1/2/3) representing the outline
119 - Bullet lists of key points under each section
120 - Images copied into the relevant sections when `image_mode: "copy"`
121
122### Security / compliance notes
123- Processes **local files only** and does not access the network.
124- Reads only user-provided paths and writes only to the specified output path.
125- Avoids logging or emitting sensitive content from user files into logs.
126
127### Basic verification
128```bash
129python scripts/note_summarizer.py --json examples/example.json
130```
131
132Success criteria:
133- The output `.docx` exists and opens successfully.
134- The heading hierarchy and per-section key points are present and correctly structured.