mcpField
V
voice-note-ingest

voice-note-ingest

github.com/garrytan生産性31.3k205 回インストール今日更新
リポジトリ

voice-note-ingest について

voice-note-ingestは、音声メモを1件ずつ処理し、文字起こしをそのまま保って適切なナレッジベースのページに振り分ける、エージェント向けのMarkdownスキルです。音声保存、引用、言及された人物や企業へのリンクも定めています。

主な機能

  1. 01文字起こしを一字一句そのまま保持
  2. 02元の音声を保存
  3. 03内容を主題に応じて振り分け
  4. 04出典の引用とページリンクを作成
  5. 051回の処理で音声メモを1件扱う

活用シーン

  1. 01言い換えずに口述のアイデアを記録
  2. 02音声メモから内省や製品案を整理
  3. 03音声をもとに人物や企業のタイムラインを更新
  4. 04音声を対応するナレッジベースページと保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/garrytan/gbrain --skill voice-note-ingest

インストール後、Claude Code で/voice-note-ingestを入力して読み込まれたか確認します。

同梱ファイルrouting-eval.jsonl

詳細

voice-note-ingest — 正確な言い回しでの音声記録

規約: 引用ルール、バックリンクの徹底、正確な言い回しの要件については、conventions/quality.md を参照してください。

規約: 記録先の判断プロトコルについては、_brain-filing-rules.md を参照してください。

鉄の掟

ユーザーの正確な言葉が洞察です。言い換えてはいけません。整えてはいけません。生き生きとしていて、洗練されていない、思考の流れそのままの言い回しには、整えた文章では伝わらない何かが捉えられています。ブロック引用でそのまま残してください。Analysis セクションで解釈してもかまいませんが、トランスクリプトのセクションは神聖なものです。

  • ✅ "The ambition-to-lifespan ratio has never been more fucked"
  • ❌ User noted the tension between ambition and mortality

起動するタイミング

ユーザーが任意のチャネル(Telegram、ボイスメモのアップロード、openclaw の音声添付ファイル)を通じて音声またはボイスメッセージを送信した場合です。通常、ホストエージェントがトランスクリプトのテキストを提供します。提供されない場合は、ホストの文字起こしツールで文字起こししてください(Groq Whisper は高速で低コストです。OpenAI Whisper も使えます。音声が 25MB を超える場合は、まず ffmpeg で分割してください)。

パイプライン

1. STORE       → Upload original audio to gbrain storage backend
                 (S3 / Supabase Storage / local — pluggable per
                 src/core/storage.ts).
2. TRANSCRIBE  → Use the agent-provided transcript verbatim, OR
                 transcribe the audio yourself (see "When to invoke")
                 if no transcript was supplied.
3. ROUTE       → Apply the decision tree (below) to find the right
                 destination directory.
4. WRITE       → Create / update the destination brain page; preserve the
                 verbatim transcript in a block-quoted "User's Words"
                 section.
5. CROSS-LINK  → For every entity mentioned (person, company), add a
                 timeline back-link from THEIR brain page to THIS one
                 (Iron Law per conventions/quality.md).

判断ツリー(コンテンツの保存先)

上から順に適用してください。最初に該当した項目を優先します。複数のカテゴリに該当する場合は、主要なディレクトリに保存し、ほかのディレクトリへの相互リンクを追加してください。

  1. 独自のアイデア、観察、または主張 — ユーザー自身が生み出した新しい考え、フレームワーク、つながりを表現している場合。 → originals/<slug>.md。スラッグには、ユーザーの生き生きとした言葉を使ってください。

  2. ユーザーが知った世界の概念について — ユーザーが言及している、他者が作成したフレームワークやモデルの場合。 → concepts/<slug>.md。

  3. 特定の人物について — その人物に関する新しい情報、意見、観察の場合。 → people/<person>.md のタイムラインを更新します。

  4. 特定の企業について — その企業に関する新しい情報の場合。 → companies/<company>.md のタイムラインを更新します。

  5. 製品またはビジネスのアイデア — 実際に構築できるものの場合。 → ideas/<slug>.md。

  6. 個人的な振り返り — セラピーに近い内容、感情、アイデンティティに関する場合。 → 適切な personal/<slug>.md に追記します。

  7. 上記のいずれにも当てはまらない/思いつき/分類しにくい内容 — → voice-notes/YYYY-MM-DD-<slug>.md(その他すべて)。

複数のカテゴリに該当する場合は? 主要なページを作成し、ほかのすべてのページへの相互リンクを追加してください。ボイスメモが人物と新しいアイデアの両方を扱っている場合は、originals/ ページを作成し、その人物のタイムラインも更新します。

ブレインページの形式

ボイスメモから作成するすべてのページに、次のひな形を含めてください。

---
title: "[Title derived from content]"
type: [original | concept | voice-note | ...]
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [voice-note, relevant-tags]
sources:
  voice-note:
    type: voice_note
    storage_path: "[gbrain storage URL or relative path]"
    acquired: YYYY-MM-DD
    acquired_via: "voice note from <channel>"
---

# Title

> Executive summary of what was said and why it matters.

## User's Words

> "Exact transcript, verbatim, preserving every word, hesitation, and verbal
> tic. This is the primary source material. Do not edit."

🔊 [Audio]([gbrain storage URL or relative path])

## Analysis

[What this means, why it matters, connections to other thinking. The
analysis is the agent's interpretation; the transcript above is sacred.]

## See Also

- [Related brain pages with relative links]

---

## Timeline

- **YYYY-MM-DD** | voice note from <channel> — [Brief description]

引用形式

[Source: voice note, <channel>, YYYY-MM-DD]

利用できる場合はタイムスタンプを含めてください。

[Source: voice note, <channel>, YYYY-MM-DD HH:MM PT]

命名規則

  • 音声ファイル:YYYY-MM-DD-<brief-slug>.<ext>(例: 2026-04-13-rick-rubin-creative-philosophy.ogg)
  • ブレインページ:保存先ディレクトリのスラッグと一致させます。

一括処理と単独処理

このスキルが扱うボイスメモは一度に 1 件です。それぞれ独立した取り込みサイクルとして処理します。 一括処理は行いません。

失敗した場合

gbrain のエラー code、終了コード、[AGENT] ブロック、または通知ブロックについては、agent operator protocol に従ってください。このスキル固有の対応は以下のとおりです。

  • 文字起こしを利用できない、またはストレージバックエンドが音声を受け付けない(gbrain storage にバックエンドが表示されない)場合:手元にあるメモのテキストを保存し、音声が保存されなかったことをユーザーに伝えてください。
  • 振り分け先のページへの書き込みで revision_conflict または write_pending が返された場合:再読み込みしてマージするか、gbrain write-request <request_id> をポーリングしてください。競合を解決するために言い換えてはいけません。

アンチパターン

  • ❌ トランスクリプトを言い換えること。 正確な言葉こそがシグナルです。
  • ❌ ためらいやフィラー語(「えーと」「なんか」「あの」)を整えること。 言葉の手触りが重要です。
  • ❌ 人物や企業に言及しているのに、エンティティへの相互リンクがないページを作成すること。 鉄の掟に反します。
  • ❌ 音声の保存手順を省略すること。 必ず元の音声をアップロードしてください。ブレインページには、音声へのリンク 🔊 [Audio] が含まれます。

関連スキル

  • skills/signal-detector/SKILL.md — テキストチャンネルでアイデアを記録するための、同じ完全一致フレーズのパターン
  • skills/idea-ingest/SKILL.md — 入力テキストによるアイデアの取り込み用
  • skills/conventions/quality.md — 引用とバックリンクのルール

契約

このスキルでは、次のことが保証されます。

  • ルーティングがフロントマターの正規トリガーと一致します。
  • 適用される場合、writes_to: に記載されたディレクトリに出力が書き込まれます。
  • 参照される規約(quality.md、brain-first.md、_brain-filing-rules.md)が遵守されます。
  • プライバシー契約が維持されます。実名、フォーク固有のファイルシステムパスを示すリテラル、アップストリームフォークへの言及は含まれません。

完全な動作契約は上記の本文セクションに記載されています。このセクションは適合性テストのために設けられています。

出力形式

このスキルの出力形式は上記の本文セクションに記載されています(「Output」、「Brain page format」または同等のセクションを参照)。ここにある見出しは、適合性テスト(test/skills-conformance.test.ts)のためのものです。

コメント