Install any skill in seconds. Free to start, no credit card required.
Get Started Free →コンテンツのA/Bテスト・自己改善ループを支援するプランナースキル。 市場トレンド調査 → 仮説生成 → 実験設計 → メトリクス収集 → 分析改善の全サイクルをカバー。 「コンテンツを最適化」「投稿を改善したい」「トレンド分析して投稿案を作って」「エンゲージメント改善」等のリクエストで発動。
.claude/skills/minicoohei-content-optimizer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 134% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 18% | 0% |
5ソース(X, Google検索, Google Trends, Reddit/HN, 競合アカウント)から市場データを収集し、 LLMで統合分析して仮説とA/Bバリアントを自動生成します。 生成した投稿バリアントをTypefullyにドラフト登録し、投稿後のパフォーマンスを測定・学習することで、 コンテンツの継続的な自己改善サイクルを実現します。
① 市場調査 → ② 仮説生成 → ③ バリアント作成 → ④ 投稿(Typefully) → ⑤ メトリクス収集 → ⑥ 分析・学習 → ①に戻るbash# 仮説生成(トレンド調査→仮説→バリアント一気通貫) python skills/content-optimizer/scripts/hypothesis_generator.py --topic "AIエージェント" --channel x_twitter # メトリクス収集(投稿後のパフォーマンス測定) python skills/content-optimizer/scripts/collect_metrics.py --tweet-ids "123,456" --experiment-id exp-001 # ドライラン(API呼び出しなし) python skills/content-optimizer/scripts/hypothesis_generator.py --topic "SaaS" --dry-run
| スクリプト | 用途 | |-----------|------| | hypothesis_generator.py | 市場調査→仮説生成→バリアント作成 | | collect_metrics.py | ツイートメトリクス収集・バリアント比較 | | typefully_client.py | Typefully API v2 クライアント |
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | --topic, -t | Yes | - | 調査トピック | | --channel, -c | No | x_twitter | チャネル: x_twitter, email, linkedin | | --competitors | No | - | 競合アカウント(カンマ区切り) | | --lang, -l | No | ja | 言語: ja, en, all | | --days, -d | No | 7 | 調査期間 | | --num-hypotheses | No | 5 | 生成する仮説数 | | --auto-draft | No | false | Typefullyにドラフト自動作成 | | --output, -o | No | output/content-optimizer/ | 出力先 | | --dry-run | No | false | API呼び出しなしでプレビュー | | --test | No | false | セルフテスト |
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | --tweet-ids | No | - | メトリクス取得対象ツイートID(カンマ区切り) | | --username | No | - | ユーザーの直近投稿を取得 | | --experiment-id | No | - | 実験IDで紐付けて比較 | | --days-after | No | 3 | 投稿後何日分のメトリクスを取得 | | --output, -o | No | output/content-optimizer/ | 出力先 | | --test | No | false | セルフテスト |
| ソース | API | 取得データ | 環境変数 | |--------|-----|----------|---------| | X (Twitter) | X API v2 Recent Search | バズ投稿(エンゲージメント上位) | X_BEARER_TOKEN | | Google 検索 | Gemini Google Search grounding | トレンド記事・ベストプラクティス | GEMINI_API_KEY | | Google Trends | Gemini grounding経由 | 検索ボリューム推移・急上昇トピック | GEMINI_API_KEY | | Reddit / HN | Reddit JSON API + HN Algolia API | コミュニティ議論・センチメント | 不要 | | 競合アカウント | X API v2 User Tweets | 競合の高パフォーマンス投稿 | X_BEARER_TOKEN |
output/content-optimizer/hypotheses/YYYYMMDD_HHMMSS_{topic}/
├── market_report.md # トレンドレポート
├── hypotheses.yaml # 仮説リスト(優先度付き)
├── experiment_design.yaml # 実験設計書
├── raw_data.json # 全ソースの生データ
└── drafts/ # A/Bバリアント投稿案
├── variant_a.md
└── variant_b.mdbash# .env に追加 X_BEARER_TOKEN=your_x_bearer_token_here # X API v2 検索・ユーザー取得 GEMINI_API_KEY=your_gemini_api_key_here # Google Search grounding + LLM分析
bashTYPEFULLY_API_KEY=your_typefully_key_here # --auto-draft オプション使用時
hypothesis_generator.py でトレンド分析 → 仮説 → バリアント生成--auto-draft フラグ)collect_metrics.py でパフォーマンス測定bash# AIエージェントについてX向けに仮説生成(日本語) python skills/content-optimizer/scripts/hypothesis_generator.py \ --topic "AIエージェント" --channel x_twitter --lang ja # 競合アカウントも調査してバリアントをTypefullyに自動登録 python skills/content-optimizer/scripts/hypothesis_generator.py \ --topic "SaaS" --competitors "user_a,user_b" --auto-draft # 英語でLinkedIn向けコンテンツを5仮説生成 python skills/content-optimizer/scripts/hypothesis_generator.py \ --topic "productivity" --channel linkedin --lang en --num-hypotheses 5 # ツイートID指定でメトリクス収集 python skills/content-optimizer/scripts/collect_metrics.py \ --tweet-ids "1234567890,0987654321" --experiment-id exp-001 # ユーザーの直近投稿を取得して分析 python skills/content-optimizer/scripts/collect_metrics.py \ --username myaccount --days-after 7 # dry-run でどんなデータが取れるか確認 python skills/content-optimizer/scripts/hypothesis_generator.py \ --topic "生成AI" --dry-run
textrequests>=2.28.0 python-dotenv>=0.19.0 pyyaml>=6.0 google-genai>=0.5.0
x-research — X検索データの収集ab-test-setup — 実験設計の詳細フレームワークsocial-content — SNSコンテンツ戦略content-strategy — コンテンツ計画analytics-tracking — メトリクス計測| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 15,576 | 21,756 | +40% | 1 | 1 | 0% | 2,305 | 4,902 | +113% | 0 | 0 | — |
case-02 | fail→pass | 16,489 | 3,274 | -80% | 1 | 1 | 0% | 2,334 | 2,355 | +1% | 0 | 0 | — |
case-03 | fail→pass | 18,465 | 5,265 | -71% | 1 | 1 | 0% | 1,848 | 2,713 | +47% | 0 | 0 | — |
case-04 | fail→pass | 6,047 | 3,470 | -43% | 1 | 1 | 0% | 997 | 2,336 | +134% | 0 | 0 | — |
case-05 | pass→pass | 7,344 | 3,448 | -53% | 1 | 1 | 0% | 1,285 | 2,275 | +77% | 0 | 0 | — |
case-06 | fail→pass | 13,063 | 3,118 | -76% | 1 | 1 | 0% | 1,903 | 2,254 | +18% | 0 | 0 | — |
case-07 | fail→pass | 9,147 | 4,192 | -54% | 1 | 1 | 0% | 1,412 | 2,494 | +77% | 0 | 0 | — |
case-08 | fail→pass | 9,204 | 4,448 | -52% | 1 | 1 | 0% | 1,507 | 2,532 | +68% | 0 | 0 | — |
case-09 | fail→pass | 6,813 | 3,396 | -50% | 1 | 1 | 0% | 1,087 | 2,262 | +108% | 0 | 0 | — |
case-10 | fail→pass | 3,964 | 2,153 | -46% | 1 | 1 | 0% | 605 | 2,055 | +240% | 0 | 0 | — |
case-11 | fail→pass | 7,802 | 2,213 | -72% | 1 | 1 | 0% | 1,230 | 2,127 | +73% | 0 | 0 | — |
case-12 | fail→pass | 10,648 | 2,843 | -73% | 1 | 1 | 0% | 1,614 | 2,251 | +39% | 0 | 0 | — |
case-13 | fail→pass | 14,930 | 2,011 | -87% | 1 | 1 | 0% | 2,270 | 2,082 | -8% | 0 | 0 | — |
case-14 | fail→pass | 10,874 | 4,487 | -59% | 1 | 1 | 0% | 1,715 | 2,537 | +48% | 0 | 0 | — |
case-15 | pass→pass | 12,348 | 10,192 | -17% | 1 | 1 | 0% | 2,297 | 3,639 | +58% | 0 | 0 | — |
case-16 | pass→pass | 9,892 | 9,233 | -7% | 1 | 1 | 0% | 1,726 | 3,365 | +95% | 0 | 0 | — |
case-17 | pass→pass | 8,396 | 9,964 | +19% | 1 | 1 | 0% | 1,714 | 3,784 | +121% | 0 | 0 | — |
case-18 | fail→pass | 9,695 | 4,613 | -52% | 1 | 1 | 0% | 1,523 | 2,501 | +64% | 0 | 0 | — |
case-19 | fail→pass | 9,360 | 3,253 | -65% | 1 | 1 | 0% | 1,700 | 2,268 | +33% | 0 | 0 | — |
case-20 | fail→pass | 7,416 | 2,549 | -66% | 1 | 1 | 0% | 1,188 | 2,115 | +78% | 0 | 0 | — |
case-21 | fail→pass | 9,504 | 2,617 | -72% | 1 | 1 | 0% | 1,490 | 2,130 | +43% | 0 | 0 | — |
case-22 | pass→pass | 5,196 | 1,789 | -66% | 1 | 1 | 0% | 881 | 2,005 | +128% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +77 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.