name: x-publisher
記事公開後のX告知、または単独ツイートを投稿するスキル。 xurl CLI(推奨)またはX APIを使用して直接投稿。
このスキルは記事作成ワークフローの最終Phaseとして使用する。
| Phase | スキル | 内容 |
|---|---|---|
| 1 | news-research | ニュース収集 |
| 2 | news-evaluation | NVA評価・選定 |
| 3 | digest-writer | 記事作成 |
| 4 | publish-gate | 公開処理 |
| 5 | x-publisher | X投稿 |
xurl CLI の各種投稿パターン(単発・スレッド・引用・動画付き・削除・記録)は以下を参照:
動画投稿の注意点:
--app keita-app 必須(default app には認証なし)media upload --wait だけでは不十分な場合がある。media status で "state": "succeeded" を必ず確認各種投稿テンプレート(note記事告知、Digest告知、ニュース記事告知、速報)は以下を参照:
→ references/post-templates.md
海外の投稿やニュースを紹介する際は、単純な和訳は翻案権に抵触する可能性があるため避ける。 出典明示 + 独自視点のパターンを使用すること。
→ references/foreign-source-guidelines.md
| 時間帯 | 推奨度 | 理由 |
|---|---|---|
| 7-9時 | ⭐⭐⭐ | 朝の通勤・情報収集時間 |
| 12-13時 | ⭐⭐⭐ | 昼休み |
| 18-21時 | ⭐⭐⭐ | 帰宅後のリラックス時間 |
| 深夜 | ⭐ | エンゲージメント低め |
X の Free プランは 280文字(日本語は全角1文字=2文字換算、URLは23文字固定換算)。
403 Forbidden("You are not permitted to perform this action")で、権限エラーと紛らわしいので注意403 Forbidden("You are not permitted to perform this action")を返す。権限問題ではなく文字数超過が原因。投稿前に必ずweighted lengthを計算する#note、Zenn記事には #Zenn を必ず付ける。LEARNINGS.mdでも繰り返しハマっている頻出ミス。投稿テンプレートを参照することxurl reply ではなく --reply-to オプションを探す: xurl postに --reply-to オプションは存在しない。スレッド返信は xurl reply {tweet_id} "内容" を使うmedia status の確認を省略する: media upload --wait だけでは処理完了を保証しない。media status で "state": "succeeded" を確認してからツイートを作成する。ツイート削除するとmedia_idも無効化されるため再アップロードが必要記事公開したら、Xでも届けよう。 🐦