22sunje22-sys/push-calls

通話文字起こしを処理してアクションアイテムを抽出し、部門長に割り当て、Push Buildin(通話ログ+タスクトラッカー)にエントリを作成し、Supabaseに記録します。

push-calls とは?

このスキルは、通話の文字起こしを解析し、アクションアイテムを抽出して、それらを担当者に割り当て、Push Buildinのデータベース(通話ログとタスク管理)のエントリを作成し、Supabaseに記録する自動化パイプラインを提供します。まず、Buildin APIから最新の参照データ(担当者リスト、通話タイプ)を取得します。次に、通話のコンテキスト(トピック、参加者)をユーザーに確認し、文字起こしからタスクを抽出し、各タスクに担当部門、担当者、期限を割り当てます。最後に、確認のためのアクションリストを表示し、ユーザーの承認後にSupabaseとBuildinの両方にデータを書き込みます。このスキルは主にClaude Codeエージェント向けに設計されており、明示的なマークダウン指示に従って動作します。ハードコードされたAPIトークンとデータベースIDを使用するため、実行環境に応じた設定が必要です。

対応~Claude Code~Codex CLI~Cursor
npx skills add 22sunje22-sys/push-calls

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

/post-call — 通話文字起こしの処理

トークン(ハードコード)

Push Buildin token:  vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C
Buildin base URL:    https://api.buildin.ai/v1
Supabase URL:        https://zffhjnbpbjknclrbcujs.supabase.co
Supabase anon key:   eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpmZmhqbmJwYmprbmNscmJjdWpzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTExMzIwMTIsImV4cCI6MjA2NjcwODAxMn0.bWXoX_8q89lEFlMCDZ1I2iwUL1CTsU8LNCCn3nO3E3Y

Buildinデータベース(ライブリファレンス — 各通話前に読み込むこと)

データベースDB IDリンク
PUSH MINUTKI(ページ)0bc28d48-749b-42f5-85f6-db89fbc9002dhttps://buildin.ai/0bc28d48-749b-42f5-85f6-db89fbc9002d
担当者aa20294d-66d1-4a2e-ba16-1c27dc954ba0—
通話タイプ9bc18952-3b94-4e76-af68-e27a8a66915e—
通話ログ0cb45851-65b1-4bd0-875b-6d598cc2d728—
通話タスク497c3ec8-08fa-4996-a88c-ed07b884285a—

フロー

ステップ 0: Buildinからリファレンスデータを読み込む

文字起こしを処理する前に、最新のデータを取得します。

担当者:

curl -s -X POST "https://api.buildin.ai/v1/databases/aa20294d-66d1-4a2e-ba16-1c27dc954ba0/query" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"property": "アクティブ", "select": {"equals": "はい"}}}'

応答から: results[].properties.名前.title[0].text.content と results[].properties.部門.select.name

通話タイプ:

curl -s -X POST "https://api.buildin.ai/v1/databases/9bc18952-3b94-4e76-af68-e27a8a66915e/query" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{}'

応答から: results[].properties.名称.title[0].text.content

ステップ 1: オンボーディング — コンテキストを尋ねる

📞 通話のコンテキスト:
1. この通話は何についてでしたか?(リファレンスからのトピック/タイプ)
2. 誰と話しましたか?(名前/部門)

通話タイプがリストにない場合 → 通話タイプデータベースに追加してください(下記参照)。

ステップ 2: 文字起こしの分析

すべてのタスクを抽出します。各タスクについて:

  • タスク — 明確な表現、命令形
  • 部門 — 担当者データベースから
  • 担当者 — 担当者データベースから;新しい場合は追加(下記参照)
  • 期限:
    • 明示的な場合 → YYYY-MM-DDに変換
    • 「次の会議までに」/「1週間後」→ 今日 + 7日
    • 言及なし → 尋ねる

ステップ 3: 確認用に表示

📋 アクションリスト: [トピック]
日付: [日付] | 参加者: [リスト]

No.  タスク                      部門         担当者        期限
1.    ...                         サポート     ヤナ         2026-04-15
2.    ...                         UC製品      ディマ       ?

期限未設定のタスク: 2 — 日付を指定するか、空のままにしますか?

確認を待ちます。

ステップ 4: Supabaseへの記録

calls_log:

curl -s -X POST "https://zffhjnbpbjknclrbcujs.supabase.co/rest/v1/calls_log" \
  -H "apikey: <ANON_KEY>" \
  -H "Authorization: Bearer <ANON_KEY>" \
  -H "Content-Type: application/json" \
  -H "Prefer: return=representation" \
  -d '{"title":"<トピック>","call_date":"<YYYY-MM-DD>","participants":"<参加者>","transcript_text":"<文字起こし>","summary":"<要約>","created_by":"<名前>"}'

id を保存 → これは call_id になります。

calls_tasks(配列):

curl -s -X POST "https://zffhjnbpbjknclrbcujs.supabase.co/rest/v1/calls_tasks" \
  -H "apikey: <ANON_KEY>" \
  -H "Authorization: Bearer <ANON_KEY>" \
  -H "Content-Type: application/json" \
  -d '[{"call_id":"<id>","task":"<テキスト>","department":"<部門>","responsible":"<名前>","deadline":"<YYYY-MM-DD>","status":"open"}]'

ステップ 5: Buildinへの記録

通話ログ:

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"0cb45851-65b1-4bd0-875b-6d598cc2d728"},"icon":{"type":"emoji","emoji":"📞"},"properties":{"名称":{"title":[{"text":{"content":"<トピック>"}}]},"日付":{"date":{"start":"<YYYY-MM-DD>"}},"参加者":{"rich_text":[{"text":{"content":"<参加者>"}}]},"要約":{"rich_text":[{"text":{"content":"<要約>"}}]},"Supabase ID":{"rich_text":[{"text":{"content":"<call_id>"}}]}}}'

タスク(1件ずつ):

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"497c3ec8-08fa-4996-a88c-ed07b884285a"},"properties":{"タスク":{"title":[{"text":{"content":"<タスク>"}}]},"部門":{"select":{"name":"<部門>"}},"担当者":{"select":{"name":"<名前>"}},"期限":{"date":{"start":"<YYYY-MM-DD>"}},"ステータス":{"select":{"name":"未完了"}},"通話":{"rich_text":[{"text":{"content":"<通話トピック>"}}]}}}'

ステップ 6: 最終レポート

✅ 完了!
📋 通話が記録されました: https://buildin.ai/0bc28d48-749b-42f5-85f6-db89fbc9002d
✅ 作成されたタスク数: N
   • ヤナ(サポート): 2
   • ディマ(UC製品): 1

新しい担当者の追加

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"aa20294d-66d1-4a2e-ba16-1c27dc954ba0"},"properties":{"名前":{"title":[{"text":{"content":"<名前>"}}]},"部門":{"select":{"name":"<部門>"}},"役割":{"rich_text":[{"text":{"content":"<役割>"}}]},"アクティブ":{"select":{"name":"はい"}}}}'

新しい通話タイプの追加

curl -s -X POST "https://api.buildin.ai/v1/pages" \
  -H "Authorization: Bearer vMU8aYxPH9B1DhjDStRRfZNWrmYJWefP2TFH4k2C" \
  -H "Content-Type: application/json" \
  -d '{"parent":{"database_id":"9bc18952-3b94-4e76-af68-e27a8a66915e"},"properties":{"名称":{"title":[{"text":{"content":"<名称>"}}]},"説明":{"rich_text":[{"text":{"content":"<説明>"}}]},"頻度":{"select":{"name":"<毎週|毎月|1回|オンデマンド>"}}}}'

ルール

  • 記録する前に常にアクションリストを表示すること
  • リファレンスデータはBuildinから読み込むこと — キャッシュを信用しないこと
  • Buildinへのリクエストはタスクごとに1回行うこと(バッチ処理はしない)
  • ユーザーの言語で応答すること

関連スキル