mcpField
M
meeting-notes-formatter

meeting-notes-formatter

github.com/dkyazzentwatwa生产力12465 次安装29 周前更新
代码仓库

关于 meeting-notes-formatter

Meeting Notes Formatter 可将零散的会议笔记整理为 Markdown 或 PDF 文档,适合需要编排会议记录的用户,并能自动识别元数据、章节、参会者和行动项。

主要功能

  1. 01识别标题、日期和参会者
  2. 02提取任务、负责人和截止日期
  3. 03按章节整理笔记
  4. 04导出 Markdown 和 PDF
  5. 05提供标准、精简和详细模板

适用场景

  1. 01将原始笔记整理成会议记录
  2. 02提取已分配的任务和截止日期
  3. 03为项目评审生成 PDF 摘要

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill meeting-notes-formatter

安装后在 Claude Code 中输入/meeting-notes-formatter确认已加载。

附带文件scripts/notes_formatter.pyscripts/requirements.txt

详细介绍

会议记录格式化工具

将原始、无结构的会议记录转换为整洁、专业的文档。自动检测各个部分、提取待办事项、解析参会者,并导出为 Markdown 或 PDF。

快速开始

from scripts.notes_formatter import MeetingNotesFormatter

# Format raw notes
raw_notes = """
Project sync Jan 15
Attendees: John, Sarah, Mike

Discussed Q1 roadmap
- Feature A is priority
- Feature B pushed to Q2
Sarah to send updated timeline by Friday
Mike will review budget

Next meeting Jan 22
"""

formatter = MeetingNotesFormatter(raw_notes)
formatter.format()
formatter.save("meeting_notes.md")

# Or save as PDF
formatter.save("meeting_notes.pdf")

功能

  • 自动检测:识别标题、参会者、各个部分和待办事项
  • 提取待办事项:提取包含负责人和截止日期的任务
  • 解析参会者:从各种格式中提取参会者名单
  • 整理各个部分:将内容归类到逻辑清晰的部分
  • 输出格式:Markdown、PDF
  • 模板:以一致的格式生成结构化输出

API 参考

初始化
# From string
formatter = MeetingNotesFormatter(raw_notes_string)

# From file
formatter = MeetingNotesFormatter.from_file("notes.txt")
格式化
# Auto-format (detects structure)
formatter.format()

# With manual overrides
formatter.set_title("Weekly Standup")
formatter.set_date("2024-01-15")
formatter.set_attendees(["John Smith", "Sarah Jones"])
formatter.format()
手动配置
# Set meeting metadata
formatter.set_title("Project Review Meeting")
formatter.set_date("January 15, 2024")
formatter.set_time("2:00 PM - 3:00 PM")
formatter.set_location("Conference Room A")

# Set attendees
formatter.set_attendees(["John Smith", "Sarah Jones", "Mike Wilson"])

# Add sections manually
formatter.add_section("Discussion", [
    "Reviewed Q1 roadmap",
    "Discussed resource allocation",
    "Agreed on priorities"
])

# Add action items
formatter.add_action_item("Send timeline update", owner="Sarah", due="Friday")
formatter.add_action_item("Review budget proposal", owner="Mike")
输出
# Get formatted markdown
markdown = formatter.to_markdown()

# Save to file
formatter.save("notes.md")      # Markdown
formatter.save("notes.pdf")     # PDF

# Get structured data
data = formatter.to_dict()

自动检测功能

检测标题

从以下内容识别会议标题:

  • 第一行(如果简短且具有描述性)
  • 包含“meeting”、“sync”、“standup”或“review”的行
  • 记录开头的日期格式
检测参会者

从以下内容提取参会者:

  • “Attendees: John, Sarah, Mike”
  • “Present: John Smith, Sarah Jones”
  • “Participants: @john @sarah @mike”
  • 参会者相关关键词后面的名单
检测待办事项

从以下内容识别任务:

  • “ACTION: Send report”
  • “TODO: Review document”
  • “[John] to send update”
  • “Sarah will review by Friday”
  • 包含负责人或受派人格式的行
检测日期

从以下格式提取日期:

  • “January 15, 2024”
  • “2024-01-15”
  • “01/15/2024”
  • “Jan 15”

输出格式

Markdown 输出
# Weekly Project Sync

**Date:** January 15, 2024
**Time:** 2:00 PM - 3:00 PM
**Attendees:** John Smith, Sarah Jones, Mike Wilson

---

## Discussion

- Reviewed Q1 roadmap progress
- Feature A is on track for release
- Feature B moved to Q2 due to resource constraints

## Decisions

- Prioritize performance improvements
- Delay new feature development until Q2

## Action Items

| Task | Owner | Due Date |
|------|-------|----------|
| Send updated timeline | Sarah | Jan 19 |
| Review budget proposal | Mike | Jan 22 |
| Schedule follow-up | John | Jan 16 |

---

**Next Meeting:** January 22, 2024
PDF 输出

格式专业的 PDF,包含:

  • 清晰易读的排版
  • 组织有序的各个部分
  • 待办事项表格
  • 包含会议详情的页眉

CLI 用法

# Format notes file
python notes_formatter.py --input raw_notes.txt --output formatted.md

# Output as PDF
python notes_formatter.py --input notes.txt --output notes.pdf

# With manual metadata
python notes_formatter.py --input notes.txt \
    --title "Weekly Standup" \
    --date "Jan 15, 2024" \
    --output standup.md
CLI 参数
参数描述默认值
--input输入文本文件必填
--output输出文件路径notes.md
--title覆盖会议标题自动检测
--date覆盖会议日期自动检测
--template输出模板standard

示例

原始记录输入
Team standup 1/15

john sarah mike present

Updates:
- John: finished API integration
- Sarah: working on frontend
- Mike: reviewing PRs

Blockers:
Sarah blocked on design specs
need mike to review sarah's PR

action items:
john to deploy to staging today
sarah follow up with design team
mike review PR by EOD

next standup wednesday
格式化后的输出
# Team Standup

**Date:** January 15, 2024
**Attendees:** John, Sarah, Mike

---

## Updates

- **John:** Finished API integration
- **Sarah:** Working on frontend
- **Mike:** Reviewing PRs

## Blockers

- Sarah blocked on design specs
- Need Mike to review Sarah's PR

## Action Items

| Task | Owner | Due |
|------|-------|-----|
| Deploy to staging | John | Today |
| Follow up with design team | Sarah | - |
| Review PR | Mike | EOD |

---

**Next Meeting:** Wednesday
项目评审记录
notes = """
Q4 Review - Dec 15

Present: Leadership team, Product, Engineering

Revenue exceeded targets by 12%
Customer satisfaction at 94%
Engineering delivered 15 of 18 planned features

Challenges:
- Hiring slower than expected
- Two key features delayed

2024 Planning:
Q1 focus on performance
Q2 new product launch
Need budget approval for new hires

Actions:
CEO to approve headcount by Dec 20
VP Eng to present technical roadmap
Product to finalize Q1 priorities
"""

formatter = MeetingNotesFormatter(notes)
formatter.format()
formatter.save("q4_review.pdf")

模板

标准(默认)
  • 标题和元数据页眉
  • 使用项目符号列出各个部分
  • 待办事项表格
  • 下次会议页脚
精简
  • 简洁的 Markdown
  • 不包含表格
  • 紧凑格式
详细
  • 完整元数据
  • 时间戳
  • 展开的各个部分
  • 决策日志

依赖项

reportlab>=4.0.0
python-dateutil>=2.8.0

限制

  • 仅支持英语
  • 使用结构清晰的原始记录时效果最佳
  • 可能无法捕捉非常非正式记录中的上下文
  • PDF 样式较为基础

评论

支持 Markdown