dobralabs/ccos-ratos/publicar-instagram

Claude Code and agent skill by dobralabs/ccos-ratos

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Publica carrosséis e posts no Instagram e TikTok direto do Claude Code. Suporta dois métodos: Post for Me (mais simples, multi-plataforma) ou Graph API do Instagram (direto, sem intermediário). Inclui setup guiado na primeira vez pra configurar credenciais. Use quando o usuário mencionar "publicar", "postar no instagram", "publicar carrossel", "publicar no tiktok", "postar isso", ou pedir pra enviar imagens pro Instagram/TikTok.

Install

npx vskill@latest install dobralabs/ccos-ratos/publicar-instagram

SKILL.md

/publicar — Publicar no Instagram e TikTok

Setup (primeira vez)

Na primeira vez, guiar o usuário pra escolher e configurar o método de publicação.

Perguntar o método
"Pra publicar direto do Claude Code, tu tem duas opções:
1. Post for Me (recomendado)
- Publica no Instagram, TikTok e LinkedIn com uma API só
- Setup em 5 minutos, token não expira
- Gratuito pra uso normal
- Site: postforme.dev
2. Graph API do Instagram (avançado)
- Publica direto pela API oficial do Meta/Facebook
- Só Instagram (TikTok e LinkedIn não)
- Token expira a cada 60 dias (precisa renovar)
- Setup mais técnico (~15 min)
- Gratuito
Qual tu prefere?"

Setup Post for Me

Se escolheu Post for Me:

  1. Criar conta:

> "Acessa postforme.dev, cria uma conta e conecta teu Instagram (e TikTok se quiser). > Depois vai em Settings > API e copia a API Key. Cola aqui."

  1. Salvar a key:

Receber a API key e adicionar no .env: `` POSTFORME_API_KEY=pfm_live_xxxxx ``

  1. Testar conexão:

``bash curl -s -H "Authorization: Bearer $(grep POSTFORME_API_KEY .env | cut -d= -f2)" \ "https://app.postforme.dev/api/v1/social-accounts?platform=instagram" | head -c 200 `` Se retornar conta conectada, tá pronto. Se não, guiar o usuário pra conectar a conta no dashboard.

  1. Conferir o script de publicação:

scripts/publish-postforme.js vem dentro desta skill e roda de lá. Não copiar pra fora: assim a skill viaja inteira quando a pasta for compartilhada.

  1. Confirmar:

> "Pronto! Script de publicação instalado. Tua conta tá conectada. Pra publicar, é só chamar /publicar com as imagens."


Setup Graph API

Se escolheu Graph API:

  1. Guiar configuração do Meta Developer:

> "Vou te guiar passo a passo. Primeiro: > 1. Acessa developers.facebook.com e cria um app tipo 'Empresa' > 2. No app, ativa o produto 'Instagram Graph API' > 3. Vai no Graph API Explorer (developers.facebook.com/tools/explorer/) > 4. Seleciona teu app e gera um token com estes escopos: > - instagram_content_publish > - instagram_basic > - pages_read_engagement > 5. Cola o token aqui"

  1. Converter token pra longa duração (60 dias):

``bash curl -s "https://graph.facebook.com/v21.0/oauth/access_token?grant_type=fb_exchange_token&client_id=APP_ID&client_secret=APP_SECRET&fb_exchange_token=TOKEN_CURTO" `` Pedir App ID e App Secret ao usuário.

  1. Pegar Instagram User ID:

``bash curl -s "https://graph.facebook.com/v21.0/me/accounts?access_token=TOKEN_LONGO" | python3 -m json.tool ` Com o Page ID: `bash curl -s "https://graph.facebook.com/v21.0/PAGE_ID?fields=instagram_business_account&access_token=TOKEN_LONGO" ``

  1. Configurar imgbb (host de imagens):

> "A Graph API precisa de URL pública pra cada imagem. O imgbb faz isso de graça: > 1. Acessa api.imgbb.com > 2. Cria conta e copia a API Key > 3. Cola aqui"

  1. Salvar tudo no `.env`:

`` INSTAGRAM_ACCESS_TOKEN=token_longo_aqui INSTAGRAM_USER_ID=id_aqui IMGBB_API_KEY=key_aqui ``

  1. Conferir o script:

scripts/publish-graph-api.js vem dentro desta skill e roda de lá. Não copiar pra fora.

  1. Avisar sobre renovação:

> "Importante: teu token do Instagram expira em 60 dias. Quando parar de funcionar, roda /publicar de novo que eu te guio pra renovar."


Workflow de publicação (após setup)

1. Detectar o que publicar

Se o usuário chamou /publicar sem argumentos, verificar:

  • Existe conteudo/carrosseis/ com PNGs recentes? Se sim, oferecer publicar o mais recente
  • Se não, perguntar: "O que tu quer publicar? Me passa o caminho das imagens ou roda /carrossel primeiro"

Se chamou com caminho (ex: /publicar conteudo/carrosseis/ia-no-varejo/instagram/):

  • Usar os PNGs e o carousel-text.md (legenda) daquela pasta
2. Detectar o método configurado

Verificar .env:

  • Se tem POSTFORME_API_KEY -> usar Post for Me
  • Se tem INSTAGRAM_ACCESS_TOKEN -> usar Graph API
  • Se tem os dois -> perguntar qual usar
  • Se não tem nenhum -> rodar setup
3. Preview antes de publicar

Antes de qualquer publicação, mostrar preview:

"Vou publicar no Instagram:
- Imagens: slide-01.png, slide-02.png, ... slide-08.png
- Legenda: [primeiros 200 chars]...
- Método: Post for Me / Graph API
Quer que eu faça um dry-run primeiro pra testar, ou manda direto?"
4. Dry-run (recomendado na primeira vez)

Os comandos abaixo rodam da raiz do sistema. Se a skill mora na pasta de um projeto, o caminho é <pasta>/.claude/skills/publicar-instagram/scripts/....

bash
# Post for Me
node --env-file=.env .claude/skills/publicar-instagram/scripts/publish-postforme.js \
--platform "instagram" \
--images "slide-01.png,slide-02.png,..." \
--caption "legenda" \
--dry-run
# Graph API
node --env-file=.env .claude/skills/publicar-instagram/scripts/publish-graph-api.js \
--images "slide-01.png,slide-02.png,..." \
--caption "legenda" \
--dry-run

Mostrar resultado do dry-run. Se OK, perguntar:

"Dry-run passou. Quer publicar de verdade?"
5. Publicar
bash
# Post for Me — Instagram
node --env-file=.env .claude/skills/publicar-instagram/scripts/publish-postforme.js \
--platform "instagram" \
--images "slide-01.png,slide-02.png,..." \
--caption "legenda"
# Post for Me — TikTok (SEMPRE como draft pro usuario escolher musica no app)
node --env-file=.env .claude/skills/publicar-instagram/scripts/publish-postforme.js \
--platform "tiktok" \
--images "slide-01.png,slide-02.png,..." \
--caption "legenda tiktok" \
--draft
# Graph API — Instagram
node --env-file=.env .claude/skills/publicar-instagram/scripts/publish-graph-api.js \
--images "slide-01.png,slide-02.png,..." \
--caption "legenda"
6. Confirmar

Após publicação:

"Publicado no Instagram! [link se disponível]"

Se o usuário quiser publicar no TikTok também (e usar Post for Me), perguntar:

"Quer publicar no TikTok também? Vai como rascunho pra tu escolher a música no app."

Regras

  • NUNCA publicar sem confirmação explícita do usuário
  • Dry-run recomendado na primeira publicação (não obrigatório depois)
  • TikTok via Post for Me: SEMPRE como draft (flag --draft)
  • Se o token da Graph API expirou, guiar renovação em vez de dar erro genérico
  • Legenda max: 2200 caracteres (Instagram/TikTok), 3000 (LinkedIn)
  • Imagens: 2-10 (Instagram), 4-35 (TikTok)
  • Nunca commitar .env no git (já tá no .gitignore)

Security

  • Security scanPassed, 85 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
70
Repository forks
27
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 4 Jun 2026, 5 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/dobralabs/ccos-ratos/publicar-instagram/badge)](https://verified-skill.com/skills/dobralabs/ccos-ratos/publicar-instagram)

Something wrong with this skill or its page? Tell us.