DEVUP-Summary-Generator Extension
Generates executive-ready conference summaries from documents and presentations .
For CSV and XLSX files, generates an interactive HTML dashboard with data analysis,
key metrics, insights, and visualization recommendations.
For ZIP files, extracts and summarizes contents without storing unzipped files.
Output structure follows the DEVUPSummaryGenerator.agent.md template.
Supported File Types
| Type |
Output |
Description |
.txt, .md |
Markdown summary |
Plain text and markdown notes |
.docx |
Markdown summary |
Word documents |
.pptx |
Markdown summary |
PowerPoint presentations (highest priority) |
.pdf |
Markdown summary |
PDF documents |
.xlsx, .xls |
HTML Dashboard |
Excel spreadsheets with data analysis |
.csv |
HTML Dashboard |
CSV files with metrics, insights, and chart recommendations |
.zip |
Summary/Dashboard |
Extracts and processes files inside (prompts for file selection) |
Requirements
- VS Code 1.95+
- GitHub Copilot Chat extension installed and signed in (this extension
calls
vscode.lm which is backed by Copilot).
- An active Copilot subscription (Business / Enterprise / Individual).
Build & run (development)
cd vscode-extension
npm install
npm run compile
Then in VS Code: open the vscode-extension folder, press F5 to launch
an Extension Development Host. In the new window, right-click any
supported file in the Explorer and choose "Generate Summary".
Output Location
All generated files are saved to a summary_output folder in your workspace:
- Document summaries:
summary_output/<filename>_summary.md
- Data dashboards:
summary_output/<filename>_dashboard.html
If a file with the same name already exists, a numbered suffix is added (e.g., _1, _2).
Dashboard Display: Dashboards open directly in a VS Code webview panel for immediate viewing.
You can also multi-select several files (e.g. slides + audio recording) belonging to
one session; they are merged by priority (slides > PDF > Excel > Word > notes) and the
first file's name is used for the output.
ZIP File Support
When you right-click a ZIP file and select "Generate Summary":
- Single file inside: Processes immediately
- Multiple files inside: Shows a picker dialog where you can:
- Select "All Files" to process each file individually
- Pick specific files by name
- Multi-select specific files
Individual Processing: Each selected file generates its own output:
- Document files (
.pptx, .docx, .pdf, .txt, .md) → filename_summary.md
- Data files (
.csv, .xlsx) → filename_dashboard.html
No disk extraction: Files are extracted in memory only — no unzipped folders are created.
CSV/XLSX Dashboard Features
When you select a CSV or XLSX file, Transcripter generates a comprehensive HTML dashboard including:
- Executive Summary — Key findings at a glance
- Key Metrics — Important numbers and KPIs extracted from the data
- Data Insights — Patterns, trends, and anomalies discovered
- Recommended Visualizations — Chart types that would best represent the data
- Data Quality Assessment — Completeness score and data quality issues
- Column Details — Data types and statistics for each column
How it works (high-quality, deterministic output)
To guarantee the exact 9-section template every time, the extension does not
let the model free-write markdown. Instead:
- Extract text from each file (
src/extractors/).
- Aggregate sources into one priority-labeled prompt body
(
pptx > pdf > docx > text).
- Structured generation — Copilot is asked to return JSON matching
ConferenceSummary (src/summary/schema.ts).
- Normalize & repair — the JSON is coerced into a fully-valid object;
missing fields become
NA / empty arrays (no crashes on partial output).
- Deterministic render —
src/summary/renderer.ts turns the object into
the exact 9-section markdown (a faithful port of the Python renderer.py).
- Fallback — if the model can't produce parseable JSON, it is asked to
emit the markdown template directly.
This mirrors the Python CLI's structured-output design, so the extension and
the CLI produce an identical output structure.
.txt, .md, .docx, .pptx — optimized for conference slides, Word
notes/papers, and plain-text transcripts/notes.