mcpField
D
daily-briefing-builder

daily-briefing-builder

github.com/brianrwagner生産性449407 回インストール32 週間前に更新
リポジトリ

daily-briefing-builder について

daily-briefing-builderは、Obsidian vaultから当日のアクション、未投稿コンテンツ、天気をまとめるClaude Code向けスキルです。自律実行ではなく、呼び出しに応じてブリーフを作成します。

主な機能

  1. 01当日のアクションファイルを読み込み
  2. 02未投稿のMarkdownをスキャン
  3. 03指定都市の天気を取得
  4. 04更新日時が新しい項目を最大5件表示

活用シーン

  1. 01当日の優先事項を確認
  2. 02未投稿コンテンツのキューを確認
  3. 03朝のブリーフで天気を確認

インストール

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

$npx skills add https://github.com/brianrwagner/ai-marketing-claude-code-skills --skill daily-briefing-builder

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

同梱ファイルSKILL-OC.md

詳細

Daily Briefing Builder

Obsidian ボルトから朝のブリーフィングを生成します。本日のアクションファイルを読み取り、未投稿のコンテンツをスキャンし、天気を取得します。すべて Claude Code のセッション内で行います。

API は不要です。有料サービスも不要です。エージェントの自律性も必要ありません。実行すれば、ブリーフィングが得られます。


使い方

ボルトのディレクトリで Claude Code を開き、次のように入力します。

Run the Daily Briefing Builder skill.

または、あらかじめコンテキストを指定します。

Run the Daily Briefing Builder skill. My vault is at /path/to/vault and my city is Ann+Arbor.

スキルの指示(Claude Code 向け)

このスキルが呼び出されたら、次のフェーズに正確に従ってください。


フェーズ 1:インテーク

ユーザーから次の情報が提供されているか確認します。

  • vault_path — Obsidian ボルトの絶対パス
  • city — 天気を取得する都市名(wttr.in の形式。スペースは + に置き換えます)

どちらか一方でも不足している場合は、先に質問してください。

To run your morning brief, I need two things:
1. Your vault path (e.g. /root/obsidian-vault)
2. Your city for weather (e.g. Ann+Arbor or London)

両方の値が確認できるまで、フェーズ 2 に進まないでください。


フェーズ 2:分析

次のシェルコマンドを順番に実行します。書式を整える前に、すべての出力を取得してください。

ステップ 1 — 本日のアクション:

TODAY=$(date +%Y-%m-%d)
VAULT="VAULT_PATH_HERE"
ACTIONS_FILE="$VAULT/bambf/tracking/daily-actions/${TODAY}.md"

if [ -f "$ACTIONS_FILE" ]; then
  echo "FILE_FOUND"
  awk '/## Today.s 3 Actions/{found=1; next} found && /^[0-9]/{print} found && /^##/{exit}' "$ACTIONS_FILE"
else
  echo "FILE_MISSING:$ACTIONS_FILE"
fi

ステップ 2 — 未投稿コンテンツのスキャン:

VAULT="VAULT_PATH_HERE"
READY_DIR="$VAULT/content/ready-to-post"

if [ -d "$READY_DIR" ]; then
  find "$READY_DIR" -name "*.md" -printf "%T@ %p\n" 2>/dev/null \
    | sort -rn | awk '{print $2}' \
    | while read f; do
        if grep -q '\*\*Posted:\*\* ❌' "$f" 2>/dev/null; then
          platform=$(echo "$f" | sed "s|.*/ready-to-post/||" | cut -d'/' -f1)
          title=$(grep -m1 '^[^#\-\*>|` ]' "$f" 2>/dev/null | head -c 100)
          rel="${f##$VAULT/}"
          echo "ITEM|$platform|$rel|$title"
        fi
      done
else
  echo "DIR_MISSING:$READY_DIR"
fi

ステップ 3 — 天気:

curl -s --max-time 5 "wttr.in/CITY_HERE?format=3" || echo "WEATHER_UNAVAILABLE"

フェーズ 3:出力

ブリーフィングを書式化し、ターミナルに表示します。

☀️ Morning Brief — [Weekday, Month Day]

TODAY'S 3 ACTIONS
[numbered actions, or fallback message if file missing]

READY TO POST ([shown] of [total])
[platform] [title] — [relative file path]
...and X more in the pipeline   ← only if total > 5

WEATHER
[wttr.in output or fallback]

書式ルール:

  • 投稿可能な項目の表示は5 項目まで(更新日時の新しい順)
  • content/ready-to-post/ が存在しない場合:No ready-to-post folder found
  • 未投稿ファイルがない場合:Content queue is empty
  • アクションファイルがない場合:No actions file for today — create one at bambf/tracking/daily-actions/YYYY-MM-DD.md
  • 天気の取得に失敗した場合:Weather unavailable (offline) — ブリーフィングの生成は中止しないでください

フェーズ 4:自己批評

提示する前に、次の内部チェックを実行します。失敗した項目は修正し、4 項目すべてに合格するまで提示しないでください。

  1. アクションの正確性 — アクションファイルは見つかりましたか?番号付き項目は正しく抽出されましたか?ファイルが存在するのに項目が見つからなかった場合は、見出しが一致していない可能性を記載してください。
  2. コンテンツの完全性 — ステップ 2 の出力にある ITEM| 行を数えてください。ブリーフィングに表示されている数と一致していますか?スキップされたファイルはありませんか?
  3. 天気の取得結果 — curl は有効な出力を返しましたか?失敗した場合、フォールバックが表示されていますか?
  4. 書式の明瞭さ — 生の bash 出力がないこと。プレースホルダーテキストがないこと。3 つのセクションがすべて含まれていること。

出力例

☀️ Morning Brief — Friday, February 28

TODAY'S 3 ACTIONS
1. Finish Q1 content calendar
2. Send invoice to BAMBF client
3. Publish LinkedIn post on AI ops

READY TO POST (5 of 9)
[linkedin] Nobody talks about what happens when your AI system fails... — content/ready-to-post/linkedin/ai-ops-failure.md
[twitter] The overnight ops shift is real. We run Scribe at 2am... — content/ready-to-post/twitter/async-ops.md
[newsletter] AI marketing systems that actually work — content/ready-to-post/newsletter/systems-post.md
[linkedin] Three things I stopped doing after deploying agents — content/ready-to-post/linkedin/stopped-doing.md
[twitter] Founders who ignore async AI ops are about to find out why — content/ready-to-post/twitter/ignore-ops.md
...and 4 more in the pipeline

WEATHER
Ann Arbor: ☀️  +42°F

Daily Actions ファイルの形式

想定されるパス:<vault>/bambf/tracking/daily-actions/YYYY-MM-DD.md

想定される構造:

# Daily Actions — 2026-03-01

## Today's 3 Actions
1. First priority
2. Second priority
3. Third priority

別のパスや見出しを使用している場合は、スキルを呼び出す際に Claude Code に伝えてください。


要件

  • bash ツールにアクセスできる Claude Code
  • content/ready-to-post/ フォルダーを含むボルト(未投稿として認識されるには、ファイルに **Posted:** ❌ が含まれている必要があります)
  • curl がインストールされていること(インストールされていなくても、天気の取得はエラーを処理して続行します)
  • Daily actions ファイルは任意です。ファイルがなくてもブリーフィングは実行されます

コメント