Communitygithub.com

dunsocial-skills

Skill de agente para a CLI DunSocial — agendar e publicar postagens sociais a partir de agentes de codificação.

O que é dunsocial-skills?

Este skill capacita agentes de IA locais (como Claude Code, Cursor, Codex) a interagir diretamente com a CLI DunSocial para gerenciar postagens em mídias sociais. Ele permite autenticação interativa ou headless (via PAT), seleção de workspace, upload de mídia, agendamento de postagens e threads, e operações destrutivas controladas. O skill suporta saída JSON para fácil análise por máquinas, e faz parte do ecossistema DunSocial — complementando o MCP para hosts remotos. É ideal para fluxos de CI/CD, automação local e agentes que precisam publicar conteúdo de forma programática sem intervenção manual.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add thisuxhq/dunsocial-skills

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

CLI DunSocial

Use o binário dun do pacote npm dunsocial.

npm install -g dunsocial
npx dunsocial …

Prefira --json em todos os comandos para que a saída seja analisável por máquina.

Hosts remotos (ChatGPT web, Claude web) continuam usando o MCP do DunSocial. Esta CLI é para agentes locais, terminais e CI.

Variáveis de ambiente substituem ~/.config/dunsocial/config.json.

Configuração

Sempre: autenticar → selecionar workspace → verificar → listar contas → agir.

Não invente IDs de contas sociais. Não trate drafts create como uma publicação bem-sucedida.

Autenticação interativa

Aprovação no navegador em app.dunsocial.com/cli/authorize:

dun auth login

Autenticação headless (CI)

Crie um PAT no aplicativo em Configurações → CLI (dun_pat_…), depois:

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

DUN_API_URL é opcional (padrão é produção).

Regras do PAT:

  • Vinculado a um workspace; escopo ausente → saída 3 / proibido
  • Não pode gerenciar outros tokens, cobrança ou equipe
  • Prefira PAT em vez de tokens de sessão de navegador em CI

Workspace

Interativo:

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

Headless (obrigatório com PAT):

export DUN_WORKSPACE_ID="…"

Verificar

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

Ordem de descoberta

  1. dun auth status --json
  2. dun workspace current --json (ou list + use)
  3. dun accounts list --json — capture os ids das contas sociais
  4. Agir (agendar / publicar / rascunho / mídia / memória)

Agendar uma postagem

dun posts schedule \
  --text "Enviado da CLI DunSocial." \
  --accounts acc_x,acc_li \
  --in 1h \
  --json

Tempo absoluto: --at 2026-06-01T09:00:00Z.

Publicar agora

dun posts publish --text "Olá do dun" --accounts acc_x --json

Mídia

Faça upload primeiro, depois anexe o id do ativo retornado:

dun media upload ./shot.png --alt "Captura de tela do produto" --json
dun posts schedule --text "…" --accounts acc_x --media <assetId> --in 30m --json

Rascunhos, memória, threads

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

Formato do arquivo de thread: [{"content":"1"},{"content":"2"}]

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

Operações destrutivas

Exigem --yes (ou CI=1) para delete.

Códigos de saída

CódigoSignificado
0ok
1uso
2autenticação
3proibido / escopo ausente
4validação
5não encontrado
6limite de taxa
7rede

JSON de falha:

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

Armadilhas

  • É necessário um workspace: workspace use, --workspace ou DUN_WORKSPACE_ID
  • --accounts espera ids de contas sociais do DunSocial, não handles
  • Faça upload de arquivos locais com media upload antes de anexar
  • Opções específicas da plataforma: --meta '{"reddit":{…}}' quando necessário
  • OAuth MCP e tokens CLI são sistemas diferentes

Ajuda

dun --help
dun posts --help

Habilidades Relacionadas