Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Escrever Uma Publicacao

ASecurity

Redijo um conteúdo na sua voz, baseado no seu posicionamento. Escolha o canal: um post de blog longo, uma publicação no LinkedIn, uma thread no X, uma newsletter, ou uma resposta no Reddit. Copy nativo do canal que soa como você, não como uma fábrica de conteúdo. Apenas rascunhos, você sempre publica.

113 stars
0 votes
0 copies
0 views
Added 9/19/2026
content-marketinggoapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add gethouston/houston --skill escrever-uma-publicacao --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Escrever Uma Publicacao?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Escrever Uma Publicacao
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethouston-escrever-uma-publicacao/badge)](https://www.skillsdirectory.com/skills/gethouston-escrever-uma-publicacao)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: escrever-uma-publicacao
title: "Escrever uma publicação"
description: "Redijo um conteúdo na sua voz, baseado no seu posicionamento. Escolha o canal: um post de blog longo, uma publicação no LinkedIn, uma thread no X, uma newsletter, ou uma resposta no Reddit. Copy nativo do canal que soa como você, não como uma fábrica de conteúdo. Apenas rascunhos, você sempre publica."
version: 1
category: Marketing
featured: yes
image: megaphone
integrations: [googledocs, linkedin, twitter, reddit, mailchimp, firecrawl]
x_houston:
  created_by: houston
  skill_schema: 1
---


# Escrever uma publicação

Redação nativa por canal, uma skill só. O parâmetro `channel` escolhe o formato. A disciplina central  -  posicionamento, voz, nada de estatísticas inventadas, apenas rascunhos  -  é compartilhada entre todos os canais.

## Parâmetro: `channel`

- `blog`  -  post de 2.000-3.000 palavras com consciência de SEO → `blog-posts/{slug}.md`.
- `linkedin`  -  publicação nativa começando pelo gancho → `posts/linkedin-{slug}.md`.
- `x-thread`  -  thread de 5-12 tweets → `threads/x-{slug}.md`.
- `newsletter`  -  assunto + prévia + corpo, um fio condutor único →
  `newsletters/{YYYY-MM-DD}.md`.
- `reddit`  -  resposta de comunidade com valor em primeiro lugar (thread de origem via
  Composio/Firecrawl) → `community-replies/{source-slug}.md`.

Você nomeia o canal em linguagem simples ("thread no X", "resposta no Reddit", "a newsletter desta semana") → eu infiro. Ambíguo → faço UMA pergunta nomeando as 5 opções.

## Quando usar

- Explícito: "redija um {post de blog / publicação no LinkedIn / thread no X /
  newsletter / resposta no Reddit} sobre {tema}", "escreva uma publicação sobre {X}",
  "responda a esta thread em {URL}".
- Implícito: chamada por `plan-a-campaign` (lançamento / anúncio) para as
  peças de canal, ou por `watch-my-competitors`
  (social-feed) quando uma thread de alto sinal é marcada.

## Conexões que eu preciso

Executo trabalho externo através do Composio. Antes de esta skill rodar, verifico se as categorias abaixo estão conectadas. Faltando → nomeio a categoria, peço para você conectá-la na aba Integrações, paro.

- **Busca na web (Exa, Perplexity)**  -  varredura de SERP para `blog`, embasamento leve para publicações. Obrigatório para `blog`  -  sem alternativa útil, preciso de um buscador para comparar a cobertura existente.
- **Web scrape (Firecrawl)**  -  opcional. Se não estiver conectado, recorro a uma busca HTTP básica nas URLs de concorrentes / fontes, mais rudimentar mas funcional em páginas estáticas.
- **Google Docs**  -  espelha o rascunho do blog em um Doc que você pode entregar a qualquer pessoa para revisão. Opcional para `blog`.
- **Reddit**  -  lê a thread de origem para `reddit`. Obrigatório para `reddit`  -  sem alternativa, a API controla o acesso.
- **Plataformas sociais (LinkedIn, X)**  -  opcional para `linkedin` e `x-thread`.
- **Plataforma de e-mail (Customer.io, Loops, Mailchimp, Kit)**  -  deposita a newsletter em um rascunho. Opcional para `newsletter`.

Para `blog`, eu paro se a busca na web não estiver conectada. Para `reddit`, eu paro se o Reddit não estiver conectado. A alternativa de web scrape me mantém rodando sozinha.

## Informações que eu preciso

Leio seu contexto de marketing primeiro. Para cada campo obrigatório que estiver faltando, faço UMA pergunta em linguagem simples (melhor modalidade: app conectado > envio de arquivo > URL > colar) e espero.

- **O nome e o pitch da sua empresa**  -  Obrigatório para todo canal. Por que preciso: ancora a publicação no que você realmente faz. Se faltar, pergunto: "Qual é o nome da empresa, e como você descreve o que ela faz em uma frase?"
- **Sua voz**  -  Obrigatório para todo canal. Por que preciso: uma publicação com cara genérica é ignorada. Se faltar, pergunto: "Conecte seu LinkedIn ou sua caixa de enviados para eu amostrar sua voz, ou cole duas ou três coisas que você escreveu."
- **Seu posicionamento**  -  Obrigatório para todo canal. Se faltar, pergunto: "Quer que eu redija seu posicionamento primeiro? É uma skill só, leva uns cinco minutos."
- **Suas plataformas sociais e temas**  -  Obrigatório para `linkedin`, `x-thread`, `reddit`. Se faltar, pergunto: "Em quais plataformas você publica, e sobre que temas você quer que eu escreva?"
- **Sua plataforma de e-mail**  -  Obrigatório para `newsletter` (para eu nomear a ferramenta em que você vai colar). Se faltar, pergunto: "Qual ferramenta de e-mail você usa para enviar sua newsletter?"

## Passos
<!-- houston-workflow:v1 -->

1. **Ler o ledger + posicionamento.** Carrego `config/context-ledger.json`
   e `context/marketing-context.md`. Coleto os campos obrigatórios faltantes
   conforme a lista acima (UMA pergunta cada, melhor modalidade primeiro).
2. **Resolver canal + tema.** Confirmo o parâmetro. Tema não explícito →
   faço UMA pergunta: "Qual é o ângulo / gancho /
   palavra-chave alvo?"
3. **Rodada de pesquisa (na escala do canal).**
   - `blog`  -  rodo `composio search seo` / `composio search web` para
     os 5-10 primeiros resultados da SERP na palavra-chave alvo; extraio lacunas
     de ângulo + estrutura esperada.
   - `linkedin` | `x-thread`  -  opcional, `composio search web` para
     1-3 fatos de embasamento. Pulo se for pura história/opinião.
   - `newsletter`  -  puxo o material de origem (colagem, links seus, entradas
     recentes de `blog-posts/` indexadas em `outputs.json`). Nada →
     pergunto: "O que aconteceu nesta semana que vale um e-mail?"
   - `reddit`  -  rodo `composio search web-scrape` (ou
     `composio search reddit`), busco a URL da thread, puxo o OP + os
     3-5 comentários principais. Scraping falhou → peço para você colar.
4. **Avaliar o valor (apenas reddit).** Uma frase: "temos de verdade
   algo a acrescentar aqui?" Não → digo isso, paro. Nada de respostas de enchimento.
5. **Redigir no formato do canal.**
   - `blog`  -  H1 (com a palavra-chave à frente, humano) → introdução (gancho + promessa +
     sumário) → H2/H3 cobrindo a demanda da SERP + uma seção contraintuitiva amarrada
     ao posicionamento → sugestões de links internos no texto → um CTA vindo do
     posicionamento → meta description (≤155 caracteres) → slug (kebab-case)
     → briefing de imagem (texto alternativo + 2-3 ideias).
   - `linkedin`  -  linha 1 é o gancho (4-10 palavras, contraintuitivo / número
     específico) → espaço em branco, linhas curtas → uma conclusão clara →
     3-6 parágrafos curtos → CTA ou pergunta → 0-3 hashtags específicas.
   - `x-thread`  -  tweet 1 com gancho que para o scroll (≤280 caracteres,
     sem enfeite de emoji) → 4-10 tweets numerados em progressão (cada um é um passo,
     ≤280) → tweet final de CTA (seguir / responder / link). O X é mais direto
     que o LinkedIn.
   - `newsletter`  -  escolho UM fio condutor (não consigo enunciar em
     uma frase → peço para você escolher o título) → assunto
     (≤60 caracteres, específico) → prévia (50-90 caracteres) → corpo com 3-5
     seções curtas a serviço do fio condutor → um CTA principal.
     Texto simples em primeiro lugar, cito as URLs das fontes no texto.
   - `reddit`  -  reconheço a pergunta específica do OP (1 linha) →
     valor concreto em 2-4 parágrafos curtos (framework, número, pegadinha,
     passo a passo, contraponto) → menção sutil opcional só se
     diretamente relevante, depois do valor, nome e não link → sem
     assinaturas. Registro muda para o casual da comunidade.
6. **Ajuste de voz.** Todo canal respeita os campos de `voice` do ledger
   (formalidade, hábito de emoji, comprimento de frase). Amostra de voz
   insossa → padrão direto + caloroso.
7. **Escrever atomicamente** no caminho do canal (`*.tmp` → renomear). Slug
   = kebab(primeiras-5-palavras-do-gancho), a menos que outra regra acima se aplique.
   Front-matter do arquivo: `type`, `channel`, `topic`, mais os campos específicos
   do canal (blog: title/slug/metaDescription/targetKeyword/
   wordCount; newsletter: throughLine/sources; reddit: URL de origem
   + subreddit + citação do OP).
8. **Bônus do blog (apenas `channel: blog`).** `googledocs`
   conectado → rodo `composio search googledocs` → executo a
   ferramenta de criar documento, espelho o rascunho lá, incluo a URL no
   resumo.
9. **Anexar em `outputs.json`** na raiz do agente. Ler, mesclar e escrever
   atomicamente: `{ id (uuid v4), type: "blog-post" | "linkedin-post"
   | "x-thread" | "newsletter" | "community-reply", title, summary,
   path, status: "draft", createdAt, updatedAt }`.
10. **Resumir para você.** Um parágrafo nomeando o gancho / fio
    condutor / valor agregado + caminho do arquivo. Lembrete: "Revise, edite e publique
    você mesmo."

## O que eu nunca faço

- Publicar / postar / enviar em seu nome. Apenas rascunhos.
- Inventar estatísticas, citações de clientes, fontes. Toda afirmação citável
  tem URL ou fica marcada como TBD.
- Adivinhar posicionamento ou voz. Leio o ledger + o arquivo de posicionamento ou
  pergunto.
- Fixar nomes de ferramentas no código. Descoberta via Composio apenas em tempo de execução.

## Saídas

- `blog-posts/{slug}.md` | `posts/linkedin-{slug}.md` |
  `threads/x-{slug}.md` | `newsletters/{YYYY-MM-DD}.md` |
  `community-replies/{source-slug}.md`.
- Anexa uma entrada em `outputs.json` com o `type` correspondente.

Attribution

gethoustongethouston
View sourceMore from gethouston →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Postiz

Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Discord, Slack, Kick, Twitch, Mastodon, Bluesky, Lemmy, Farcaster, Telegram, Nostr, VK, Medium, Dev.to, Hashnode, WordPress, ListMonk

21281 votes

Serp Analysis

SERP analysis techniques for intent classification, feature identification, and competitive intelligence. Use when analyzing search results for content strategy.

2831 votes

On Page Seo Auditor

This skill performs detailed on-page SEO audits to identify issues and optimization opportunities. It analyzes all on-page elements that affect search rankings and provides actionable recommendations.

1821 votes

Brand

Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.

1240080 votes

Release Announcement

Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.

798220 votes
View all in content-marketing →