スキル一覧に戻る
nathanvale

meeting-from-transcription

by nathanvale

SideQuest - ADHD-friendly Claude Code plugins for developers who thrive on hyperfocus. Tools that work with your brain, not against it.

1🍴 0📅 2026年1月21日
GitHubで見るManusで実行

SKILL.md


Meeting from Transcription

Create meeting notes from transcription sources with intelligent metadata extraction.

Input Detection

InputAction
No argumentQuery inbox for transcriptions, show list
.vtt fileConvert first, requires --date
.md fileValidate type: transcription
Bare nameExpand to 00 Inbox/<name>.md

Workflow

Step 1: Resolve Input

No input provided:

First, prime the index to ensure it's up-to-date:

para_index_prime({ dir: "00 Inbox", response_format: "json" })

Then query for transcriptions:

para_index_query({ frontmatter: "type=transcription", dir: "00 Inbox", response_format: "json" })
  • If transcriptions found → Display numbered list with recorded dates, then stop
  • If none found → Use AskUserQuestion to prompt for file path

Input provided:

  • .vtt extension → See vtt-conversion.mdREQUIRES --date flag
  • .md or bare name → Continue to Step 2

Path expansion: If no / in path, prepend 00 Inbox/. If no .md extension, append it.

Step 2: Read & Validate Transcription

para_read({ file: "<PATH>", response_format: "json" })

Validate frontmatter:

  • Has frontmatter block
  • Has type: transcription
  • Has recorded field OR user provided --date

On validation error → See error-handling.md

Extract:

  • recorded → Meeting datetime (or use --date override)
  • summary → Use if present, otherwise generate from content
  • Body content → Everything AFTER the --- frontmatter block

Step 3: Determine Meeting Type

If --type override provided, use it. Otherwise infer from transcript content.

See meeting-types.md for enum values and inference signals.

Step 3b: Determine Area or Project

REQUIRED: Meeting notes must have either area or project in frontmatter.

  1. Check transcription frontmatter for existing area or project field
  2. If present → Use that value (already a wikilink)
  3. If not present → Use AskUserQuestion to ask user:
    • "Which area or project does this meeting belong to?"
    • Provide options based on context from the transcript content
    • Include "Other" option for custom input

The value must be a wikilink format: [[Area Name]] or [[Project Name]]

Step 4: Commit Uncommitted Changes

para_commit({ response_format: "json" })

Step 5: Create Meeting Note

cd ${CLAUDE_PLUGIN_ROOT} && bun src/cli.ts create \
  --template meeting \
  --source-text "<TRANSCRIPT_BODY>" \
  --arg "meeting_date=<DATE>" \
  --arg "meeting_type=<TYPE>" \
  --arg "transcription=[[<NOTE_NAME>]]" \
  --arg "summary=<SUMMARY>" \
  --arg "area=[[<AREA_NAME>]]"

Or if project instead of area:

  --arg "project=[[<PROJECT_NAME>]]"

Arguments:

  • meeting_date — ISO format: YYYY-MM-DDTHH:mm:ss
  • meeting_type — One of: 1-on-1, standup, planning, retro, review, interview, stakeholder, general
  • transcription — Note name WITHOUT path or .md extension, wrapped in [[...]]
  • summary — Concise 1-line description (max 100 chars)
  • area OR projectREQUIRED (one of these must be provided) — Wikilink to parent area or project

Extract meeting filename from CLI output, then:

para_frontmatter_set({
  file: "<TRANSCRIPTION_PATH>",
  set: { "meeting": "[[<MEETING_NOTE_NAME>]]" },
  response_format: "json"
})

Step 7: Final Commit

para_commit({ response_format: "json" })

Step 8: Report Results

Return:

  • Meeting note path created
  • Meeting type (inferred or overridden)
  • Summary used
  • Confirmation of bi-directional links

References

Load as needed based on input type or errors:

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です