ソーシャルカレンダーレビュー
フィードバックループを閉じるための週次チェック。過去7日間を振り返り、今後14日間を展望し、短いレポートを書き、social-calendar スキルを駆動するマークダウンファイルへの編集を提案します。
このスキルはAirtableを読み取り、書き込みは一切行いません。ルーチンプロンプトで別途指示がない限り、ユーザーが変更を承認した後にのみ、戦略ファイルやチャンネルファイルを変更します。
セットアップ
- 環境変数またはワーキングディレクトリ/リポジトリルートの
.envにAIRTABLE_TOKENとAIRTABLE_BASE_IDを設定。 STRATEGY_DIRはstrategy.mdとchannels/フォルダがあるディレクトリを指定。未設定の場合は、ワーキングディレクトリ、./my-strategy/、./strategy/の順にstrategy.mdを探す。- メインスキルのカレンダースクリプト:
skills/social-calendar/scripts/airtable_calendar.py(以下$CAL)。Airtable MCPコネクタが接続されていればそれも使用可能。
手順
1. ルールを読み込む
strategy.md とアクティブなチャンネルの channels/*.md をすべて読む(python3 $CAL channels)。チャンネルごとに以下を記録:目標投稿頻度、許可される投稿タイプ、ボイスルール、禁止ワードやトピック、ハッシュタグルール、所有者。戦略ファイルから現在のOKRとコンテンツピラーを記録する。
前回のレビューが $STRATEGY_DIR/reviews/ に存在する場合は、それを読み、承認された提案が適用されたかどうかを確認する。
2. 過去7日間を振り返る
python3 $CAL list --from -7 --to today --json > /tmp/review-past.json
このリストから以下を確認する:
- Live 投稿:これが主な分析対象。
- Failed および Manual 投稿:失敗は修正されたか?手動投稿は実際に投稿されたか?
- To approve、Needs media、Approved で日付が過去のもの:承認漏れやパブリッシャーが実行しなかった投稿。
各 Live 投稿をチャンネルファイルおよび戦略と照合する:
- ボイスとフォーマット:チャンネルファイルの例と合致しているか?文字数、ハッシュタグ、リンク、絵文字の使用はファイルの指示通りか?
- 適合性:
strategy.mdのピラーやOKRに貢献しているか?投稿タイプはこのチャンネルで許可されているか? - 投稿頻度:チャンネルごとに目標頻度と実際の数を比較。超過または不足しているチャンネルを記録。
- 重複:同じチャンネルでほぼ同一の投稿、または同じ日に全チャンネルで同じメッセージが流れていないか。
- 事実確認:
Sourceフィールドで裏付けられていない主張、数字、名前。
特定の投稿を指摘できる問題のみを報告する。レコード名と日付を引用すること。
3. 今後14日間を展望する
python3 $CAL list --from +1 --to +14 --json > /tmp/review-next.json
チャンネルと週ごとに、以下をフラグする:
- 不足:目標頻度を下回っている週。周囲にある既存コンテンツ(未使用のクリップがあるポッドキャスト、最近の記事など)からどの投稿タイプで補填できるか提案する。
- 過負荷:1日に複数の投稿があるチャンネル、または1週間が1つのタイプに偏っている場合(ニュース投稿3連続、連続プロモーションなど)。
- 戦略外の投稿:どのピラーにも合致しない、またはチャンネルファイルで除外されている内容。
- 承認のボトルネック:今後3日以内に公開予定の To approve 投稿を所有者ごとにグループ化し、催促できるようにする。
- Needs media 投稿:今後7日以内に公開予定で、それぞれに必要なメディアを明記する。
4. 可能な限り指標を取得する
以下の順で試行し、利用可能なものを使用する:
- プラットフォームコネクタ(LinkedInコネクタや他の分析MCPなど):過去7日間の投稿ごとにインプレッション、リアクション、コメント、リポスト、クリックを取得し、
Live linkまたは日付とチャンネルでレコードと突き合わせる。 - ウェブ分析コネクタ(GA4など):ソーシャルリファラーやUTMタグ付きリンクからの週間セッションを取得する。
- 手動エクスポート:
$STRATEGY_DIR/metrics/内のCSVファイル(例:LinkedInページ分析エクスポート)。チャンネルごとに最新のファイルを使用し、読み取ったファイル名を明記する。
いずれの方法も存在しないチャンネルについては、「今週の <チャンネル名> の指標はありません」と書き、次に進む。数値を推定、外挿、または捏造してはならない。指標がなくても、戦略と投稿頻度のチェックには有用である。
指標がある場合は、同じチャンネル内での投稿のみを比較する。少なくとも3件の投稿にわたって繰り返されるパターン(投稿タイプ、書き出しスタイル、メディアの有無、曜日など)を探す。単一の良い/悪い投稿はパターンと見なさない。
5. レポートを作成する
$STRATEGY_DIR/reviews/YYYY-MM-DD.md に保存(フォルダがなければ作成)し、内容を表示する。1画面以内に収めること:
# Social review, week of 2026-11-02
## Summary
3〜5行の平文。何が公開されたか、何が問題だったか、1つだけ改善すべき点。
## Last 7 days
| Channel | Live | Target | Failed | Notes |
|---|---|---|---|---|
具体的な問題を、レコード名と日付を付けて1件ずつ箇条書き。
## Metrics
チャンネルごとに:見つけた内容とその出典、または「今週の <チャンネル名> の指標はありません」。
## Next 14 days
不足、過負荷、戦略外の投稿、追跡すべき承認(所有者別)、まだ必要なメディア。
## Proposed changes
番号付きリスト。各項目はファイル名、変更理由(一文)、および差分を示す。
6. 戦略ファイルとチャンネルファイルへの編集を提案する
今週の証拠が裏付ける場合にのみ変更を提案する:繰り返されるミス、誰も守っていないルール、維持できない投稿頻度、複数投稿にわたる指標のパターンなど。各提案は現在のファイルに対する unified diff とする:
--- channels/brightloop-linkedin.md
+++ channels/brightloop-linkedin.md
@@ Cadence @@
-- 5 posts per week, Monday to Friday
+- 4 posts per week, Monday to Thursday. Friday posts got under half the reactions of other days over the last 6 weeks.
diff は適用しない。リストアップして、ユーザーがどの提案を適用したいか返信するのを待つ。ルーチンプロンプトで明示的に許可されている場合にのみ、かつその許可された種類の変更についてのみ、確認なしで適用する。他人のチャンネルファイルは、たとえ変更適用が許可されている場合でも、その人の承認なしに変更してはならない。
このスキルからAirtableのレコードを編集しない。予定された投稿を変更すべき場合は、どの投稿でなぜかを伝える。変更はユーザーまたは social-calendar スキルが行う。
サンプルルーチンプロンプト
毎週のスケジュールタスクまたはルーチンとして設定する(例:毎週月曜08:00、リポジトリを作業ディレクトリとして):
Run the social-calendar-review skill for the past week.
STRATEGY_DIR is ./my-strategy. Airtable credentials are in .env.
Use the LinkedIn connector for metrics if it's available. Otherwise read the newest
CSV in ./my-strategy/metrics/ for each channel, and say plainly where there are none.
Save the report to ./my-strategy/reviews/ and post the Summary and Proposed changes
sections to #marketing in Slack.
Don't apply any proposed changes. I'll reply with the numbers I want applied.
ルーチンが小さな修正を自律的に行うようにするには、最後の行を「You may apply proposed changes to hashtag lists and posting days in my own channel files. Leave everything else as a proposal.」のように置き換える。