skills/42-blog-screenshot/SKILL.md
Captura screenshots via Playwright MCP de URLs/elementos pra usar em posts de blog ou documentação. Lida com viewport, cookie banners, full-page vs section, scroll a âncora, formatos PNG/JPG. Compõe com skill 41 (blog-publisher). Trigger em: "tira print", "screenshot do site", "captura tela", "screenshot da página", "print da landing", "print do dashboard", "screenshot pro blog".
npx skillsauth add felvieira/claude-skills-fv 42-blog-screenshotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Especialista em captura via Playwright. Pega URL/elemento → entrega PNG/JPG limpo.
Esta skill segue GLOBAL.md, policies/tool-safety.md. Usa Playwright MCP que já está
no harness padrão do kit.
analyze-doc/index.html)A captura é da página inteira?
├── SIM → fullPage: true
│ └── Resultado: arquivo longo, ideal pra hero/cover landing
└── NÃO → fullPage: false (viewport visible)
├── Específico de uma seção?
│ └── Scroll até âncora (URL com #fragment) antes do shot
└── Específico de um elemento?
└── Passar `element` selector pro screenshot
| Destino | Width × Height | Quando usar | |---|---|---| | Cover de post de blog | 1500 × 750 | Proporção Medium/Twitter OG | | Hero de landing page | 1400 × 900 | Desktop padrão | | Inline section | 1200 × 800 | Section dentro de post | | Mobile preview | 390 × 844 | Responsive showcase (iPhone 14) | | Tablet preview | 1024 × 768 | iPad portrait |
analyze-doc/index.en.html)? converter pra https://felvieira.github.io/... se já tiver Pages, ou file:// se for local (file:// pode estar bloqueado no Playwright MCP — usar Pages quando possível)#anchor? incluir na URL pra scroll automáticomcp__plugin_playwright_playwright__browser_resize({ width: 1400, height: 900 })
Ou viewport específico do destino (ver tabela acima).
mcp__plugin_playwright_playwright__browser_navigate({ url: "https://..." })
Se site é público com cookie banner, dispensar via browser_evaluate antes do shot:
// Remove common cookie banner selectors
document.querySelectorAll('[id*="cookie"],[class*="cookie-banner"],[class*="consent"]')
.forEach(el => el.remove());
Pra páginas com lazy-load ou animação inicial, esperar 1-2s antes do shot:
mcp__plugin_playwright_playwright__browser_evaluate({
function: "() => new Promise(r => setTimeout(r, 1500))"
})
mcp__plugin_playwright_playwright__browser_take_screenshot({
filename: "D:/Repos/blog/assets/images/{slug}-{N}.png",
type: "png",
fullPage: false // ou true conforme decisão
})
ls -la D:/Repos/blog/assets/images/{slug}-{N}.png
Esperado: 50KB-300KB pra PNG dark mode comum. Se >1MB, considerar converter pra JPEG ou crop específico de elemento.
Para integração com skill 41:
assets/images/{slug}-cover.png ← cover do post
assets/images/{slug}-1.png ← primeiro inline
assets/images/{slug}-2.png ← segundo inline
assets/images/{slug}-mobile.png ← (opcional) mobile preview
Slug deve bater com o slug do post (YYYY-MM-DD-{slug}.html em posts/).
<img> do post| Anti-padrão | Realidade | |---|---| | Tirar fullPage de página muito longa | Vira 8MB. Quebra OG. Sempre fazer crops específicos. | | Esquecer de fechar cookie banner | Cobertura do screenshot, vergonha pública. Sempre limpar antes. | | Hardcode viewport mobile pra cover | Cover precisa 16:9 ou 2:1. Mobile só pra mostrar responsividade. | | Capturar sem aguardar fonts | Fonts não carregadas geram FOUT no print. Aguardar 1s mínimo. | | Screenshot direto sem resize | Default do Playwright é 1280×720. Pra cover de blog, ajustar pra 1500×750. |
skills/41-blog-publisher/SKILL.md — invoca esta skillskills/17-image-generator/SKILL.md — alternativa de geração (não captura)D:/Repos/blog/assets/images/ — destino padrão das capturas pra blogtesting
Skill do Product Owner para especificação de features. Use quando precisar definir requisitos de negócio, escrever user stories, critérios de aceitação, priorização de backlog, ou qualquer documento de especificação de produto. Inclui fundamento de negócio para discovery: validação de hipótese, problema vs. necessidade, MVP, modelo de monetização e métricas pirata (AARRR) como input da spec. Trigger em: "nova feature", "especificação", "user story", "requisito", "backlog", "PO", "definir escopo", "critério de aceitação", "MVP", "roadmap", "validação de hipótese", "discovery", "monetização", "pricing", "product-market fit", "métricas AARRR".
development
Skill compositora que pega texto/assunto e gera post de blog HTML completo no repo {blog_repo_path} ({github_user_repo_url}), com imagens (via skill 17 fal.ai ou skill 42 Playwright screenshot), commit+push automático, retorna URL pública via GitHub Pages. Trigger em: "post no blog", "publicar post", "escrever post", "blog post", "publish blog", "gera post", "criar post", "novo post no meu blog".
tools
Audita o peso de contexto carregado na sessão — CLAUDE.md, agents, MCP descriptions, rules ativas, skills invocadas e histórico acumulado. Estima tokens por componente, reporta headroom disponível e emite alertas de overflow. Distinto do cost-tracker (skill 30) que rastreia tokens gastos em completions runtime. Trigger em: "contexto inchado", "context overflow", "quanto contexto estou usando", "peso do contexto", "context budget", "tokens carregados", "sessao lenta", "respostas degradadas", "headroom de contexto", "custo fixo de contexto", "overhead de rules", "overhead dos agents", "impacto do MCP no contexto", "espaco no context window", "quanto cabe no context window"
development
Coleta e organiza informacao tecnica multi-fonte antes de escrever docs, PRDs, ADRs ou artigos. Busca em: docs oficiais, GitHub (repos + issues), Stack Overflow, papers e blogs de referencia. Ranqueia fontes por autoridade (oficial 40% + recencia 30% + profundidade 20% + comunidade 10%). Output: memory/research/<slug>.md pronto para alimentar skill 10 (documenter), skill 01 (po-feature-spec), skill 26 (prompt-engineer) ou skill 41 (blog-publisher). Trigger em: "pesquisa tecnica", "levanta informacao", "coleta docs", "busca referencias", "preciso de fontes", "research antes de escrever", "levanta o que existe sobre", "benchmark de solucoes", "o que existe sobre X", "quero entender o estado da arte", "compara abordagens", "levanta referencias", "faz um research de", "coleta fontes sobre", "pesquisa sobre", "quero saber o que existe de", "monta um dossie tecnico", "background tecnico", "due diligence tecnica", "levantamento de alternativas".