Descreva o plugin que você quer — em português, do seu jeito — e receba o código completo, o .zip de instalação, o auto-update e a landing page. Prontos.
🌐 Guia ilustrado · 🚀 Instalação · 💬 Como usar · 🧠 O que ela domina · ❓ FAQ
- 📖 Sobre
- 🎯 O problema que resolve
- ✨ O que a skill entrega
- ⚙️ Como funciona (o pipeline)
- 🧠 O que a skill domina
- 🚀 Instalação
- 🔄 Como a skill se atualiza
- 💬 Como usar
- 📂 Estrutura do repositório
- 🔐 Segurança & qualidade
- ⬆️ Auto-update próprio
- 🏷️ White-label
⚠️ Limitações (honestas)- 🗺️ Roadmap
- ❓ FAQ
- 🤝 Contribuindo
- 📄 Licença
A /wp-plugin é uma skill (habilidade) para o Claude Code. Depois de instalada, você a invoca, descreve em linguagem natural o plugin que quer — pode comparar com plugins que já existem — e ela constrói o plugin inteiro: código no padrão WordPress, pacote .zip instalável, sistema de atualização automática e uma landing page profissional. Você vai refinando em conversa até ficar exatamente como imaginou, e instala no seu WordPress.
Por baixo, a skill carrega um WordPress Plugin Blueprint completo — o mapa de arquitetura de plugins (admin, front-end, banco de dados, REST, cron, blocos, segurança, distribuição) — e o combina com templates prontos e um checklist de qualidade para gerar plugins seguros, performáticos e profissionais.
Para quem é: agências, infoprodutores, lojistas, desenvolvedores e qualquer pessoa que precise de um plugin sob medida — sem precisar escrever PHP.
Criar um plugin de WordPress decente envolve dezenas de decisões e armadilhas: estrutura de arquivos, hooks na ordem certa, dbDelta e migrações, nonces e capabilities, sanitização e escape, i18n, readme.txt, desinstalação limpa, empacotamento, atualização automática... Errar qualquer uma compromete segurança ou manutenção.
A /wp-plugin encapsula toda essa expertise. Você foca no o quê (a ideia); ela cuida do como (a engenharia), sempre seguindo as boas práticas oficiais do WordPress.
|
❌ Sem a skill
|
✅ Com a
|
A partir da sua descrição, em uma sessão você recebe:
| Entregável | Detalhe |
|---|---|
| 🧩 Plugin funcional | Arquivo principal, classes, assets e lógica realmente implementada — seguro (nonce, capability, $wpdb->prepare, escaping) e com i18n PT-BR. |
📦 Arquivo de instalação (.zip) |
Empacotado e validado (top-dir = slug, sem lixo). É só enviar em Plugins → Adicionar plugin → Enviar plugin. |
📄 readme.txt + uninstall.php |
readme.txt no formato WordPress.org e desinstalação opcional (não apaga dados sem consentimento). |
| ⬆️ Auto-update próprio | Cliente embutido no plugin + JSON de metadados + guia completo de configuração do servidor + script publicar.sh. |
| 🖥️ Landing page | Página de vendas profissional (responsiva, dark-mode, favicon) + página de instalação passo a passo. |
| 🔍 Modal "Ver detalhes" rico | As telas/descrição/FAQ que aparecem no popup nativo de detalhes do plugin no painel. |
| ♻️ Iteração | Peça ajustes e a skill refaz código, versão, .zip e landing — quantas vezes quiser. |
flowchart LR
A["💬 Você descreve<br/>o plugin"] --> B["📋 Entrevista<br/>preenche lacunas"]
B --> C["🏗️ Plano de<br/>arquitetura"]
C --> D["⚙️ Geração<br/>do código"]
D --> E["📦 Empacotar<br/>.zip"]
E --> F["⬆️ Auto-update<br/>+ servidor"]
F --> G["🖥️ Landing<br/>page"]
G --> H["♻️ Iteração<br/>até ficar pronto"]
H -.refinar.-> D
- Entrevista — a skill entende o escopo (o que faz, onde vive, dados, front-end, integrações, distribuição) e pergunta só o que for ambíguo.
- Plano — escolhe os blocos do blueprint que se aplicam e define a estrutura de arquivos, o schema e os hooks.
- Geração — escreve o plugin de verdade, seguindo o checklist de segurança e qualidade.
- Empacotamento — gera e valida o
.zipinstalável. - Auto-update (opcional) — adiciona o cliente de update e entrega o guia do servidor +
publicar.sh. - Landing — gera a página de vendas + a de instalação.
- Iteração — você refina; ela versiona, re-empacota e re-publica.
A skill carrega o WordPress Plugin Blueprint (skills/wp-plugin/references/blueprint.md) — um mapa prático de toda a anatomia de um plugin. Cobertura:
| Camada | Cobre |
|---|---|
| Bootstrap | Header, constantes, autoloader, ativação/desativação, plugins_loaded, init |
| Banco de dados | Tabelas próprias (dbDelta) + migrações versionadas, Options, Transients, User/Post meta |
| Conteúdo | Custom Post Types, taxonomias, meta boxes |
| Admin | Menus, páginas, Settings API, admin-post, AJAX, ações em massa, assets |
| Front-end | Shortcodes, blocos Gutenberg dinâmicos, widgets, rewrite/rotas + template_redirect |
| Integrações | REST API, WP-Cron, wp_mail, chamadas a APIs externas (wp_remote_*) com cache |
| Segurança | Nonces, capabilities, queries preparadas, sanitização/escape, privacidade (LGPD) |
| i18n | Strings traduzíveis, .pot/.po/.mo, PT-BR |
| Distribuição | readme.txt, uninstall.php, white-label, auto-update, landing, modal de detalhes |
Casos muito específicos (blocos com UI complexa no editor, integrações com plugins comerciais, etc.) podem precisar de ajuste manual — e a skill avisa quando for o caso.
📖 Guia visual passo a passo: funnilab.com/skill-wpplugin
| Requisito | Para quê |
|---|---|
| Claude Code | Rodar a skill |
| macOS ou Linux | Ambiente |
zip |
Empacotar o .zip |
php (opcional) |
Lint local (php -l) |
curl + python3 (opcional) |
Script de auto-update |
| Hospedagem estática (opcional) | Servir o auto-update |
Instala como plugin do Claude Code. O Claude Code se atualiza sozinho no startup sempre que você publica uma versão nova — sem fazer nada.
# no Claude Code:
/plugin marketplace add joaopaulobes/wp-plugin-skill
/plugin install wp-plugin@funnilabPronto. Depois é só usar (a skill se ativa quando você descreve um plugin, ou via o menu /plugin). Para forçar uma atualização manual: /plugin marketplace update funnilab.
Mantém o comando /wp-plugin limpo. A própria skill checa o GitHub quando é usada e oferece atualizar.
# 1) Clone este repositório
git clone https://github.com/joaopaulobes/wp-plugin-skill.git
# 2) Copie a pasta da skill para as skills do seu Claude Code
mkdir -p ~/.claude/skills
cp -r wp-plugin-skill/skills/wp-plugin ~/.claude/skills/
# 3) Reabra o Claude Code — a skill /wp-plugin está disponívelAtualizar (método 2)
A skill avisa quando há versão nova e atualiza com a sua permissão. Manualmente:
cd wp-plugin-skill && git pull && cp -r skills/wp-plugin ~/.claude/skills/🔄 Auto-update: veja a seção Como a skill se atualiza.
Toda melhoria publicada no GitHub chega aos usuários por dois canais complementares:
flowchart LR
M["🛠️ Mantenedor<br/>publicar-skill.sh"] -- "bump + push + tag" --> G[("GitHub<br/>marketplace")]
G -- "git pull no startup" --> U1["👤 Usuário (marketplace)<br/>atualiza sozinho"]
G -- "checagem ao usar" --> U2["👤 Usuário (git clone)<br/>skill oferece atualizar"]
- Marketplace — o Claude Code dá
git pulldo marketplace no startup e aplica a versão nova (avisa para/reload-plugins). - Checagem interna — ao ser ativada, a skill compara a versão local com a do GitHub e oferece atualizar (ver
references/self-update.md).
Um comando faz tudo (bump de versão + changelog + commit + push + tag + release):
./scripts/publicar-skill.sh # bump de patch
./scripts/publicar-skill.sh 1.2.0 "o que mudou"O versionamento usa o campo version do .claude-plugin/plugin.json — o bump é o gatilho do auto-update.
No Claude Code, em qualquer pasta, digite:
/wp-plugin
A skill se apresenta e pede a descrição. Descreva com o máximo de detalhe — o que o plugin faz, onde aparece (painel/site), o que o usuário configura, integrações e, se ajudar, compare com plugins que você conhece. Quanto mais detalhe, melhor o resultado.
💡 “Quero um plugin de aviso de cookies (LGPD) com texto e cores editáveis no painel e um botão de aceitar que lembra a escolha.”
💡 “Avaliações de produtos: um tipo de conteúdo para reviews, nota de 1 a 5, shortcode pra exibir numa página e a média no painel.”
💡 “Um encurtador de links com redirect, categorias e rastreio de cliques — parecido com o BetterLinks.”
💡 “Um formulário de orçamento que envia e-mail pro admin e guarda os pedidos numa tela do painel.”
Ver uma sessão típica do começo ao fim
você › /wp-plugin
skill › 🧩 Me descreva o plugin que você quer criar…
você › Um aviso de cookies LGPD: barra fixa no rodapé com texto e cores
configuráveis no painel, botão "Aceitar" que some a barra e lembra
a escolha por 1 ano.
skill › 📋 Entendi. Confirma o escopo?
• Slug: aviso-cookies-lgpd · prefixo: Acl_
• Painel: página de Configurações (texto, cor de fundo, cor do botão)
• Front: barra fixa no rodapé via wp_footer + cookie de 1 ano (JS)
• Sem tabelas (só options) · i18n PT-BR · uninstall opcional
Quer auto-update e landing page?
você › Sim, os dois.
skill › 🏗️ Plano + ⚙️ gerando…
✓ aviso-cookies-lgpd/ (plugin completo, seguro, i18n)
✓ aviso-cookies-lgpd.zip (instalável)
✓ auto-update (cliente + guia de servidor + publicar.sh)
✓ landing/ (página de vendas + instalação)
Tudo pronto. Quer ajustar algo?
você › Deixa a barra com cantos arredondados e um X pra fechar.
skill › ✓ feito · versão 1.1.0 · zip re-empacotado.
wp-plugin-skill/ ← repo = plugin + marketplace do Claude Code
├── .claude-plugin/
│ ├── plugin.json manifesto do plugin (versão → gatilho do auto-update)
│ └── marketplace.json catálogo do marketplace "funnilab"
├── skills/wp-plugin/ ← a SKILL
│ ├── SKILL.md cérebro: entrevista → geração → iteração
│ ├── references/ conhecimento carregado sob demanda
│ │ ├── blueprint.md mapa completo da arquitetura de plugins WP
│ │ ├── snippets.md trechos prontos por padrão (CPT, REST, cron…)
│ │ ├── auto-update.md servidor de updates do PLUGIN gerado
│ │ ├── landing.md landing + screenshots + favicon + modal
│ │ ├── self-update.md checagem de versão da PRÓPRIA skill
│ │ └── checklist.md qualidade/segurança antes de entregar
│ └── templates/ esqueleto pronto (com placeholders)
│ ├── plugin/ plugin-main, install, admin, updater, assets…
│ ├── publicar.sh script de publicação do auto-update do plugin
│ └── landing/ template da landing page + favicon
├── scripts/publicar-skill.sh ← publica nova versão da skill p/ todos
├── guia/ ← página-guia (funnilab.com/skill-wpplugin)
├── docs/ ← assets do README
├── .github/ ← templates de issue + PR
└── README · LICENSE · CHANGELOG · CONTRIBUTING · SECURITY · CODE_OF_CONDUCT
Todo plugin gerado passa por um checklist inegociável (references/checklist.md). Garantias:
- 🛡️ Nonces em toda ação que muda estado (forms, AJAX, links de ação).
- 🔑 Capabilities (
current_user_can) antes de qualquer ação sensível. - 🧱 Queries preparadas (
$wpdb->prepare) em 100% das consultas dinâmicas. - 🧼 Sanitização na entrada + escaping na saída (
esc_html/esc_attr/esc_url/wp_kses). - 🌍 i18n desde o início + tradução PT-BR.
- 🧩 Prefixação total (funções, options, tabelas, hooks, handles) — sem colisões.
- 🗑️
uninstall.phpque só remove dados se o usuário optar (default: preserva). - 🔄 Migração de schema versionada via
dbDelta.
⚖️ Política de propriedade intelectual: a skill nunca copia código de plugins de terceiros. Você pode comparar com plugins conhecidos para explicar o que quer, mas tudo é implementado do zero — funcionalidade e UX não são protegidas; código-fonte é.
O plugin pode avisar "atualização disponível" no painel e atualizar com 1 clique — igual a qualquer plugin do diretório — a partir de um servidor que você controla.
flowchart LR
P["Plugin instalado<br/>(Mpl_Updater)"] -- "consulta o JSON" --> S[("Seu servidor<br/>meu-plugin.json<br/>meu-plugin.zip")]
S -- "versão nova?" --> W["WordPress mostra<br/>'atualizar agora'"]
W -- "1 clique" --> P
A skill entrega o cliente (dentro do plugin), o formato do JSON, o guia de configuração do servidor e o script publicar.sh (build + upload atômico + validação). O guia inclui as armadilhas reais já resolvidas: hotlink/CSP nas imagens do modal, open_file_cache do nginx, cache de CDN e pipefail. Basta um servidor que sirva 2 arquivos estáticos.
Plugins gerados já nascem rebrandáveis por filtros, sem editar o núcleo:
add_filter( 'mpl_brand', fn() => 'Minha Marca' ); // nome exibido
add_filter( 'mpl_capability', fn() => 'edit_posts' ); // permissão de acesso
add_filter( 'mpl_update_json_url', fn() => 'https://meudominio.com/updates.json' ); // servidor de updates próprioIdeal para revender o mesmo plugin com marcas diferentes para vários clientes.
A skill cobre a grande maioria dos plugins. Itens que podem exigir ajuste manual (a skill sinaliza):
- Blocos Gutenberg com UI rica no editor (controles em React/JSX) — exigem build com
@wordpress/scripts. Blocos dinâmicos (render em PHP) são cobertos nativamente. - Integrações profundas com plugins comerciais (WooCommerce, Elementor, etc.).
- Multisite avançado, Customizer e fluxos muito específicos.
Nesses casos, a skill entrega a base sólida + aponta exatamente o que falta.
- Captura automática de screenshots quando há um WordPress de teste disponível
- Geração de blocos Gutenberg com UI (scaffold
@wordpress/scripts) - Templates extras de auto-update (GitHub Releases, S3/R2)
- Suíte de testes (PHPUnit) opcional nos plugins gerados
Sugestões? Abra uma issue.
Preciso saber programar?
Não. Você descreve o plugin em português e a skill escreve todo o código, no padrão e seguro.Onde fica a pasta de skills do Claude Code?
Em~/.claude/skills/. Cada skill é uma subpasta com um SKILL.md. Copie a pasta wp-plugin para lá e reabra o Claude Code.
Funciona para qualquer tipo de plugin?
Para a grande maioria: telas no painel, front-end, shortcodes, CPTs, REST API, cron, blocos dinâmicos e auto-update. Casos muito específicos podem precisar de ajuste manual — a skill avisa.A skill copia plugins que já existem?
Não. Você pode comparar com plugins conhecidos para explicar o que quer, mas ela implementa tudo do zero. Código de terceiros é protegido; funcionalidade e UX não são.O auto-update é obrigatório?
Não, é opcional. Se quiser distribuir, a skill monta o cliente de update e entrega o guia completo de configuração do servidor (basta servir 2 arquivos estáticos).Os plugins que eu criar são meus?
Sim. A skill é MIT e o que você gera com ela é seu — para usar, vender ou distribuir.Preciso de chave de API / serviço pago?
A skill roda dentro do seu Claude Code. Os plugins gerados não dependem de serviços externos, a menos que você peça uma integração específica.Contribuições são muito bem-vindas! Abra uma issue para bugs/ideias ou um Pull Request para melhorias nos references, templates ou na página-guia.
| Documento | Para quê |
|---|---|
| CONTRIBUTING.md | Como contribuir, padrões e fluxo |
| CODE_OF_CONDUCT.md | Como nos tratamos por aqui |
| SECURITY.md | Reportar vulnerabilidades (privado) |
| CHANGELOG.md | Histórico de versões |
Distribuído sob a licença MIT — veja LICENSE. Os plugins que você gera com a skill são seus.
Feito com 🧩 por FunniLab
🌐 Guia · 💻 GitHub · ⭐ Deixe uma star
Se este projeto te ajudou, considere deixar uma ⭐ — ajuda outras pessoas a encontrarem.

