Communitygithub.com

thisuxhq/dunsocial-skills

DunSocial CLI 用エージェントスキル — コーディングエージェントからソーシャル投稿をスケジュール・公開します。

dunsocial-skills とは?

このスキルは、DunSocial CLI(dunsocial npm パッケージが提供する `dun` バイナリ)をエージェント(Claude Code、Cline、GitHub Copilot など)から直接操作するためのものです。認証、ワークスペース選択、アカウント一覧取得から、投稿のスケジュール、即時公開、メディアアップロード、下書き管理、メモリ操作、スレッド投稿まで、一連の操作をコマンドラインで実行できます。JSON 出力を優先することで機械可読性を高め、CI 環境では PAT(Personal Access Token)によるヘッドレス認証をサポートします。リモートホスト(ChatGPT ウェブ版、Claude ウェブ版)では DunSocial MCP を引き続き使用し、この CLI はローカルエージェント・ターミナル・CI 向けに設計されています。ワークスペースの必須指定や、`--accounts` にはハンドルではなく DunSocial ソーシャルアカウント ID を指定する点、メディアは事前に `media upload` でアップロードしてから添付する点など、注意すべき落とし穴もドキュメント化されています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add thisuxhq/dunsocial-skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

DunSocial CLI

dun バイナリは npm パッケージ dunsocial から利用します。

npm install -g dunsocial
npx dunsocial …

すべてのコマンドで --json を推奨します。出力が機械可読になります。

リモートホスト(ChatGPT ウェブ版、Claude ウェブ版)では引き続き DunSocial MCP を使用してください。この CLI はローカルエージェント、ターミナル、CI 向けです。

環境変数は ~/.config/dunsocial/config.json より優先されます。

セットアップ

常に:認証 → ワークスペース選択 → 確認 → アカウント一覧 → アクション。

ソーシャルアカウント ID をでっち上げないでください。drafts create を公開成功とみなさないでください。

対話型認証

ブラウザで app.dunsocial.com/cli/authorize を承認します:

dun auth login

ヘッドレス認証 (CI)

アプリの Settings → CLI で PAT を作成(dun_pat_…)し、以下を設定します:

export DUN_TOKEN="dun_pat_…"
export DUN_API_URL=https://api.dunsocial.com

DUN_API_URL は省略可能です(デフォルトは本番環境)。

PAT のルール:

  • 1 つのワークスペースにバインドされる。スコープ不足 → 終了コード 3 / forbidden
  • 他のトークン、課金、チームの管理は不可
  • CI ではブラウザセッショントークンよりも PAT を推奨

ワークスペース

対話型:

dun workspace list --json
dun workspace use <id-or-slug> --json

ヘッドレス(PAT 使用時は必須):

export DUN_WORKSPACE_ID="…"

確認

dun auth status --json
dun workspace current --json

発見順序

  1. dun auth status --json
  2. dun workspace current --json(または list + use)
  3. dun accounts list --json — ソーシャルアカウント id を取得
  4. アクション(スケジュール / 公開 / 下書き / メディア / メモリ)

投稿をスケジュール

dun posts schedule \
  --text "DunSocial CLI から出荷しました。" \
  --accounts acc_x,acc_li \
  --in 1h \
  --json

絶対時間:--at 2026-06-01T09:00:00Z

即時公開

dun posts publish --text "Hello from dun" --accounts acc_x --json

メディア

まずアップロードし、返されたアセット ID を添付します:

dun media upload ./shot.png --alt "製品スクリーンショット" --json
dun posts schedule --text "…" --accounts acc_x --media <assetId> --in 30m --json

下書き、メモリ、スレッド

dun drafts create --text "作業中" --platforms x,linkedin --json
dun memory collections list --json
dun memory save --collection <id> --text "…" --json
dun memory search --prompt "…" --collections <id> --json

スレッドファイルの形式:[{"content":"1"},{"content":"2"}]

dun posts schedule-thread --account acc_x --file ./thread.json --in 2h --json

破壊的操作

delete には --yes(または CI=1)が必要です。

終了コード

コード意味
0成功
1使用方法エラー
2認証エラー
3禁止 / スコープ不足
4バリデーションエラー
5見つかりません
6レート制限
7ネットワークエラー

失敗時の JSON:

{
  "ok": false,
  "error": {
    "code": "validation",
    "message": "…",
    "details": null
  }
}

落とし穴

  • ワークスペースが必要:workspace use、--workspace、または DUN_WORKSPACE_ID
  • --accounts には DunSocial ソーシャルアカウント id を指定(ハンドルではありません)
  • ローカルファイルは media upload でアップロードしてから添付
  • プラットフォーム固有オプション:必要に応じて --meta '{"reddit":{…}}'
  • MCP OAuth と CLI トークンは別の仕組みです

ヘルプ

dun --help
dun posts --help

関連スキル