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. 04Markdown と 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 のスタイル設定は基本的なものです

コメント