daily-briefing-builder について
daily-briefing-builderは、Obsidian vaultから当日のアクション、未投稿コンテンツ、天気をまとめるClaude Code向けスキルです。自律実行ではなく、呼び出しに応じてブリーフを作成します。
主な機能
- 01当日のアクションファイルを読み込み
- 02未投稿のMarkdownをスキャン
- 03指定都市の天気を取得
- 04更新日時が新しい項目を最大5件表示
活用シーン
- 01当日の優先事項を確認
- 02未投稿コンテンツのキューを確認
- 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 項目すべてに合格するまで提示しないでください。
- アクションの正確性 — アクションファイルは見つかりましたか?番号付き項目は正しく抽出されましたか?ファイルが存在するのに項目が見つからなかった場合は、見出しが一致していない可能性を記載してください。
- コンテンツの完全性 — ステップ 2 の出力にある
ITEM|行を数えてください。ブリーフィングに表示されている数と一致していますか?スキップされたファイルはありませんか? - 天気の取得結果 — curl は有効な出力を返しましたか?失敗した場合、フォールバックが表示されていますか?
- 書式の明瞭さ — 生の 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 ファイルは任意です。ファイルがなくてもブリーフィングは実行されます