# S3 Explore > Explora y consulta datos en S3, Cloudflare R2, GCS, MinIO o cualquier almacenamiento compatible con S3, sin necesidad de descargarlos. Fuente: https://skillsagentes.com/skills/duckdb/duckdb-skills/s3-explore Markdown: https://skillsagentes.com/skills/duckdb/duckdb-skills/s3-explore.md Repositorio: https://github.com/duckdb/duckdb-skills Autor: duckdb Licencia: MIT Actualizado: hace 5 meses Coste de contexto: 98 tok instalada, 852 tok al activarse, 852 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent claude-code # Cursor npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent cursor # Codex npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent codex # Gemini CLI npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent gemini # Windsurf npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent windsurf # Cline npx -y skills add duckdb/duckdb-skills --skill s3-explore --agent cline ``` ## Qué hace - Configura credenciales de S3/R2/GCS/MinIO automáticamente según el patrón de URL detectado - Lista el contenido de un bucket o carpeta remota con tamaños y fecha de modificación - Previsualiza archivos remotos Parquet/CSV/JSON con DESCRIBE, conteo de filas y muestra de datos - Obtiene conteo de filas y tamaño comprimido desde metadatos de Parquet sin descargar los datos - Ejecuta consultas SQL analíticas directamente sobre los datos remotos usando DuckDB ## Cuándo usarla - El usuario menciona una URL s3://, r2://, gs:// o gcs:// - El usuario pregunta qué hay en un bucket o quiere listar archivos remotos - El usuario quiere previsualizar Parquet/CSV/JSON remoto o consultar datos sin descargarlos - El usuario quiere saber tamaño, esquema o número de filas de datasets remotos ## Qué la activa - "¿Qué hay en s3://mi-bucket/datos/?" - "Muéstrame el esquema de este archivo Parquet en r2://mi-cuenta/tabla.parquet" - "¿Cuántas filas tiene el dataset en gs://bucket/datos.csv?" - "Lista los archivos de este bucket con sus tamaños" ## Antes de instalar - Requiere el binario duckdb instalado y, para buckets privados, credenciales configuradas (aws configure, variables de entorno o clave/secreto explícitos). - runs shell commands ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde duckdb/duckdb-skills bajo MIT. Esta sección es el documento original y está en inglés. You are helping the user explore data on remote object storage using DuckDB. URL: `$0` Question: `${1:-list and describe what's there}` ## Step 1 — Detect provider and set up credentials Based on the URL or user context, prepend the appropriate secret configuration: | Provider | URL patterns | Secret setup | |---|---|---| | **AWS S3** | `s3://` | `CREATE SECRET (TYPE S3, PROVIDER credential_chain);` | | **Cloudflare R2** | `r2://`, `s3://` with R2 endpoint | `CREATE SECRET (TYPE R2, PROVIDER credential_chain);` | | **GCS** | `gs://`, `gcs://` | `CREATE SECRET (TYPE GCS, PROVIDER credential_chain);` | | **MinIO / custom** | `s3://` with custom endpoint | `CREATE SECRET (TYPE S3, KEY_ID '...', SECRET '...', ENDPOINT '...', USE_SSL true);` | For R2, if the user provides an account ID, the endpoint is `.r2.cloudflarestorage.com`. R2 URLs like `r2://bucket/path` should be rewritten to `s3://bucket/path` with the R2 secret. For public buckets (e.g., Overture Maps, AWS open data), no secret is needed — skip this step. Always prepend: ```sql LOAD httpfs; ``` ## Step 2 — Determine what the URL points to If the URL looks like a **directory or bucket** (no file extension, or ends with `/`), list its contents with sizes: ```bash duckdb -c " LOAD httpfs; SELECT filename, (size / 1024 / 1024)::DECIMAL(10,1) AS size_mb, last_modified FROM read_blob('/*') ORDER BY filename LIMIT 50; " ``` Note: only select `filename`, `size`, `last_modified` — never select `content`, which would download the actual files. If the URL points to a **specific file or glob pattern** (has a file extension or contains `*`), preview it: ```bash duckdb -c " LOAD httpfs; DESCRIBE FROM ''; SELECT count(*) AS row_count FROM ''; FROM '' LIMIT 20; " ``` For **Parquet files**, get row counts and sizes from metadata (no data download): ```bash duckdb -c " LOAD httpfs; SELECT file_name, sum(row_group_num_rows) AS total_rows, (sum(row_group_compressed_bytes) / 1024 / 1024)::DECIMAL(10,1) AS compressed_mb FROM parquet_metadata('') GROUP BY file_name; " ``` ## Step 3 — Answer the question Using the listing, schema, or sample data, answer: `${1:-list and describe what's there}` If the user asks an analytical question (e.g., "how many rows match X"), write and run the appropriate SQL query. DuckDB pushes predicates down into Parquet on S3, so filtering is efficient even on large remote datasets. ## Error handling - **`duckdb: command not found`** → delegate to `/duckdb-skills:install-duckdb` - **Access denied / 403** → suggest the user check credentials: `aws configure`, environment variables, or provide explicit key/secret - **Bucket not found / 404** → check the URL and region - **Timeout on large listing** → suggest narrowing the glob pattern or adding a prefix ## Dónde encaja - Categoría: [Datos y analítica](https://skillsagentes.com/categorias/datos-analitica.md) — Consulta, limpia y visualiza datos sin salir del agente. - Creador: [duckdb](https://skillsagentes.com/creators/duckdb.md) — 0 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Spatial](https://skillsagentes.com/skills/duckdb/duckdb-skills/spatial.md): Responde preguntas sobre datos espaciales con DuckDB: ubicaciones, coordenadas, distancias, mapas, direcciones, formatos como GeoJSON, Shapefile, GeoPackage, GPX o GeoParquet, usando también Overture Maps. - [Convert File](https://skillsagentes.com/skills/duckdb/duckdb-skills/convert-file.md): Convierte cualquier archivo de datos a otro formato: CSV, Parquet, JSON, Excel, GeoJSON y más, usando DuckDB. - [Duckdb Docs](https://skillsagentes.com/skills/duckdb/duckdb-skills/duckdb-docs.md): Busca en la documentación de DuckDB y DuckLake y en posts del blog, devolviendo fragmentos relevantes mediante búsqueda de texto completo contra un índice local cacheado. - [Read File](https://skillsagentes.com/skills/duckdb/duckdb-skills/read-file.md): Lee cualquier archivo de datos (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) o URL remota (S3, HTTPS) usando DuckDB. No sirve para código fuente. - [Read Memories](https://skillsagentes.com/skills/duckdb/duckdb-skills/read-memories.md): Busca en los logs de sesiones pasadas de Claude Code para recordar decisiones, patrones o trabajo pendiente. Úsalo cuando el usuario mencione conversaciones anteriores o necesites contexto previo. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)