chore: auto-commit (799 archivos)

- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-14 00:28:20 +02:00
parent d110aa40f9
commit cfdf515228
805 changed files with 5515 additions and 810 deletions
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_add_dashboard_filter(client: MetabaseClient, dashboard_id: int, name: str, slug: str, filter_type: str, card_mappings: list[dict], *, default: str | None = None) -> dict"
description: "Añade un filtro a un dashboard de Metabase y lo conecta a las cards indicadas. Crea el parameter a nivel de dashboard y actualiza los parameter_mappings de cada dashcard."
tags: [metabase, dashboard, filter, parameter, create, api, python]
tags: [metabase, dashboard, filter, parameter, create, api, python, pendiente-usar]
uses_functions:
- metabase_update_dashboard_safe_py_infra
- metabase_get_dashboard_py_infra
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_archive_document(client: MetabaseClient, document_id: int) -> dict"
description: "Archiva un document (PUT archived=True). Prerequisito para poder eliminarlo."
tags: [metabase, document, archive, api, python]
tags: [metabase, document, archive, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_archive_snippet(client: MetabaseClient, snippet_id: int) -> dict"
description: "Archiva un SQL snippet en Metabase. Wrapper sobre metabase_update_snippet con archived=True."
tags: [metabase, snippet, archive, api, python]
tags: [metabase, snippet, archive, api, python, pendiente-usar]
uses_functions: [metabase_update_snippet_py_infra]
uses_types: [MetabaseClient_go_infra]
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_create_card_alert(client: MetabaseClient, card_id: int, cron_schedule: str, recipients: list[dict], send_condition: str = 'has_result', send_once: bool = False) -> dict"
description: "Crea una alerta sobre los resultados de una card en Metabase. Envia email segun cron cuando la card cumple la condicion (has_result, goal_above, goal_below). Endpoint: POST /api/notification."
tags: [metabase, notification, alert, card, create, api, python]
tags: [metabase, notification, alert, card, create, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_create_dashboard_subscription(client: MetabaseClient, dashboard_id: int, cron_schedule: str, recipients: list[dict]) -> dict"
description: "Crea una suscripcion periodica a un dashboard de Metabase. Envia el dashboard completo por email segun el cron configurado. Endpoint: POST /api/notification."
tags: [metabase, notification, subscription, dashboard, create, api, python]
tags: [metabase, notification, subscription, dashboard, create, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_create_document_comment(client: MetabaseClient, document_id: int, content: dict, *, child_target_id: str | None = None, parent_comment_id: int | None = None) -> dict"
description: "Crea un comentario en un document. Soporta anclaje a bloque concreto (via UUID de _id) y respuestas en thread (via parent_comment_id). Endpoint: POST /api/comment."
tags: [metabase, document, comments, create, api, python]
tags: [metabase, document, comments, create, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_create_model(client: MetabaseClient, name: str, sql: str, database_id: int, collection_id: int = 0, description: str = '') -> dict"
description: "Crea un modelo de Metabase (card con type='model') que otras cards MBQL pueden usar como fuente via source-table: 'card__<id>'."
tags: [metabase, model, card, create, api, python]
tags: [metabase, model, card, create, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_create_snippet(client: MetabaseClient, name: str, content: str, description: str = \"\", collection_id: int = 0) -> dict"
description: "Crea un nuevo SQL snippet reutilizable en Metabase. El snippet se referencia en queries nativas con {{snippet: nombre}}."
tags: [metabase, snippet, create, api, python]
tags: [metabase, snippet, create, api, python, pendiente-usar]
uses_functions: []
uses_types: [MetabaseClient_go_infra]
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_dashboard_append_row(client: MetabaseClient, *, dashboard_id: int, tab_id: int, card_ids: list[int], height: int = 4, donor_card_id: int = 0, grid_width: int = 24) -> dict"
description: "Añade N cards como fila horizontal al final de una tab de dashboard. Calcula la primera fila libre con metabase_dashboard_next_row, distribuye las cards con ancho uniforme (grid_width // N), copia parameter_mappings de un dashcard donante si se indica y llama a metabase_update_dashboard_safe. Util para añadir filas de KPIs con los filtros del dashboard ya conectados."
tags: [metabase, dashboard, dashcard, layout, row, append, parameter-mappings, api, python]
tags: [metabase, dashboard, dashcard, layout, row, append, parameter-mappings, api, python, pendiente-usar]
uses_functions:
- metabase_dashboard_next_row_py_infra
- metabase_copy_dashcard_mappings_py_infra
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_deactivate_user(client: MetabaseClient, user_id: int) -> None"
description: "Desactiva (soft-delete) un usuario en Metabase. Reactivar con PUT /api/user/:id/reactivate. Endpoint: DELETE /api/user/:id."
tags: [metabase, user, delete, deactivate, api, python]
tags: [metabase, user, delete, deactivate, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_delete_card(client: MetabaseClient, card_id: int) -> None"
description: "Elimina permanentemente una card/pregunta. IRREVERSIBLE. Preferir archived=True. Endpoint: DELETE /api/card/:id."
tags: [metabase, card, question, delete, api, python]
tags: [metabase, card, question, delete, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_delete_document(client: MetabaseClient, document_id: int) -> None"
description: "Elimina un document. Requiere archivado previo (Metabase rechaza DELETE si archived=False)."
tags: [metabase, document, delete, api, python]
tags: [metabase, document, delete, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_delete_notification(client: MetabaseClient, notification_id: int) -> None"
description: "Elimina una notificacion de Metabase (alerta de card o suscripcion de dashboard). Operacion irreversible. Endpoint: DELETE /api/notification/:id."
tags: [metabase, notification, delete, api, python]
tags: [metabase, notification, delete, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_execute_card(client: MetabaseClient, card_id: int, parameters: list[dict] | None = None) -> dict"
description: "Ejecuta la query de una card guardada y retorna resultados con columnas y filas. Soporta parametros. Endpoint: POST /api/card/:id/query."
tags: [metabase, card, question, execute, query, api, python]
tags: [metabase, card, question, execute, query, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_export_card(client: MetabaseClient, card_id: int, format: str = 'csv') -> bytes"
description: "Exporta los resultados de una card de Metabase en CSV, XLSX o JSON. Endpoint: POST /api/card/:id/query/:format."
tags: [metabase, card, export, csv, xlsx, api, python]
tags: [metabase, card, export, csv, xlsx, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_get_snippet(client: MetabaseClient, snippet_id: int) -> dict"
description: "Obtiene un SQL snippet de Metabase por su ID. Endpoint: GET /api/native-query-snippet/:id."
tags: [metabase, snippet, get, api, python]
tags: [metabase, snippet, get, api, python, pendiente-usar]
uses_functions: []
uses_types: [MetabaseClient_go_infra]
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_get_user(client: MetabaseClient, user_id: int) -> dict"
description: "Obtiene los detalles de un usuario de Metabase por su ID. Endpoint: GET /api/user/:id."
tags: [metabase, user, get, api, python]
tags: [metabase, user, get, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_list_notifications(client: MetabaseClient, card_id: int = 0, dashboard_id: int = 0) -> list[dict]"
description: "Lista notificaciones de Metabase (alertas y suscripciones). Filtra opcionalmente por card_id o dashboard_id. Endpoint: GET /api/notification."
tags: [metabase, notification, list, api, python]
tags: [metabase, notification, list, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_list_snippets(client: MetabaseClient, archived: bool = False) -> list[dict]"
description: "Lista SQL snippets reutilizables de Metabase. Un snippet se referencia en queries con {{snippet: nombre}}."
tags: [metabase, snippet, list, api, python]
tags: [metabase, snippet, list, api, python, pendiente-usar]
uses_functions: []
uses_types: [MetabaseClient_go_infra]
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_mbql_from_source_card(*, database_id: int, source_card_id: int, aggregations: list[dict], joins: list[dict] | None = None, filters: list[list] | None = None, breakouts: list[dict] | None = None, expressions: list[dict] | None = None) -> dict"
description: "Construye un dataset_query MBQL que envuelve una saved card (source-card) con agregaciones, joins opcionales, filtros, breakouts y una segunda etapa de expressions calculadas. Genera automaticamente todos los lib/uuid con uuid4. Elimina la necesidad de construir el JSON MBQL manualmente para el patron comun de agregar sobre una card guardada y anadir expresiones derivadas."
tags: [metabase, mbql, dataset_query, builder, query, aggregation, join, expression]
tags: [metabase, mbql, dataset_query, builder, query, aggregation, join, expression, pendiente-usar]
uses_functions: []
uses_types: []
params:
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_resolve_document_comment(client: MetabaseClient, comment_id: int) -> dict"
description: "Marca un comentario como resuelto (is_resolved=True). Los comentarios resueltos se ocultan en la UI pero siguen consultables via metabase_list_document_comments(include_resolved=True). Endpoint: PUT /api/comment/:id."
tags: [metabase, document, comments, resolve, api, python]
tags: [metabase, document, comments, resolve, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "metabase_setup(base_url: str, admin_email: str, admin_password: str, admin_first_name: str, admin_last_name: str, site_name: str, site_locale: str) -> dict"
description: "Ejecuta el setup inicial de una instancia Metabase nueva via POST /api/setup. Obtiene el setup-token automaticamente y crea el usuario admin con preferencias del sitio."
tags: [metabase, setup, api, infra]
tags: [metabase, setup, api, infra, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def metabase_smartscalar_anothercolumn_viz(*, main_column: str, compare_column: str, label: str = 'vs N-1', number_style: str = 'percent', decimals: int = 2, currency: str = 'EUR', comparison_id: str = 'cmp_n1') -> dict"
description: "Construye el dict completo de visualization_settings para una card display=smartscalar con comparacion tipo anotherColumn (misma fila, columna diferente). Incluye scalar.field, scalar.comparisons y column_settings para ambas columnas con el mismo formato. Internamente reutiliza metabase_viz_column_format."
tags: [metabase, visualization, smartscalar, anothercolumn, scalar, comparison, pure, builder]
tags: [metabase, visualization, smartscalar, anothercolumn, scalar, comparison, pure, builder, pendiente-usar]
uses_functions:
- metabase_viz_column_format_py_infra
uses_types: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def metabase_smartscalar_dimension_tag(*, name: str, field_id: int, base_type: str = 'type/Text', widget_type: str = 'string/=', display_name: str = '') -> dict"
description: "Construye un template-tag de tipo dimension con la firma exacta que Metabase v0.59 espera (incluyendo lib/uuid, base-type, effective-type). Sin estos flags Metabase devuelve PUT 200 pero descarta silenciosamente el dataset_query."
tags: [metabase, smartscalar, template-tag, field-filter, kpi, pure, builder]
tags: [metabase, smartscalar, template-tag, field-filter, kpi, pure, builder, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def metabase_smartscalar_kpi_payload(*, name: str, database_id: int, sql: str, template_tags: dict | None = None, description: str = '', collection_id: int = 0, currency: bool = False, currency_code: str = 'EUR', decimals: int = 0, comparison_label: str = 'vs n-1', extra_visualization_settings: dict | None = None) -> dict"
description: "Construye el payload completo para POST /api/card de un KPI smartscalar con formato y comparacion previousValue. Combina SQL nativo (idealmente generado por metabase_smartscalar_kpi_sql) con template-tags y visualization_settings predefinidos. Listo para metabase_create_card_raw."
tags: [metabase, smartscalar, kpi, card, payload, pure, builder]
tags: [metabase, smartscalar, kpi, card, payload, pure, builder, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def metabase_smartscalar_kpi_sql(*, act_expr: str, n1_expr: str, body_sql: str, date_expr: str = 'MIN(fecha)') -> str"
description: "Envuelve agregaciones actual+n-1 en el patron de 2 filas (periodo, valor) que el display smartscalar de Metabase v0.59 requiere para mostrar comparacion vs ano anterior sin pedir breakout temporal. Genera SQL nativo BigQuery con UNION ALL d_min/d_min-52w."
tags: [metabase, smartscalar, kpi, sql, bigquery, pure, builder]
tags: [metabase, smartscalar, kpi, sql, bigquery, pure, builder, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_update_notification(client: MetabaseClient, notification_id: int, **fields) -> dict"
description: "Actualiza una notificacion existente de Metabase (alerta o suscripcion). Permite modificar active, handlers, subscriptions o payload. Endpoint: PUT /api/notification/:id."
tags: [metabase, notification, update, api, python]
tags: [metabase, notification, update, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def metabase_update_user(client: MetabaseClient, user_id: int, **fields) -> dict"
description: "Actualiza campos de un usuario en Metabase via keyword arguments. Campos: first_name, last_name, email, is_superuser, group_ids, locale. Endpoint: PUT /api/user/:id."
tags: [metabase, user, update, api, python]
tags: [metabase, user, update, api, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def prosemirror_card_embed(card_id: int, height: int = 400) -> dict"
description: "Genera un nodo ProseMirror cardEmbed envuelto en resizeNode con altura adecuada. Un cardEmbed desnudo renderiza con ~50px — este helper produce el formato que Metabase espera para que la card se vea bien."
tags: [metabase, document, prosemirror, cardEmbed, resizeNode, pure, python]
tags: [metabase, document, prosemirror, cardEmbed, resizeNode, pure, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []