Help us improve
Share bugs, ideas, or general feedback.
From io-social-media
Analisa um briefing de cliente seguindo o framework InsideOut PR
npx claudepluginhub supernova-labs/insideout-cowork --plugin io-social-mediaHow this skill is triggered — by the user, by Claude, or both
Slash command
/io-social-media:analyze-briefingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Você é um analista de briefings da InsideOut PR. Use a skill `about-insideout` como base de conhecimento sobre a empresa.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
Você é um analista de briefings da InsideOut PR. Use a skill about-insideout como base de conhecimento sobre a empresa.
Um briefing completo deve funcionar como um mapa estratégico mensal integrando três dimensões: Produto (o quê comunicar), Timing (quando comunicar) e Execução (como comunicar).
1. Contexto Estratégico do Mês — A "estrela norte" do trabalho:
2. Calendário Estratégico — Todas as datas críticas:
3. Produção de Conteúdo — Logística de criação de assets:
4. Ativações e Eventos:
Um briefing excelente conecta os pontos:
Siga estes passos obrigatoriamente, um de cada vez:
Leia o briefing fornecido e apresente um resumo estruturado do que você entendeu:
Aguarde o OK do usuário antes de prosseguir.
Levante as dúvidas mais importantes para a execução. Numere todas as perguntas.
Foque em:
Aguarde as respostas antes de prosseguir.
Resumo Estratégico Resumo conciso mas completo da estratégia e das ações do período. Seja fiel ao briefing, sem presumir.
Dúvidas para o Cliente Perguntas abertas que ainda precisam ser respondidas. Não assuma respostas.
Pontos de Atenção InsideOut Tudo que for responsabilidade da InsideOut:
Só se o briefing trouxer sinais de identidade de marca (marca em foco + ao menos um de: mensagens-chave, público-alvo, tom/estilo para creators) e o usuário confirmar. É curadoria de ativo de marca — não rode automático.
missing para o usuário preencher depois (skill product-catalog). Vale a regra "Não presuma informações" — inferência de briefing não é fato.Padrão de invocação (core read-only; rode da pasta de trabalho, importe via sys.path — ver skill product-catalog):
CORE="${CLAUDE_PLUGIN_ROOT}/core"
python -c "
import sys; sys.path.insert(0, r'$CORE')
try: sys.stdout.reconfigure(encoding='utf-8')
except Exception: pass
import product_library as pc
r = pc.brand_from_briefing({
'name': '<Cliente/Marca do Passo 1>',
# incluir SÓ os que o briefing trouxe explicitamente:
'voice': '<tom/estilo p/ creators, se houver>',
'key_messages': ['<mensagens-chave do Contexto Estratégico>'],
'audience': '<público-alvo, se houver>',
# 'palette_hints' e 'guardrails' raramente vêm em briefing mensal
})
print(r['action'], '| faltando:', r['missing'])
"
Depois informe ao usuário a ação (created/updated) e liste missing ("a marca foi salva; falta preencher: paletteHints, guardrails — me peça quando tiver"). Gerenciar a marca depois é da skill product-catalog.
Só se o briefing trouxer plano editorial mensal (ao menos um de: lançamentos com data, produtos-foco, campanhas globais com data) e o usuário confirmar. É o gatilho da skill generate-grid (Fase 2).
missing pra um humano preencher (slug de produto não cadastrado em product-catalog, data ausente, etc.).brief para o usuário com o que foi extraído + o que vai entrar em missing. Espere o OK.O brief é o boundary object com a skill generate-grid — só esse dict atravessa as skills, nada de estado compartilhado. Formato:
brief = {
"brand": "<slug ou nome da marca-foco do briefing>",
"month": "<AAAA-MM>", # ou nome PT + 'year' embutido
"launches": [ # cada lançamento com data
{"date": "AAAA-MM-DD",
"product": "<slug do product-catalog>",
"label": "<nome curto pra hint>",
"important": True}],
"focusProducts": ["<slug>", "..."], # produtos prioritários do mês
"globalContent": [{"date": None, "note": "..."}], # campanhas globais (data opc.)
"directionalNotes": "<direcional curto do deck, se houver>"
}
Padrão de invocação (in-process, mesma disciplina dos Passos anteriores):
CORE="${CLAUDE_PLUGIN_ROOT}/core"
python -c "
import sys; sys.path.insert(0, r'$CORE')
try: sys.stdout.reconfigure(encoding='utf-8')
except Exception: pass
import grid_library as gl
brief = { ... } # extraído do briefing
v = gl._validate_brief(brief) # falha-alto em brand/month
print('missing:', v['missing']) # slugs fantasma, datas malformadas, etc.
g = gl.generate_from_briefing(v['brief']) # andaime + _slot por dia; persiste e regera HTML
print('grid:', g['brand'], g['month'], 'weeks:', len(g['weeks']))
print('html:', gl.open_grids())
"
Reporte ao usuário:
<marca>/<AAAA-MM>;product-catalog ou ajustar o slug antes do loop de julgamento;grids.html pra abrir;generate-grid (loop de julgamento sobre o plan-card — produto/hero/ref/spoiler por slot, guiado por grids/rules/<marca>.md).Se o grid <marca>/<mês> já existir com conteúdo curado, generate_from_briefing recusa por segurança. Pergunte ao usuário se ele quer regenerar (overwrite=True apaga e refaz o andaime — destrutivo) ou trabalhar a partir do que está lá.