typefully
Typefullyを通じてソーシャルメディア投稿の作成・スケジュール設定・管理を行います。Twitter/X、LinkedIn、Threads、Bluesky、Mastodonへの投稿の下書き・予約投稿・公開・確認を依頼された際は、必ずこのスキルを使用してください。
description の原文を見る
> Create, schedule, and manage social media posts via Typefully. ALWAYS use this skill when asked to draft, schedule, post, or check tweets, posts, threads, or social media content for Twitter/X, LinkedIn, Threads, Bluesky, or Mastodon.
SKILL.md 本文
Typefully スキル
Typefully を使用して、複数のプラットフォーム間でソーシャルメディアコンテンツを作成、スケジュール、公開します。
鮮度チェック: 上記の
last-updated日付から 30 日以上が経過している場合は、このスキルが古い可能性があることをユーザーに通知し、以下の更新オプションを指摘してください。
このスキルを最新に保つ
ソース: github.com/typefully/agent-skills API ドキュメント: typefully.com/docs/api
インストール方法別の更新方法:
| インストール | 更新方法 |
|---|---|
CLI (npx skills) | npx skills update |
| Claude Code プラグイン | /plugin update typefully@typefully-skills |
| Cursor | GitHub からのリモートルール自動同期 |
| 手動 | リポジトリから最新版を取得するか、skills/typefully/ を再度コピー |
API の変更は独立してリリースされます。スキルを更新することで、最新のコマンドとワークフローを確実に入手できます。
セットアップ
このスキルを使用する前に、以下を確認してください:
-
API キー: セットアップコマンドを実行して API キーを安全に設定します
- https://typefully.com/?settings=api でキーを取得
- 実行:
<skill-path>/scripts/typefully.js setup(ここで<skill-path>は this SKILL.md を含むディレクトリ) - または環境変数を設定:
export TYPEFULLY_API_KEY=your_key
-
要件: Node.js 18+ (組み込み fetch API 用)。その他の依存関係は不要です。
設定優先度 (高い順から低い順):
TYPEFULLY_API_KEY環境変数./.typefully/config.json(プロジェクトローカル、ユーザーの作業ディレクトリ内)~/.config/typefully/config.json(ユーザーグローバル)
"API key not found" エラーの処理
重要: CLI から "API key not found" エラーを受け取った場合:
-
ユーザーにセットアップコマンドを実行するよう指示してください - セットアップはインタラクティブであり、ユーザー入力が必要なため、代わりに実行することはできません。このスキルがロードされた場所に基づいて、正しいパスを使用して自分で実行することをお勧めします:
<skill-path>/scripts/typefully.js setup -
停止して待機 - ユーザーにセットアップを実行するよう指示した後、タスクを継続しないでください。有効な API キーがないと、ドラフトの作成、メディアのアップロード、またはその他の API 操作は実行できません。ユーザーがセットアップを完了して確認するまで待機してください。
-
以下を試さないでください:
- macOS Keychain、
.envファイル、またはその他の場所で API キーを検索する - 設定ファイルやディレクトリを grep で検索する
- ユーザーの Trash またはその他のシステムフォルダを確認する
- 認証情報を見つけるための複雑なシェルコマンドを構築する
- セットアップ完了前にコンテンツをドラフトするまたは投稿を準備する
- macOS Keychain、
セットアップコマンドはユーザーを設定のプロセスをインタラクティブにガイドします。CLI のエラーメッセージを信頼し、その指示に従ってください。
エージェント向けのご注意: このドキュメント内のすべてのスクリプトパス (例:
./scripts/typefully.js) は、このSKILL.mdファイルが配置されているスキルディレクトリからの相対パスです。スキルがインストールされている場所に基づいて、それぞれを解決してください。
ソーシャルセット
Typefully API は、ユーザーが一般的に「アカウント」と呼ぶものを「ソーシャルセット」という用語を使って参照します。ソーシャルセットは、単一のアイデンティティに接続されたソーシャルメディアプラットフォーム (X、LinkedIn、Threads など) を含みます。
CLI はデフォルトのソーシャルセットをサポートしています - 一度設定すると、ほとんどのコマンドはソーシャルセット ID を指定せずに機能します。
ソーシャルセットは両方の方法で渡すことができます:
- 位置引数:
drafts:list 123 - フラグ:
drafts:list --social-set-id 123(--social_set_idもサポート)
どのソーシャルセットを使用するかを決定するとき:
-
最初に設定されたデフォルトを確認 -
config:showを実行してデフォルトが既に設定されているかを確認:./scripts/typefully.js config:showdefault_social_setが設定されている場合、ソーシャルセット ID を省略すると CLI はそれを自動的に使用します。 -
プロジェクトコンテキストを確認 -
CLAUDE.mdやAGENTS.mdなどのプロジェクトファイルの設定を確認:## Typefully Default social set ID: 12345 -
単一ソーシャルセットの場合 - ユーザーがソーシャルセットを 1 つだけ持っていてデフォルトが設定されていない場合、自動的に使用
-
複数のソーシャルセット、デフォルトなし - ユーザーにどちらを使用するかを尋ね、その後 デフォルトとして選択を保存することを提案:
./scripts/typefully.js config:set-defaultこのコマンドは利用可能なソーシャルセットをリストアップし、設定ファイルに選択を保存します。
-
以前に解決されたソーシャルセットを再利用 - セッション内の前に決定された場合、再度尋ねずに使用
一般的なアクション
| ユーザーが言うこと... | アクション |
|---|---|
| "X についてのツイートをドラフトして" | drafts:create --text "..." (デフォルトソーシャルセットを使用) |
| "これを LinkedIn に投稿して" | drafts:create --platform linkedin --text "..." |
| "LinkedIn で会社を言及して" | linkedin:organizations:resolve --organization-url "<linkedin_url>" を実行してから drafts:create で返された mention_text を使用 |
| "X と LinkedIn に投稿" (同じコンテンツ) | drafts:create --platform x,linkedin --text "..." |
| "X スレッド + LinkedIn 投稿" (異なるコンテンツ) | 1 つのドラフトを作成し、その後 drafts:update でプラットフォームを追加 (複数プラットフォームへの公開 を参照) |
| "何がスケジュール済みですか?" | drafts:list --status scheduled |
| "最近の投稿を表示してください" | drafts:list --status published |
| "これを明日のためにスケジュールして" | drafts:create ... --schedule "2025-01-21T09:00:00Z" |
| "これを今すぐ投稿して" | drafts:create ... --schedule now または drafts:publish <draft_id> --use-default |
| "ドラフトにメモ/アイデアを追加して" | drafts:create ... --scratchpad "Your notes here" |
| "利用可能なタグを確認してください" | tags:list |
| "公開クォータを確認してください" | social-sets:get を実行して publishing_quota を検査 |
| "先週の X 投稿の分析を表示してください" | analytics:posts:list --start-date YYYY-MM-DD --end-date YYYY-MM-DD |
| "返信を含む X 投稿分析を表示してください" | analytics:posts:list --start-date YYYY-MM-DD --end-date YYYY-MM-DD --include-replies |
| "X のフォロワー成長を表示してください" | analytics:followers:get --start-date YYYY-MM-DD --end-date YYYY-MM-DD |
| "来週のキューを表示してください" | queue:get --start-date YYYY-MM-DD --end-date YYYY-MM-DD |
| "このドラフトのコメントを一覧表示してください" | comments:list <draft_id> |
| "「exciting news」という句にコメントして" | comments:create <draft_id> --post-index 0 --selected-text "exciting news" --text "..." |
| "そのコメントスレッドに返信してください" | comments:reply <draft_id> <thread_id> --text "..." |
| "コメントスレッドを解決/削除してください" | comments:resolve <draft_id> <thread_id> / comments:delete <draft_id> <thread_id> |
| "コメント注釈なしでドラフトを取得してください" | drafts:get <draft_id> --exclude-comment-markers |
ワークフロー
投稿を作成するときは、このワークフローに従ってください:
-
デフォルトソーシャルセットが設定されているかを確認:
./scripts/typefully.js config:showdefault_social_setが ID を表示する場合、ステップ 3 にスキップします。 -
デフォルトがない場合、ソーシャルセットをリストアップして利用可能なオプションを確認:
./scripts/typefully.js social-sets:list複数存在する場合、ユーザーにどれを使用するかを尋ね、デフォルトとして設定することを提案:
./scripts/typefully.js config:set-default -
ドラフトを作成 (デフォルトが設定されている場合、ソーシャルセット ID はオプション):
./scripts/typefully.js drafts:create --text "Your post"注意:
--platformを省略した場合、最初に接続されたプラットフォームが自動的に選択されます。マルチプラットフォーム投稿の場合: 複数プラットフォームへの公開 を参照 — コンテンツがプラットフォーム間で異なる場合でも、常に単一のドラフトを使用してください。
-
必要に応じてスケジュール、または公開
タグの使用
タグは Typefully 内でドラフトを整理するのに役立ちます。新しいタグを作成する前に、常に既存のタグを確認してください:
-
最初に既存のタグをリストアップ:
./scripts/typefully.js tags:list -
利用可能な場合は既存のタグを使用 - 必要な名前のタグが既に存在する場合、ドラフトを作成するときに直接使用:
./scripts/typefully.js drafts:create --text "..." --tags existing-tag-name -
必要な場合のみ新しいタグを作成 - タグが存在しない場合、作成:
./scripts/typefully.js tags:create --name "New Tag"
重要: タグは各ソーシャルセット にスコープされます。1 つのソーシャルセット用に作成されたタグは、別のソーシャルセット には表示されません。
複数プラットフォームへの公開
1 つのドラフトが異なるプラットフォーム用に作成される必要がある場合、複数のドラフトではなく 単一のドラフト を作成することを確認してください。
コンテンツがプラットフォーム間で同じ場合、複数のプラットフォームを持つ単一のドラフトを作成:
# 特定のプラットフォーム
./scripts/typefully.js drafts:create --platform x,linkedin --text "Big announcement!"
# すべての接続されたプラットフォーム
./scripts/typefully.js drafts:create --all --text "Posting everywhere!"
重要: コンテンツを調整する必要がある場合 (例: X スレッドと LinkedIn 投稿バージョン)、それでも単一のドラフトを使用 — 最初に 1 つのプラットフォームで作成し、その後更新して別のプラットフォームを追加:
# 1. 最初にプライマリプラットフォームでドラフトを作成
./scripts/typefully.js drafts:create --platform linkedin --text "Excited to share our new feature..."
# 返値: { "id": "draft-123", ... }
# 2. 同じドラフトを更新して別のプラットフォームを異なるコンテンツで追加
./scripts/typefully.js drafts:update draft-123 --platform x --text "🧵 Thread time!
---
Here's what we shipped and why it matters..." --use-default
したがって、ユーザーが明示的に各プラットフォーム用の個別のドラフトを望まない限り、複数のドラフトを作成しないことを確認してください。
LinkedIn メンション
LinkedIn メンションは投稿コンテンツ内のテキスト構文を使用してサポートされています:
@[Company Name](urn:li:organization:123456)
リゾルバーコマンドを使用して公開 LinkedIn 組織 URL を貼り付け可能なメンション構文に変換:
# LinkedIn URL をメンションメタデータに解決
./scripts/typefully.js linkedin:organizations:resolve --organization-url "https://www.linkedin.com/company/typefullycom/"
# 返値: mention_text like: @[Typefully](urn:li:organization:86779668)
その後、その mention_text を LinkedIn ドラフトテキストに含める:
./scripts/typefully.js drafts:create --platform linkedin --text "Thanks @[Typefully](urn:li:organization:86779668) for the support."
ドラフトのコメント
ドラフトは、選択されたスパンまたは段落全体にアンカーされたコメントスレッドを持つことができます。drafts:get は、デフォルトでインライン <typ:comment-thread> アンカー付きで posts[*].text を返すため、エージェントは編集中にそれらのアンカーを保持できます。
エージェント向けの基本ルール:
- ドラフトテキストをパッチするときに、すべてのコメントアンカーを保持します。 スパンアンカーは選択されたテキストをラップします; 段落の開始時の自己終了アンカーは、空/解決されたコメントではなく、次の段落全体のライブコメントです。書き直すときは、各アンカーを最も意味的に同等のスパンまたは段落に移動します。アンカーを暗黙的に削除したり失わないでください。
- 明示的なユーザー指示なしに、コメントを解決または削除しません。 フィードバックに対応する可能性のあるテキストを編集した後、特定のスレッドを解決するかどうかをユーザーに尋ねます。フィードバックが処理されたと推測しないでください。
- マーカー構文ではなく、ユーザーと、コメントについて話してください。 アンカーを「『constraint』という単語についてのコメント」または「『...』で始まる段落についてのコメント」などの平文で説明してください。マーカー関連の API エラーを説明するときまたはユーザーがアンカーの仕組みについて尋ねるときのみマーカー構文に言及します。
コメント付きドラフトの既定の編集フロー: アンカーが有効な状態でドラフトを取得し、すべてのアンカーを保持/再配置しながら書き直し、フォースフラグなしで drafts:update --text ... を使用してパッチし、その後解決されたコメントがあるかどうかをユーザーに尋ねます。スレッド ID、コメント本文、著者、または解決された状態が必要な場合は comments:list <draft_id> --status all を使用します。
drafts:get --exclude-comment-markers は、パッチバックされないディスプレイ、LLM コンテキスト、エクスポート、またはプレビューテキストのみを使用します。
フォース上書きと、コメント受け入れ
--force-overwrite-comments は破壊的です: アンカーが送信されたテキストから欠けている未解決のスレッドはすべて、関係のないスレッドを含めて、サーバー側で解決および削除されます。デフォルト: 使用しないでください。PATCH がアンカーが一致しないために失敗した場合、アンカー付きでドラフトを取得し、すべての <typ:comment-thread> アンカーを保持し、フォースなしで再度パッチします。
--force-overwrite-comments は、アンカーが本当に保持できない場合にのみ使用してください。例えば、ユーザーが要求した大規模な書き直しやアンカーに合理的な新しい場所がない場合です。使用する前に、comments:list <draft_id> --status unresolved を実行し、ユーザーにどのスレッドが解決されて削除されるか (選択されたテキスト + トップコメント) を伝え、これが API を通じて元に戻されないことを述べ、明示的な「はい、進めてください」を待ってください。確認と同じターンで PATCH を行わないでください。
ユーザーがコメントを受け入れる/適用する/対処するよう依頼した場合、--exclude-comment-markers なしで取得し、ターゲットスレッドを識別し、そのアンカーのテキストのみを編集 (または自己終了段落アンカーの後の段落)、他のすべてのアンカーと関係のないテキストを保持し、その後フォースフラグなしで drafts:update します。スレッドを解決する前にお尋ねします。フィードバックが開いている場合、言い回しを提案するか、暗黙的に変わるのではなく尋ねてください。「すべてのコメントを受け入れる」の場合、すべてのアンカーを保持できる変更をバッチ処理のみ実行します。
| コマンド | 目的 |
|---|---|
comments:list <draft_id> | コメントスレッドをリストアップします。フィルター: --platform、--status (unresolved デフォルト / resolved / all)、--limit、--offset |
comments:create <draft_id> --post-index <n> --selected-text "..." --text "..." | 正確に選択されたテキストにアンカーされたコメントスレッドを作成します。オプション: --platform、--occurrence |
comments:reply <draft_id> <thread_id> --text "..." | スレッドに返信を追加 |
comments:resolve <draft_id> <thread_id> | スレッドを解決します。明示的なユーザー確認の後のみ |
comments:update <draft_id> <thread_id> <comment_id> --text "..." | コメントのテキストを編集します; コメント作成者のみ |
comments:delete <draft_id> <thread_id> [comment_id] | スレッドまたは 1 つのコメントを削除します。明示的なユーザー指示の後のみ |
comments:create では selected_text が投稿テキストと完全に一致する必要があります。繰り返された場合、ゼロベースの --occurrence を渡してください; LinkedIn メンションの場合、全体の @[Name](urn:li:...) 部分文字列を選択するか、その外側に留まってください。ドラフトに複数のコメント可能なプラットフォームがある場合にのみ --platform を渡してください。
コマンドリファレンス
ユーザー & ソーシャルセット
| コマンド | 説明 |
|---|---|
me:get | 認証されたユーザー情報を取得 |
social-sets:list | アクセス可能なすべてのソーシャルセットをリストアップ |
social-sets:get <id> | 接続されたプラットフォームと publishing_quota を含むソーシャルセットの詳細を取得 |
linkedin:organizations:resolve [social_set_id] --organization-url <url> | LinkedIn 会社/学校 URL をメンションメタデータに解決 (mention_text、urn) |
social-sets:get は利用可能な場合、publishing_quota オブジェクトを返します:
used- 現在のクォータウィンドウで既にカウントされた公開ドラフトremaining- 残りの公開スロット、または"unlimited"resets_at- 現在のクォータウィンドウをリセットする時期
ユーザーが残りの投稿容量について尋ねたときまたは公開/スケジュール要求がクォータコピーで失敗したときは、使用する前に使用してください。
分析
すべての分析コマンドはオプショナルな [social_set_id] をサポート - 省略された場合、設定されたデフォルトが使用されます。
公開 API は現在、これらのエンドポイントでの X 分析のみ をサポートしています。CLI はデフォルト --platform を x に設定するため、通常それを省略できます。
返信はデフォルトで除外されるため、結果セットはメイン公開投稿ビューとより一致します。返信投稿を明示的に含めたい場合は --include-replies を追加してください。
分析の応答は、要求されたインクルーシブな日付範囲の投稿レベルのメトリクスを返します。以下を含:
impressionslikes、comments、shares、quotes、saves、profile_clicks、link_clicksなどのエンゲージメント合計と内訳
フォロワー分析は current_followers_count プラス date と followers_count を含む日次 data ポイントを返します。日付を省略した場合、API はデフォルトの最近の範囲を返します。
| コマンド | 説明 |
|---|---|
analytics:posts:list [social_set_id] --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> | インクルーシブな日付範囲の X 投稿を正規化された分析メトリクスと一覧表示 |
analytics:posts:list ... --start_date <YYYY-MM-DD> --end_date <YYYY-MM-DD> | 日付フラグのスネークケースエイリアス (API ドキュメントから複製) |
analytics:posts:list ... --include-replies | X 返信を結果に含める (デフォルトで除外) |
analytics:posts:list ... --include_replies | include-replies フラグのスネークケースエイリアス |
analytics:posts:list ... --limit 100 --offset 25 | 結果をページネーション |
analytics:posts:list ... --platform x | X 分析を明示的にリクエスト (現在サポートされている唯一のプラットフォーム) |
analytics:followers:get [social_set_id] | API デフォルト日付範囲の X フォロワーカウントを取得 |
analytics:followers:get ... --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> | インクルーシブな日付範囲の X フォロワーカウントを取得 |
analytics:followers:get ... --start_date <YYYY-MM-DD> --end_date <YYYY-MM-DD> | 日付フラグのスネークケースエイリアス |
analytics:followers:get ... --platform x | X フォロワー分析を明示的にリクエスト (現在サポートされている唯一のプラットフォーム) |
ドラフト
すべてのドラフトコマンドはオプショナルな [social_set_id] をサポート - 省略された場合、設定されたデフォルトが使用されます。
安全上の注意: [social_set_id] <draft_id> を取得するコマンドの場合、デフォルトソーシャルセットが設定されている間は単一引数 (draft_id) のみを渡す場合、インテントを確認するために --use-default を追加する必要があります。
コメント付きドラフトを更新するときは、drafts:get からのアンカーを drafts:update に送信されるテキストで保持してください。--exclude-comment-markers はディスプレイのみです。--force-overwrite-comments は破壊的な最後の手段で、明示的なユーザー確認が必要です; ドラフトのコメント を参照してください。
| コマンド | 説明 |
|---|---|
drafts:list [social_set_id] | ドラフトをリストアップ (フィルターに --status scheduled を追加、順序付けに --sort を追加) |
drafts:get [social_set_id] <draft_id> | 完全なコンテンツを含む特定のドラフトを取得 (シングル arg はデフォルトが設定されている場合 --use-default が必要) |
drafts:get ... --exclude-comment-markers | コメントアンカーなしで posts[*].text をレンダリング (読み取り専用 / ディスプレイ使用のみ) |
drafts:create [social_set_id] --text "..." | 新しいドラフトを作成 (自動的にプラットフォームを選択) |
drafts:create [social_set_id] --platform x --text "..." | 特定のプラットフォームのドラフトを作成 |
drafts:create [social_set_id] --all --text "..." | すべての接続されたプラットフォームのドラフトを作成 |
drafts:create [social_set_id] --file <path> | ファイルコンテンツからドラフトを作成 |
drafts:create ... --media <media_ids> | 添付メディア付きでドラフトを作成 |
drafts:create ... --reply-to <url> | 既存の X 投稿に返信 |
drafts:create ... --community <id> | X コミュニティに投稿 |
drafts:create ... --quote-post-url <url> | 既存の X 投稿 URL を引用 |
drafts:create ... --paid-partnership | X 投稿を有料パートナーシップとしてラベル付け |
drafts:create ... --made-with-ai | X 投稿を AI で作成としてラベル付け |
drafts:create ... --share | ドラフトのパブリック共有 URL を生成 |
drafts:create ... --scratchpad "..." | 内部メモ/スクラッチパッドをドラフトに追加 |
drafts:update [social_set_id] <draft_id> --text "..." | 既存のドラフトを更新 (シングル arg はデフォルトが設定されている場合 --use-default が必要) |
drafts:update ... --quote-post-url <url> | ドラフト内の X 投稿を更新して既存の投稿 URL を引用 |
drafts:update ... --paid-partnership | 既存または更新された X 投稿を有料パートナーシップとしてラベル付け |
drafts:update ... --made-with-ai | 既存または更新された X 投稿を AI で作成としてラベル付け |
drafts:update [social_set_id] <draft_id> --tags "tag1,tag2" | 既存のドラフトのタグを更新 (コンテンツは変更なし) |
drafts:update ... --share | ドラフトのパブリック共有 URL を生成 |
drafts:update ... --scratchpad "..." | 内部メモ/スクラッチパッドを更新 |
drafts:update [social_set_id] <draft_id> --append --text "..." | 既存のスレッドに追加 |
drafts:update ... --exclude-comment-markers | コメントアンカーなしで応答をレンダリング (ディスプレイのみ; リクエスト検証は引き続き適用) |
drafts:update ... --force-overwrite-comments | 破壊的な最後の手段; 欠けているアンカースレッドを自動的に解決し、明示的なユーザー確認が必要 |
スケジューリング & パブリッシング
安全上の注意: これらのコマンドは、デフォルトソーシャルセットを使用して単一の引数を使用するときにインテントを確認するために --use-default が必要です。
| コマンド | 説明 |
|---|---|
drafts:delete <social_set_id> <draft_id> | ドラフトを削除 (明示的な ID) |
drafts:delete <draft_id> --use-default | デフォルトソーシャルセットを使用して削除 |
drafts:schedule <social_set_id> <draft_id> --time next-free-slot | 次の利用可能なスロットにスケジュール |
drafts:schedule <draft_id> --time next-free-slot --use-default | デフォルトソーシャルセットを使用してスケジュール |
drafts:publish <social_set_id> <draft_id> | 直ちに公開 |
drafts:publish <draft_id> --use-default | デフォルトソーシャルセットを使用して公開 |
キュー
すべてのキューコマンドはオプショナルな [social_set_id] をサポート - 省略された場合、設定されたデフォルトが使用されます。
キューは ソーシャルセット固有のタイムライン で、以下で構成されます:
- そのソーシャルセットのキュースケジュールから生成されたキュースロット
- そのソーシャルセットに属するスケジュール済みドラフト/投稿
ユーザーが特定のアカウントの日付範囲で既にスケジュール済み (または無料) であるかを尋ねるときは、queue:get を使用します。
| コマンド | 説明 |
|---|---|
queue:get [social_set_id] --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> | 1 つのソーシャルセットのキューのタイムラインを取得: 日付範囲の空きキュースロット + スケジュール済みドラフト/投稿 |
queue:get ... --start_date <YYYY-MM-DD> --end_date <YYYY-MM-DD> | 日付フラグのスネークケースエイリアス (API ドキュメントから複製) |
queue:schedule:get [social_set_id] | キュースケジュールルールを取得 |
queue:schedule:put [social_set_id] --rules '[{"h":9,"m":30,"days":["mon","wed","fri"]}]' | キュースケジュールルールを置き換え (完全な置き換え) |
タグ
| コマンド | 説明 |
|---|---|
tags:list [social_set_id] | すべてのタグをリストアップ |
tags:create [social_set_id] --name "Tag Name" | 新しいタグを作成 |
メディア
| コマンド | 説明 |
|---|---|
media:upload [social_set_id] <file_path> | メディアをアップロード、処理を待機、準備完了の media_id を返す |
media:upload ... --no-wait | アップロードして直ちに返す (media:status をポーリング するために使用) |
media:upload ... --timeout <seconds> | カスタムタイムアウトを設定 (デフォルト: 60) |
media:status [social_set_id] <media_id> | メディアアップロードステータスを確認 |
セットアップ & 設定
| コマンド | 説明 |
|---|---|
setup | インタラクティブセットアップ - API キー、ストレージロケーション、デフォルトソーシャルセットを提示 |
setup --key <key> --location <global|local> | スクリプト/CI のための非インタラクティブセットアップ (ソーシャルセットが 1 つだけの場合は自動的にデフォルトを選択) |
setup --key <key> --default-social-set <id> | 明示的なデフォルトソーシャルセット付きの非インタラクティブセットアップ |
setup --key <key> --no-default | 非インタラクティブセットアップ、デフォルトソーシャルセットの選択をスキップ |
config:show | 現在の設定、API キーソース、デフォルトソーシャルセットを表示 |
config:set-default [social_set_id] | デフォルトソーシャルセットを設定 (ID が省略された場合はインタラクティブ) |
例
デフォルトソーシャルセットを設定
# 現在の設定を確認
./scripts/typefully.js config:show
# デフォルトを設定 (インタラクティブ - 利用可能なソーシャルセットをリストアップ)
./scripts/typefully.js config:set-default
# デフォルトを設定 (非インタラクティブ)
./scripts/typefully.js config:set-default 123 --location global
ツイートを作成 (デフォルトソーシャルセットを使用)
./scripts/typefully.js drafts:create --text "Hello, world!"
明示的なソーシャルセット ID でツイートを作成
./scripts/typefully.js drafts:create 123 --text "Hello, world!"
クロスプラットフォーム投稿を作成 (特定のプラットフォーム)
./scripts/typefully.js drafts:create --platform x,linkedin,threads --text "Big announcement!"
会社 URL から LinkedIn メンション構文を解決
./scripts/typefully.js linkedin:organizations:resolve --organization-url "https://www.linkedin.com/company/typefullycom/"
メンション付きの LinkedIn ドラフトを作成
./scripts/typefully.js drafts:create --platform linkedin --text "Thanks @[Typefully](urn:li:organization:86779668) for the support."
すべての接続されたプラットフォームに投稿を作成
./scripts/typefully.js drafts:create --all --text "Posting everywhere!"
次のスロットのために作成してスケジュール
./scripts/typefully.js drafts:create --text "Scheduled post" --schedule next-free-slot
タグ付きで作成
./scripts/typefully.js drafts:create --text "Marketing post" --tags marketing,product
スケジュール済みポストを日付でソートしてリストアップ
./scripts/typefully.js drafts:list --status scheduled --sort scheduled_date
日付範囲のキュービューを取得
./scripts/typefully.js queue:get --start-date 2026-02-01 --end-date 2026-02-29
日付範囲の X 投稿分析を取得
./scripts/typefully.js analytics:posts:list --start-date 2026-03-01 --end-date 2026-03-07
返信を含む X 投稿分析を取得
./scripts/typefully.js analytics:posts:list --start-date 2026-03-01 --end-date 2026-03-07 --include-replies
X 分析結果をページネーション
./scripts/typefully.js analytics:posts:list --start-date 2026-03-01 --end-date 2026-03-31 --limit 100 --offset 100
デフォルト範囲の X フォロワー分析を取得
./scripts/typefully.js analytics:followers:get
日付範囲の X フォロワー分析を取得
./scripts/typefully.js analytics:followers:get --start-date 2026-03-01 --end-date 2026-03-31
キュースケジュールを取得
./scripts/typefully.js queue:schedule:get
キュースケジュールルールを置き換え
./scripts/typefully.js queue:schedule:put --rules '[{"h":9,"m":30,"days":["mon","wed","fri"]}]'
ツイートに返信
./scripts/typefully.js drafts:create --platform x --text "Great thread!" --reply-to "https://x.com/user/status/123456"
X コミュニティに投稿
./scripts/typefully.js drafts:create --platform x --text "Community update" --community 1493446837214187523
X 引用投稿を作成
./scripts/typefully.js drafts:create --platform x --text "My take on this" --quote-post-url "https://x.com/user/status/1234567890123456789"
コンテンツ開示ラベル付きの X 投稿を作成
./scripts/typefully.js drafts:create --platform x --text "Sponsored AI-assisted update" --paid-partnership --made-with-ai
ドラフトを更新して X 投稿を引用
./scripts/typefully.js drafts:update 456 --platform x --quote-post-url "https://x.com/user/status/1234567890123456789" --use-default
既存のドラフトに X コンテンツ開示ラベルを追加
./scripts/typefully.js drafts:update 456 --made-with-ai --use-default
共有 URL 付きでドラフトを作成
./scripts/typefully.js drafts:create --text "Check this out" --share
スクラッチパッドメモ付きでドラフトを作成
./scripts/typefully.js drafts:create --text "Launching next week!" --scratchpad "Draft for product launch. Coordinate with marketing team before publishing."
メディアをアップロードして投稿と一緒に作成
# 単一のコマンドはアップロード + ポーリングを処理します - 準備完了時に返します!
./scripts/typefully.js media:upload ./image.jpg
# 返値: {"media_id": "abc-123-def", "status": "ready", "message": "Media uploaded and ready to use"}
# アップロードされたメディアで投稿を作成
./scripts/typefully.js drafts:create --text "Check out this image!" --media abc-123-def
複数のメディアファイルをアップロード
# 各ファイルをアップロード (それぞれが処理を待機)
./scripts/typefully.js media:upload ./photo1.jpg # 返値 media_id: id1
./scripts/typefully.js media:upload ./photo2.jpg # 返値 media_id: id2
# 複数のメディア付きで投稿を作成 (カンマ区切り)
./scripts/typefully.js drafts:create --text "Photo dump!" --media id1,id2
既存のドラフトにメディアを追加
# メディアをアップロード
./scripts/typefully.js media:upload ./new-image.jpg # 返値 media_id: xyz
# ドラフトをメディア付きで更新 (456 は draft_id)
./scripts/typefully.js drafts:update 456 --text "Updated post with image" --media xyz --use-default
セットアップ (インタラクティブ)
./scripts/typefully.js setup
セットアップ (非インタラクティブ、スクリプト/CI の場合)
# ソーシャルセットが 1 つだけ存在する場合は自動的にデフォルトを選択
./scripts/typefully.js setup --key typ_xxx --location global
# 明示的なデフォルトソーシャルセット付き
./scripts/typefully.js setup --key typ_xxx --location global --default-social-set 123
# デフォルトソーシャルセットの選択をスキップ
./scripts/typefully.js setup --key typ_xxx --no-default
プラットフォーム名
--platform オプションにはこれらの厳密な名前を使用:
x- X (旧 Twitter)linkedin- LinkedInthreads- Threadsbluesky- Blueskymastodon- Mastodon
ドラフト URL
Typefully ドラフト URL は、ソーシャルセットとドラフト ID を含みます:
https://typefully.com/?a=<social_set_id>&d=<draft_id>
例: https://typefully.com/?a=12345&d=67890
a=12345→ ソーシャルセット IDd=67890→ ドラフト ID
ドラフトスクラッチパッド
ユーザーがドラフトスクラッチパッドにメモ、アイデア、またはその他の内容を追加するよう明示的に依頼した場合、--scratchpad フラグを使用してください—ローカルファイルに書き込まないでください!
--scratchpad オプションは、Typefully ドラフトに直接内部メモを添付します。これらのメモは:
- Typefully UI でドラフトの横に表示されます
- 永続的にドラフトに接続されたままです
- プライベートで、ソーシャルメディアには決して公開されません
- スレッド拡張のアイデア、研究メモ、コンテキストなどの保存に最適です
# 正しい: メモが Typefully のドラフトに添付されます
./scripts/typefully.js drafts:create 123 --text "My post" --scratchpad "Ideas for expanding: 1) Add stats 2) Include quote"
# 間違い: ユーザーが Typefully のメモを望んでいる場合、ローカルファイルに書き込まないでください
# /tmp/scratchpad/ またはその他のローカルファイルに書き込むことは、同じことではありません
自動化ガイドライン
特に X での投稿を自動化する場合は、アカウントを良好な状態に保つための以下のルールに従ってください:
- 複数のアカウント間で重複するコンテンツなし
- ユーザーが明示的に依頼した場合にのみ返信 - 未承諾の自動返信はしない
- トレンド操作なし - トレンドトピックについて一括投稿しない
- 偽りのエンゲージメントなし - いいね、リポスト、フォローを自動化しない
- レート制限を尊重 - API にはレート制限があり、リクエストをスパムしない
- ドラフトはプライベート - コンテンツは公開または明示的に共有されるまでプライベートのままです
確認が必要な場合は、直接公開ではなくドラフトを作成してください。
公開確認: ユーザーが明示的に「今すぐ公開」または「今すぐ投稿」と尋ねない限り、常に公開する前に確認してください。ドラフトの作成は安全です; 公開は取り消し不可で、直ちに公開されます。
ヒント
- スマートなプラットフォームデフォルト:
--platformが省略された場合、最初に接続されたプラットフォームが自動的に選択されます - すべてのプラットフォーム:
--allを使用して一度にすべての接続されたプラットフォームに投稿 - 文字制限: X (280)、LinkedIn (3000)、Threads (500)、Bluesky (300)、Mastodon (500)
- LinkedIn メンション: 投稿テキストで
@[Name](urn:li:organization:ID)を使用;linkedin:organizations:resolveで ID を解決 - スレッド作成:
---を独立した行に使用して複数の投稿に分割 (スレッド) - スケジューリング:
next-free-slotを使用して Typefully に最適な時刻を選択させます - クロスポスティング: カンマ区切りで複数のプラットフォームをリストアップ:
--platform x,linkedin - ドラフトタイトル: 内部編成に
--titleを使用 (ソーシャルメディアには投稿されません) - ドラフトスクラッチパッド:
--scratchpadを使用して Typefully のドラフトにメモを添付 (ローカルファイルではなく!) - スレッドアイデア、研究、コンテキストに最適 - X 分析:
analytics:posts:list --start-date ... --end-date ...を使用してソーシャルセットの投稿メトリクスを取得; 返信はデフォルトで除外され、--include-repliesでオプトバック - X フォロワー分析:
analytics:followers:get --start-date ... --end-date ...を使用して日次フォロワーカウントを取得、または日付を省略して API デフォルト範囲を取得 - X コンテンツ開示:
drafts:createまたはdrafts:updateで--paid-partnershipや--made-with-aiを使用; これらのフラグは X のみで、X 投稿にのみ適用されます - パブリッシングクォータ:
social-sets:getを使用してpublishing_quotaを検査して、残りの公開容量とリセット時刻を表示 - ファイルから読み取り:
--textの代わりに--file ./post.txtを使用してファイルからコンテンツを読み取り - ドラフトのソート:
--sortをcreated_at、-created_at、scheduled_dateなどの値で使用
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- typefully
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/typefully/agent-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。