Communitygithub.com

baronguyen001/ai-automation-skills

Remove HTML para obter texto simples e limpo usando apenas a biblioteca padrão (sem BeautifulSoup/lxml): elimina script/style, transforma tags de bloco em quebras de linha e colapsa espaços em branco. Use quando o usuário quiser texto legível de uma página HTML/email, para limpar HTML raspado antes de enviar a um LLM ou para construir um índice de texto a partir de conteúdo web.

O que é ai-automation-skills?

Esta skill converte HTML em texto limpo usando apenas a biblioteca padrão do Python (`html.parser.HTMLParser`), sem depender de pacotes externos como BeautifulSoup ou lxml. Ela remove automaticamente blocos `<script>` e `<style>`, transforma tags de bloco (como `<div>`, `<p>`, `<br>`) em quebras de linha e colapsa espaços em branco excessivos, produzindo um texto contínuo e legível. É ideal para preparar conteúdo HTML - seja de páginas web raspadas, newsletters ou feeds - antes de enviá-lo a um modelo de linguagem (LLM), reduzindo tokens desnecessários, ou para construir índices de busca a partir de conteúdo web. A skill suporta qualquer ambiente Python 3.x e pode ser facilmente integrada em pipelines de automação como os do Trawlkit, sendo compatível com plataformas como Claude Code, Cursor e Codex através da implementação do código fornecido.

Funciona com~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/html-to-text

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

HTML para Texto

Use esta skill quando você tiver HTML – uma página raspada, o corpo de uma newsletter, o conteúdo de uma entrada de feed – e quiser um texto simples, limpo e legível sem adicionar beautifulsoup4 ou lxml. Uma pequena subclasse de HTMLParser remove blocos <script>/<style>, converte elementos de bloco em novas linhas e colapsa espaços em branco, exatamente o formato ideal antes de enviar conteúdo a um LLM (menos tokens) ou a um índice de busca.

Quando invocar

  • O usuário diz: "extraia o texto deste HTML", "limpe esta página raspada", "remova as tags antes de resumir", "converta este HTML de e-mail em texto".
  • O HTML está prestes a ser alimentado a um modelo ou a um resumo e a marcação é apenas ruído.

Quando NÃO invocar

  • Você precisa manter a estrutura (tabelas, links como Markdown) – use um conversor HTML-para-Markdown adequado.
  • A página é renderizada por JavaScript – busque-a primeiro com um navegador headless e depois converta.

Exemplo concreto

Entrada do usuário:

Converta este HTML de artigo em texto simples para que eu possa resumi-lo com menos tokens.

Saída:

# Copie assets/htmltext.py para seu projeto e use:
from htmltext import html_to_text

text = html_to_text(article_html)
summary = call_llm(f"Resuma:\n{text}")

Blocos <script> e <style> são completamente descartados, tags de bloco se tornam quebras de linha e sequências de espaços/linhas em branco são colapsadas, fazendo com que a saída leia como prosa.

Padrão a aplicar

  1. Crie uma subclasse de html.parser.HTMLParser com convert_charrefs=True para que as entidades sejam decodificadas automaticamente.
  2. Monitore uma profundidade de ignorância para script/style/head para que o texto desses elementos nunca vaze para a saída.
  3. Emita novas linhas ao redor de tags de bloco e depois colapse espaços em branco intra-linha e múltiplas linhas em branco.
  4. Mantenha a função pura (string de entrada, string de saída) para que seja trivial de testar unitariamente.

Referência: assets/htmltext.py.

Fonte

Destilado dos pipelines de raspagem e resumo do autor. v1.0.0. Veja também: [[rss-feed-reader]], [[gemini-cost-tracker]], [[pipeline-orchestrator]].

→ Construa o robô completo com o Trawlkit.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Schedule any script to run on a recurring schedule on Windows (Task Scheduler) or Linux (cron) - register, list, and remove jobs from one command, with logging to a file and a guard against overlapping runs. Use for schedule a script, run nightly, set up a cron job, windows task scheduler, or run on a timer.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Extract text and simple table-like rows from a PDF for downstream AI without OCR binaries. Use when the user asks to read a PDF, turn a PDF into text, pull simple tables from statements/reports, or feed PDF content into an LLM pipeline.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

Habilidades Relacionadas