Are you the author? Sign in to claim
mClaude Code and Codex skill for retrieving X (Twitter) post without API Keys.
X (旧 Twitter) の公開ポストを API キー不要で JSON として取得する Go 製 CLI。Twitter Syndication CDN (cdn.syndication.twimg.com/tweet-result) を叩くだけなので、認証も rate limit のセットアップも要りません。
Claude Code / Codex 用の Agent Skill を CLI 自身が書き出せるので、エージェントから「このツイート取って」で呼ばせる用途にも使えます。
Go 1.26.4+ が入っていれば:
go install github.com/sh1ma/get-tweet/cmd/get-tweet@latest
$GOBIN (未設定なら $(go env GOPATH)/bin) に PATH を通してください。
get-tweet <URL or tweet ID> # 1 行の raw JSON (stdout)
get-tweet <URL or tweet ID> --pretty # 整形出力
URL でも数値 ID でも OK:
get-tweet https://x.com/jack/status/20
get-tweet https://twitter.com/jack/status/20?s=20
get-tweet 20
パイプ処理を前提にしているので、デフォルト出力は 1 行 raw JSON です。人間確認用に整形したいときだけ --pretty を付けてください。
jq と組み合わせる例:
# 本文と投稿者
get-tweet <url> | jq '{text, user: .user.screen_name, created_at}'
# 動画の最高画質 mp4 URL
get-tweet <url> | jq -r '[.mediaDetails[]?.video_info.variants[]? | select(.content_type=="video/mp4")] | sort_by(-.bitrate) | .[0].url'
# 画像 URL 一覧
get-tweet <url> | jq -r '[.mediaDetails[]? | select(.type=="photo") | .media_url_https][]'
Syndication API のレスポンスは投稿種別 (画像 / 動画 / 返信 / 引用 RT / リンクカード) によってキーが増減するので、初見の投稿に対しては先にフル JSON を確認してから jq を書くことを推奨します。
| code | 意味 |
|---|---|
| 0 | 成功 |
| 1 | 引数エラー / URL 解決失敗 |
| 2 | ツイートが存在しない (404) |
| 3 | Syndication API のエラー |
| 4 | 内部エラー |
get-tweet update # latest
get-tweet update v0.2.0 # 指定バージョン
内部で go install github.com/sh1ma/get-tweet/cmd/get-tweet@<version> を実行します。Go toolchain が必要です。
Claude Code / Codex から呼び出せる Skill を CLI 自身が書き出せます。
# プロジェクト直下 (./.claude/skills/get-tweet/ など) に配置 (デフォルト)
get-tweet agent-skill create claude
get-tweet agent-skill create codex
# ホーム配下 (~/.claude/skills/get-tweet/ など)
get-tweet agent-skill create claude --scope=user
--scope=user はホームに対応 agent のディレクトリ (~/.claude や ~/.codex) が既に存在することが前提です。無ければメッセージを出して何も作らずに終了します (未導入の agent 用ディレクトリを勝手に生やさない)。
削除:
get-tweet agent-skill remove claude # デフォルトは project スコープ
get-tweet agent-skill remove claude --user
get-tweet <URL or post ID> [--pretty]
get-tweet update [version]
get-tweet agent-skill create <claude|codex> [--scope=user|project]
get-tweet agent-skill remove <claude|codex> [--user | --project]
get-tweet help | --help | --version
embed 済み。ネットワーク越しに fetch しないので、CLI 単体で完結する。go build -o get-tweet ./cmd/get-tweet # ローカルビルド
go run ./cmd/get-tweet <url> # 開発中の実行
go test ./... # テスト
go vet ./... # 静的解析
パッケージ構成:
cmd/get-tweet/ — cobra ベースの CLI エントリinternal/resolve/ — URL / 数値 ID の正規化internal/token/ — Syndication API 用の擬似トークン算出 (JS の Number() の精度損失を再現)internal/twitter/ — Syndication CDN クライアントinternal/skill/ — Agent Skill 生成 (テンプレは embed.FS で内包)MIT
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Agent harness performance optimization with skills, instincts, memory, and security
Design enforcement with memory — keeps your UI consistent across a project
Detects 37 AI writing patterns and rewrites text with human rhythm across 5 voice profiles