Communitygithub.com

baronguyen001/ai-automation-skills

Téléchargez et téléchargez des artefacts d'exécution depuis un stockage compatible S3 avec votre propre bucket et des identifiants issus des variables d'environnement. À utiliser lorsque l'utilisateur demande de stocker des résultats de scraping, archiver des rapports, publier des artefacts vers un stockage objet, récupérer un fichier d'une exécution précédente, ou utiliser MinIO/R2/Spaces/S3 sans coder en dur les identifiants.

Qu'est-ce que ai-automation-skills ?

Cette compétence permet de gérer le stockage durable d'artefacts (rapports CSV, PDF, points de contrôle JSON, captures d'écran, sorties de modèles, logs) via un bucket S3 compatible, en utilisant exclusivement des variables d'environnement pour les identifiants et la configuration (S3_BUCKET, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_ENDPOINT_URL, S3_REGION). Elle est conçue pour être invoquée lorsque l'utilisateur demande explicitement le téléchargement ou le téléchargement de fichiers vers un stockage objet (S3, MinIO, R2, Spaces) ou lorsque le code génère des fichiers localement mais nécessite un archivage portable. La compétence guide l'utilisateur à intégrer un helper Python (assets/s3.py) qui expose des fonctions simples comme upload_file, et insiste sur l'utilisation de clés d'objet déterministes (ex: reports/YYYY-MM-DD/name.csv) pour faciliter la traçabilité. Elle précise également les cas où elle ne doit pas être utilisée (artefacts éphémères, workflows CDN publics) et fournit un exemple concret de code. L'approche est validée par la production de l'auteur et fait partie d'un ensemble d'outils d'automatisation (csv-report-writer, playwright-pdf-snapshot, pipeline-orchestrator).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/s3-uploader

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Uploader S3

Utilisez cette compétence lorsqu'une exécution automatisée nécessite un stockage durable des artefacts : rapports CSV, PDF, points de contrôle JSON, captures d'écran, sorties de modèles ou logs qui doivent survivre en dehors de la machine locale. L'helper cible le stockage générique compatible S3 et lit le bucket, l'endpoint et les identifiants uniquement à partir des variables d'environnement.

Quand l'invoquer

  • L'utilisateur dit : « télécharge ce rapport sur S3 », « sauvegarde les artefacts dans un stockage objet », « télécharge le fichier de la dernière exécution », « utilise MinIO/R2/Spaces ».
  • Le code dans la conversation écrit des fichiers localement mais a besoin d'un transfert portable ou d'un emplacement d'archivage.

Quand NE PAS l'invoquer

  • L'artefact n'est nécessaire qu'à l'intérieur du même processus ; conservez-le sur le disque.
  • L'utilisateur a besoin d'un workflow CDN public avec invalidation de cache et URLs signées.

Exemple concret

Entrée utilisateur :

Télécharge le CSV généré vers mon bucket S3 compatible une fois le scraper terminé.

Sortie :

# Copiez assets/s3.py dans votre projet, puis :
from s3 import upload_file

key = upload_file("out/daily_report.csv", key="reports/daily_report.csv")
print("téléchargé :", key)

L'helper lit S3_BUCKET, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_ENDPOINT_URL (optionnel) et S3_REGION (optionnel) depuis l'environnement. Aucune information spécifique ou secret n'est commitée.

Modèle à appliquer

  1. Conservez le nom du bucket, l'endpoint, la clé d'accès et la clé secrète uniquement dans les variables d'environnement.
  2. Utilisez des clés d'objet déterministes comme reports/YYYY-MM-DD/nom.csv pour que les ré-exécutions soient faciles à retrouver.
  3. Téléchargez uniquement après que le fichier local soit complet ; ne transmettez jamais un artefact partiellement écrit.
  4. Supportez les endpoints compatibles S3 en passant endpoint_url au lieu de coder en dur AWS.
  5. Échouez avec une erreur de configuration claire lorsque les variables d'environnement ou les bibliothèques clientes sont manquantes.

Référence : assets/s3.py.

Source

Distillé d'une utilisation en production dans les projets d'automatisation de l'auteur. v1.0.0. Voir aussi : [[csv-report-writer]], [[playwright-pdf-snapshot]], [[pipeline-orchestrator]].

→ Construisez le bot exécutable complet avec 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

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.

Skills associés