Communitygithub.com

baronguyen001/ai-automation-skills

Dê a scripts agendados memória entre execuções com um único arquivo SQLite - um conjunto de vistos para deduplicação, um cursor chave/valor para retomar de onde parou e filtragem de novos itens que preserva a ordem. Use para deduplicar entre execuções, não re-alertar o mesmo item, lembrar o último id, retomar um scraper ou persistir estado entre execuções do cron.

O que é ai-automation-skills?

Esta skill fornece um mecanismo de estado persistente e leve para scripts agendados (cron, schedule) usando um único arquivo SQLite. Ela resolve problemas comuns como evitar notificações duplicadas, retomar processos de scraping de onde pararam e armazenar cursores de progresso. A skill é útil para desenvolvedores que precisam que seus scripts mantenham memória entre execuções sem depender de servidores ou bancos de dados complexos. Funciona com qualquer linguagem que suporte SQLite (como Python), usando um módulo `state.py` que oferece funções como `filter_new`, `mark_seen`, `set_cursor` e `get_cursor`. O padrão de uso envolve identificar itens por chaves únicas, filtrar novos itens, agir apenas sobre eles, e então marcá-los como vistos, garantindo idempotência e continuidade. A skill é compatível com plataformas como Claude Code, Cursor, Codex e qualquer ambiente que execute scripts Python com SQLite.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/sqlite-state

Perguntar na sua IA favorita

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

Documentação

Estado SQLite

Use esta skill quando um trabalho recorrente precisa lembrar o que já fez - quais itens alertou, o último cursor que processou - para que não re-notifique ou re-raspe no próximo ciclo. Um único arquivo SQLite padrão fornece estado durável e com bloqueio de arquivo, sem servidor e sem dependência extra.

Quando invocar

  • O usuário diz: "não alerte a mesma coisa duas vezes", "deduplicar entre execuções", "lembre do último id", "retome de onde parou".
  • O código na conversa é um script cron/agendado que atualmente re-processa tudo a cada execução.

Quando NÃO invocar

  • O estado é minúsculo e efêmero dentro de uma única execução - um conjunto/dicionário simples é suficiente.
  • Várias máquinas precisam compartilhar estado simultaneamente; recorra a um banco de dados servidor real em vez de um único arquivo.

Exemplo concreto

Entrada do usuário:

Meu raspador de notícias reenvia os mesmos títulos a cada hora. Faça com que ele envie apenas os novos.

Saída:

from state import filter_new, mark_seen

db = "news.db"
novos = filter_new(db, [a["url"] for a in articles])   # apenas URLs não vistas
for url in novos:
    send_alert(url)
mark_seen(db, *novos)                                   # lembre-se deles para a próxima execução

Padrão a aplicar

  1. Identifique cada item por algo estável e único (URL, id, hash de conteúdo), não por posição no array.
  2. Use filter_new para decidir sobre o que agir, depois mark_seen apenas após a ação ser bem-sucedida.
  3. Armazene o progresso como um cursor nomeado (set_cursor/get_cursor) para que um raspador retomável recomece no meio do fluxo.
  4. Ative o modo WAL para gravações duráveis com leitores concorrentes; mantenha um único escritor.
  5. Faça backup ou versione o único arquivo .db - ele é toda a memória do trabalho.

Referência: assets/state.py.

Fonte

Destilado do uso em produção nos projetos de automação do autor. v1.0.0. Veja também: [[pipeline-orchestrator]], [[cron-dispatch]], [[webhook-receiver]].

→ Construa o bot executável completo com 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

Strip HTML to clean plain text with the standard library only (no BeautifulSoup/lxml): drops script/style, turns block tags into line breaks, and collapses whitespace. Use when the user wants readable text from an HTML page/email, to clean scraped HTML before sending it to an LLM, or to build a text index from web content.

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.

Habilidades Relacionadas