Compare commits
10 Commits
0e97c8af1c
...
20d50411aa
| Author | SHA1 | Date | |
|---|---|---|---|
| 20d50411aa | |||
| b97d0724db | |||
| f2c8fff71e | |||
| 92193448e1 | |||
| cfa9f4c444 | |||
| 3917fe3997 | |||
| 3dfbeb25b6 | |||
| 6359d7f312 | |||
| 87d07d495f | |||
| 674272caac |
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"fingerprint": "8efcd889c18b21319e7f54b14af556962cfd2d3b"
|
||||||
|
}
|
||||||
@@ -0,0 +1,396 @@
|
|||||||
|
# Skill Registry — MNQ Catering y Evento
|
||||||
|
|
||||||
|
<!-- Auto-generated by gentle-ai skill-registry refresh. Run `gentle-ai skill-registry refresh --force` to regenerate. -->
|
||||||
|
|
||||||
|
Last updated: 2026-09-01
|
||||||
|
|
||||||
|
## Sources scanned
|
||||||
|
|
||||||
|
- .agents/skills
|
||||||
|
- /home/manuel/.pi/agent/skills
|
||||||
|
- /home/manuel/.agents/skills
|
||||||
|
- /home/manuel/.config/opencode/skills
|
||||||
|
- /home/manuel/.claude/skills
|
||||||
|
- /home/manuel/.gemini/skills
|
||||||
|
- /home/manuel/.gemini/antigravity/skills
|
||||||
|
- /home/manuel/.copilot/skills
|
||||||
|
- /home/manuel/.codex/skills
|
||||||
|
- /home/manuel/.codeium/windsurf/skills
|
||||||
|
- /home/manuel/.qwen/skills
|
||||||
|
- /home/manuel/.kiro/skills
|
||||||
|
- /home/manuel/.openclaw/skills
|
||||||
|
|
||||||
|
## Contract
|
||||||
|
|
||||||
|
**Delegator use only.** This registry is an index, not a summary. Any agent that launches subagents reads it to select relevant skills, then passes exact `SKILL.md` paths for the subagent to read before work.
|
||||||
|
|
||||||
|
`SKILL.md` remains the source of truth. Do not inject generated summaries or compact rules by default; pass paths so subagents load the full runtime contract and preserve author intent.
|
||||||
|
|
||||||
|
## Skills
|
||||||
|
|
||||||
|
| Skill | Trigger / description | Scope | Path |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| `accessibility-compliance` | Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences. | user | `/home/manuel/.agents/skills/accessibility-compliance/SKILL.md` |
|
||||||
|
| `accidental-data-loss-prevention` | **STOP AND VERIFY**: Before running any command or tool that results in irreversible data loss, you MUST obtain explicit user consent. When in doubt, ask. It is better to wait for confirmation than to accidentally delete production data or critical project assets. Use this for: - SQL: DROP TABLE/VIEW/SCHEMA/DATABASE, TRUNCATE, or broad DELETE (missing WHERE or using 1=1). - Cloud Storage: gsutil rm or gcloud storage rm targeting production data or critical buckets. - Infrastructure: gcloud projects delete, deleting Spanner/BigQuery/Dataproc resources, deleting secrets, or KMS key destruction. | user | `/home/manuel/.gemini/skills/accidental-data-loss-prevention/SKILL.md` |
|
||||||
|
| `ai-image-generation` | Generate AI images with FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image | user | `/home/manuel/.agents/skills/ai-image-generation/SKILL.md` |
|
||||||
|
| `ai-video-generation` | Generate AI videos with Google Veo, Seedance, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 1.5 Pro, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative | user | `/home/manuel/.agents/skills/ai-video-generation/SKILL.md` |
|
||||||
|
| `airflow-dag-patterns` | Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs. | user | `/home/manuel/.agents/skills/airflow-dag-patterns/SKILL.md` |
|
||||||
|
| `angular-migration` | Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code. | user | `/home/manuel/.agents/skills/angular-migration/SKILL.md` |
|
||||||
|
| `animejs` | Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML. | user | `/home/manuel/.pi/agent/skills/animejs/SKILL.md` |
|
||||||
|
| `anti-reversing-techniques` | Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use when analyzing protected binaries, bypassing anti-debugging for authorized analysis, or understanding software protection mechanisms. | user | `/home/manuel/.agents/skills/anti-reversing-techniques/SKILL.md` |
|
||||||
|
| `api-design-principles` | Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards. | user | `/home/manuel/.agents/skills/api-design-principles/SKILL.md` |
|
||||||
|
| `architecture-decision-records` | Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes. | user | `/home/manuel/.agents/skills/architecture-decision-records/SKILL.md` |
|
||||||
|
| `architecture-patterns` | Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability. | user | `/home/manuel/.agents/skills/architecture-patterns/SKILL.md` |
|
||||||
|
| `async-python-patterns` | Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations. | user | `/home/manuel/.agents/skills/async-python-patterns/SKILL.md` |
|
||||||
|
| `attack-tree-construction` | Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders. | user | `/home/manuel/.agents/skills/attack-tree-construction/SKILL.md` |
|
||||||
|
| `audit-prep` | Prepare Solidity projects for a security audit — test coverage, test quality, NatSpec docs, code hygiene, dependency health, best-practice enforcement, deployment readiness, and project documentation checks. Generates a scored Audit Readiness Report and optionally runs static analysis. Trigger on: "prepare for audit", "audit readiness", "pre-audit check", "audit prep", "NatSpec check", or any request to review a Solidity codebase before a security review. | user | `/home/manuel/.claude/skills/audit-prep/SKILL.md` |
|
||||||
|
| `auth-implementation-patterns` | Master authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues. | user | `/home/manuel/.agents/skills/auth-implementation-patterns/SKILL.md` |
|
||||||
|
| `autoresearch` | Run Karpathy-style autoresearch optimization on any content. Generates 50+ variants, scores with a 5-expert simulated panel, evolves winners through multiple rounds, outputs optimized version + full experiment log. Use when optimizing landing pages, email sequences, ad copy, headlines, form pages, CTA text, or any conversion-focused content. Triggers on "optimize this page", "run autoresearch", "score these variants", "A/B test this copy". | user | `/home/manuel/.pi/agent/skills/autoresearch/SKILL.md` |
|
||||||
|
| `backtesting-frameworks` | Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure. | user | `/home/manuel/.agents/skills/backtesting-frameworks/SKILL.md` |
|
||||||
|
| `bash-defensive-patterns` | Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety. | user | `/home/manuel/.agents/skills/bash-defensive-patterns/SKILL.md` |
|
||||||
|
| `bats-testing-patterns` | Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities. | user | `/home/manuel/.agents/skills/bats-testing-patterns/SKILL.md` |
|
||||||
|
| `bazel-build-optimization` | Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases. | user | `/home/manuel/.agents/skills/bazel-build-optimization/SKILL.md` |
|
||||||
|
| `bb-methodology` | Use at the START of any bug bounty hunting session, when switching targets, or when feeling lost about what to do next. Master orchestrator that combines the 5-phase non-linear hunting workflow with the critical thinking framework (developer psychology, anomaly detection, What-If experiments). Routes to all other skills based on current hunting phase. Also use when asking "what should I do next" or "where am I in the process. | user | `/home/manuel/.claude/skills/bb-methodology/SKILL.md` |
|
||||||
|
| `beautiful-mermaid` | Render Mermaid diagrams as SVG and PNG using the Beautiful Mermaid library. Use when the user asks to render a Mermaid diagram. | user | `/home/manuel/.pi/agent/skills/beautiful-mermaid/SKILL.md` |
|
||||||
|
| `bench` | Run benchmark and analyze PDF parsing performance | user | `/home/manuel/.agents/skills/bench/SKILL.md` |
|
||||||
|
| `bench-debug` | Debug specific document parsing failures | user | `/home/manuel/.agents/skills/bench-debug/SKILL.md` |
|
||||||
|
| `bigquery-ai-ml` | Leverages BigQuery's built-in machine learning and GenAI capabilities | user | `/home/manuel/.gemini/skills/bigquery-ai-ml/SKILL.md` |
|
||||||
|
| `bigquery-bigframes` | Generates Python code using BigQuery DataFrames (BigFrames), the pandas/scikit-learn-style\ | user | `/home/manuel/.gemini/skills/bigquery-bigframes/SKILL.md` |
|
||||||
|
| `bigquery-data-transfer-service` | Discovers and inspects BigQuery Data Transfer Service (DTS) configurations. | user | `/home/manuel/.gemini/skills/bigquery-data-transfer-service/SKILL.md` |
|
||||||
|
| `bigquery-graph` | Provides guidelines and best practices for querying and defining property | user | `/home/manuel/.gemini/skills/bigquery-graph/SKILL.md` |
|
||||||
|
| `bigquery-sql` | Provides BigQuery SQL query optimization techniques, execution best practices, | user | `/home/manuel/.gemini/skills/bigquery-sql/SKILL.md` |
|
||||||
|
| `billing-automation` | Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems. | user | `/home/manuel/.agents/skills/billing-automation/SKILL.md` |
|
||||||
|
| `binary-analysis-patterns` | Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries. | user | `/home/manuel/.agents/skills/binary-analysis-patterns/SKILL.md` |
|
||||||
|
| `brainstorming` | You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation. | user | `/home/manuel/.agents/skills/brainstorming/SKILL.md` |
|
||||||
|
| `branch-pr` | Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review. | user | `/home/manuel/.agents/skills/branch-pr/SKILL.md` |
|
||||||
|
| `bug-bounty` | Complete bug bounty workflow — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source code audit), pre-hunt learning (disclosed reports, tech stack research, mind maps, threat modeling), vulnerability hunting (IDOR, SSRF, XSS, auth bypass, CSRF, race conditions, SQLi, XXE, file upload, business logic, GraphQL, HTTP smuggling, cache poisoning, OAuth, timing side-channels, OIDC, SSTI, subdomain takeover, cloud misconfig, ATO chains, agentic AI), LLM/AI security testing (chatbot IDOR, prompt injection, indirect injection, ASCII smuggling, exfil channels, RCE via code tools, system prompt extraction, ASI01-ASI10), A-to-B bug chaining (IDOR→auth bypass, SSRF→cloud metadata, XSS→ATO, open redirect→OAuth theft, S3→bundle→secret→OAuth), bypass tables (SSRF IP bypass, open redirect bypass, file upload bypass), language-specific grep (JS prototype pollution, Python pickle, PHP type juggling, Go template.HTML, Ruby YAML.load, Rust unwrap), and reporting (7-Question Gate, 4 validation gates, human-tone writing, templates by vuln class, CVSS 3.1, PoC generation, always-rejected list, conditional chain table, submission checklist). Use for ANY bug bounty task — starting a new target, doing recon, hunting specific vulns, auditing source code, testing AI features, validating findings, or writing reports. 中文触发词:漏洞赏金、安全测试、渗透测试、漏洞挖掘、信息收集、子域名枚举、XSS测试、SQL注入、SSRF、安全审计、漏洞报告 | user | `/home/manuel/.claude/skills/bug-bounty/SKILL.md` |
|
||||||
|
| `building-data-apps` | Build modern data apps, dashboards, and interactive reports using either React + Vite or Streamlit. Includes optional Gemini Data Analytics chat integration for an AI powered "chat with your data" experience. Relevant when any of the following conditions are true: 1. User explicitly requests to build a data dashboard, data application, or visualization UI, and the UI pulls data from a GCP database (defaulting to BigQuery unless otherwise specified). 2. You need to generate a frontend web application to interact with, query, and visualize data from GCP data sources. 3. User wants to build a "chat with your data" experience or integrate the Gemini Data Analytics chat API into a web interface. Do NOT use when any of the following conditions are true: 1. The request is for building backend-only services. 2. The request is for simple CLI scripts or command-line applications. 3. The web application is not data-centric or does not involve visualizing/querying data from GCP sources. | user | `/home/manuel/.gemini/skills/building-data-apps/SKILL.md` |
|
||||||
|
| `bypassing-authentication-with-forced-browsing` | Discovering and accessing unprotected pages, APIs, and administrative | user | `/home/manuel/.claude/skills/bypassing-authentication-with-forced-browsing/SKILL.md` |
|
||||||
|
| `chained-pr` | Trigger: PRs over 400 lines, stacked PRs, review slices. Split oversized changes into chained PRs that protect review focus. | user | `/home/manuel/.agents/skills/chained-pr/SKILL.md` |
|
||||||
|
| `changelog-automation` | Automate changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions. | user | `/home/manuel/.agents/skills/changelog-automation/SKILL.md` |
|
||||||
|
| `code-review-excellence` | Master effective code review practices to provide constructive feedback, catch bugs early, and foster knowledge sharing while maintaining team morale. Use when reviewing pull requests, establishing review standards, or mentoring developers. | user | `/home/manuel/.agents/skills/code-review-excellence/SKILL.md` |
|
||||||
|
| `cognitive-doc-design` | Design docs that reduce cognitive load. Trigger: writing guides, READMEs, RFCs, onboarding, architecture, or review-facing docs. | user | `/home/manuel/.agents/skills/cognitive-doc-design/SKILL.md` |
|
||||||
|
| `cold-outbound-optimizer` | Design, analyze, and optimize cold outbound email campaigns for Instantly. Handles end-to-end ICP definition, expert panel scoring (recursive to 90+), sequence copywriting, infrastructure audit, capacity planning, and implementation docs. Use when asked to build cold outbound sequences, optimize cold email, analyze outbound campaigns, build sales sequences, build Instantly sequences, create cold outbound strategies, or design email campaigns. Supports both "start from scratch" and "optimize existing" modes. | user | `/home/manuel/.pi/agent/skills/cold-outbound-optimizer/SKILL.md` |
|
||||||
|
| `comment-writer` | Write warm, direct collaboration comments. Trigger: PR feedback, issue replies, reviews, Slack messages, or GitHub comments. | user | `/home/manuel/.agents/skills/comment-writer/SKILL.md` |
|
||||||
|
| `competitive-landscape` | This skill should be used when the user asks to "analyze competitors", "assess competitive landscape", "identify differentiation", "evaluate market positioning", "apply Porter's Five Forces", or requests competitive strategy analysis. | user | `/home/manuel/.agents/skills/competitive-landscape/SKILL.md` |
|
||||||
|
| `conducting-api-security-testing` | Conducts security testing of REST, GraphQL, and gRPC APIs to identify | user | `/home/manuel/.claude/skills/conducting-api-security-testing/SKILL.md` |
|
||||||
|
| `context-driven-development` | Creates and maintains project context artifacts (product.md, tech-stack.md, workflow.md, tracks.md) in a `conductor/` directory. Scaffolds new projects from scratch, extracts context from existing codebases, validates artifact consistency before implementation, and synchronizes documents as the project evolves. Use when setting up a project, creating or updating product docs, managing a tech stack file, defining development workflows, tracking work units, onboarding to an existing codebase, or running project scaffolding. | user | `/home/manuel/.agents/skills/context-driven-development/SKILL.md` |
|
||||||
|
| `context7-mcp` | This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc. | user | `/home/manuel/.claude/skills/context7-mcp/SKILL.md` |
|
||||||
|
| `cost-optimization` | Optimize cloud costs through resource rightsizing, tagging strategies, reserved instances, and spending analysis. Use when reducing cloud expenses, analyzing infrastructure costs, or implementing cost governance policies. | user | `/home/manuel/.agents/skills/cost-optimization/SKILL.md` |
|
||||||
|
| `cqrs-implementation` | Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems. | user | `/home/manuel/.agents/skills/cqrs-implementation/SKILL.md` |
|
||||||
|
| `css-animations` | CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering. | user | `/home/manuel/.pi/agent/skills/css-animations/SKILL.md` |
|
||||||
|
| `data-autocleaning` | Automated data quality and transformation capabilities for Dataform/dbt/BigQuery | user | `/home/manuel/.gemini/skills/data-autocleaning/SKILL.md` |
|
||||||
|
| `data-quality-frameworks` | Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts. | user | `/home/manuel/.agents/skills/data-quality-frameworks/SKILL.md` |
|
||||||
|
| `data-storytelling` | Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations. | user | `/home/manuel/.agents/skills/data-storytelling/SKILL.md` |
|
||||||
|
| `database-migration` | Execute database migrations across ORMs and platforms with zero-downtime strategies, data transformation, and rollback procedures. Use when migrating databases, changing schemas, performing data transformations, or implementing zero-downtime deployment strategies. | user | `/home/manuel/.agents/skills/database-migration/SKILL.md` |
|
||||||
|
| `dataform-bigquery` | Expertise in generating clean, correct, and efficient Dataform pipeline | user | `/home/manuel/.gemini/skills/dataform-bigquery/SKILL.md` |
|
||||||
|
| `dbt-bigquery` | Expert guidance for creating, modifying, and optimizing dbt pipelines | user | `/home/manuel/.gemini/skills/dbt-bigquery/SKILL.md` |
|
||||||
|
| `dbt-transformation-patterns` | Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices. | user | `/home/manuel/.agents/skills/dbt-transformation-patterns/SKILL.md` |
|
||||||
|
| `debugging-strategies` | Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior. | user | `/home/manuel/.agents/skills/debugging-strategies/SKILL.md` |
|
||||||
|
| `deck-generator` | Generate professional presentations with AI-generated images. Use when asked to create a deck, presentation, pitch deck, or slides. Supports style presets (whiteboard, corporate, minimalist, etc). Uses Imagen 4.0 API for image generation and Google Slides API for assembly. Produces full decks from markdown content specs in minutes. | user | `/home/manuel/.pi/agent/skills/deck-generator/SKILL.md` |
|
||||||
|
| `defi-protocol-templates` | Implement DeFi protocols with production-ready templates for staking, AMMs, governance, and lending systems. Use when building decentralized finance applications or smart contract protocols. | user | `/home/manuel/.agents/skills/defi-protocol-templates/SKILL.md` |
|
||||||
|
| `dependency-upgrade` | Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries. | user | `/home/manuel/.agents/skills/dependency-upgrade/SKILL.md` |
|
||||||
|
| `deployment-pipeline-design` | Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices. | user | `/home/manuel/.agents/skills/deployment-pipeline-design/SKILL.md` |
|
||||||
|
| `design-read-create` | Trigger: design read, design audit, visual direction, redesign, design system, UI taste, brand direction. Analyze an existing UI or create a new visual direction with explicit rules and outputs. | user | `/home/manuel/.config/opencode/skills/design-read-create/SKILL.md` |
|
||||||
|
| `design-system-patterns` | Build scalable design systems with design tokens, theming infrastructure, and component architecture patterns. Use when creating design tokens, implementing theme switching, building component libraries, or establishing design system foundations. | user | `/home/manuel/.agents/skills/design-system-patterns/SKILL.md` |
|
||||||
|
| `detecting-sql-injection-via-waf-logs` | Analyze WAF (ModSecurity/AWS WAF/Cloudflare) logs to detect SQL injection | user | `/home/manuel/.claude/skills/detecting-sql-injection-via-waf-logs/SKILL.md` |
|
||||||
|
| `developing-with-bigquery` | A repository of BigQuery-specific logic, knowledge, and specialized standards. Use this skill whenever you are doing anything with BigQuery, including: 1. BigQuery query optimization 2. BigFrames Python code 3. BigQuery ML/AI functions. | user | `/home/manuel/.gemini/antigravity/skills/developing-with-bigquery/SKILL.md` |
|
||||||
|
| `diario-personal` | Use when the user says "diario", asks to open or continue a personal journal in Obsidian, wants today's daily note, or wants a quick personal dashboard with tasks and reminders from the local Diario workspace. | user | `/home/manuel/.agents/skills/diario-personal/SKILL.md` |
|
||||||
|
| `discovering-gcp-data-assets` | Finds and inspects data assets within Google Cloud. Relevant when any of the following conditions are true: 1. The user request involves finding, exploring, or inspecting data assets in Google Cloud, such as: - BigQuery datasets, tables, or views - BigLake catalog or tables - Spanner instances, databases or tables - etc. 2. You need to retrieve the schema, metadata, or governance policies for a GCP data asset. 3. You have a keyword or topic (e.g., "sales data") but lack the specific table or resource ID. 4. You are attempting to find data using `bq ls`, as this skill offers a superior approach. Don't use when: - Assets are outside Google Cloud | user | `/home/manuel/.gemini/skills/discovering-gcp-data-assets/SKILL.md` |
|
||||||
|
| `dispatching-parallel-agents` | Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies | user | `/home/manuel/.agents/skills/dispatching-parallel-agents/SKILL.md` |
|
||||||
|
| `distributed-tracing` | Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems. | user | `/home/manuel/.agents/skills/distributed-tracing/SKILL.md` |
|
||||||
|
| `django-expert` | Expert Django backend development guidance. Use when creating Django models, views, serializers, or APIs; debugging ORM queries or migrations; optimizing database performance; implementing authentication; writing tests; or working with Django REST Framework. Follows Django best practices and modern patterns. | user | `/home/manuel/.agents/skills/django-expert/SKILL.md` |
|
||||||
|
| `django-security` | Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations. | user | `/home/manuel/.agents/skills/django-security/SKILL.md` |
|
||||||
|
| `dotnet-backend-patterns` | Master C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures. | user | `/home/manuel/.agents/skills/dotnet-backend-patterns/SKILL.md` |
|
||||||
|
| `e2e-testing-patterns` | Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E tests, debugging flaky tests, or establishing testing standards. | user | `/home/manuel/.agents/skills/e2e-testing-patterns/SKILL.md` |
|
||||||
|
| `embedding-strategies` | Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains. | user | `/home/manuel/.agents/skills/embedding-strategies/SKILL.md` |
|
||||||
|
| `employment-contract-templates` | Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation. | user | `/home/manuel/.agents/skills/employment-contract-templates/SKILL.md` |
|
||||||
|
| `enforcing-resource-attribution` | Enforces resource attribution for CLI commands. Use this skill whenever | user | `/home/manuel/.gemini/skills/enforcing-resource-attribution/SKILL.md` |
|
||||||
|
| `error-handling-patterns` | Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability. | user | `/home/manuel/.agents/skills/error-handling-patterns/SKILL.md` |
|
||||||
|
| `event-store-design` | Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns. | user | `/home/manuel/.agents/skills/event-store-design/SKILL.md` |
|
||||||
|
| `executing-plans` | Use when you have a written implementation plan to execute in a separate session with review checkpoints | user | `/home/manuel/.agents/skills/executing-plans/SKILL.md` |
|
||||||
|
| `expert-panel` | Score, evaluate, and iteratively improve any content or strategy using an auto-assembled panel of domain experts. Handles copy, sequences, landing pages, strategy docs, titles, charts, recruiting evaluations, or anything else that needs a quality gate. Recursively iterates until all scores hit 90+ (max 3 rounds). Use when asked to: "expert panel this", "score this", "rate these variants", "quality check this", "panel review", "which version is better", "expert score", "evaluate this copy/strategy/page", or when another skill needs a quality gate on its output. Also triggers on: "score this landing page", "expert panel these email variants", "rate this headline", "panel these charts". | user | `/home/manuel/.pi/agent/skills/expert-panel/SKILL.md` |
|
||||||
|
| `exploiting-broken-function-level-authorization` | Tests APIs for Broken Function Level Authorization (BFLA) vulnerabilities | user | `/home/manuel/.claude/skills/exploiting-broken-function-level-authorization/SKILL.md` |
|
||||||
|
| `exploiting-excessive-data-exposure-in-api` | Tests APIs for excessive data exposure where endpoints return more data | user | `/home/manuel/.claude/skills/exploiting-excessive-data-exposure-in-api/SKILL.md` |
|
||||||
|
| `exploiting-idor-vulnerabilities` | Identifying and exploiting Insecure Direct Object Reference vulnerabilities | user | `/home/manuel/.claude/skills/exploiting-idor-vulnerabilities/SKILL.md` |
|
||||||
|
| `exploiting-insecure-deserialization` | Identifying and exploiting insecure deserialization vulnerabilities in | user | `/home/manuel/.claude/skills/exploiting-insecure-deserialization/SKILL.md` |
|
||||||
|
| `exploiting-jwt-algorithm-confusion-attack` | Exploits JWT algorithm confusion vulnerabilities where the server''s | user | `/home/manuel/.claude/skills/exploiting-jwt-algorithm-confusion-attack/SKILL.md` |
|
||||||
|
| `exploiting-mass-assignment-in-rest-apis` | Discover and exploit mass assignment vulnerabilities in REST APIs to | user | `/home/manuel/.claude/skills/exploiting-mass-assignment-in-rest-apis/SKILL.md` |
|
||||||
|
| `exploiting-nosql-injection-vulnerabilities` | Detect and exploit NoSQL injection vulnerabilities in MongoDB, CouchDB, | user | `/home/manuel/.claude/skills/exploiting-nosql-injection-vulnerabilities/SKILL.md` |
|
||||||
|
| `exploiting-oauth-misconfiguration` | Identifying and exploiting OAuth 2.0 and OpenID Connect misconfigurations | user | `/home/manuel/.claude/skills/exploiting-oauth-misconfiguration/SKILL.md` |
|
||||||
|
| `exploiting-sql-injection-vulnerabilities` | Identifies and exploits SQL injection vulnerabilities in web applications | user | `/home/manuel/.claude/skills/exploiting-sql-injection-vulnerabilities/SKILL.md` |
|
||||||
|
| `exploiting-template-injection-vulnerabilities` | Detecting and exploiting Server-Side Template Injection (SSTI) vulnerabilities | user | `/home/manuel/.claude/skills/exploiting-template-injection-vulnerabilities/SKILL.md` |
|
||||||
|
| `exploiting-websocket-vulnerabilities` | Testing WebSocket implementations for authentication bypass, cross-site | user | `/home/manuel/.claude/skills/exploiting-websocket-vulnerabilities/SKILL.md` |
|
||||||
|
| `fastapi-templates` | Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects. | user | `/home/manuel/.agents/skills/fastapi-templates/SKILL.md` |
|
||||||
|
| `federate-lakehouse-catalog` | Sets up Google Cloud Lakehouse federated catalogs to remote Iceberg | user | `/home/manuel/.gemini/skills/federate-lakehouse-catalog/SKILL.md` |
|
||||||
|
| `ffmpeg` | Video and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets for Remotion. Triggers include converting GIF to MP4, resizing video, extracting audio, compressing files, or any media transformation task. | user | `/home/manuel/.pi/agent/skills/ffmpeg/SKILL.md` |
|
||||||
|
| `finance-ops` | AI-powered financial analysis suite. Generates executive CFO briefings from QuickBooks exports (P&L, Balance Sheet, General Ledger, Cash Flow, etc.) with anomaly detection, burn rate, runway analysis, and scenario modeling. Also estimates codebase development costs with organizational overhead and AI ROI analysis. Triggers on: 'CFO briefing', 'financial analysis', 'cost briefing', 'expense review', 'runway analysis', 'burn rate', 'cost estimate', 'how much would this cost to build', 'development cost', 'Claude ROI'. | user | `/home/manuel/.pi/agent/skills/finance-ops/SKILL.md` |
|
||||||
|
| `find-skills` | Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill. | user | `/home/manuel/.agents/skills/find-skills/SKILL.md` |
|
||||||
|
| `finishing-a-development-branch` | Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup | user | `/home/manuel/.agents/skills/finishing-a-development-branch/SKILL.md` |
|
||||||
|
| `frontend-design` | Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics. | user | `/home/manuel/.codex/skills/frontend-design/SKILL.md` |
|
||||||
|
| `gcloud-auth-verification` | Guidelines for identifying and resolving missing Google Cloud authentication | user | `/home/manuel/.gemini/skills/gcloud-auth-verification/SKILL.md` |
|
||||||
|
| `gcp-composer-troubleshooting` | Provides expert guidance for troubleshooting Cloud Composer (Apache | user | `/home/manuel/.gemini/skills/gcp-composer-troubleshooting/SKILL.md` |
|
||||||
|
| `gcp-data-pipelines` | Primary entry point for building, managing, and orchestrating data pipelines | user | `/home/manuel/.gemini/skills/gcp-data-pipelines/SKILL.md` |
|
||||||
|
| `gcp-dataflow` | Guides writing, packaging, executing, and troubleshooting Apache Beam pipelines on Dataflow. Use when creating new pipelines, configuring Flex Templates, or analyzing performance of Dataflow jobs. Capabilities include Java/Python/Go setup, Cloud Build integration, and deep diagnostic analysis of job health and autoscaling. Use when: - Creating an Apache Beam Dataflow pipeline. - Creating a Google Dataflow Flex Template. - Using an existing Google Dataflow Template. - Debugging Dataflow pipeline - Troubleshooting Dataflow pipeline - Analyzing Performance of Dataflow pipeline. Key capabilities: Java/Python/Go project setup, Flex Templates (with Cloud Build), and diagnostics for streaming job health, bottlenecks, and autoscaling. Do NOT use for: - General GCP resource management unrelated to Dataflow. - Issues with other GCP services (e.g., GCE, GCS, BigQuery) unless directly impacting Dataflow pipeline execution. - Pipeline technologies other than Apache Beam on Dataflow. | user | `/home/manuel/.gemini/skills/gcp-dataflow/SKILL.md` |
|
||||||
|
| `gcp-managed-airflow-migrations` | Provides guidance for migrating Apache Airflow DAGs in Managed Service | user | `/home/manuel/.gemini/skills/gcp-managed-airflow-migrations/SKILL.md` |
|
||||||
|
| `gcp-pipeline-orchestration` | This skill helps the agent generate or update orchestration pipeline | user | `/home/manuel/.gemini/skills/gcp-pipeline-orchestration/SKILL.md` |
|
||||||
|
| `gcp-pipeline-resource-provisioning` | Automates declarative resource creation and provisioning for data pipelines, supporting BigQuery, Dataform, Dataproc, BigQuery Data Transfer Service (DTS), and other resources. It manages environment-specific configurations (dev, staging, prod) through a deployment.yaml file. Use when: - Modifying or creating deployment.yaml for deployment settings. - Resolving environment-specific variables (e.g., Project IDs, Regions) for deployment. - Provisioning supported infrastructure like BigQuery datasets/tables, Dataform resources, or DTS resources via deployment.yaml. Do not use when: - Resources already exist. - Managing resources not supported by `gcloud beta orchestration-pipelines resource-types list`. - Managing general cloud infrastructure (VMs, networks, Kubernetes, IAM policies), which are better suited for Terraform. - Infrastructure spans multiple cloud providers (AWS, Azure, etc.). - Already uses Terraform for the target resources. | user | `/home/manuel/.gemini/skills/gcp-pipeline-resource-provisioning/SKILL.md` |
|
||||||
|
| `gcp-spark` | Develops and executes Spark code on Dataproc Clusters and Serverless. Reads and writes data using BigLake Iceberg catalogs, BigQuery and Spanner. Debugs execution failures. Use when: - Writing Spark ETL pipelines on GCP. - Training or running inference with ML models with spark on GCP. - Managing Spark clusters, jobs, batches, and interactive sessions. Don't use when: - Writing generic Python scripts that don't use Spark. - Performing simple SQL queries that can be done directly in BigQuery. | user | `/home/manuel/.gemini/skills/gcp-spark/SKILL.md` |
|
||||||
|
| `gcs-security-assessment` | Assesses security posture, evaluates risks, and checks SAIF compliance | user | `/home/manuel/.gemini/skills/gcs-security-assessment/SKILL.md` |
|
||||||
|
| `gdpr-data-handling` | Implement GDPR-compliant data handling with consent management, data subject rights, and privacy by design. Use when building systems that process EU personal data, implementing privacy controls, or conducting GDPR compliance reviews. | user | `/home/manuel/.agents/skills/gdpr-data-handling/SKILL.md` |
|
||||||
|
| `gentle-ai-bench` | Trigger: bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis. Author and verify gentle-ai bench journeys; go test ./bench never proves driven execution. | user | `/home/manuel/.agents/skills/gentle-ai-bench/SKILL.md` |
|
||||||
|
| `git-advanced-workflows` | Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues. | user | `/home/manuel/.agents/skills/git-advanced-workflows/SKILL.md` |
|
||||||
|
| `gitea-status-report-html-pdf` | Use when the user asks for an executive + technical Gitea status report, a one-page HTML dashboard, or a PDF export of that dashboard for stakeholders. Triggers include "informe de Gitea", "status report", "informe ejecutivo del repo", "HTML del informe", "imprimir en PDF", or any request to summarize repositories, PRs, issues, milestones, CI, and contributors in a stakeholder-ready artifact. | user | `/home/manuel/.config/opencode/skills/gitea-status-report-html-pdf/SKILL.md` |
|
||||||
|
| `gitea-workflow` | Use when working with Gitea-hosted repos, creating issues or PRs in Gitea, checking Actions status, merging protected branches, or debugging Gitea-specific workflow quirks. | user | `/home/manuel/.config/opencode/skills/gitea-workflow/SKILL.md` |
|
||||||
|
| `github-actions-templates` | Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications. Use when setting up CI/CD with GitHub Actions, automating development workflows, or creating reusable workflow templates. | user | `/home/manuel/.agents/skills/github-actions-templates/SKILL.md` |
|
||||||
|
| `gitlab-ci-patterns` | Build GitLab CI/CD pipelines with multi-stage workflows, caching, and distributed runners for scalable automation. Use when implementing GitLab CI/CD, optimizing pipeline performance, or setting up automated testing and deployment. | user | `/home/manuel/.agents/skills/gitlab-ci-patterns/SKILL.md` |
|
||||||
|
| `gitops-workflow` | Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes deployments with continuous reconciliation. Use when implementing GitOps practices, automating Kubernetes deployments, or setting up declarative infrastructure management. | user | `/home/manuel/.agents/skills/gitops-workflow/SKILL.md` |
|
||||||
|
| `go-concurrency-patterns` | Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions. | user | `/home/manuel/.agents/skills/go-concurrency-patterns/SKILL.md` |
|
||||||
|
| `go-testing` | Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns. | user | `/home/manuel/.agents/skills/go-testing/SKILL.md` |
|
||||||
|
| `godot-gdscript-patterns` | Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or learning GDScript best practices. | user | `/home/manuel/.agents/skills/godot-gdscript-patterns/SKILL.md` |
|
||||||
|
| `grafana-dashboards` | Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces. | user | `/home/manuel/.agents/skills/grafana-dashboards/SKILL.md` |
|
||||||
|
| `graphify` | any input (code, docs, papers, images) → knowledge graph → clustered communities → HTML + JSON + audit report | user | `/home/manuel/.config/opencode/skills/graphify/SKILL.md` |
|
||||||
|
| `gsap` | GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions. | user | `/home/manuel/.pi/agent/skills/gsap/SKILL.md` |
|
||||||
|
| `helm-chart-scaffolding` | Design, organize, and manage Helm charts for templating and packaging Kubernetes applications with reusable configurations. Use when creating Helm charts, packaging Kubernetes applications, or implementing templated deployments. | user | `/home/manuel/.agents/skills/helm-chart-scaffolding/SKILL.md` |
|
||||||
|
| `huashu-design` | 花叔Design(Huashu-Design)——用HTML做高保真原型、交互Demo、幻灯片、动画、设计变体探索+设计方向顾问+专家评审的一体化设计能力。HTML是工具不是媒介,根据任务embody不同专家(UX设计师/动画师/幻灯片设计师/原型师),避免web design tropes。触发词:做原型、设计Demo、交互原型、HTML演示、动画Demo、设计变体、hi-fi设计、UI mockup、prototype、设计探索、做个HTML页面、做个可视化、app原型、iOS原型、移动应用mockup、导出MP4、导出GIF、60fps视频、设计风格、设计方向、设计哲学、配色方案、视觉风格、推荐风格、选个风格、做个好看的、评审、好不好看、review this design。**主干能力**:Junior Designer工作流(先给假设+reasoning+placeholder再迭代)、反AI slop清单、React+Babel最佳实践、Tweaks变体切换、Speaker Notes演示、Starter Components(幻灯片外壳/变体画布/动画引擎/设备边框)、App原型专属守则(默认从Wikimedia/Met/Unsplash取真图、每台iPhone包AppPhone状态管理器可交互、交付前跑Playwright点击测试)、Playwright验证、HTML动画→MP4/GIF视频导出(25fps基础 + 60fps插帧 + palette优化GIF + 6首场景化BGM + 自动fade)。**需求模糊时的Fallback**:设计方向顾问模式——从5流派×20种设计哲学(Pentagram信息建筑/Field.io运动诗学/Kenya Hara东方极简/Sagmeister实验先锋等)推荐3个差异化方向,展示24个预制showcase(8场景×3风格),并行生成3个视觉Demo让用户选。**交付后可选**:专家级5维度评审(哲学一致性/视觉层级/细节执行/功能性/创新性各打10分+修复清单)。 | user | `/home/manuel/.pi/agent/skills/huashu-design/SKILL.md` |
|
||||||
|
| `hybrid-cloud-networking` | Configure secure, high-performance connectivity between on-premises infrastructure and cloud platforms using VPN and dedicated connections. Use when building hybrid cloud architectures, connecting data centers to cloud, or implementing secure cross-premises networking. | user | `/home/manuel/.agents/skills/hybrid-cloud-networking/SKILL.md` |
|
||||||
|
| `hybrid-search-implementation` | Combine vector and keyword search for improved retrieval. Use when implementing RAG systems, building search engines, or when neither approach alone provides sufficient recall. | user | `/home/manuel/.agents/skills/hybrid-search-implementation/SKILL.md` |
|
||||||
|
| `hyperframes` | Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill. | user | `/home/manuel/.pi/agent/skills/hyperframes/SKILL.md` |
|
||||||
|
| `hyperframes-cli` | HyperFrames CLI tool — hyperframes init, lint, inspect, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting, validating, inspecting visual layout in compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment. | user | `/home/manuel/.pi/agent/skills/hyperframes-cli/SKILL.md` |
|
||||||
|
| `hyperframes-media` | Asset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS → transcribe → captions). Each command downloads its own model on first run. | user | `/home/manuel/.pi/agent/skills/hyperframes-media/SKILL.md` |
|
||||||
|
| `hyperframes-registry` | Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery. | user | `/home/manuel/.pi/agent/skills/hyperframes-registry/SKILL.md` |
|
||||||
|
| `imagegen` | Use when the user asks to generate or edit images via the OpenAI Image API (for example: generate image, edit/inpaint/mask, background removal or replacement, transparent background, product shots, concept art, covers, or batch variants); run the bundled CLI (`scripts/image_gen.py`) and require `OPENAI_API_KEY` for live calls. | user | `/home/manuel/.codex/skills/imagegen/SKILL.md` |
|
||||||
|
| `implementing-secret-scanning-with-gitleaks` | This skill covers implementing Gitleaks for detecting and preventing | user | `/home/manuel/.claude/skills/implementing-secret-scanning-with-gitleaks/SKILL.md` |
|
||||||
|
| `incident-runbook-templates` | Create structured incident response runbooks with step-by-step procedures, escalation paths, and recovery actions. Use when building runbooks, responding to incidents, or establishing incident response procedures. | user | `/home/manuel/.agents/skills/incident-runbook-templates/SKILL.md` |
|
||||||
|
| `integrating-dast-with-owasp-zap-in-pipeline` | This skill covers integrating OWASP ZAP (Zed Attack Proxy) for Dynamic | user | `/home/manuel/.claude/skills/integrating-dast-with-owasp-zap-in-pipeline/SKILL.md` |
|
||||||
|
| `interaction-design` | Design and implement microinteractions, motion design, transitions, and user feedback patterns. Use when adding polish to UI interactions, implementing loading states, or creating delightful user experiences. | user | `/home/manuel/.agents/skills/interaction-design/SKILL.md` |
|
||||||
|
| `interface-design` | This skill is for interface design — dashboards, admin panels, apps, tools, and interactive products. NOT for marketing design (landing pages, marketing sites, campaigns). | user | `/home/manuel/.agents/skills/interface-design/SKILL.md` |
|
||||||
|
| `issue-creation` | Create and triage GitHub issues from repository evidence. Trigger: issue creation, bug reports, feature requests, or issue approval. | user | `/home/manuel/.agents/skills/issue-creation/SKILL.md` |
|
||||||
|
| `istio-traffic-management` | Configure Istio traffic management including routing, load balancing, circuit breakers, and canary deployments. Use when implementing service mesh traffic policies, progressive delivery, or resilience patterns. | user | `/home/manuel/.agents/skills/istio-traffic-management/SKILL.md` |
|
||||||
|
| `javascript-testing-patterns` | Implement comprehensive testing strategies using Jest, Vitest, and Testing Library for unit tests, integration tests, and end-to-end testing with mocking, fixtures, and test-driven development. Use when writing JavaScript/TypeScript tests, setting up test infrastructure, or implementing TDD/BDD workflows. | user | `/home/manuel/.agents/skills/javascript-testing-patterns/SKILL.md` |
|
||||||
|
| `judgment-day` | Trigger: judgment day, dual review, adversarial review, juzgar. Run explicit blind dual review with at most two scoped fix/re-judgment rounds. | user | `/home/manuel/.agents/skills/judgment-day/SKILL.md` |
|
||||||
|
| `k8s-manifest-generator` | Create production-ready Kubernetes manifests for Deployments, Services, ConfigMaps, and Secrets following best practices and security standards. Use when generating Kubernetes YAML manifests, creating K8s resources, or implementing production-grade Kubernetes configurations. | user | `/home/manuel/.agents/skills/k8s-manifest-generator/SKILL.md` |
|
||||||
|
| `k8s-security-policies` | Implement Kubernetes security policies including NetworkPolicy, PodSecurityPolicy, and RBAC for production-grade security. Use when securing Kubernetes clusters, implementing network isolation, or enforcing pod security standards. | user | `/home/manuel/.agents/skills/k8s-security-policies/SKILL.md` |
|
||||||
|
| `kpi-dashboard-design` | Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts. | user | `/home/manuel/.agents/skills/kpi-dashboard-design/SKILL.md` |
|
||||||
|
| `langchain-architecture` | Design LLM applications using LangChain 1.x and LangGraph for agents, memory, and tool integration. Use when building LangChain applications, implementing AI agents, or creating complex LLM workflows. | user | `/home/manuel/.agents/skills/langchain-architecture/SKILL.md` |
|
||||||
|
| `lark-contact` | 飞书通讯录:查询组织架构、人员信息和搜索员工。获取当前用户或指定用户的详细信息、通过关键词搜索员工(姓名/邮箱/手机号)。当用户需要查看个人信息、查找同事 open_id 或联系方式、按姓名搜索员工、查询部门结构时使用。 | user | `/home/manuel/.pi/agent/skills/lark-contact/SKILL.md` |
|
||||||
|
| `lark-shared` | 飞书/Lark CLI 共享基础:应用配置初始化、认证登录(auth login)、身份切换(--as user/bot)、权限与 scope 管理、Permission denied 错误处理、安全规则。当用户需要第一次配置(`lark-cli config init`)、使用登录授权(`lark-cli auth login`)、遇到权限不足、切换 user/bot 身份、配置 scope、或首次使用 lark-cli 时触发。 | user | `/home/manuel/.pi/agent/skills/lark-shared/SKILL.md` |
|
||||||
|
| `linkerd-patterns` | Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead. | user | `/home/manuel/.agents/skills/linkerd-patterns/SKILL.md` |
|
||||||
|
| `llm-evaluation` | Implement comprehensive evaluation strategies for LLM applications using automated metrics, human feedback, and benchmarking. Use when testing LLM performance, measuring AI application quality, or establishing evaluation frameworks. | user | `/home/manuel/.agents/skills/llm-evaluation/SKILL.md` |
|
||||||
|
| `lottie` | Lottie and dotLottie adapter patterns for HyperFrames. Use when embedding lottie-web JSON animations, .lottie files, @lottiefiles/dotlottie-web players, registering instances on window.__hfLottie, or making After Effects exports deterministic in HyperFrames. | user | `/home/manuel/.pi/agent/skills/lottie/SKILL.md` |
|
||||||
|
| `managing-python-dependencies` | Ensures proper Python dependency management, avoiding global `pip install` and adhering to project-specific tooling. Use this skill if any of the following are true: 1. Attempting to run `pip install {package_name}`. 2. Python packages or dependencies need to be added or modified. 3. Initiating a new Python project. 4. Creating a new notebook, even if just using BigQuery cells. 5. Generating Python code that includes `import` statements for third-party libraries. 6. Before executing Python scripts via the terminal to ensure the correct virtual environment is active. | user | `/home/manuel/.gemini/skills/managing-python-dependencies/SKILL.md` |
|
||||||
|
| `market` | — | user | `/home/manuel/.claude/skills/market/SKILL.md` |
|
||||||
|
| `market-ads` | — | user | `/home/manuel/.claude/skills/market-ads/SKILL.md` |
|
||||||
|
| `market-audit` | — | user | `/home/manuel/.claude/skills/market-audit/SKILL.md` |
|
||||||
|
| `market-brand` | — | user | `/home/manuel/.claude/skills/market-brand/SKILL.md` |
|
||||||
|
| `market-competitors` | — | user | `/home/manuel/.claude/skills/market-competitors/SKILL.md` |
|
||||||
|
| `market-copy` | — | user | `/home/manuel/.claude/skills/market-copy/SKILL.md` |
|
||||||
|
| `market-emails` | — | user | `/home/manuel/.claude/skills/market-emails/SKILL.md` |
|
||||||
|
| `market-funnel` | — | user | `/home/manuel/.claude/skills/market-funnel/SKILL.md` |
|
||||||
|
| `market-landing` | — | user | `/home/manuel/.claude/skills/market-landing/SKILL.md` |
|
||||||
|
| `market-launch` | — | user | `/home/manuel/.claude/skills/market-launch/SKILL.md` |
|
||||||
|
| `market-proposal` | — | user | `/home/manuel/.claude/skills/market-proposal/SKILL.md` |
|
||||||
|
| `market-report` | — | user | `/home/manuel/.claude/skills/market-report/SKILL.md` |
|
||||||
|
| `market-report-pdf` | — | user | `/home/manuel/.claude/skills/market-report-pdf/SKILL.md` |
|
||||||
|
| `market-seo` | — | user | `/home/manuel/.claude/skills/market-seo/SKILL.md` |
|
||||||
|
| `market-sizing-analysis` | This skill should be used when the user asks to "calculate TAM", "determine SAM", "estimate SOM", "size the market", "calculate market opportunity", "what's the total addressable market", or requests market sizing analysis for a startup or business opportunity. | user | `/home/manuel/.agents/skills/market-sizing-analysis/SKILL.md` |
|
||||||
|
| `market-social` | — | user | `/home/manuel/.claude/skills/market-social/SKILL.md` |
|
||||||
|
| `meme-coin-audit` | Meme coin and token security audit — rug pull detection (honeypot, hidden mint, fee manipulation, LP lock bypass), Solana SPL token analysis (freeze authority, mint authority, metadata mutability), Token-2022 extension risks (transfer hooks, permanent delegate), DEX liquidity pool attacks (sandwich amplification, LP drain, bonding curve exploits), pump.fun/Raydium/Jupiter integration risks, token_scanner.py automation, and real exploit examples from 2024-2025. Use for any token audit, rug pull assessment, meme coin security review, or pre-investment due diligence. | user | `/home/manuel/.claude/skills/meme-coin-audit/SKILL.md` |
|
||||||
|
| `memory-forensics` | Master memory forensics techniques including memory acquisition, process analysis, and artifact extraction using Volatility and related tools. Use when analyzing memory dumps, investigating incidents, or performing malware analysis from RAM captures. | user | `/home/manuel/.agents/skills/memory-forensics/SKILL.md` |
|
||||||
|
| `memory-safety-patterns` | Implement memory-safe programming with RAII, ownership, smart pointers, and resource management across Rust, C++, and C. Use when writing safe systems code, managing resources, or preventing memory bugs. | user | `/home/manuel/.agents/skills/memory-safety-patterns/SKILL.md` |
|
||||||
|
| `microservices-patterns` | Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices. | user | `/home/manuel/.agents/skills/microservices-patterns/SKILL.md` |
|
||||||
|
| `ml-best-practices` | CRITICAL RULE: You MUST use this skill whenever the task involves any machine learning tasks or data analysis. Use this skill if the user's prompt or requirements mention any of the following: * Clustering * Classification * Regression * Time series forecasting * Statistical testing * Model comparison * ML * Data analysis SQL/BigQuery ML HANDOFF: If the user requires a SQL solution, use this skill to dictate the ANALYSIS STEPS (e.g., markdown analysis cells, visualization logic), but defer to `bigquery` for all SQL syntax. | user | `/home/manuel/.gemini/skills/ml-best-practices/SKILL.md` |
|
||||||
|
| `ml-pipeline-workflow` | Build end-to-end MLOps pipelines from data preparation through model training, validation, and production deployment. Use when creating ML pipelines, implementing MLOps practices, or automating model training and deployment workflows. | user | `/home/manuel/.agents/skills/ml-pipeline-workflow/SKILL.md` |
|
||||||
|
| `mobile-android-design` | Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines. | user | `/home/manuel/.agents/skills/mobile-android-design/SKILL.md` |
|
||||||
|
| `mobile-ios-design` | Master iOS Human Interface Guidelines and SwiftUI patterns for building native iOS apps. Use when designing iOS interfaces, implementing SwiftUI views, or ensuring apps follow Apple's design principles. | user | `/home/manuel/.agents/skills/mobile-ios-design/SKILL.md` |
|
||||||
|
| `modern-javascript-patterns` | Master ES6+ features including async/await, destructuring, spread operators, arrow functions, promises, modules, iterators, generators, and functional programming patterns for writing clean, efficient JavaScript code. Use when refactoring legacy code, implementing modern patterns, or optimizing JavaScript applications. | user | `/home/manuel/.agents/skills/modern-javascript-patterns/SKILL.md` |
|
||||||
|
| `monorepo-management` | Master monorepo management with Turborepo, Nx, and pnpm workspaces to build efficient, scalable multi-package repositories with optimized builds and dependency management. Use when setting up monorepos, optimizing builds, or managing shared dependencies. | user | `/home/manuel/.agents/skills/monorepo-management/SKILL.md` |
|
||||||
|
| `mtls-configuration` | Configure mutual TLS (mTLS) for zero-trust service-to-service communication. Use when implementing zero-trust networking, certificate management, or securing internal service communication. | user | `/home/manuel/.agents/skills/mtls-configuration/SKILL.md` |
|
||||||
|
| `multi-cloud-architecture` | Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, and GCP. Use when building multi-cloud systems, avoiding vendor lock-in, or leveraging best-of-breed services from multiple providers. | user | `/home/manuel/.agents/skills/multi-cloud-architecture/SKILL.md` |
|
||||||
|
| `multi-reviewer-patterns` | Coordinate parallel code reviews across multiple quality dimensions with finding deduplication, severity calibration, and consolidated reporting. Use this skill when organizing multi-reviewer code reviews, calibrating finding severity, or consolidating review results. | user | `/home/manuel/.agents/skills/multi-reviewer-patterns/SKILL.md` |
|
||||||
|
| `nanobanana-skill` | Generate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing", "图片生成", "AI绘图", "图片编辑", "生成图片". | project | `/home/manuel/Documentos/Proyectos/MNQ Catering y Evento/.agents/skills/nanobanana-skill/SKILL.md` |
|
||||||
|
| `nextjs-app-router-patterns` | Master Next.js 14+ App Router with Server Components, streaming, parallel routes, and advanced data fetching. Use when building Next.js applications, implementing SSR/SSG, or optimizing React Server Components. | user | `/home/manuel/.agents/skills/nextjs-app-router-patterns/SKILL.md` |
|
||||||
|
| `nft-standards` | Implement NFT standards (ERC-721, ERC-1155) with proper metadata handling, minting strategies, and marketplace integration. Use when creating NFT contracts, building NFT marketplaces, or implementing digital asset systems. | user | `/home/manuel/.agents/skills/nft-standards/SKILL.md` |
|
||||||
|
| `nodejs-backend-patterns` | Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures. | user | `/home/manuel/.agents/skills/nodejs-backend-patterns/SKILL.md` |
|
||||||
|
| `notebook-guidance` | This skill guides the use of Jupyter notebooks for data analysis, exploration, and visualization, particularly with BigQuery. It outlines best practices for notebook execution and validation (supporting both cell-by-cell execution and full notebook generation depending on tool availability), library installation, and structuring notebooks for clarity. It also covers specific rules for data cleaning, plotting, and integrating with BigQuery SQL and machine learning workflows. Relevant when any of the following conditions are true: 1. The user request involves a data analysis, data exploration, data visualization, or data insights task that requires multiple steps, queries, or visualizations to answer. 2. The user explicitly requests a notebook (.ipynb). 3. You are creating, editing, or executing cells in a Jupyter notebook. 4. You need to query BigQuery from within a notebook. DO NOT use the Python BigQuery client library; instead, you MUST use the `%%bqsql` magics explained in this skill. | user | `/home/manuel/.gemini/skills/notebook-guidance/SKILL.md` |
|
||||||
|
| `nx-workspace-patterns` | Configure and optimize Nx monorepo workspaces. Use when setting up Nx, configuring project boundaries, optimizing build caching, or implementing affected commands. | user | `/home/manuel/.agents/skills/nx-workspace-patterns/SKILL.md` |
|
||||||
|
| `obsidian-bases` | Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian. | user | `/home/manuel/.agents/skills/obsidian-bases/SKILL.md` |
|
||||||
|
| `obsidian-cli` | Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes. | user | `/home/manuel/.agents/skills/obsidian-cli/SKILL.md` |
|
||||||
|
| `obsidian-markdown` | Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes. | user | `/home/manuel/.agents/skills/obsidian-markdown/SKILL.md` |
|
||||||
|
| `odoo-19` | Odoo 19 development knowledge base with 18 specialized guides covering Actions (ir.actions.*, cron jobs, server actions), Controllers (HTTP routing, endpoints, auth types), Data files (XML/CSV records, shortcuts, noupdate), API Decorators (@api.depends, @api.constrains, @api.ondelete, @api.onchange, @api.model), Module development (manifest, wizards, reports), Field types (Char, Text, Monetary, relational fields), Manifest configuration (__manifest__.py, dependencies, asset bundles), Mixins (mail.thread, mail.activity.mixin, mail.alias.mixin, utm.mixin), ORM Model methods (search, CRUD, domain filters, recordsets, prefetch), Migration scripts (pre/post/end hooks, data migration), OWL frontend components (hooks, services, lifecycle), Performance optimization (N+1 prevention, batch ops, read_group), QWeb Reports (PDF/HTML, paper formats, barcodes), Security/ACL (record rules, field permissions, multi-company), Testing (TransactionCase, HttpCase, mocking, query count assertions), Transactions (savepoints, UniqueViolation, serialization failures), Translations (i18n, PO files, translatable fields), XML Views (list/form/search, xpath inheritance, QWeb templates). Use when writing, reviewing, or debugging any Odoo 19 Python or XML code, creating or modifying modules, fixing performance issues, or looking up Odoo 19 API patterns and best practices. | user | `/home/manuel/.agents/skills/odoo-19/SKILL.md` |
|
||||||
|
| `odoo-development` | Expert guidance for Odoo ERP development including Python ORM, XML views, and module architecture | user | `/home/manuel/.agents/skills/odoo-development/SKILL.md` |
|
||||||
|
| `odoo-oca-developer` | Expert guidance for developing, migrating, and maintaining Odoo modules (versions 14.0-19.0) following OCA conventions. Use when working with Odoo modules to create new modules from OCA template, migrate modules between versions using OpenUpgrade, extend core Odoo modules, ensure OCA compliance, and structure module files correctly. Includes OCA coding standards, module structure templates, OpenUpgrade migration patterns, and validation tools. | user | `/home/manuel/.pi/agent/skills/odoo-oca-developer/SKILL.md` |
|
||||||
|
| `on-call-handoff-patterns` | Master on-call shift handoffs with context transfer, escalation procedures, and documentation. Use when transitioning on-call responsibilities, documenting shift summaries, or improving on-call processes. | user | `/home/manuel/.agents/skills/on-call-handoff-patterns/SKILL.md` |
|
||||||
|
| `openapi-spec-generation` | Generate and maintain OpenAPI 3.1 specifications from code, design-first specs, and validation patterns. Use when creating API documentation, generating SDKs, or ensuring API contract compliance. | user | `/home/manuel/.agents/skills/openapi-spec-generation/SKILL.md` |
|
||||||
|
| `parallel-debugging` | Debug complex issues using competing hypotheses with parallel investigation, evidence collection, and root cause arbitration. Use this skill when debugging bugs with multiple potential causes, performing root cause analysis, or organizing parallel investigation workflows. | user | `/home/manuel/.agents/skills/parallel-debugging/SKILL.md` |
|
||||||
|
| `parallel-feature-development` | Coordinate parallel feature development with file ownership strategies, conflict avoidance rules, and integration patterns for multi-agent implementation. Use this skill when decomposing features for parallel development, establishing file ownership boundaries, or managing integration between parallel work streams. | user | `/home/manuel/.agents/skills/parallel-feature-development/SKILL.md` |
|
||||||
|
| `paypal-integration` | Integrate PayPal payment processing with support for express checkout, subscriptions, and refund management. Use when implementing PayPal payments, processing online transactions, or building e-commerce checkout flows. | user | `/home/manuel/.agents/skills/paypal-integration/SKILL.md` |
|
||||||
|
| `pci-compliance` | Implement PCI DSS compliance requirements for secure handling of payment card data and payment systems. Use when securing payment processing, achieving PCI compliance, or implementing payment card security measures. | user | `/home/manuel/.agents/skills/pci-compliance/SKILL.md` |
|
||||||
|
| `pdf` | Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as `reportlab`, `pdfplumber`, and `pypdf` for generation and extraction. | user | `/home/manuel/.codex/skills/pdf/SKILL.md` |
|
||||||
|
| `performing-directory-traversal-testing` | Testing web applications for path traversal vulnerabilities that allow | user | `/home/manuel/.claude/skills/performing-directory-traversal-testing/SKILL.md` |
|
||||||
|
| `performing-second-order-sql-injection` | Detect and exploit second-order SQL injection vulnerabilities where malicious | user | `/home/manuel/.claude/skills/performing-second-order-sql-injection/SKILL.md` |
|
||||||
|
| `performing-security-headers-audit` | Auditing HTTP security headers including CSP, HSTS, X-Frame-Options, | user | `/home/manuel/.claude/skills/performing-security-headers-audit/SKILL.md` |
|
||||||
|
| `performing-ssrf-vulnerability-exploitation` | Test for Server-Side Request Forgery vulnerabilities by probing cloud | user | `/home/manuel/.claude/skills/performing-ssrf-vulnerability-exploitation/SKILL.md` |
|
||||||
|
| `performing-web-application-firewall-bypass` | Bypass Web Application Firewall protections using encoding techniques, | user | `/home/manuel/.claude/skills/performing-web-application-firewall-bypass/SKILL.md` |
|
||||||
|
| `performing-web-cache-deception-attack` | Execute web cache deception attacks by exploiting path normalization | user | `/home/manuel/.claude/skills/performing-web-cache-deception-attack/SKILL.md` |
|
||||||
|
| `performing-web-cache-poisoning-attack` | Exploiting web cache mechanisms to serve malicious content to other users | user | `/home/manuel/.claude/skills/performing-web-cache-poisoning-attack/SKILL.md` |
|
||||||
|
| `podcast-pipeline` | Podcast-to-Everything content pipeline. Takes a podcast RSS feed or raw transcript and generates a full cross-platform content calendar: short-form video clips, Twitter/X threads, LinkedIn articles, newsletter sections, quote cards, blog outlines with SEO keywords, and YouTube Shorts/TikTok scripts. Scores each piece by viral potential (novelty × controversy × utility) and deduplicates against recent output. Use when asked to: "repurpose this podcast", "turn this episode into content", "podcast content calendar", "extract clips from this episode", "podcast to social", "content from RSS feed", "batch process episodes", or any request to turn podcast/audio content into a multi-platform content plan. | user | `/home/manuel/.pi/agent/skills/podcast-pipeline/SKILL.md` |
|
||||||
|
| `postgresql-table-design` | Design a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features | user | `/home/manuel/.agents/skills/postgresql-table-design/SKILL.md` |
|
||||||
|
| `postmortem-writing` | Write effective blameless postmortems with root cause analysis, timelines, and action items. Use when conducting incident reviews, writing postmortem documents, or improving incident response processes. | user | `/home/manuel/.agents/skills/postmortem-writing/SKILL.md` |
|
||||||
|
| `project-docs` | Bootstraps README.md, AGENTS.md, and DESIGN.md for any project. Trigger: When user says "inicializar proyecto", "setup docs", "crear docs del proyecto", "project docs", "bootstrap project", or starts a new project from scratch. | user | `/home/manuel/.claude/skills/project-docs/SKILL.md` |
|
||||||
|
| `projection-patterns` | Build read models and projections from event streams. Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems. | user | `/home/manuel/.agents/skills/projection-patterns/SKILL.md` |
|
||||||
|
| `prometheus-configuration` | Set up Prometheus for comprehensive metric collection, storage, and monitoring of infrastructure and applications. Use when implementing metrics collection, setting up monitoring infrastructure, or configuring alerting systems. | user | `/home/manuel/.agents/skills/prometheus-configuration/SKILL.md` |
|
||||||
|
| `prompt-engineering-patterns` | Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production. Use when optimizing prompts, improving LLM outputs, or designing production prompt templates. | user | `/home/manuel/.agents/skills/prompt-engineering-patterns/SKILL.md` |
|
||||||
|
| `protocol-reverse-engineering` | Master network protocol reverse engineering including packet analysis, protocol dissection, and custom protocol documentation. Use when analyzing network traffic, understanding proprietary protocols, or debugging network communication. | user | `/home/manuel/.agents/skills/protocol-reverse-engineering/SKILL.md` |
|
||||||
|
| `python-anti-patterns` | Common Python anti-patterns to avoid. Use as a checklist when reviewing code, before finalizing implementations, or when debugging issues that might stem from known bad practices. | user | `/home/manuel/.agents/skills/python-anti-patterns/SKILL.md` |
|
||||||
|
| `python-background-jobs` | Python background job patterns including task queues, workers, and event-driven architecture. Use when implementing async task processing, job queues, long-running operations, or decoupling work from request/response cycles. | user | `/home/manuel/.agents/skills/python-background-jobs/SKILL.md` |
|
||||||
|
| `python-code-style` | Python code style, linting, formatting, naming conventions, and documentation standards. Use when writing new code, reviewing style, configuring linters, writing docstrings, or establishing project standards. | user | `/home/manuel/.agents/skills/python-code-style/SKILL.md` |
|
||||||
|
| `python-configuration` | Python configuration management via environment variables and typed settings. Use when externalizing config, setting up pydantic-settings, managing secrets, or implementing environment-specific behavior. | user | `/home/manuel/.agents/skills/python-configuration/SKILL.md` |
|
||||||
|
| `python-design-patterns` | Python design patterns including KISS, Separation of Concerns, Single Responsibility, and composition over inheritance. Use when making architecture decisions, refactoring code structure, or evaluating when abstractions are appropriate. | user | `/home/manuel/.agents/skills/python-design-patterns/SKILL.md` |
|
||||||
|
| `python-error-handling` | Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs. | user | `/home/manuel/.agents/skills/python-error-handling/SKILL.md` |
|
||||||
|
| `python-observability` | Python observability patterns including structured logging, metrics, and distributed tracing. Use when adding logging, implementing metrics collection, setting up tracing, or debugging production systems. | user | `/home/manuel/.agents/skills/python-observability/SKILL.md` |
|
||||||
|
| `python-packaging` | Create distributable Python packages with proper project structure, setup.py/pyproject.toml, and publishing to PyPI. Use when packaging Python libraries, creating CLI tools, or distributing Python code. | user | `/home/manuel/.agents/skills/python-packaging/SKILL.md` |
|
||||||
|
| `python-performance-optimization` | Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance. | user | `/home/manuel/.agents/skills/python-performance-optimization/SKILL.md` |
|
||||||
|
| `python-project-structure` | Python project organization, module architecture, and public API design. Use when setting up new projects, organizing modules, defining public interfaces with __all__, or planning directory layouts. | user | `/home/manuel/.agents/skills/python-project-structure/SKILL.md` |
|
||||||
|
| `python-resilience` | Python resilience patterns including automatic retries, exponential backoff, timeouts, and fault-tolerant decorators. Use when adding retry logic, implementing timeouts, building fault-tolerant services, or handling transient failures. | user | `/home/manuel/.agents/skills/python-resilience/SKILL.md` |
|
||||||
|
| `python-resource-management` | Python resource management with context managers, cleanup patterns, and streaming. Use when managing connections, file handles, implementing cleanup logic, or building streaming responses with accumulated state. | user | `/home/manuel/.agents/skills/python-resource-management/SKILL.md` |
|
||||||
|
| `python-testing-patterns` | Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices. | user | `/home/manuel/.agents/skills/python-testing-patterns/SKILL.md` |
|
||||||
|
| `python-type-safety` | Python type safety with type hints, generics, protocols, and strict type checking. Use when adding type annotations, implementing generic classes, defining structural interfaces, or configuring mypy/pyright. | user | `/home/manuel/.agents/skills/python-type-safety/SKILL.md` |
|
||||||
|
| `rag-implementation` | Build Retrieval-Augmented Generation (RAG) systems for LLM applications with vector databases and semantic search. Use when implementing knowledge-grounded AI, building document Q&A systems, or integrating LLMs with external knowledge bases. | user | `/home/manuel/.agents/skills/rag-implementation/SKILL.md` |
|
||||||
|
| `rdd-defect-workflow` | Trigger: RDD, receipt-driven development, review authority, receipt/lineage, correction/recovery, delivery gate/kill switch, bounded review defects. Guide work. | user | `/home/manuel/.agents/skills/rdd-defect-workflow/SKILL.md` |
|
||||||
|
| `react-modernization` | Upgrade React applications to latest versions, migrate from class components to hooks, and adopt concurrent features. Use when modernizing React codebases, migrating to React Hooks, or upgrading to latest React versions. | user | `/home/manuel/.agents/skills/react-modernization/SKILL.md` |
|
||||||
|
| `react-native-architecture` | Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects. | user | `/home/manuel/.agents/skills/react-native-architecture/SKILL.md` |
|
||||||
|
| `react-native-design` | Master React Native styling, navigation, and Reanimated animations for cross-platform mobile development. Use when building React Native apps, implementing navigation patterns, or creating performant animations. | user | `/home/manuel/.agents/skills/react-native-design/SKILL.md` |
|
||||||
|
| `react-state-management` | Master modern React state management with Redux Toolkit, Zustand, Jotai, and React Query. Use when setting up global state, managing server state, or choosing between state management solutions. | user | `/home/manuel/.agents/skills/react-state-management/SKILL.md` |
|
||||||
|
| `receiving-code-review` | Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation | user | `/home/manuel/.agents/skills/receiving-code-review/SKILL.md` |
|
||||||
|
| `remotion-best-practices` | Best practices for Remotion - Video creation in React | user | `/home/manuel/.pi/agent/skills/remotion-best-practices/SKILL.md` |
|
||||||
|
| `remotion-to-hyperframes` | Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames — for example "port my Remotion project to HyperFrames", "convert this Remotion code to HyperFrames", "migrate from Remotion", "translate this Remotion comp", or "rewrite this as HyperFrames HTML". Do NOT use when (a) the user is authoring a NEW HyperFrames composition, even if they have or are A/B-testing a similar Remotion video; (b) the user mentions Remotion in passing without asking for migration; (c) the user shares Remotion code as reference material rather than asking for a translation; (d) the user asks for "the same video as my Remotion one" without explicitly asking to migrate the source — treat that as a fresh HyperFrames build. When in doubt, default to authoring a native HyperFrames composition with the `hyperframes` skill instead. Skill detects unsupported patterns (useState, useEffect with side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda` features) and recommends the runtime interop escape hatch instead of attempting a lossy translation. | user | `/home/manuel/.pi/agent/skills/remotion-to-hyperframes/SKILL.md` |
|
||||||
|
| `report-writing` | Bug bounty report writing for H1/Bugcrowd/Intigriti/Immunefi — report templates, human tone guidelines, impact-first writing, CVSS 3.1 scoring, title formula, impact statement formula, severity decision guide, downgrade counters, pre-submit checklist. Use after validating a finding and before submitting. Never use "could potentially" — prove it or don't report. | user | `/home/manuel/.claude/skills/report-writing/SKILL.md` |
|
||||||
|
| `requesting-code-review` | Use when completing tasks, implementing major features, or before merging to verify work meets requirements | user | `/home/manuel/.agents/skills/requesting-code-review/SKILL.md` |
|
||||||
|
| `responsive-design` | Implement modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first breakpoint strategies. Use when building adaptive interfaces, implementing fluid layouts, or creating component-level responsive behavior. | user | `/home/manuel/.agents/skills/responsive-design/SKILL.md` |
|
||||||
|
| `risk-metrics-calculation` | Calculate portfolio risk metrics including VaR, CVaR, Sharpe, Sortino, and drawdown analysis. Use when measuring portfolio risk, implementing risk limits, or building risk monitoring systems. | user | `/home/manuel/.agents/skills/risk-metrics-calculation/SKILL.md` |
|
||||||
|
| `rust-async-patterns` | Master Rust async programming with Tokio, async traits, error handling, and concurrent patterns. Use when building async Rust applications, implementing concurrent systems, or debugging async code. | user | `/home/manuel/.agents/skills/rust-async-patterns/SKILL.md` |
|
||||||
|
| `rust-audit-prep` | Prepare Solana/Rust projects for a security audit — test coverage analysis, Rust doc-comment checks, code hygiene sweeps, dependency health verification, compute-unit optimization tips, and best-practice enforcement. Supports both Anchor-based and native solana_program Rust programs. Generates a scored Audit Readiness Report. Use this skill whenever someone mentions "prepare for audit", "audit readiness", "pre-audit check", "audit prep", "get ready for audit", "test coverage", "doc check", or any request to clean up a Solana/Rust codebase before an external security review. Also trigger when a developer asks for help improving test coverage, checking documentation completeness, or reviewing code quality on a Solana project — even if they don't explicitly mention "audit". Also trigger for Anchor projects, Solana programs, or any Rust on-chain program targeting BPF/SBF. | user | `/home/manuel/.claude/skills/rust-audit-prep/SKILL.md` |
|
||||||
|
| `saga-orchestration` | Implement saga patterns for distributed transactions and cross-aggregate workflows. Use when coordinating multi-step business processes, handling compensating transactions, or managing long-running workflows. | user | `/home/manuel/.agents/skills/saga-orchestration/SKILL.md` |
|
||||||
|
| `sast-configuration` | Configure Static Application Security Testing (SAST) tools for automated vulnerability detection in application code. Use when setting up security scanning, implementing DevSecOps practices, or automating code vulnerability detection. | user | `/home/manuel/.agents/skills/sast-configuration/SKILL.md` |
|
||||||
|
| `screen-reader-testing` | Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support. | user | `/home/manuel/.agents/skills/screen-reader-testing/SKILL.md` |
|
||||||
|
| `secrets-management` | Implement secure secrets management for CI/CD pipelines using Vault, AWS Secrets Manager, or native platform solutions. Use when handling sensitive credentials, rotating secrets, or securing CI/CD environments. | user | `/home/manuel/.agents/skills/secrets-management/SKILL.md` |
|
||||||
|
| `security-arsenal` | Security payloads, bypass tables, wordlists, gf pattern names, always-rejected bug list, and conditionally-valid-with-chain table. Use when you need specific payloads for XSS/SSRF/SQLi/XXE/NoSQLi/command injection/SSTI/IDOR/path-traversal/HTTP smuggling/WebSocket/MFA bypass, bypass techniques, or to check if a finding is submittable. Also use when asked about what NOT to submit. | user | `/home/manuel/.claude/skills/security-arsenal/SKILL.md` |
|
||||||
|
| `security-code-review-agent` | — | user | `/home/manuel/.config/opencode/skills/security-code-review-agent/SKILL.md` |
|
||||||
|
| `security-requirement-extraction` | Derive security requirements from threat models and business context. Use when translating threats into actionable requirements, creating security user stories, or building security test cases. | user | `/home/manuel/.agents/skills/security-requirement-extraction/SKILL.md` |
|
||||||
|
| `seo` | Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability, indexability, Core Web Vitals with INP), schema markup, content quality (E-E-A-T), image optimization, sitemap analysis, and GEO for AI Overviews/ChatGPT/Perplexity. Industry detection for SaaS, e-commerce, local, publishers, agencies. Triggers on: SEO, audit, schema, Core Web Vitals, sitemap, E-E-A-T, AI Overviews, GEO, technical SEO, content quality, page speed, structured data. | user | `/home/manuel/.claude/skills/seo/SKILL.md` |
|
||||||
|
| `seo-ahrefs` | Ahrefs API analyst (extension). Reads referring domains, backlinks, organic keywords, and content explorer data via the official @ahrefs/mcp@0.0.11 server. Pairs with seo-backlinks for multi-source confidence weighting. | user | `/home/manuel/.claude/skills/seo-ahrefs/SKILL.md` |
|
||||||
|
| `seo-audit` | Full website SEO audit with parallel subagent delegation. Crawls up to 500 pages, detects business type, delegates to up to 15 specialists (8 always + 7 conditional), generates health score. Use when user says audit, full SEO check, analyze my site, or website health check. | user | `/home/manuel/.claude/skills/seo-audit/SKILL.md` |
|
||||||
|
| `seo-backlinks` | Backlink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit. | user | `/home/manuel/.claude/skills/seo-backlinks/SKILL.md` |
|
||||||
|
| `seo-bing` | Bing Webmaster Tools + IndexNow extension. Microsoft Copilot citations are fed by the Bing index; this skill makes Bing visibility, link data, and IndexNow URL submission first-class. | user | `/home/manuel/.claude/skills/seo-bing/SKILL.md` |
|
||||||
|
| `seo-cluster` | SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". | user | `/home/manuel/.claude/skills/seo-cluster/SKILL.md` |
|
||||||
|
| `seo-competitor-pages` | Generate SEO-optimized competitor comparison and alternatives pages. Covers "X vs Y" layouts, "alternatives to X" pages, feature matrices, schema markup, and conversion optimization. Use when user says "comparison page", "vs page", "alternatives page", "competitor comparison", "X vs Y", "versus", "compare competitors", or "alternative to". | user | `/home/manuel/.claude/skills/seo-competitor-pages/SKILL.md` |
|
||||||
|
| `seo-content` | Content quality and E-E-A-T analysis with AI citation readiness assessment. Use when user says "content quality", "E-E-A-T", "content analysis", "readability check", "thin content", or "content audit". | user | `/home/manuel/.claude/skills/seo-content/SKILL.md` |
|
||||||
|
| `seo-content-brief` | Generate competitive SEO content briefs with per-section word counts, competitor scoring, keyword density guidance, and page-type templates. Supports both new page briefs and improve-existing-page briefs. Use when user says "content brief", "write a brief", "content outline", "blog brief", "service page brief", "brief for", "writing brief", "content plan", or "outline for". | user | `/home/manuel/.claude/skills/seo-content-brief/SKILL.md` |
|
||||||
|
| `seo-dataforseo` | Live SEO data via DataForSEO MCP server. SERP analysis (Google, Bing, Yahoo, YouTube, Google Images), keyword research (volume, difficulty, intent, trends), backlink profiles, on-page analysis (Lighthouse, content parsing), competitor analysis, content analysis, business listings, AI visibility (ChatGPT scraper, LLM mention tracking), and domain analytics. Requires DataForSEO extension installed. Use when user says "dataforseo", "live SERP", "keyword volume", "backlink data", "competitor data", "AI visibility check", "LLM mentions", "image SERP", "google images", "image rankings", or "real search data". | user | `/home/manuel/.claude/skills/seo-dataforseo/SKILL.md` |
|
||||||
|
| `seo-drift` | SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time. Git for SEO — baseline, diff, and track changes to your on-page SEO. Use when user says "SEO drift", "baseline", "track changes", "did anything break", "SEO regression", "compare SEO", "before and after", "monitor SEO changes", or "deployment check". | user | `/home/manuel/.claude/skills/seo-drift/SKILL.md` |
|
||||||
|
| `seo-ecommerce` | E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps. Combines on-page product SEO with marketplace data from DataForSEO Merchant API. Use when user says "ecommerce SEO", "product SEO", "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO", "product listings", "shopping ads", or "merchant SEO". | user | `/home/manuel/.claude/skills/seo-ecommerce/SKILL.md` |
|
||||||
|
| `seo-firecrawl` | Full-site crawling, scraping, and site mapping via Firecrawl MCP. Use when user says "crawl site", "map site", "full crawl", "find all pages", "broken links", "site structure", "discover pages", "JS rendering", or needs site-wide analysis. | user | `/home/manuel/.claude/skills/seo-firecrawl/SKILL.md` |
|
||||||
|
| `seo-flow` | FLOW framework integration — evidence-led SEO using the Find → Leverage → Optimize → Win loop. Surfaces stage-specific AI prompts from the FLOW knowledge base (41 prompts, CC BY 4.0). Use when user says "FLOW", "FLOW framework", "seo flow", "evidence-led SEO", "find leverage optimize win", or wants stage-specific SEO prompts. | user | `/home/manuel/.claude/skills/seo-flow/SKILL.md` |
|
||||||
|
| `seo-geo` | Optimize content for AI Overviews (formerly SGE), ChatGPT web search, Perplexity, and other AI-powered search experiences. Generative Engine Optimization (GEO) analysis including brand mention signals, AI crawler accessibility, llms.txt compliance, passage-level citability scoring, and platform-specific optimization. Use when user says "AI Overviews", "SGE", "GEO", "AI search", "LLM optimization", "Perplexity", "AI citations", "ChatGPT search", or "AI visibility". | user | `/home/manuel/.claude/skills/seo-geo/SKILL.md` |
|
||||||
|
| `seo-google` | Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends. Use when user says "search console", "GSC", "PageSpeed", "CrUX", "field data", "indexing API", "GA4 organic", "URL inspection", "google api setup", "real CWV data", "impressions", "clicks", "CTR", "position data", "LCP", "INP", "CLS", "FCP", "TTFB", or "Lighthouse scores". | user | `/home/manuel/.claude/skills/seo-google/SKILL.md` |
|
||||||
|
| `seo-hreflang` | Hreflang and international SEO audit, validation, and generation. Detects common mistakes, validates language/region codes, and generates correct hreflang implementations. Use when user says "hreflang", "i18n SEO", "international SEO", "multi-language", "multi-region", or "language tags". | user | `/home/manuel/.claude/skills/seo-hreflang/SKILL.md` |
|
||||||
|
| `seo-image-gen` | AI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics. Powered by Gemini via nanobanana-mcp. Requires banana extension installed. Use when user says \"generate image\", \"OG image\", \"social preview\", \"hero image\", \"blog image\", \"product photo\", \"infographic\", \"seo image\", \"create visual\", \"image-gen\", \"favicon\", \"schema image\", \"pinterest pin\", \"generate visual\", \"banner\", or \"thumbnail\". | user | `/home/manuel/.claude/skills/seo-image-gen/SKILL.md` |
|
||||||
|
| `seo-images` | Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, CLS prevention, image SERP rankings (via DataForSEO), and image file optimization (WebP/AVIF conversion, IPTC/XMP metadata injection). Use when user says "image optimization", "alt text", "image SEO", "image size", "image audit", "optimize images", "image metadata", "image SERP", "convert to webp", or "image file optimize". | user | `/home/manuel/.claude/skills/seo-images/SKILL.md` |
|
||||||
|
| `seo-local` | Local SEO analysis covering Google Business Profile optimization, NAP consistency, citation health, review signals, local schema markup, location page quality, multi-location SEO, and industry-specific recommendations. Detects business type (brick-and-mortar, SAB, hybrid) and industry vertical (restaurant, healthcare, legal, home services, real estate, automotive). Use when user says "local SEO", "Google Business Profile", "GBP", "map pack", "local pack", "citations", "NAP consistency", "local rankings", "service area", "multi-location", or "local search". | user | `/home/manuel/.claude/skills/seo-local/SKILL.md` |
|
||||||
|
| `seo-maps` | Maps intelligence for local SEO — geo-grid rank tracking, GBP profile auditing via API, review intelligence across Google/Tripadvisor/Trustpilot, cross-platform NAP verification (Google/Bing/Apple/OSM), competitor radius mapping, and LocalBusiness schema generation from API data. Three-tier capability: free (Overpass + Geoapify), DataForSEO (full intelligence), DataForSEO + Google (maximum coverage). Use when user says "maps", "geo-grid", "rank tracking", "GBP audit", "review velocity", "competitor radius", "maps analysis", "local rank tracking", "Share of Local Voice", or "SoLV". | user | `/home/manuel/.claude/skills/seo-maps/SKILL.md` |
|
||||||
|
| `seo-page` | Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance. Use when user says "analyze this page", "check page SEO", "single URL", "check this page", "page analysis", or provides a single URL for review. | user | `/home/manuel/.claude/skills/seo-page/SKILL.md` |
|
||||||
|
| `seo-plan` | Strategic SEO planning for new or existing websites. Industry-specific templates, competitive analysis, content strategy, and implementation roadmap. Use when user says "SEO plan", "SEO strategy", "SEO planning", "content strategy", "keyword strategy", "content calendar", "site architecture", or "SEO roadmap". | user | `/home/manuel/.claude/skills/seo-plan/SKILL.md` |
|
||||||
|
| `seo-profound` | Profound LLM citation tracker (extension). Time-series brand citation rates across ChatGPT, Perplexity, and other LLMs. Pairs with seo-seranking for triangulated AI visibility coverage. | user | `/home/manuel/.claude/skills/seo-profound/SKILL.md` |
|
||||||
|
| `seo-programmatic` | Programmatic SEO planning and analysis for pages generated at scale from data sources. Covers template engines, URL patterns, internal linking automation, thin content safeguards, and index bloat prevention. Use when user says "programmatic SEO", "pages at scale", "dynamic pages", "template pages", "generated pages", or "data-driven SEO". | user | `/home/manuel/.claude/skills/seo-programmatic/SKILL.md` |
|
||||||
|
| `seo-schema` | Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD", or "markup". | user | `/home/manuel/.claude/skills/seo-schema/SKILL.md` |
|
||||||
|
| `seo-seranking` | SE Ranking AI visibility analyst (extension). Tracks AI Share-of-Voice across ChatGPT, Gemini, Perplexity, AI Overviews, and AI Mode in a single query. Highest-impact new extension per the v2 gap analysis — no other vendor covers all 5 AI platforms in one API. | user | `/home/manuel/.claude/skills/seo-seranking/SKILL.md` |
|
||||||
|
| `seo-sitemap` | Analyze existing XML sitemaps or generate new ones with industry templates. Validates format, URLs, and structure. Use when user says "sitemap", "generate sitemap", "sitemap issues", or "XML sitemap". | user | `/home/manuel/.claude/skills/seo-sitemap/SKILL.md` |
|
||||||
|
| `seo-sxo` | Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. Identifies why well-optimized pages fail to rank by analyzing what Google rewards for each keyword. Use when user says "SXO", "search experience", "page type mismatch", "SERP analysis", "user story", "persona scoring", "why isn't my page ranking", "intent mismatch", or "wireframe". | user | `/home/manuel/.claude/skills/seo-sxo/SKILL.md` |
|
||||||
|
| `seo-technical` | Technical SEO audit across 9 categories: crawlability, indexability, security, URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering, and IndexNow protocol. Use when user says "technical SEO", "crawl issues", "robots.txt", "Core Web Vitals", "site speed", or "security headers". | user | `/home/manuel/.claude/skills/seo-technical/SKILL.md` |
|
||||||
|
| `seo-unlighthouse` | Multi-page Lighthouse audit via the MIT-licensed Unlighthouse CLI. Free-tier alternative to running PageSpeed against every URL on a site — no API quota burn, runs locally. | user | `/home/manuel/.claude/skills/seo-unlighthouse/SKILL.md` |
|
||||||
|
| `service-mesh-observability` | Implement comprehensive observability for service meshes including distributed tracing, metrics, and visualization. Use when setting up mesh monitoring, debugging latency issues, or implementing SLOs for service communication. | user | `/home/manuel/.agents/skills/service-mesh-observability/SKILL.md` |
|
||||||
|
| `shellcheck-configuration` | Master ShellCheck static analysis configuration and usage for shell script quality. Use when setting up linting infrastructure, fixing code issues, or ensuring script portability. | user | `/home/manuel/.agents/skills/shellcheck-configuration/SKILL.md` |
|
||||||
|
| `similarity-search-patterns` | Implement efficient similarity search with vector databases. Use when building semantic search, implementing nearest neighbor queries, or optimizing retrieval performance. | user | `/home/manuel/.agents/skills/similarity-search-patterns/SKILL.md` |
|
||||||
|
| `skill-creator` | Trigger: new skills, agent instructions, documenting AI usage patterns. Create LLM-first skills with valid frontmatter. | user | `/home/manuel/.agents/skills/skill-creator/SKILL.md` |
|
||||||
|
| `skill-improver` | Trigger: improve skills, audit skills, refactor skills, skill quality. Audit and upgrade existing LLM-first skills. | user | `/home/manuel/.agents/skills/skill-improver/SKILL.md` |
|
||||||
|
| `skill-repair` | Use this to fix and re-install agent skills that have failed installation. This skill provides the necessary context and permissions to surgically update the `manifest.json` after a fix has been applied. | user | `/home/manuel/.gemini/skills/skill-repair/SKILL.md` |
|
||||||
|
| `slo-implementation` | Define and implement Service Level Indicators (SLIs) and Service Level Objectives (SLOs) with error budgets and alerting. Use when establishing reliability targets, implementing SRE practices, or measuring service performance. | user | `/home/manuel/.agents/skills/slo-implementation/SKILL.md` |
|
||||||
|
| `solidity-auditor` | Security audit of Solidity code while you develop. Trigger on "audit", "check this contract", "review for security". Modes - default (full repo) or a specific filename. | user | `/home/manuel/.pi/agent/skills/solidity-auditor/SKILL.md` |
|
||||||
|
| `solidity-security` | Master smart contract security best practices to prevent common vulnerabilities and implement secure Solidity patterns. Use when writing smart contracts, auditing existing contracts, or implementing security measures for blockchain applications. | user | `/home/manuel/.agents/skills/solidity-security/SKILL.md` |
|
||||||
|
| `sora` | Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI\u2019s video API using the bundled CLI (`scripts/sora.py`), including requests like \u201cgenerate AI video,\u201d \u201cSora,\u201d \u201cvideo remix,\u201d \u201cdownload video/thumbnail/spritesheet,\u201d and batch video generation; requires `OPENAI_API_KEY` and Sora API access. | user | `/home/manuel/.codex/skills/sora/SKILL.md` |
|
||||||
|
| `spark-optimization` | Optimize Apache Spark jobs with partitioning, caching, shuffle optimization, and memory tuning. Use when improving Spark performance, debugging slow jobs, or scaling data processing pipelines. | user | `/home/manuel/.agents/skills/spark-optimization/SKILL.md` |
|
||||||
|
| `sql-optimization-patterns` | Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance. | user | `/home/manuel/.agents/skills/sql-optimization-patterns/SKILL.md` |
|
||||||
|
| `startup-financial-modeling` | This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or requests 3-5 year financial planning for a startup. | user | `/home/manuel/.agents/skills/startup-financial-modeling/SKILL.md` |
|
||||||
|
| `startup-metrics-framework` | This skill should be used when the user asks about "key startup metrics", "SaaS metrics", "CAC and LTV", "unit economics", "burn multiple", "rule of 40", "marketplace metrics", or requests guidance on tracking and optimizing business performance metrics. | user | `/home/manuel/.agents/skills/startup-metrics-framework/SKILL.md` |
|
||||||
|
| `stride-analysis-patterns` | Apply STRIDE methodology to systematically identify threats. Use when analyzing system security, conducting threat modeling sessions, or creating security documentation. | user | `/home/manuel/.agents/skills/stride-analysis-patterns/SKILL.md` |
|
||||||
|
| `stripe-integration` | Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows. | user | `/home/manuel/.agents/skills/stripe-integration/SKILL.md` |
|
||||||
|
| `subagent-driven-development` | Use when executing implementation plans with independent tasks in the current session | user | `/home/manuel/.agents/skills/subagent-driven-development/SKILL.md` |
|
||||||
|
| `systematic-debugging` | Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes | user | `/home/manuel/.agents/skills/systematic-debugging/SKILL.md` |
|
||||||
|
| `systemic-issue-triage` | Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it. | user | `/home/manuel/.agents/skills/systemic-issue-triage/SKILL.md` |
|
||||||
|
| `tailwind` | Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime. | user | `/home/manuel/.pi/agent/skills/tailwind/SKILL.md` |
|
||||||
|
| `tailwind-design-system` | Build scalable design systems with Tailwind CSS v4, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI patterns. | user | `/home/manuel/.agents/skills/tailwind-design-system/SKILL.md` |
|
||||||
|
| `task-coordination-strategies` | Decompose complex tasks, design dependency graphs, and coordinate multi-agent work with proper task descriptions and workload balancing. Use this skill when breaking down work for agent teams, managing task dependencies, or monitoring team progress. | user | `/home/manuel/.agents/skills/task-coordination-strategies/SKILL.md` |
|
||||||
|
| `team-communication-protocols` | Structured messaging protocols for agent team communication including message type selection, plan approval, shutdown procedures, and anti-patterns to avoid. Use this skill when establishing team communication norms, handling plan approvals, or managing team shutdown. | user | `/home/manuel/.agents/skills/team-communication-protocols/SKILL.md` |
|
||||||
|
| `team-composition-analysis` | This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests organizational design and headcount planning for a startup. | user | `/home/manuel/.agents/skills/team-composition-analysis/SKILL.md` |
|
||||||
|
| `team-composition-patterns` | Design optimal agent team compositions with sizing heuristics, preset configurations, and agent type selection. Use this skill when deciding team size, selecting agent types, or configuring team presets for multi-agent workflows. | user | `/home/manuel/.agents/skills/team-composition-patterns/SKILL.md` |
|
||||||
|
| `temporal-python-testing` | Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal workflow tests or debugging test failures. | user | `/home/manuel/.agents/skills/temporal-python-testing/SKILL.md` |
|
||||||
|
| `terraform-module-library` | Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components. | user | `/home/manuel/.agents/skills/terraform-module-library/SKILL.md` |
|
||||||
|
| `test-driven-development` | Use when implementing any feature or bugfix, before writing implementation code | user | `/home/manuel/.agents/skills/test-driven-development/SKILL.md` |
|
||||||
|
| `testing-api-authentication-weaknesses` | Tests API authentication mechanisms for weaknesses including broken | user | `/home/manuel/.claude/skills/testing-api-authentication-weaknesses/SKILL.md` |
|
||||||
|
| `testing-api-for-broken-object-level-authorization` | Tests REST and GraphQL APIs for Broken Object Level Authorization (BOLA/IDOR) | user | `/home/manuel/.claude/skills/testing-api-for-broken-object-level-authorization/SKILL.md` |
|
||||||
|
| `testing-api-for-mass-assignment-vulnerability` | Tests APIs for mass assignment (auto-binding) vulnerabilities where | user | `/home/manuel/.claude/skills/testing-api-for-mass-assignment-vulnerability/SKILL.md` |
|
||||||
|
| `testing-api-security-with-owasp-top-10` | Systematically assessing REST and GraphQL API endpoints against the OWASP | user | `/home/manuel/.claude/skills/testing-api-security-with-owasp-top-10/SKILL.md` |
|
||||||
|
| `testing-cors-misconfiguration` | Identifying and exploiting Cross-Origin Resource Sharing misconfigurations | user | `/home/manuel/.claude/skills/testing-cors-misconfiguration/SKILL.md` |
|
||||||
|
| `testing-for-broken-access-control` | Systematically testing web applications for broken access control vulnerabilities | user | `/home/manuel/.claude/skills/testing-for-broken-access-control/SKILL.md` |
|
||||||
|
| `testing-for-host-header-injection` | Test web applications for HTTP Host header injection vulnerabilities | user | `/home/manuel/.claude/skills/testing-for-host-header-injection/SKILL.md` |
|
||||||
|
| `testing-for-json-web-token-vulnerabilities` | Test JWT implementations for critical vulnerabilities including algorithm | user | `/home/manuel/.claude/skills/testing-for-json-web-token-vulnerabilities/SKILL.md` |
|
||||||
|
| `testing-for-xml-injection-vulnerabilities` | Test web applications for XML injection vulnerabilities including XXE, | user | `/home/manuel/.claude/skills/testing-for-xml-injection-vulnerabilities/SKILL.md` |
|
||||||
|
| `testing-for-xss-vulnerabilities` | Tests web applications for Cross-Site Scripting (XSS) vulnerabilities | user | `/home/manuel/.claude/skills/testing-for-xss-vulnerabilities/SKILL.md` |
|
||||||
|
| `testing-for-xss-vulnerabilities-with-burpsuite` | Identifying and validating cross-site scripting vulnerabilities using | user | `/home/manuel/.claude/skills/testing-for-xss-vulnerabilities-with-burpsuite/SKILL.md` |
|
||||||
|
| `testing-for-xxe-injection-vulnerabilities` | Discovering and exploiting XML External Entity injection vulnerabilities | user | `/home/manuel/.claude/skills/testing-for-xxe-injection-vulnerabilities/SKILL.md` |
|
||||||
|
| `testing-jwt-token-security` | Assessing JSON Web Token implementations for cryptographic weaknesses, | user | `/home/manuel/.claude/skills/testing-jwt-token-security/SKILL.md` |
|
||||||
|
| `testing-mobile-api-authentication` | Tests authentication and authorization mechanisms in mobile application | user | `/home/manuel/.claude/skills/testing-mobile-api-authentication/SKILL.md` |
|
||||||
|
| `testing-oauth2-implementation-flaws` | Tests OAuth 2.0 and OpenID Connect implementations for security flaws | user | `/home/manuel/.claude/skills/testing-oauth2-implementation-flaws/SKILL.md` |
|
||||||
|
| `testing-websocket-api-security` | Tests WebSocket API implementations for security vulnerabilities including | user | `/home/manuel/.claude/skills/testing-websocket-api-security/SKILL.md` |
|
||||||
|
| `threat-mitigation-mapping` | Map identified threats to appropriate security controls and mitigations. Use when prioritizing security investments, creating remediation plans, or validating control effectiveness. | user | `/home/manuel/.agents/skills/threat-mitigation-mapping/SKILL.md` |
|
||||||
|
| `three` | Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events. | user | `/home/manuel/.pi/agent/skills/three/SKILL.md` |
|
||||||
|
| `track-management` | Use this skill when creating, managing, or working with Conductor tracks - the logical work units for features, bugs, and refactors. Applies to spec.md, plan.md, and track lifecycle operations. | user | `/home/manuel/.agents/skills/track-management/SKILL.md` |
|
||||||
|
| `triage-validation` | Finding validation before writing any report — 7-Question Gate (all 7 questions), 4 pre-submission gates, always-rejected list, conditionally valid with chain table, CVSS 3.1 quick reference, severity decision guide, report title formula, 60-second pre-submit checklist. Use BEFORE writing any report. One wrong answer = kill the finding and move on. Saves N/A ratio. | user | `/home/manuel/.claude/skills/triage-validation/SKILL.md` |
|
||||||
|
| `turborepo-caching` | Configure Turborepo for efficient monorepo builds with local and remote caching. Use when setting up Turborepo, optimizing build pipelines, or implementing distributed caching. | user | `/home/manuel/.agents/skills/turborepo-caching/SKILL.md` |
|
||||||
|
| `typescript-advanced-types` | Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects. | user | `/home/manuel/.agents/skills/typescript-advanced-types/SKILL.md` |
|
||||||
|
| `unity-ecs-patterns` | Master Unity ECS (Entity Component System) with DOTS, Jobs, and Burst for high-performance game development. Use when building data-oriented games, optimizing performance, or working with large entity counts. | user | `/home/manuel/.agents/skills/unity-ecs-patterns/SKILL.md` |
|
||||||
|
| `using-git-worktrees` | Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification | user | `/home/manuel/.agents/skills/using-git-worktrees/SKILL.md` |
|
||||||
|
| `using-superpowers` | Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions | user | `/home/manuel/.agents/skills/using-superpowers/SKILL.md` |
|
||||||
|
| `uv-package-manager` | Master the uv package manager for fast Python dependency management, virtual environments, and modern Python project workflows. Use when setting up Python projects, managing dependencies, or optimizing Python development workflows with uv. | user | `/home/manuel/.agents/skills/uv-package-manager/SKILL.md` |
|
||||||
|
| `vector-index-tuning` | Optimize vector index performance for latency, recall, and memory. Use when tuning HNSW parameters, selecting quantization strategies, or scaling vector search infrastructure. | user | `/home/manuel/.agents/skills/vector-index-tuning/SKILL.md` |
|
||||||
|
| `vercel-react-best-practices` | React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements. | user | `/home/manuel/.agents/skills/vercel-react-best-practices/SKILL.md` |
|
||||||
|
| `verification-before-completion` | Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always | user | `/home/manuel/.agents/skills/verification-before-completion/SKILL.md` |
|
||||||
|
| `video-download` | Download video and audio from YouTube and 1000+ sites using yt-dlp. No API keys needed. Use when: (1) Downloading a video from YouTube or other sites, (2) Extracting audio from a video URL, (3) Downloading subtitles/captions from a video, (4) Getting video metadata without downloading. | user | `/home/manuel/.pi/agent/skills/video-download/SKILL.md` |
|
||||||
|
| `video-edit` | Edit videos locally using ffmpeg. Trim, concat, resize, speed, overlay, extract audio, compress, and convert. Use when: (1) Trimming or cutting video segments, (2) Concatenating multiple clips, (3) Resizing video for social platforms, (4) Extracting or replacing audio, (5) Compressing video, (6) Converting video formats, (7) Getting video info. | user | `/home/manuel/.pi/agent/skills/video-edit/SKILL.md` |
|
||||||
|
| `video-understand` | Understand video content locally using ffmpeg frame extraction and Whisper transcription. No API keys needed. Use when: (1) Understanding what a video contains, (2) Transcribing video audio locally, (3) Extracting key frames for visual analysis, (4) Getting video content without API keys. | user | `/home/manuel/.pi/agent/skills/video-understand/SKILL.md` |
|
||||||
|
| `visual-design-foundations` | Apply typography, color theory, spacing systems, and iconography principles to create cohesive visual designs. Use when establishing design tokens, building style guides, or improving visual hierarchy and consistency. | user | `/home/manuel/.agents/skills/visual-design-foundations/SKILL.md` |
|
||||||
|
| `waapi` | Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames. | user | `/home/manuel/.pi/agent/skills/waapi/SKILL.md` |
|
||||||
|
| `wcag-audit-patterns` | Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns. | user | `/home/manuel/.agents/skills/wcag-audit-patterns/SKILL.md` |
|
||||||
|
| `web-component-design` | Master React, Vue, and Svelte component patterns including CSS-in-JS, composition strategies, and reusable component architecture. Use when building UI component libraries, designing component APIs, or implementing frontend design systems. | user | `/home/manuel/.agents/skills/web-component-design/SKILL.md` |
|
||||||
|
| `web-design-guidelines` | Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices". | user | `/home/manuel/.agents/skills/web-design-guidelines/SKILL.md` |
|
||||||
|
| `web2-recon` | Web2 recon pipeline — subdomain enumeration (subfinder, Chaos API, assetfinder), live host discovery (dnsx, httpx), URL crawling (katana, waybackurls, gau), directory fuzzing (ffuf), JS analysis (LinkFinder, SecretFinder), continuous monitoring (new subdomain alerts, JS change detection, GitHub commit watch). Use when starting recon on any web2 target or when asked about asset discovery, subdomain enum, or attack surface mapping. | user | `/home/manuel/.claude/skills/web2-recon/SKILL.md` |
|
||||||
|
| `web2-vuln-classes` | Complete reference for 20 web2 bug classes with root causes, detection patterns, bypass tables, exploit techniques, and real paid examples. Covers IDOR, auth bypass, XSS, SSRF (11 IP bypass techniques), SQLi, business logic, race conditions, OAuth/OIDC, file upload (10 bypass techniques), GraphQL, LLM/AI (ASI01-ASI10 agentic framework), API misconfig (mass assignment, JWT attacks, prototype pollution, CORS), ATO taxonomy (9 paths), SSTI (Jinja2/Twig/Freemarker/ERB/Spring), subdomain takeover, cloud/infra misconfigs, HTTP smuggling (CL.TE/TE.CL/H2.CL), cache poisoning, MFA bypass (7 patterns), SAML attacks (XSW/comment injection/signature stripping). Use when hunting a specific vuln class or studying what makes bugs pay. | user | `/home/manuel/.claude/skills/web2-vuln-classes/SKILL.md` |
|
||||||
|
| `web3-audit` | Smart contract security audit — 10 DeFi bug classes (accounting desync, access control, incomplete path, off-by-one, oracle, ERC4626, reentrancy, flash loan, signature replay, proxy), pre-dive kill signals (TVL < $500K etc), Foundry PoC template, grep patterns for each class, and real Immunefi paid examples. Use for any Solidity/Rust contract audit or when deciding whether a DeFi target is worth hunting. | user | `/home/manuel/.claude/skills/web3-audit/SKILL.md` |
|
||||||
|
| `web3-testing` | Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols. | user | `/home/manuel/.agents/skills/web3-testing/SKILL.md` |
|
||||||
|
| `website-to-hyperframes` | Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says "capture this site", "turn this into a video", "make a promo from my site", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL — this is the skill to use. | user | `/home/manuel/.pi/agent/skills/website-to-hyperframes/SKILL.md` |
|
||||||
|
| `work-unit-commits` | Plan commits as reviewable work units. Trigger: implementation, commit splitting, chained PRs, or keeping tests and docs with code. | user | `/home/manuel/.agents/skills/work-unit-commits/SKILL.md` |
|
||||||
|
| `workflow-orchestration-patterns` | Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration. | user | `/home/manuel/.agents/skills/workflow-orchestration-patterns/SKILL.md` |
|
||||||
|
| `workflow-patterns` | Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding the verification protocol. | user | `/home/manuel/.agents/skills/workflow-patterns/SKILL.md` |
|
||||||
|
| `writing-plans` | Use when you have a spec or requirements for a multi-step task, before touching code | user | `/home/manuel/.agents/skills/writing-plans/SKILL.md` |
|
||||||
|
| `writing-skills` | Use when creating new skills, editing existing skills, or verifying skills work before deployment | user | `/home/manuel/.agents/skills/writing-skills/SKILL.md` |
|
||||||
|
| `x-longform-post` | Write long-form X (Twitter) posts and threads in a founder/CEO voice. Use when drafting X articles, long tweets, thought leadership threads, or viral content. Produces contrarian, data-backed posts with ASCII diagrams and code block visuals. Includes mandatory AI humanizer pass (24-pattern detector) before finalizing. | user | `/home/manuel/.pi/agent/skills/x-longform-post/SKILL.md` |
|
||||||
|
| `x-ray` | Generates an x-ray.md pre-audit report covering overview, enhanced threat model (protocol-type profiling, git-weighted attack surfaces, temporal risk analysis, composability dependency mapping), invariants, integrations, docs quality, test analysis, and developer/git history. Triggers on 'x-ray', 'audit readiness', 'readiness report', 'pre-audit report', 'prep this protocol', 'protocol prep', 'summarize this protocol'. | user | `/home/manuel/.pi/agent/skills/x-ray/SKILL.md` |
|
||||||
|
| `yt-competitive-analysis` | Analyze YouTube channels for outlier videos and packaging patterns. Identifies what's working (2x+ average views) across any set of channels. Use when asked for YouTube competitive analysis, viral video patterns, or packaging/title inspiration. | user | `/home/manuel/.pi/agent/skills/yt-competitive-analysis/SKILL.md` |
|
||||||
|
|
||||||
|
## Loading protocol
|
||||||
|
|
||||||
|
1. Match task context and target files against the `Trigger / description` column.
|
||||||
|
2. Pass only the matching `Path` values to the subagent under `## Skills to load before work`.
|
||||||
|
3. Instruct the subagent to read those exact `SKILL.md` files before reading, writing, reviewing, testing, or creating artifacts.
|
||||||
|
4. If no matching skill exists, proceed without project skill injection and report `skill_resolution: none`.
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[ 155ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.googletagmanager.com/gtag/js?id=G-S8N9N15MT1:0
|
||||||
|
[ 1124ms] [LOG] %c%s color: red; background: yellow; font-size: 24px; ADVERTENCIA @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1124ms] [LOG] %c%s font-size: 18px; Si utilizas esta consola, otras personas podrían hacerse pasar por ti y robarte datos mediante un ataque llamado Self-XSS.
|
||||||
|
No escribas ni pegues ningún código que no entiendas. @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1207ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.google-analytics.com/analytics.js:0
|
||||||
|
[ 1337ms] [LOG] window.__LIGHTHOUSE_MOBILE_JSON__ = {fetchTime: 2026-07-19T11:35:32.601Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
|
[ 1416ms] [LOG] window.__LIGHTHOUSE_DESKTOP_JSON__ = {fetchTime: 2026-07-19T11:35:33.108Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[ 339ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://ogads-pa.clients6.google.com/$rpc/google.internal.onegoogle.asyncdata.v1.AsyncDataService/GetAsyncData:0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[ 610ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.googletagmanager.com/gtag/js?id=G-S8N9N15MT1:0
|
||||||
|
[ 1485ms] [LOG] %c%s color: red; background: yellow; font-size: 24px; ADVERTENCIA @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1485ms] [LOG] %c%s font-size: 18px; Si utilizas esta consola, otras personas podrían hacerse pasar por ti y robarte datos mediante un ataque llamado Self-XSS.
|
||||||
|
No escribas ni pegues ningún código que no entiendas. @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1616ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.google-analytics.com/analytics.js:0
|
||||||
|
[ 1730ms] [LOG] window.__LIGHTHOUSE_MOBILE_JSON__ = {fetchTime: 2026-07-20T12:43:06.207Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
|
[ 2155ms] [LOG] window.__LIGHTHOUSE_DESKTOP_JSON__ = {fetchTime: 2026-07-20T12:43:05.665Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
|
[ 64846ms] [ERROR] Failed to load resource: the server responded with a status of 502 () @ https://pagespeed.web.dev/_/PagespeedUi/browserinfo?f.sid=3065927403833037991&bl=boq_chrome-lightbrary-ui_20260715.03_p0&hl=es&_reqid=153106&rt=j:0
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[ 372ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.googletagmanager.com/gtag/js?id=G-S8N9N15MT1:0
|
||||||
|
[ 1393ms] [LOG] %c%s color: red; background: yellow; font-size: 24px; ADVERTENCIA @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1393ms] [LOG] %c%s font-size: 18px; Si utilizas esta consola, otras personas podrían hacerse pasar por ti y robarte datos mediante un ataque llamado Self-XSS.
|
||||||
|
No escribas ni pegues ningún código que no entiendas. @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/am=AAAAACAT/d=1/excm=_b,_tp,analysisview/ed=1/dg=0/wt=2/ujg=1/rs=AJ3lrY566_pqu5VTzeRzxklJYTL-90oyeQ/dti=1/m=_b,_tp:278
|
||||||
|
[ 1444ms] [ERROR] Failed to load resource: net::ERR_ADDRESS_UNREACHABLE @ https://www.google-analytics.com/analytics.js:0
|
||||||
|
[ 1515ms] [LOG] window.__LIGHTHOUSE_MOBILE_JSON__ = {fetchTime: 2026-07-20T15:18:21.833Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
|
[ 1577ms] [LOG] window.__LIGHTHOUSE_DESKTOP_JSON__ = {fetchTime: 2026-07-20T15:18:21.647Z, requestedUrl: https://mnq.elkazurrotaberna.es/, finalUrl: https://mnq.elkazurrotaberna.es/, lighthouseVersion: 13.4.0, environment: Object} @ https://www.gstatic.com/_/mss/boq-chrome-wdi-lightbrary/_/js/k=boq-chrome-wdi-lightbrary.PagespeedUi.es.57Dk-wXGahk.2018.O/ck=boq-chrome-wdi-lightbrary.PagespeedUi.ouhphnPBvuE.L.B1.O/am=AAAAACAT/d=1/exm=EF8pe,_b,_tp/excm=_b,_tp,analysisview/ed=1/wt=2/ujg=1/rs=AJ3lrY41Bmih43CWx322Juh5p7s_HSkqmA/ee=EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;JsbNhc:Xd8iUd;K5nYTd:ZDZcre;LBgRLc:SdcwHb;Me32dd:MEeYgc;NJ1rfe:qTnoBf;NPKaK:SdcwHb;NSEoX:lazG7b;Pjplud:EEDORb;QGR0gd:Mlhmy;SNUn3:ZwDk9d;ScI3Yc:e7Hzgb;Uvc8o:VDovNc;YIZmRd:A1yn5d;a56pNe:JEfCwb;cEt90b:ws9Tlc;dIoSBb:SpsfSb;dowIGb:ebZ3mb;eBAeSb:zbML3c;iFQyKf:QIhFr;lOO0Vd:OTA3Ae;oGtAuc:sOXFj;pXdRYb:MdUzUe;qQEoOc:KUM7Z;qafBPd:yDVVkb;qddgKe:xQtZb;wR5FRb:O1Gjze;xqZiqf:BBI74;yEQyxe:h9EUVb;yxTchf:KUM7Z;zxnPse:GkRiKb/dti=1/m=ws9Tlc,O6y8ed,aW3pY,GkRiKb,e5qFLc,IZT63,YYmHzb,pw70Gc,n73qwf,UUJqVe,KUM7Z,O1Gjze,byfTOb,lsjVmc,xUdipf,ZDZcre,OTA3Ae,ZwDk9d,RyvaUb,iHYER,sJmisf,hpa48d,QHpVXc,pedvxc,PrPYRd,MpJwZc,LEikZe,NwH0H,V3dDOb,XVMNvd,QIhFr,xQtZb,lwddkf,gychg,w9hDv,RMhBfe,SdcwHb,EFQ78c,Ulmmrd,A7fCU,hc6Ubd,JNoxi,BVgquf,SpsfSb,Z5uLle,BBI74,MdUzUe,zbML3c,zr1jrb,Uas9Hd,pjICDe:1352
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
- generic [ref=e1]:
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- link "PageSpeed Insights logo PageSpeed Insights" [ref=e3] [cursor=pointer]:
|
||||||
|
- /url: ./
|
||||||
|
- img "PageSpeed Insights logo" [ref=e4]
|
||||||
|
- generic [ref=e5]: PageSpeed Insights
|
||||||
|
- generic [ref=e6]:
|
||||||
|
- button "Copiar enlace" [ref=e8]
|
||||||
|
- generic [ref=e16]:
|
||||||
|
- generic [ref=e18]: Documentos
|
||||||
|
- link "Documentos" [ref=e19] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- generic [ref=e26]:
|
||||||
|
- generic [ref=e27]:
|
||||||
|
- generic [ref=e28]: Este sitio usa cookies de Google para ofrecer sus servicios y analizar el tráfico.
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- generic [ref=e33]: Más información
|
||||||
|
- link "Más información" [ref=e34] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/technologies/cookies
|
||||||
|
- button "Entendido" [ref=e36]
|
||||||
|
- generic [ref=e40]: Informe del 19 jul 2026, 13:35:29
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- textbox [active] [ref=e44]:
|
||||||
|
- /placeholder: Escribe la URL de una página web
|
||||||
|
- text: https://mnq.elkazurrotaberna.es/
|
||||||
|
- paragraph [ref=e46]: Introduce una URL válida
|
||||||
|
- button "Analizar" [ref=e48]
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- tablist [ref=e55]:
|
||||||
|
- generic [ref=e58]:
|
||||||
|
- tab "Móvil" [ref=e59] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: smartphone
|
||||||
|
- generic: Móvil
|
||||||
|
- tab "Ordenador" [selected] [ref=e61] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: computer
|
||||||
|
- generic: Ordenador
|
||||||
|
- tabpanel "Ordenador" [ref=e63]:
|
||||||
|
- generic [ref=e65]:
|
||||||
|
- generic [ref=e67]:
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]: Descubre lo que experimentan tus usuarios reales
|
||||||
|
- generic [ref=e71]:
|
||||||
|
- button "button" [ref=e73] [cursor=pointer]
|
||||||
|
- generic [ref=e77]: No hay datos
|
||||||
|
- separator [ref=e78]
|
||||||
|
- generic [ref=e79]: Diagnostica problemas de rendimiento
|
||||||
|
- contentinfo [ref=e84]:
|
||||||
|
- generic [ref=e85]:
|
||||||
|
- generic [ref=e86]:
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- generic [ref=e88]: Más información en PageSpeed Insights
|
||||||
|
- link "Novedades" [ref=e90] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/release_notes
|
||||||
|
- link "Documentación" [ref=e92] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- link "Más información sobre el rendimiento web" [ref=e94] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed
|
||||||
|
- link "Haz preguntas en Stack Overflow" [ref=e96] [cursor=pointer]:
|
||||||
|
- /url: https://stackoverflow.com/questions/tagged/pagespeed-insights
|
||||||
|
- link "Lista de distribución" [ref=e98] [cursor=pointer]:
|
||||||
|
- /url: https://groups.google.com/g/pagespeed-insights-discuss
|
||||||
|
- generic [ref=e99]:
|
||||||
|
- generic [ref=e100]: Contenido relacionado
|
||||||
|
- link "Actualizaciones" [ref=e102] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/blog
|
||||||
|
- link "Aspectos básicos de la Web" [ref=e104] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/focus/web-development
|
||||||
|
- link "Casos de éxito" [ref=e106] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/case-studies
|
||||||
|
- link "Pódcasts" [ref=e108] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/shows
|
||||||
|
- generic [ref=e109]:
|
||||||
|
- generic [ref=e110]: Contacto
|
||||||
|
- link "Twitter" [ref=e112] [cursor=pointer]:
|
||||||
|
- /url: https://twitter.com/ChromiumDev
|
||||||
|
- link "YouTube" [ref=e114] [cursor=pointer]:
|
||||||
|
- /url: https://www.youtube.com/user/ChromeDevelopers
|
||||||
|
- generic [ref=e115]:
|
||||||
|
- link [ref=e116] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/
|
||||||
|
- img "Google Developers Logo" [ref=e117]
|
||||||
|
- link "Chrome" [ref=e118] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/
|
||||||
|
- link "Firebase" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: https://firebase.google.com/
|
||||||
|
- link "Todos los productos" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/products/
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- link "Política de Términos y Privacidad" [ref=e123] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/
|
||||||
|
- generic [ref=e124]:
|
||||||
|
- text: Para obtener más información, consulta las
|
||||||
|
- link "Políticas del Sitio Google Developers" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/terms/site-policies
|
||||||
|
- text: .
|
||||||
@@ -0,0 +1,448 @@
|
|||||||
|
- generic [ref=e1]:
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- link "PageSpeed Insights logo PageSpeed Insights" [ref=e3] [cursor=pointer]:
|
||||||
|
- /url: ./
|
||||||
|
- img "PageSpeed Insights logo" [ref=e4]
|
||||||
|
- generic [ref=e5]: PageSpeed Insights
|
||||||
|
- generic [ref=e6]:
|
||||||
|
- button "Copiar enlace" [ref=e8]
|
||||||
|
- generic [ref=e16]:
|
||||||
|
- generic [ref=e18]: Documentos
|
||||||
|
- link "Documentos" [ref=e19] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- generic [ref=e26]:
|
||||||
|
- generic [ref=e27]:
|
||||||
|
- generic [ref=e28]: Este sitio usa cookies de Google para ofrecer sus servicios y analizar el tráfico.
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- generic [ref=e33]: Más información
|
||||||
|
- link "Más información" [ref=e34] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/technologies/cookies
|
||||||
|
- button "Entendido" [ref=e36]
|
||||||
|
- generic [ref=e40]: Informe del 19 jul 2026, 13:35:29
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- textbox [ref=e44]:
|
||||||
|
- /placeholder: Escribe la URL de una página web
|
||||||
|
- text: https://mnq.elkazurrotaberna.es/
|
||||||
|
- paragraph [ref=e46]: Introduce una URL válida
|
||||||
|
- button "Analizar" [ref=e48]
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- tablist [ref=e55]:
|
||||||
|
- generic [ref=e58]:
|
||||||
|
- tab "Móvil" [ref=e59] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: smartphone
|
||||||
|
- generic: Móvil
|
||||||
|
- tab "Ordenador" [selected] [ref=e61] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: computer
|
||||||
|
- generic: Ordenador
|
||||||
|
- text: — — — — — — — — — —
|
||||||
|
- tabpanel "Ordenador" [ref=e63]:
|
||||||
|
- generic [ref=e65]:
|
||||||
|
- generic [ref=e67]:
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]: Descubre lo que experimentan tus usuarios reales
|
||||||
|
- generic [ref=e71]:
|
||||||
|
- button "button" [ref=e73] [cursor=pointer]
|
||||||
|
- generic [ref=e77]: No hay datos
|
||||||
|
- separator [ref=e78]
|
||||||
|
- generic [ref=e79]:
|
||||||
|
- generic [ref=e80]: Diagnostica problemas de rendimiento
|
||||||
|
- article [ref=e128]:
|
||||||
|
- generic [ref=e129]:
|
||||||
|
- generic [ref=e134]:
|
||||||
|
- link "80 Rendimiento" [ref=e135] [cursor=pointer]:
|
||||||
|
- /url: "#performance"
|
||||||
|
- generic [ref=e140]: "80"
|
||||||
|
- generic [ref=e141]: Rendimiento
|
||||||
|
- link "96 Accesibilidad" [ref=e142] [cursor=pointer]:
|
||||||
|
- /url: "#accessibility"
|
||||||
|
- generic [ref=e147]: "96"
|
||||||
|
- generic [ref=e148]: Accesibilidad
|
||||||
|
- link "100 Prácticas recomendadas" [ref=e149] [cursor=pointer]:
|
||||||
|
- /url: "#best-practices"
|
||||||
|
- generic [ref=e154]: "100"
|
||||||
|
- generic [ref=e155]: Prácticas recomendadas
|
||||||
|
- link "100 SEO" [ref=e156] [cursor=pointer]:
|
||||||
|
- /url: "#seo"
|
||||||
|
- generic [ref=e161]: "100"
|
||||||
|
- generic [ref=e162]: SEO
|
||||||
|
- link "2/2 Navegación agéntica" [ref=e163] [cursor=pointer]:
|
||||||
|
- /url: "#agentic-browsing"
|
||||||
|
- generic [ref=e164]: 2/2
|
||||||
|
- generic [ref=e168]: Navegación agéntica
|
||||||
|
- generic [ref=e170]:
|
||||||
|
- generic [ref=e172]:
|
||||||
|
- generic [ref=e173]:
|
||||||
|
- generic [ref=e174]:
|
||||||
|
- img [ref=e178]:
|
||||||
|
- generic [ref=e179]: "80"
|
||||||
|
- generic [ref=e184]:
|
||||||
|
- generic:
|
||||||
|
- generic: FCP
|
||||||
|
- generic: "+5"
|
||||||
|
- generic:
|
||||||
|
- generic: LCP
|
||||||
|
- generic: "+12"
|
||||||
|
- generic:
|
||||||
|
- generic: TBT
|
||||||
|
- generic: "+30"
|
||||||
|
- generic:
|
||||||
|
- generic: CLS
|
||||||
|
- generic: "+25"
|
||||||
|
- generic:
|
||||||
|
- generic: SI
|
||||||
|
- generic: "+8"
|
||||||
|
- generic [ref=e186]: Rendimiento
|
||||||
|
- generic [ref=e188]:
|
||||||
|
- generic [ref=e189]:
|
||||||
|
- text: Los valores son estimaciones y pueden variar. La
|
||||||
|
- link "puntuación del rendimiento se calcula" [ref=e190] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: directamente a partir de estas métricas.
|
||||||
|
- link "Ver calculadora." [ref=e191] [cursor=pointer]:
|
||||||
|
- /url: https://googlechrome.github.io/lighthouse/scorecalc/#FCP=1648&LCP=2408&TBT=0&CLS=0.01&SI=1648&TTI=2420&device=desktop&version=13.4.0
|
||||||
|
- generic [ref=e193]:
|
||||||
|
- generic [ref=e194]: 0–49
|
||||||
|
- generic [ref=e195]: 50–89
|
||||||
|
- generic [ref=e196]: 90–100
|
||||||
|
- img "Final Screenshot" [ref=e199]
|
||||||
|
- generic [ref=e200]:
|
||||||
|
- checkbox "Toggle the display of metric descriptions" [ref=e201]
|
||||||
|
- generic [ref=e202]:
|
||||||
|
- generic [ref=e203]: Métricas
|
||||||
|
- generic [ref=e204] [cursor=pointer]: Ampliar vista
|
||||||
|
- generic [ref=e205]:
|
||||||
|
- generic [ref=e207]:
|
||||||
|
- generic [ref=e209]: First Contentful Paint
|
||||||
|
- generic [ref=e210]: 1,6 s
|
||||||
|
- generic [ref=e212]:
|
||||||
|
- generic [ref=e214]: Renderizado del mayor elemento con contenido
|
||||||
|
- generic [ref=e215]: 2,4 s
|
||||||
|
- generic [ref=e217]:
|
||||||
|
- generic [ref=e219]: Total Blocking Time
|
||||||
|
- generic [ref=e220]: 0 ms
|
||||||
|
- generic [ref=e222]:
|
||||||
|
- generic [ref=e224]: Cambios de diseño acumulados
|
||||||
|
- generic [ref=e225]: "0.008"
|
||||||
|
- generic [ref=e227]:
|
||||||
|
- generic [ref=e229]: Speed Index
|
||||||
|
- generic [ref=e230]: 1,6 s
|
||||||
|
- list [ref=e231]:
|
||||||
|
- listitem [ref=e232]: Captured at 19 jul 2026, 13:35 CEST
|
||||||
|
- listitem [ref=e233]: Escritorio emulado with Lighthouse 13.4.0
|
||||||
|
- listitem [ref=e234]: Sesión de una sola página
|
||||||
|
- listitem [ref=e235]: Carga inicial de la página
|
||||||
|
- listitem [ref=e236]: Limitación personalizada
|
||||||
|
- listitem [ref=e237]: Using HeadlessChromium 149.0.7827.155 with lr
|
||||||
|
- button "Ver gráfico de rectángulos" [ref=e239] [cursor=pointer]
|
||||||
|
- generic [ref=e241]:
|
||||||
|
- img "Screenshot" [ref=e243]
|
||||||
|
- img "Screenshot" [ref=e245]
|
||||||
|
- img "Screenshot" [ref=e247]
|
||||||
|
- img "Screenshot" [ref=e249]
|
||||||
|
- img "Screenshot" [ref=e251]
|
||||||
|
- img "Screenshot" [ref=e253]
|
||||||
|
- img "Screenshot" [ref=e255]
|
||||||
|
- img "Screenshot" [ref=e257]
|
||||||
|
- generic [ref=e258]:
|
||||||
|
- generic [ref=e259]:
|
||||||
|
- generic [ref=e260]: "Mostrar auditorías relacionadas con:"
|
||||||
|
- radio "All" [checked] [ref=e261]
|
||||||
|
- generic [ref=e262] [cursor=pointer]: All
|
||||||
|
- radio "FCP" [ref=e263]
|
||||||
|
- generic "First Contentful Paint" [ref=e264] [cursor=pointer]: FCP
|
||||||
|
- radio "LCP" [ref=e265]
|
||||||
|
- generic "Renderizado del mayor elemento con contenido" [ref=e266] [cursor=pointer]: LCP
|
||||||
|
- radio "CLS" [ref=e267]
|
||||||
|
- generic "Cambios de diseño acumulados" [ref=e268] [cursor=pointer]: CLS
|
||||||
|
- generic [ref=e269]:
|
||||||
|
- generic [ref=e270]: Estadísticas
|
||||||
|
- group [ref=e272]:
|
||||||
|
- generic "Solicitudes que bloquean el renderizado —Ahorro estimado de 1380 ms" [ref=e273] [cursor=pointer]:
|
||||||
|
- generic [ref=e276]:
|
||||||
|
- generic [ref=e277]: Solicitudes que bloquean el renderizado
|
||||||
|
- text: —Ahorro estimado de 1380 ms
|
||||||
|
- group [ref=e284]:
|
||||||
|
- generic "Mejorar la entrega de imágenes —Ahorro estimado de 1423 KiB" [ref=e285] [cursor=pointer]:
|
||||||
|
- generic [ref=e288]:
|
||||||
|
- generic [ref=e289]: Mejorar la entrega de imágenes
|
||||||
|
- text: —Ahorro estimado de 1423 KiB
|
||||||
|
- group [ref=e296]:
|
||||||
|
- generic "Árbol de dependencia de red" [ref=e297] [cursor=pointer]
|
||||||
|
- group [ref=e308]:
|
||||||
|
- generic "Latencia de solicitud del documento —Ahorro estimado de 13 KiB" [ref=e309] [cursor=pointer]:
|
||||||
|
- generic [ref=e312]:
|
||||||
|
- generic [ref=e313]: Latencia de solicitud del documento
|
||||||
|
- text: —Ahorro estimado de 13 KiB
|
||||||
|
- group [ref=e320]:
|
||||||
|
- generic "Causantes de los cambios de diseño" [ref=e321] [cursor=pointer]
|
||||||
|
- group [ref=e332]:
|
||||||
|
- generic "Desglose de LCP" [ref=e333] [cursor=pointer]
|
||||||
|
- group [ref=e344]:
|
||||||
|
- generic "Terceros" [ref=e345] [cursor=pointer]
|
||||||
|
- generic [ref=e355]:
|
||||||
|
- text: Estas estadísticas también están disponibles en el panel Rendimiento de Chrome DevTools.
|
||||||
|
- link "Graba una traza" [ref=e356] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/devtools/performance/reference?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: para ver información más detallada.
|
||||||
|
- generic [ref=e357]:
|
||||||
|
- generic [ref=e358]: Diagnósticos
|
||||||
|
- group [ref=e360]:
|
||||||
|
- generic "Reduce el contenido CSS que no se use —Ahorro estimado de 11 KiB" [ref=e361] [cursor=pointer]:
|
||||||
|
- generic [ref=e364]:
|
||||||
|
- generic [ref=e365]: Reduce el contenido CSS que no se use
|
||||||
|
- text: —Ahorro estimado de 11 KiB
|
||||||
|
- group [ref=e372]:
|
||||||
|
- generic [ref=e378] [cursor=pointer]:
|
||||||
|
- text: Los elementos de imagen no tienen
|
||||||
|
- code [ref=e379]: width
|
||||||
|
- text: "y"
|
||||||
|
- code [ref=e380]: height
|
||||||
|
- text: explícitos
|
||||||
|
- group [ref=e387]:
|
||||||
|
- 'generic "Evita cargas útiles de red de gran tamaño —Tamaño total: 3085 KiB" [ref=e388] [cursor=pointer]':
|
||||||
|
- generic [ref=e391]:
|
||||||
|
- generic [ref=e392]: Evita cargas útiles de red de gran tamaño
|
||||||
|
- text: "—Tamaño total: 3085 KiB"
|
||||||
|
- group [ref=e399]:
|
||||||
|
- generic "Evita las animaciones no compuestas —2 elementos animados encontrados" [ref=e400] [cursor=pointer]:
|
||||||
|
- generic [ref=e403]:
|
||||||
|
- generic [ref=e404]: Evita las animaciones no compuestas
|
||||||
|
- text: —2 elementos animados encontrados
|
||||||
|
- generic [ref=e410]:
|
||||||
|
- text: Consulta más información sobre el rendimiento de tu aplicación. Estos datos no
|
||||||
|
- link "afectan directamente" [ref=e411] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: a la puntuación del rendimiento.
|
||||||
|
- group [ref=e413]:
|
||||||
|
- generic "Auditorías aprobadas (16) Mostrar" [ref=e414] [cursor=pointer]:
|
||||||
|
- generic [ref=e415]:
|
||||||
|
- generic [ref=e416]: Auditorías aprobadas (16)
|
||||||
|
- generic [ref=e417]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- generic [ref=e419]:
|
||||||
|
- generic [ref=e420]:
|
||||||
|
- heading "96 Accesibilidad" [level=2] [ref=e421]:
|
||||||
|
- generic [ref=e422]:
|
||||||
|
- generic [ref=e427]: "96"
|
||||||
|
- generic [ref=e428]: Accesibilidad
|
||||||
|
- generic [ref=e430]:
|
||||||
|
- text: Estas comprobaciones permiten identificar oportunidades para
|
||||||
|
- link "mejorar la accesibilidad de tu aplicación web" [ref=e431] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/accessibility/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: . La detección automática solo puede detectar un subconjunto de problemas y no garantiza la accesibilidad de tu aplicación web, por lo que también te recomendamos que hagas
|
||||||
|
- link "pruebas manuales" [ref=e432] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e433]:
|
||||||
|
- generic [ref=e434]:
|
||||||
|
- generic [ref=e435]: Contraste
|
||||||
|
- group [ref=e437]:
|
||||||
|
- generic "Los colores de fondo y de primer plano no tienen una relación de contraste adecuada." [ref=e438] [cursor=pointer]
|
||||||
|
- generic [ref=e657]:
|
||||||
|
- text: Los textos con poco contraste resultan difíciles o imposibles de leer para muchos usuarios.
|
||||||
|
- link "Consulta cómo crear suficiente contraste de color" [ref=e658] [cursor=pointer]:
|
||||||
|
- /url: https://dequeuniversity.com/rules/axe/4.12/color-contrast
|
||||||
|
- table [ref=e659]:
|
||||||
|
- rowgroup [ref=e660]:
|
||||||
|
- row [ref=e661]:
|
||||||
|
- columnheader "Elementos con errores" [ref=e662]
|
||||||
|
- rowgroup [ref=e664]:
|
||||||
|
- row [ref=e665]:
|
||||||
|
- cell "Excelencia culinaria · Diseño de eventos · Gastronomía de autor <p class=\"text-body-sm text-muted opacity-60\">" [ref=e666]:
|
||||||
|
- generic "footer.site-footer > div.page-wrap > div.footer-bottom > p.text-body-sm" [ref=e667]:
|
||||||
|
- generic [ref=e668]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- generic [ref=e669]: <p class="text-body-sm text-muted opacity-60">
|
||||||
|
- row [ref=e670]:
|
||||||
|
- cell "© 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más import… <footer class=\"site-footer\">" [ref=e671]:
|
||||||
|
- generic "body.page-ready > footer.site-footer" [ref=e672]:
|
||||||
|
- generic [ref=e673]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más import…
|
||||||
|
- generic [ref=e674]: <footer class="site-footer">
|
||||||
|
- generic [ref=e448]: A continuación se indican consejos para facilitar la lectura del contenido.
|
||||||
|
- generic [ref=e449]:
|
||||||
|
- generic [ref=e450]: Prácticas recomendadas
|
||||||
|
- group [ref=e452]:
|
||||||
|
- generic "Los enlaces idénticos tienen la misma finalidad." [active] [ref=e453] [cursor=pointer]
|
||||||
|
- generic [ref=e675]:
|
||||||
|
- generic [ref=e676]:
|
||||||
|
- text: Los enlaces con el mismo destino deben tener la misma descripción para que los usuarios puedan entender su finalidad y decidir si quieren seguirlo.
|
||||||
|
- link "Obtén más información sobre los enlaces idénticos" [ref=e677] [cursor=pointer]:
|
||||||
|
- /url: https://dequeuniversity.com/rules/axe/4.12/identical-links-same-purpose
|
||||||
|
- text: .
|
||||||
|
- generic "Esta auditoría no contribuye a la puntuación general de la categoría." [ref=e678]: Sin puntuar
|
||||||
|
- table [ref=e679]:
|
||||||
|
- rowgroup [ref=e680]:
|
||||||
|
- row [ref=e681]:
|
||||||
|
- columnheader "Elementos con errores" [ref=e682]
|
||||||
|
- rowgroup [ref=e684]:
|
||||||
|
- row [ref=e685]:
|
||||||
|
- cell "WHATSAPP <a href=\"https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20eve…\" class=\"btn btn-pill nav-wa\" target=\"_blank\" rel=\"noreferrer\" data-astro-cid-ctg3m53h=\"\">" [ref=e686]:
|
||||||
|
- generic "header.site-header > div.page-wrap > div.nav-actions > a.btn" [ref=e687]:
|
||||||
|
- generic [ref=e693]: WHATSAPP
|
||||||
|
- generic [ref=e694]: <a href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20eve…" class="btn btn-pill nav-wa" target="_blank" rel="noreferrer" data-astro-cid-ctg3m53h="">
|
||||||
|
- row [ref=e695]:
|
||||||
|
- cell "WhatsApp <a href=\"https://wa.me/34678171513\" class=\"footer-link\" target=\"_blank\" rel=\"noreferrer\">" [ref=e696]:
|
||||||
|
- generic "div.footer-inner > div.footer-links > div.footer-col > a.footer-link" [ref=e697]:
|
||||||
|
- generic [ref=e698]: WhatsApp
|
||||||
|
- generic [ref=e699]: <a href="https://wa.me/34678171513" class="footer-link" target="_blank" rel="noreferrer">
|
||||||
|
- generic [ref=e463]: Estos elementos destacan las prácticas recomendadas de accesibilidad más habituales.
|
||||||
|
- generic [ref=e464]:
|
||||||
|
- group [ref=e465]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (10) Mostrar" [ref=e466] [cursor=pointer]:
|
||||||
|
- generic [ref=e467]:
|
||||||
|
- generic [ref=e468]: Elementos adicionales que se deben comprobar manualmente (10)
|
||||||
|
- generic [ref=e469]: Mostrar
|
||||||
|
- generic [ref=e470]:
|
||||||
|
- text: Estos elementos se ocupan de áreas que las herramientas de prueba automáticas no pueden analizar. Consulta más información sobre cómo
|
||||||
|
- link "revisar la accesibilidad" [ref=e471] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: en nuestra guía.
|
||||||
|
- group [ref=e473]:
|
||||||
|
- generic "Auditorías aprobadas (22) Mostrar" [ref=e474] [cursor=pointer]:
|
||||||
|
- generic [ref=e475]:
|
||||||
|
- generic [ref=e476]: Auditorías aprobadas (22)
|
||||||
|
- generic [ref=e477]: Mostrar
|
||||||
|
- group [ref=e479]:
|
||||||
|
- generic "No aplicable (39) Mostrar" [ref=e480] [cursor=pointer]:
|
||||||
|
- generic [ref=e481]:
|
||||||
|
- generic [ref=e482]: No aplicable (39)
|
||||||
|
- generic [ref=e483]: Mostrar
|
||||||
|
- generic [ref=e485]:
|
||||||
|
- heading "100 Prácticas recomendadas" [level=2] [ref=e487]:
|
||||||
|
- generic [ref=e488]:
|
||||||
|
- generic [ref=e493]: "100"
|
||||||
|
- generic [ref=e494]: Prácticas recomendadas
|
||||||
|
- generic [ref=e495]:
|
||||||
|
- generic [ref=e496]:
|
||||||
|
- generic [ref=e497]: Confianza y seguridad
|
||||||
|
- group [ref=e499]:
|
||||||
|
- generic "Asegura que la CSP sea efectiva frente a ataques XSS" [ref=e500] [cursor=pointer]
|
||||||
|
- group [ref=e511]:
|
||||||
|
- generic "Usa una política de HSTS sólida" [ref=e512] [cursor=pointer]
|
||||||
|
- group [ref=e523]:
|
||||||
|
- generic "Asegúrate de que el aislamiento de orígenes sea adecuado con COOP" [ref=e524] [cursor=pointer]
|
||||||
|
- group [ref=e535]:
|
||||||
|
- generic "Mitiga el secuestro de clics con XFO o CSP" [ref=e536] [cursor=pointer]
|
||||||
|
- group [ref=e547]:
|
||||||
|
- generic "Mitigar el XSS basado en DOM con Trusted Types" [ref=e548] [cursor=pointer]
|
||||||
|
- generic [ref=e558]:
|
||||||
|
- generic [ref=e559]: Compatibilidad con navegadores
|
||||||
|
- group [ref=e561]:
|
||||||
|
- generic "Funciones de Baseline" [ref=e562] [cursor=pointer]
|
||||||
|
- group [ref=e573]:
|
||||||
|
- generic "Auditorías aprobadas (13) Mostrar" [ref=e574] [cursor=pointer]:
|
||||||
|
- generic [ref=e575]:
|
||||||
|
- generic [ref=e576]: Auditorías aprobadas (13)
|
||||||
|
- generic [ref=e577]: Mostrar
|
||||||
|
- group [ref=e579]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=e580] [cursor=pointer]:
|
||||||
|
- generic [ref=e581]:
|
||||||
|
- generic [ref=e582]: No aplicable (2)
|
||||||
|
- generic [ref=e583]: Mostrar
|
||||||
|
- generic [ref=e585]:
|
||||||
|
- generic [ref=e586]:
|
||||||
|
- heading "100 SEO" [level=2] [ref=e587]:
|
||||||
|
- generic [ref=e588]:
|
||||||
|
- generic [ref=e593]: "100"
|
||||||
|
- generic [ref=e594]: SEO
|
||||||
|
- generic [ref=e596]:
|
||||||
|
- text: Estas comprobaciones aseguran que tu página siga las recomendaciones básicas sobre optimización en buscadores. Hay muchos otros factores adicionales que Lighthouse no valora aquí y que pueden afectar a tu posicionamiento en las búsquedas, como el rendimiento en las
|
||||||
|
- link "Métricas web principales" [ref=e597] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/explore/vitals?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- link "Consulta más información sobre las Directrices básicas de la Búsqueda de Google" [ref=e598] [cursor=pointer]:
|
||||||
|
- /url: https://support.google.com/webmasters/answer/35769
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e599]:
|
||||||
|
- group [ref=e600]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (1) Ocultar" [ref=e601] [cursor=pointer]:
|
||||||
|
- generic [ref=e602]:
|
||||||
|
- generic [ref=e603]: Elementos adicionales que se deben comprobar manualmente (1)
|
||||||
|
- generic [ref=e604]: Ocultar
|
||||||
|
- group [ref=e607]:
|
||||||
|
- generic "Los datos estructurados son válidos" [ref=e608] [cursor=pointer]
|
||||||
|
- generic [ref=e618]: Ejecuta estos validadores adicionales en tu sitio web para comprobar más prácticas recomendadas de SEO.
|
||||||
|
- group [ref=e620]:
|
||||||
|
- generic "Auditorías aprobadas (8) Mostrar" [ref=e621] [cursor=pointer]:
|
||||||
|
- generic [ref=e622]:
|
||||||
|
- generic [ref=e623]: Auditorías aprobadas (8)
|
||||||
|
- generic [ref=e624]: Mostrar
|
||||||
|
- group [ref=e626]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=e627] [cursor=pointer]:
|
||||||
|
- generic [ref=e628]:
|
||||||
|
- generic [ref=e629]: No aplicable (2)
|
||||||
|
- generic [ref=e630]: Mostrar
|
||||||
|
- generic [ref=e632]:
|
||||||
|
- generic [ref=e633]:
|
||||||
|
- heading "2/2 Navegación agéntica" [level=2] [ref=e634]:
|
||||||
|
- generic [ref=e635]:
|
||||||
|
- generic [ref=e636]: 2/2
|
||||||
|
- generic [ref=e640]: Navegación agéntica
|
||||||
|
- generic [ref=e642]:
|
||||||
|
- text: Estas comprobaciones aseguran unos
|
||||||
|
- link "sitios web de alta calidad en los que los agentes de IA puedan navegar" [ref=e643] [cursor=pointer]:
|
||||||
|
- /url: https://goo.gle/lighthouse-agentic-web
|
||||||
|
- text: ", y validan que las integraciones de WebMCP sean correctas. Esta categoría aún está en desarrollo y puede cambiar."
|
||||||
|
- group [ref=e645]:
|
||||||
|
- generic "Auditorías aprobadas (2) Mostrar" [ref=e646] [cursor=pointer]:
|
||||||
|
- generic [ref=e647]:
|
||||||
|
- generic [ref=e648]: Auditorías aprobadas (2)
|
||||||
|
- generic [ref=e649]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- group [ref=e651]:
|
||||||
|
- generic "No aplicable (4) Mostrar" [ref=e652] [cursor=pointer]:
|
||||||
|
- generic [ref=e653]:
|
||||||
|
- generic [ref=e654]: No aplicable (4)
|
||||||
|
- generic [ref=e655]: Mostrar
|
||||||
|
- contentinfo [ref=e84]:
|
||||||
|
- generic [ref=e85]:
|
||||||
|
- generic [ref=e86]:
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- generic [ref=e88]: Más información en PageSpeed Insights
|
||||||
|
- link "Novedades" [ref=e90] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/release_notes
|
||||||
|
- link "Documentación" [ref=e92] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- link "Más información sobre el rendimiento web" [ref=e94] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed
|
||||||
|
- link "Haz preguntas en Stack Overflow" [ref=e96] [cursor=pointer]:
|
||||||
|
- /url: https://stackoverflow.com/questions/tagged/pagespeed-insights
|
||||||
|
- link "Lista de distribución" [ref=e98] [cursor=pointer]:
|
||||||
|
- /url: https://groups.google.com/g/pagespeed-insights-discuss
|
||||||
|
- generic [ref=e99]:
|
||||||
|
- generic [ref=e100]: Contenido relacionado
|
||||||
|
- link "Actualizaciones" [ref=e102] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/blog
|
||||||
|
- link "Aspectos básicos de la Web" [ref=e104] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/focus/web-development
|
||||||
|
- link "Casos de éxito" [ref=e106] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/case-studies
|
||||||
|
- link "Pódcasts" [ref=e108] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/shows
|
||||||
|
- generic [ref=e109]:
|
||||||
|
- generic [ref=e110]: Contacto
|
||||||
|
- link "Twitter" [ref=e112] [cursor=pointer]:
|
||||||
|
- /url: https://twitter.com/ChromiumDev
|
||||||
|
- link "YouTube" [ref=e114] [cursor=pointer]:
|
||||||
|
- /url: https://www.youtube.com/user/ChromeDevelopers
|
||||||
|
- generic [ref=e115]:
|
||||||
|
- link [ref=e116] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/
|
||||||
|
- img "Google Developers Logo" [ref=e117]
|
||||||
|
- link "Chrome" [ref=e118] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/
|
||||||
|
- link "Firebase" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: https://firebase.google.com/
|
||||||
|
- link "Todos los productos" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/products/
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- link "Política de Términos y Privacidad" [ref=e123] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/
|
||||||
|
- generic [ref=e124]:
|
||||||
|
- text: Para obtener más información, consulta las
|
||||||
|
- link "Políticas del Sitio Google Developers" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/terms/site-policies
|
||||||
|
- text: .
|
||||||
@@ -0,0 +1,448 @@
|
|||||||
|
- generic [ref=e1]:
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- link "PageSpeed Insights logo PageSpeed Insights" [ref=e3] [cursor=pointer]:
|
||||||
|
- /url: ./
|
||||||
|
- img "PageSpeed Insights logo" [ref=e4]
|
||||||
|
- generic [ref=e5]: PageSpeed Insights
|
||||||
|
- generic [ref=e6]:
|
||||||
|
- button "Copiar enlace" [ref=e8]
|
||||||
|
- generic [ref=e16]:
|
||||||
|
- generic [ref=e18]: Documentos
|
||||||
|
- link "Documentos" [ref=e19] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- generic [ref=e26]:
|
||||||
|
- generic [ref=e27]:
|
||||||
|
- generic [ref=e28]: Este sitio usa cookies de Google para ofrecer sus servicios y analizar el tráfico.
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- generic [ref=e33]: Más información
|
||||||
|
- link "Más información" [ref=e34] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/technologies/cookies
|
||||||
|
- button "Entendido" [ref=e36]
|
||||||
|
- generic [ref=e40]: Informe del 19 jul 2026, 13:35:29
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- textbox [ref=e44]:
|
||||||
|
- /placeholder: Escribe la URL de una página web
|
||||||
|
- text: https://mnq.elkazurrotaberna.es/
|
||||||
|
- paragraph [ref=e46]: Introduce una URL válida
|
||||||
|
- button "Analizar" [ref=e48]
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- tablist [ref=e55]:
|
||||||
|
- generic [ref=e58]:
|
||||||
|
- tab "Móvil" [ref=e59] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: smartphone
|
||||||
|
- generic: Móvil
|
||||||
|
- tab "Ordenador" [selected] [ref=e61] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: computer
|
||||||
|
- generic: Ordenador
|
||||||
|
- text: — — — — — — — — — —
|
||||||
|
- tabpanel "Ordenador" [ref=e63]:
|
||||||
|
- generic [ref=e65]:
|
||||||
|
- generic [ref=e67]:
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]: Descubre lo que experimentan tus usuarios reales
|
||||||
|
- generic [ref=e71]:
|
||||||
|
- button "button" [ref=e73] [cursor=pointer]
|
||||||
|
- generic [ref=e77]: No hay datos
|
||||||
|
- separator [ref=e78]
|
||||||
|
- generic [ref=e79]:
|
||||||
|
- generic [ref=e80]: Diagnostica problemas de rendimiento
|
||||||
|
- article [ref=e128]:
|
||||||
|
- generic [ref=e129]:
|
||||||
|
- generic [ref=e134]:
|
||||||
|
- link "80 Rendimiento" [ref=e135] [cursor=pointer]:
|
||||||
|
- /url: "#performance"
|
||||||
|
- generic [ref=e140]: "80"
|
||||||
|
- generic [ref=e141]: Rendimiento
|
||||||
|
- link "96 Accesibilidad" [ref=e142] [cursor=pointer]:
|
||||||
|
- /url: "#accessibility"
|
||||||
|
- generic [ref=e147]: "96"
|
||||||
|
- generic [ref=e148]: Accesibilidad
|
||||||
|
- link "100 Prácticas recomendadas" [ref=e149] [cursor=pointer]:
|
||||||
|
- /url: "#best-practices"
|
||||||
|
- generic [ref=e154]: "100"
|
||||||
|
- generic [ref=e155]: Prácticas recomendadas
|
||||||
|
- link "100 SEO" [ref=e156] [cursor=pointer]:
|
||||||
|
- /url: "#seo"
|
||||||
|
- generic [ref=e161]: "100"
|
||||||
|
- generic [ref=e162]: SEO
|
||||||
|
- link "2/2 Navegación agéntica" [ref=e163] [cursor=pointer]:
|
||||||
|
- /url: "#agentic-browsing"
|
||||||
|
- generic [ref=e164]: 2/2
|
||||||
|
- generic [ref=e168]: Navegación agéntica
|
||||||
|
- generic [ref=e170]:
|
||||||
|
- generic [ref=e172]:
|
||||||
|
- generic [ref=e173]:
|
||||||
|
- generic [ref=e174]:
|
||||||
|
- img [ref=e178]:
|
||||||
|
- generic [ref=e179]: "80"
|
||||||
|
- generic [ref=e184]:
|
||||||
|
- generic:
|
||||||
|
- generic: FCP
|
||||||
|
- generic: "+5"
|
||||||
|
- generic:
|
||||||
|
- generic: LCP
|
||||||
|
- generic: "+12"
|
||||||
|
- generic:
|
||||||
|
- generic: TBT
|
||||||
|
- generic: "+30"
|
||||||
|
- generic:
|
||||||
|
- generic: CLS
|
||||||
|
- generic: "+25"
|
||||||
|
- generic:
|
||||||
|
- generic: SI
|
||||||
|
- generic: "+8"
|
||||||
|
- generic [ref=e186]: Rendimiento
|
||||||
|
- generic [ref=e188]:
|
||||||
|
- generic [ref=e189]:
|
||||||
|
- text: Los valores son estimaciones y pueden variar. La
|
||||||
|
- link "puntuación del rendimiento se calcula" [ref=e190] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: directamente a partir de estas métricas.
|
||||||
|
- link "Ver calculadora." [ref=e191] [cursor=pointer]:
|
||||||
|
- /url: https://googlechrome.github.io/lighthouse/scorecalc/#FCP=1648&LCP=2408&TBT=0&CLS=0.01&SI=1648&TTI=2420&device=desktop&version=13.4.0
|
||||||
|
- generic [ref=e193]:
|
||||||
|
- generic [ref=e194]: 0–49
|
||||||
|
- generic [ref=e195]: 50–89
|
||||||
|
- generic [ref=e196]: 90–100
|
||||||
|
- img "Final Screenshot" [ref=e199]
|
||||||
|
- generic [ref=e200]:
|
||||||
|
- checkbox "Toggle the display of metric descriptions" [ref=e201]
|
||||||
|
- generic [ref=e202]:
|
||||||
|
- generic [ref=e203]: Métricas
|
||||||
|
- generic [ref=e204] [cursor=pointer]: Ampliar vista
|
||||||
|
- generic [ref=e205]:
|
||||||
|
- generic [ref=e207]:
|
||||||
|
- generic [ref=e209]: First Contentful Paint
|
||||||
|
- generic [ref=e210]: 1,6 s
|
||||||
|
- generic [ref=e212]:
|
||||||
|
- generic [ref=e214]: Renderizado del mayor elemento con contenido
|
||||||
|
- generic [ref=e215]: 2,4 s
|
||||||
|
- generic [ref=e217]:
|
||||||
|
- generic [ref=e219]: Total Blocking Time
|
||||||
|
- generic [ref=e220]: 0 ms
|
||||||
|
- generic [ref=e222]:
|
||||||
|
- generic [ref=e224]: Cambios de diseño acumulados
|
||||||
|
- generic [ref=e225]: "0.008"
|
||||||
|
- generic [ref=e227]:
|
||||||
|
- generic [ref=e229]: Speed Index
|
||||||
|
- generic [ref=e230]: 1,6 s
|
||||||
|
- list [ref=e231]:
|
||||||
|
- listitem [ref=e232]: Captured at 19 jul 2026, 13:35 CEST
|
||||||
|
- listitem [ref=e233]: Escritorio emulado with Lighthouse 13.4.0
|
||||||
|
- listitem [ref=e234]: Sesión de una sola página
|
||||||
|
- listitem [ref=e235]: Carga inicial de la página
|
||||||
|
- listitem [ref=e236]: Limitación personalizada
|
||||||
|
- listitem [ref=e237]: Using HeadlessChromium 149.0.7827.155 with lr
|
||||||
|
- button "Ver gráfico de rectángulos" [ref=e239] [cursor=pointer]
|
||||||
|
- generic [ref=e241]:
|
||||||
|
- img "Screenshot" [ref=e243]
|
||||||
|
- img "Screenshot" [ref=e245]
|
||||||
|
- img "Screenshot" [ref=e247]
|
||||||
|
- img "Screenshot" [ref=e249]
|
||||||
|
- img "Screenshot" [ref=e251]
|
||||||
|
- img "Screenshot" [ref=e253]
|
||||||
|
- img "Screenshot" [ref=e255]
|
||||||
|
- img "Screenshot" [ref=e257]
|
||||||
|
- generic [ref=e258]:
|
||||||
|
- generic [ref=e259]:
|
||||||
|
- generic [ref=e260]: "Mostrar auditorías relacionadas con:"
|
||||||
|
- radio "All" [checked] [ref=e261]
|
||||||
|
- generic [ref=e262] [cursor=pointer]: All
|
||||||
|
- radio "FCP" [ref=e263]
|
||||||
|
- generic "First Contentful Paint" [ref=e264] [cursor=pointer]: FCP
|
||||||
|
- radio "LCP" [ref=e265]
|
||||||
|
- generic "Renderizado del mayor elemento con contenido" [ref=e266] [cursor=pointer]: LCP
|
||||||
|
- radio "CLS" [ref=e267]
|
||||||
|
- generic "Cambios de diseño acumulados" [ref=e268] [cursor=pointer]: CLS
|
||||||
|
- generic [ref=e269]:
|
||||||
|
- generic [ref=e270]: Estadísticas
|
||||||
|
- group [ref=e272]:
|
||||||
|
- generic "Solicitudes que bloquean el renderizado —Ahorro estimado de 1380 ms" [ref=e273] [cursor=pointer]:
|
||||||
|
- generic [ref=e276]:
|
||||||
|
- generic [ref=e277]: Solicitudes que bloquean el renderizado
|
||||||
|
- text: —Ahorro estimado de 1380 ms
|
||||||
|
- group [ref=e284]:
|
||||||
|
- generic "Mejorar la entrega de imágenes —Ahorro estimado de 1423 KiB" [ref=e285] [cursor=pointer]:
|
||||||
|
- generic [ref=e288]:
|
||||||
|
- generic [ref=e289]: Mejorar la entrega de imágenes
|
||||||
|
- text: —Ahorro estimado de 1423 KiB
|
||||||
|
- group [ref=e296]:
|
||||||
|
- generic "Árbol de dependencia de red" [ref=e297] [cursor=pointer]
|
||||||
|
- group [ref=e308]:
|
||||||
|
- generic "Latencia de solicitud del documento —Ahorro estimado de 13 KiB" [ref=e309] [cursor=pointer]:
|
||||||
|
- generic [ref=e312]:
|
||||||
|
- generic [ref=e313]: Latencia de solicitud del documento
|
||||||
|
- text: —Ahorro estimado de 13 KiB
|
||||||
|
- group [ref=e320]:
|
||||||
|
- generic "Causantes de los cambios de diseño" [ref=e321] [cursor=pointer]
|
||||||
|
- group [ref=e332]:
|
||||||
|
- generic "Desglose de LCP" [ref=e333] [cursor=pointer]
|
||||||
|
- group [ref=e344]:
|
||||||
|
- generic "Terceros" [ref=e345] [cursor=pointer]
|
||||||
|
- generic [ref=e355]:
|
||||||
|
- text: Estas estadísticas también están disponibles en el panel Rendimiento de Chrome DevTools.
|
||||||
|
- link "Graba una traza" [ref=e356] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/devtools/performance/reference?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: para ver información más detallada.
|
||||||
|
- generic [ref=e357]:
|
||||||
|
- generic [ref=e358]: Diagnósticos
|
||||||
|
- group [ref=e360]:
|
||||||
|
- generic "Reduce el contenido CSS que no se use —Ahorro estimado de 11 KiB" [ref=e361] [cursor=pointer]:
|
||||||
|
- generic [ref=e364]:
|
||||||
|
- generic [ref=e365]: Reduce el contenido CSS que no se use
|
||||||
|
- text: —Ahorro estimado de 11 KiB
|
||||||
|
- group [ref=e372]:
|
||||||
|
- generic [ref=e378] [cursor=pointer]:
|
||||||
|
- text: Los elementos de imagen no tienen
|
||||||
|
- code [ref=e379]: width
|
||||||
|
- text: "y"
|
||||||
|
- code [ref=e380]: height
|
||||||
|
- text: explícitos
|
||||||
|
- group [ref=e387]:
|
||||||
|
- 'generic "Evita cargas útiles de red de gran tamaño —Tamaño total: 3085 KiB" [ref=e388] [cursor=pointer]':
|
||||||
|
- generic [ref=e391]:
|
||||||
|
- generic [ref=e392]: Evita cargas útiles de red de gran tamaño
|
||||||
|
- text: "—Tamaño total: 3085 KiB"
|
||||||
|
- group [ref=e399]:
|
||||||
|
- generic "Evita las animaciones no compuestas —2 elementos animados encontrados" [ref=e400] [cursor=pointer]:
|
||||||
|
- generic [ref=e403]:
|
||||||
|
- generic [ref=e404]: Evita las animaciones no compuestas
|
||||||
|
- text: —2 elementos animados encontrados
|
||||||
|
- generic [ref=e410]:
|
||||||
|
- text: Consulta más información sobre el rendimiento de tu aplicación. Estos datos no
|
||||||
|
- link "afectan directamente" [ref=e411] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: a la puntuación del rendimiento.
|
||||||
|
- group [ref=e413]:
|
||||||
|
- generic "Auditorías aprobadas (16) Mostrar" [ref=e414] [cursor=pointer]:
|
||||||
|
- generic [ref=e415]:
|
||||||
|
- generic [ref=e416]: Auditorías aprobadas (16)
|
||||||
|
- generic [ref=e417]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- generic [ref=e419]:
|
||||||
|
- generic [ref=e420]:
|
||||||
|
- heading "96 Accesibilidad" [level=2] [ref=e421]:
|
||||||
|
- generic [ref=e422]:
|
||||||
|
- generic [ref=e427]: "96"
|
||||||
|
- generic [ref=e428]: Accesibilidad
|
||||||
|
- generic [ref=e430]:
|
||||||
|
- text: Estas comprobaciones permiten identificar oportunidades para
|
||||||
|
- link "mejorar la accesibilidad de tu aplicación web" [ref=e431] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/accessibility/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: . La detección automática solo puede detectar un subconjunto de problemas y no garantiza la accesibilidad de tu aplicación web, por lo que también te recomendamos que hagas
|
||||||
|
- link "pruebas manuales" [ref=e432] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e433]:
|
||||||
|
- generic [ref=e434]:
|
||||||
|
- generic [ref=e435]: Contraste
|
||||||
|
- group [ref=e437]:
|
||||||
|
- generic "Los colores de fondo y de primer plano no tienen una relación de contraste adecuada." [ref=e438] [cursor=pointer]
|
||||||
|
- generic [ref=e657]:
|
||||||
|
- text: Los textos con poco contraste resultan difíciles o imposibles de leer para muchos usuarios.
|
||||||
|
- link "Consulta cómo crear suficiente contraste de color" [ref=e658] [cursor=pointer]:
|
||||||
|
- /url: https://dequeuniversity.com/rules/axe/4.12/color-contrast
|
||||||
|
- table [ref=e659]:
|
||||||
|
- rowgroup [ref=e660]:
|
||||||
|
- row [ref=e661]:
|
||||||
|
- columnheader "Elementos con errores" [ref=e662]
|
||||||
|
- rowgroup [ref=e664]:
|
||||||
|
- row [ref=e665]:
|
||||||
|
- cell "Excelencia culinaria · Diseño de eventos · Gastronomía de autor <p class=\"text-body-sm text-muted opacity-60\">" [ref=e666]:
|
||||||
|
- generic "footer.site-footer > div.page-wrap > div.footer-bottom > p.text-body-sm" [ref=e667]:
|
||||||
|
- generic [ref=e668]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- generic [ref=e669]: <p class="text-body-sm text-muted opacity-60">
|
||||||
|
- row [ref=e670]:
|
||||||
|
- cell "© 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más import… <footer class=\"site-footer\">" [ref=e671]:
|
||||||
|
- generic "body.page-ready > footer.site-footer" [ref=e672]:
|
||||||
|
- generic [ref=e673]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más import…
|
||||||
|
- generic [ref=e674]: <footer class="site-footer">
|
||||||
|
- generic [ref=e448]: A continuación se indican consejos para facilitar la lectura del contenido.
|
||||||
|
- generic [ref=e449]:
|
||||||
|
- generic [ref=e450]: Prácticas recomendadas
|
||||||
|
- group [ref=e452]:
|
||||||
|
- generic "Los enlaces idénticos tienen la misma finalidad." [active] [ref=e453] [cursor=pointer]
|
||||||
|
- generic [ref=e675]:
|
||||||
|
- generic [ref=e676]:
|
||||||
|
- text: Los enlaces con el mismo destino deben tener la misma descripción para que los usuarios puedan entender su finalidad y decidir si quieren seguirlo.
|
||||||
|
- link "Obtén más información sobre los enlaces idénticos" [ref=e677] [cursor=pointer]:
|
||||||
|
- /url: https://dequeuniversity.com/rules/axe/4.12/identical-links-same-purpose
|
||||||
|
- text: .
|
||||||
|
- generic "Esta auditoría no contribuye a la puntuación general de la categoría." [ref=e678]: Sin puntuar
|
||||||
|
- table [ref=e679]:
|
||||||
|
- rowgroup [ref=e680]:
|
||||||
|
- row [ref=e681]:
|
||||||
|
- columnheader "Elementos con errores" [ref=e682]
|
||||||
|
- rowgroup [ref=e684]:
|
||||||
|
- row [ref=e685]:
|
||||||
|
- cell "WHATSAPP <a href=\"https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20eve…\" class=\"btn btn-pill nav-wa\" target=\"_blank\" rel=\"noreferrer\" data-astro-cid-ctg3m53h=\"\">" [ref=e686]:
|
||||||
|
- generic "header.site-header > div.page-wrap > div.nav-actions > a.btn" [ref=e687]:
|
||||||
|
- generic [ref=e693]: WHATSAPP
|
||||||
|
- generic [ref=e694]: <a href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20eve…" class="btn btn-pill nav-wa" target="_blank" rel="noreferrer" data-astro-cid-ctg3m53h="">
|
||||||
|
- row [ref=e695]:
|
||||||
|
- cell "WhatsApp <a href=\"https://wa.me/34678171513\" class=\"footer-link\" target=\"_blank\" rel=\"noreferrer\">" [ref=e696]:
|
||||||
|
- generic "div.footer-inner > div.footer-links > div.footer-col > a.footer-link" [ref=e697]:
|
||||||
|
- generic [ref=e698]: WhatsApp
|
||||||
|
- generic [ref=e699]: <a href="https://wa.me/34678171513" class="footer-link" target="_blank" rel="noreferrer">
|
||||||
|
- generic [ref=e463]: Estos elementos destacan las prácticas recomendadas de accesibilidad más habituales.
|
||||||
|
- generic [ref=e464]:
|
||||||
|
- group [ref=e465]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (10) Mostrar" [ref=e466] [cursor=pointer]:
|
||||||
|
- generic [ref=e467]:
|
||||||
|
- generic [ref=e468]: Elementos adicionales que se deben comprobar manualmente (10)
|
||||||
|
- generic [ref=e469]: Mostrar
|
||||||
|
- generic [ref=e470]:
|
||||||
|
- text: Estos elementos se ocupan de áreas que las herramientas de prueba automáticas no pueden analizar. Consulta más información sobre cómo
|
||||||
|
- link "revisar la accesibilidad" [ref=e471] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: en nuestra guía.
|
||||||
|
- group [ref=e473]:
|
||||||
|
- generic "Auditorías aprobadas (22) Mostrar" [ref=e474] [cursor=pointer]:
|
||||||
|
- generic [ref=e475]:
|
||||||
|
- generic [ref=e476]: Auditorías aprobadas (22)
|
||||||
|
- generic [ref=e477]: Mostrar
|
||||||
|
- group [ref=e479]:
|
||||||
|
- generic "No aplicable (39) Mostrar" [ref=e480] [cursor=pointer]:
|
||||||
|
- generic [ref=e481]:
|
||||||
|
- generic [ref=e482]: No aplicable (39)
|
||||||
|
- generic [ref=e483]: Mostrar
|
||||||
|
- generic [ref=e485]:
|
||||||
|
- heading "100 Prácticas recomendadas" [level=2] [ref=e487]:
|
||||||
|
- generic [ref=e488]:
|
||||||
|
- generic [ref=e493]: "100"
|
||||||
|
- generic [ref=e494]: Prácticas recomendadas
|
||||||
|
- generic [ref=e495]:
|
||||||
|
- generic [ref=e496]:
|
||||||
|
- generic [ref=e497]: Confianza y seguridad
|
||||||
|
- group [ref=e499]:
|
||||||
|
- generic "Asegura que la CSP sea efectiva frente a ataques XSS" [ref=e500] [cursor=pointer]
|
||||||
|
- group [ref=e511]:
|
||||||
|
- generic "Usa una política de HSTS sólida" [ref=e512] [cursor=pointer]
|
||||||
|
- group [ref=e523]:
|
||||||
|
- generic "Asegúrate de que el aislamiento de orígenes sea adecuado con COOP" [ref=e524] [cursor=pointer]
|
||||||
|
- group [ref=e535]:
|
||||||
|
- generic "Mitiga el secuestro de clics con XFO o CSP" [ref=e536] [cursor=pointer]
|
||||||
|
- group [ref=e547]:
|
||||||
|
- generic "Mitigar el XSS basado en DOM con Trusted Types" [ref=e548] [cursor=pointer]
|
||||||
|
- generic [ref=e558]:
|
||||||
|
- generic [ref=e559]: Compatibilidad con navegadores
|
||||||
|
- group [ref=e561]:
|
||||||
|
- generic "Funciones de Baseline" [ref=e562] [cursor=pointer]
|
||||||
|
- group [ref=e573]:
|
||||||
|
- generic "Auditorías aprobadas (13) Mostrar" [ref=e574] [cursor=pointer]:
|
||||||
|
- generic [ref=e575]:
|
||||||
|
- generic [ref=e576]: Auditorías aprobadas (13)
|
||||||
|
- generic [ref=e577]: Mostrar
|
||||||
|
- group [ref=e579]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=e580] [cursor=pointer]:
|
||||||
|
- generic [ref=e581]:
|
||||||
|
- generic [ref=e582]: No aplicable (2)
|
||||||
|
- generic [ref=e583]: Mostrar
|
||||||
|
- generic [ref=e585]:
|
||||||
|
- generic [ref=e586]:
|
||||||
|
- heading "100 SEO" [level=2] [ref=e587]:
|
||||||
|
- generic [ref=e588]:
|
||||||
|
- generic [ref=e593]: "100"
|
||||||
|
- generic [ref=e594]: SEO
|
||||||
|
- generic [ref=e596]:
|
||||||
|
- text: Estas comprobaciones aseguran que tu página siga las recomendaciones básicas sobre optimización en buscadores. Hay muchos otros factores adicionales que Lighthouse no valora aquí y que pueden afectar a tu posicionamiento en las búsquedas, como el rendimiento en las
|
||||||
|
- link "Métricas web principales" [ref=e597] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/explore/vitals?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- link "Consulta más información sobre las Directrices básicas de la Búsqueda de Google" [ref=e598] [cursor=pointer]:
|
||||||
|
- /url: https://support.google.com/webmasters/answer/35769
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e599]:
|
||||||
|
- group [ref=e600]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (1) Ocultar" [ref=e601] [cursor=pointer]:
|
||||||
|
- generic [ref=e602]:
|
||||||
|
- generic [ref=e603]: Elementos adicionales que se deben comprobar manualmente (1)
|
||||||
|
- generic [ref=e604]: Ocultar
|
||||||
|
- group [ref=e607]:
|
||||||
|
- generic "Los datos estructurados son válidos" [ref=e608] [cursor=pointer]
|
||||||
|
- generic [ref=e618]: Ejecuta estos validadores adicionales en tu sitio web para comprobar más prácticas recomendadas de SEO.
|
||||||
|
- group [ref=e620]:
|
||||||
|
- generic "Auditorías aprobadas (8) Mostrar" [ref=e621] [cursor=pointer]:
|
||||||
|
- generic [ref=e622]:
|
||||||
|
- generic [ref=e623]: Auditorías aprobadas (8)
|
||||||
|
- generic [ref=e624]: Mostrar
|
||||||
|
- group [ref=e626]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=e627] [cursor=pointer]:
|
||||||
|
- generic [ref=e628]:
|
||||||
|
- generic [ref=e629]: No aplicable (2)
|
||||||
|
- generic [ref=e630]: Mostrar
|
||||||
|
- generic [ref=e632]:
|
||||||
|
- generic [ref=e633]:
|
||||||
|
- heading "2/2 Navegación agéntica" [level=2] [ref=e634]:
|
||||||
|
- generic [ref=e635]:
|
||||||
|
- generic [ref=e636]: 2/2
|
||||||
|
- generic [ref=e640]: Navegación agéntica
|
||||||
|
- generic [ref=e642]:
|
||||||
|
- text: Estas comprobaciones aseguran unos
|
||||||
|
- link "sitios web de alta calidad en los que los agentes de IA puedan navegar" [ref=e643] [cursor=pointer]:
|
||||||
|
- /url: https://goo.gle/lighthouse-agentic-web
|
||||||
|
- text: ", y validan que las integraciones de WebMCP sean correctas. Esta categoría aún está en desarrollo y puede cambiar."
|
||||||
|
- group [ref=e645]:
|
||||||
|
- generic "Auditorías aprobadas (2) Mostrar" [ref=e646] [cursor=pointer]:
|
||||||
|
- generic [ref=e647]:
|
||||||
|
- generic [ref=e648]: Auditorías aprobadas (2)
|
||||||
|
- generic [ref=e649]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- group [ref=e651]:
|
||||||
|
- generic "No aplicable (4) Mostrar" [ref=e652] [cursor=pointer]:
|
||||||
|
- generic [ref=e653]:
|
||||||
|
- generic [ref=e654]: No aplicable (4)
|
||||||
|
- generic [ref=e655]: Mostrar
|
||||||
|
- contentinfo [ref=e84]:
|
||||||
|
- generic [ref=e85]:
|
||||||
|
- generic [ref=e86]:
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- generic [ref=e88]: Más información en PageSpeed Insights
|
||||||
|
- link "Novedades" [ref=e90] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/release_notes
|
||||||
|
- link "Documentación" [ref=e92] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- link "Más información sobre el rendimiento web" [ref=e94] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed
|
||||||
|
- link "Haz preguntas en Stack Overflow" [ref=e96] [cursor=pointer]:
|
||||||
|
- /url: https://stackoverflow.com/questions/tagged/pagespeed-insights
|
||||||
|
- link "Lista de distribución" [ref=e98] [cursor=pointer]:
|
||||||
|
- /url: https://groups.google.com/g/pagespeed-insights-discuss
|
||||||
|
- generic [ref=e99]:
|
||||||
|
- generic [ref=e100]: Contenido relacionado
|
||||||
|
- link "Actualizaciones" [ref=e102] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/blog
|
||||||
|
- link "Aspectos básicos de la Web" [ref=e104] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/focus/web-development
|
||||||
|
- link "Casos de éxito" [ref=e106] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/case-studies
|
||||||
|
- link "Pódcasts" [ref=e108] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/shows
|
||||||
|
- generic [ref=e109]:
|
||||||
|
- generic [ref=e110]: Contacto
|
||||||
|
- link "Twitter" [ref=e112] [cursor=pointer]:
|
||||||
|
- /url: https://twitter.com/ChromiumDev
|
||||||
|
- link "YouTube" [ref=e114] [cursor=pointer]:
|
||||||
|
- /url: https://www.youtube.com/user/ChromeDevelopers
|
||||||
|
- generic [ref=e115]:
|
||||||
|
- link [ref=e116] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/
|
||||||
|
- img "Google Developers Logo" [ref=e117]
|
||||||
|
- link "Chrome" [ref=e118] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/
|
||||||
|
- link "Firebase" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: https://firebase.google.com/
|
||||||
|
- link "Todos los productos" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/products/
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- link "Política de Términos y Privacidad" [ref=e123] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/
|
||||||
|
- generic [ref=e124]:
|
||||||
|
- text: Para obtener más información, consulta las
|
||||||
|
- link "Políticas del Sitio Google Developers" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/terms/site-policies
|
||||||
|
- text: .
|
||||||
@@ -0,0 +1,390 @@
|
|||||||
|
- generic [ref=f1e1]:
|
||||||
|
- banner [ref=f1e2]:
|
||||||
|
- link "PageSpeed Insights logo PageSpeed Insights" [ref=f1e3] [cursor=pointer]:
|
||||||
|
- /url: ./
|
||||||
|
- img "PageSpeed Insights logo" [ref=f1e4]
|
||||||
|
- generic [ref=f1e5]: PageSpeed Insights
|
||||||
|
- generic [ref=f1e6]:
|
||||||
|
- button "Copiar enlace" [ref=f1e8]
|
||||||
|
- generic [ref=f1e16]:
|
||||||
|
- generic [ref=f1e18]: Documentos
|
||||||
|
- link "Documentos" [ref=f1e19] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- generic [ref=f1e26]:
|
||||||
|
- generic [ref=f1e27]:
|
||||||
|
- generic [ref=f1e28]: Este sitio usa cookies de Google para ofrecer sus servicios y analizar el tráfico.
|
||||||
|
- generic [ref=f1e29]:
|
||||||
|
- generic [ref=f1e31]:
|
||||||
|
- generic [ref=f1e33]: Más información
|
||||||
|
- link "Más información" [ref=f1e34] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/technologies/cookies
|
||||||
|
- button "Entendido" [ref=f1e36]
|
||||||
|
- generic [ref=f1e40]: Informe del 20 jul 2026, 14:43:03
|
||||||
|
- generic [ref=f1e41]:
|
||||||
|
- generic [ref=f1e42]:
|
||||||
|
- textbox [active] [ref=f1e44]:
|
||||||
|
- /placeholder: Escribe la URL de una página web
|
||||||
|
- text: https://mnq.elkazurrotaberna.es/
|
||||||
|
- paragraph [ref=f1e46]: Introduce una URL válida
|
||||||
|
- button "Analizar" [ref=f1e48]
|
||||||
|
- generic [ref=f1e54]:
|
||||||
|
- tablist [ref=f1e55]:
|
||||||
|
- generic [ref=f1e58]:
|
||||||
|
- tab "Móvil" [selected] [ref=f1e59] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: smartphone
|
||||||
|
- generic: Móvil
|
||||||
|
- tab "Ordenador" [ref=f1e61] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: computer
|
||||||
|
- generic: Ordenador
|
||||||
|
- tabpanel "Móvil" [ref=f1e63]:
|
||||||
|
- generic [ref=f1e65]:
|
||||||
|
- generic [ref=f1e67]:
|
||||||
|
- generic [ref=f1e68]:
|
||||||
|
- generic [ref=f1e69]: Descubre lo que experimentan tus usuarios reales
|
||||||
|
- generic [ref=f1e71]:
|
||||||
|
- button "button" [ref=f1e73] [cursor=pointer]
|
||||||
|
- generic [ref=f1e77]: No hay datos
|
||||||
|
- separator [ref=f1e78]
|
||||||
|
- generic [ref=f1e79]:
|
||||||
|
- generic [ref=f1e80]: Diagnostica problemas de rendimiento
|
||||||
|
- article [ref=f1e86]:
|
||||||
|
- generic [ref=f1e87]:
|
||||||
|
- generic [ref=f1e92]:
|
||||||
|
- link "82 Rendimiento" [ref=f1e93] [cursor=pointer]:
|
||||||
|
- /url: "#performance"
|
||||||
|
- generic [ref=f1e98]: "82"
|
||||||
|
- generic [ref=f1e99]: Rendimiento
|
||||||
|
- link "100 Accesibilidad" [ref=f1e100] [cursor=pointer]:
|
||||||
|
- /url: "#accessibility"
|
||||||
|
- generic [ref=f1e105]: "100"
|
||||||
|
- generic [ref=f1e106]: Accesibilidad
|
||||||
|
- link "100 Prácticas recomendadas" [ref=f1e107] [cursor=pointer]:
|
||||||
|
- /url: "#best-practices"
|
||||||
|
- generic [ref=f1e112]: "100"
|
||||||
|
- generic [ref=f1e113]: Prácticas recomendadas
|
||||||
|
- link "100 SEO" [ref=f1e114] [cursor=pointer]:
|
||||||
|
- /url: "#seo"
|
||||||
|
- generic [ref=f1e119]: "100"
|
||||||
|
- generic [ref=f1e120]: SEO
|
||||||
|
- link "2/3 Navegación agéntica" [ref=f1e121] [cursor=pointer]:
|
||||||
|
- /url: "#agentic-browsing"
|
||||||
|
- generic [ref=f1e122]: 2/3
|
||||||
|
- generic [ref=f1e126]: Navegación agéntica
|
||||||
|
- generic [ref=f1e128]:
|
||||||
|
- generic [ref=f1e130]:
|
||||||
|
- generic [ref=f1e131]:
|
||||||
|
- generic [ref=f1e132]:
|
||||||
|
- img [ref=f1e136]:
|
||||||
|
- generic [ref=f1e137]: "82"
|
||||||
|
- generic [ref=f1e142]:
|
||||||
|
- generic:
|
||||||
|
- generic: FCP
|
||||||
|
- generic: "+6"
|
||||||
|
- generic:
|
||||||
|
- generic: LCP
|
||||||
|
- generic: "+14"
|
||||||
|
- generic:
|
||||||
|
- generic: TBT
|
||||||
|
- generic: "+30"
|
||||||
|
- generic:
|
||||||
|
- generic: CLS
|
||||||
|
- generic: "+25"
|
||||||
|
- generic:
|
||||||
|
- generic: SI
|
||||||
|
- generic: "+8"
|
||||||
|
- generic [ref=f1e144]: Rendimiento
|
||||||
|
- generic [ref=f1e146]:
|
||||||
|
- generic [ref=f1e147]:
|
||||||
|
- text: Los valores son estimaciones y pueden variar. La
|
||||||
|
- link "puntuación del rendimiento se calcula" [ref=f1e148] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: directamente a partir de estas métricas.
|
||||||
|
- link "Ver calculadora." [ref=f1e149] [cursor=pointer]:
|
||||||
|
- /url: https://googlechrome.github.io/lighthouse/scorecalc/#FCP=2714&LCP=3759&TBT=0&CLS=0&SI=4327&TTI=3759&device=mobile&version=13.4.0
|
||||||
|
- generic [ref=f1e151]:
|
||||||
|
- generic [ref=f1e152]: 0–49
|
||||||
|
- generic [ref=f1e153]: 50–89
|
||||||
|
- generic [ref=f1e154]: 90–100
|
||||||
|
- img "Final Screenshot" [ref=f1e157]
|
||||||
|
- generic [ref=f1e158]:
|
||||||
|
- checkbox "Toggle the display of metric descriptions" [ref=f1e159]
|
||||||
|
- generic [ref=f1e160]:
|
||||||
|
- generic [ref=f1e161]: Métricas
|
||||||
|
- generic [ref=f1e162] [cursor=pointer]: Ampliar vista
|
||||||
|
- generic [ref=f1e163]:
|
||||||
|
- generic [ref=f1e165]:
|
||||||
|
- generic [ref=f1e167]: First Contentful Paint
|
||||||
|
- generic [ref=f1e168]: 2,7 s
|
||||||
|
- generic [ref=f1e170]:
|
||||||
|
- generic [ref=f1e172]: Renderizado del mayor elemento con contenido
|
||||||
|
- generic [ref=f1e173]: 3,8 s
|
||||||
|
- generic [ref=f1e175]:
|
||||||
|
- generic [ref=f1e177]: Total Blocking Time
|
||||||
|
- generic [ref=f1e178]: 0 ms
|
||||||
|
- generic [ref=f1e180]:
|
||||||
|
- generic [ref=f1e182]: Cambios de diseño acumulados
|
||||||
|
- generic [ref=f1e183]: "0"
|
||||||
|
- generic [ref=f1e185]:
|
||||||
|
- generic [ref=f1e187]: Speed Index
|
||||||
|
- generic [ref=f1e188]: 4,3 s
|
||||||
|
- list [ref=f1e189]:
|
||||||
|
- listitem [ref=f1e190]: Captured at 20 jul 2026, 14:43 CEST
|
||||||
|
- listitem [ref=f1e191]: Moto G Power emulado with Lighthouse 13.4.0
|
||||||
|
- listitem [ref=f1e192]: Sesión de una sola página
|
||||||
|
- listitem [ref=f1e193]: Carga inicial de la página
|
||||||
|
- listitem [ref=f1e194]: Limitación de 4G lenta
|
||||||
|
- listitem [ref=f1e195]: Using HeadlessChromium 149.0.7827.155 with lr
|
||||||
|
- button "Ver gráfico de rectángulos" [ref=f1e197] [cursor=pointer]
|
||||||
|
- generic [ref=f1e199]:
|
||||||
|
- img "Screenshot" [ref=f1e201]
|
||||||
|
- img "Screenshot" [ref=f1e203]
|
||||||
|
- img "Screenshot" [ref=f1e205]
|
||||||
|
- img "Screenshot" [ref=f1e207]
|
||||||
|
- img "Screenshot" [ref=f1e209]
|
||||||
|
- img "Screenshot" [ref=f1e211]
|
||||||
|
- img "Screenshot" [ref=f1e213]
|
||||||
|
- img "Screenshot" [ref=f1e215]
|
||||||
|
- generic [ref=f1e216]:
|
||||||
|
- generic [ref=f1e217]:
|
||||||
|
- generic [ref=f1e218]: "Mostrar auditorías relacionadas con:"
|
||||||
|
- radio "All" [checked] [ref=f1e219]
|
||||||
|
- generic [ref=f1e220] [cursor=pointer]: All
|
||||||
|
- radio "FCP" [ref=f1e221]
|
||||||
|
- generic "First Contentful Paint" [ref=f1e222] [cursor=pointer]: FCP
|
||||||
|
- radio "LCP" [ref=f1e223]
|
||||||
|
- generic "Renderizado del mayor elemento con contenido" [ref=f1e224] [cursor=pointer]: LCP
|
||||||
|
- radio "CLS" [ref=f1e225]
|
||||||
|
- generic "Cambios de diseño acumulados" [ref=f1e226] [cursor=pointer]: CLS
|
||||||
|
- generic [ref=f1e227]:
|
||||||
|
- generic [ref=f1e228]: Estadísticas
|
||||||
|
- group [ref=f1e230]:
|
||||||
|
- generic "Solicitudes que bloquean el renderizado —Ahorro estimado de 1890 ms" [ref=f1e231] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e234]:
|
||||||
|
- generic [ref=f1e235]: Solicitudes que bloquean el renderizado
|
||||||
|
- text: —Ahorro estimado de 1890 ms
|
||||||
|
- group [ref=f1e242]:
|
||||||
|
- generic "Mejorar la entrega de imágenes —Ahorro estimado de 625 KiB" [ref=f1e243] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e246]:
|
||||||
|
- generic [ref=f1e247]: Mejorar la entrega de imágenes
|
||||||
|
- text: —Ahorro estimado de 625 KiB
|
||||||
|
- group [ref=f1e254]:
|
||||||
|
- generic "Redistribución forzada" [ref=f1e255] [cursor=pointer]
|
||||||
|
- group [ref=f1e266]:
|
||||||
|
- generic "Árbol de dependencia de red" [ref=f1e267] [cursor=pointer]
|
||||||
|
- group [ref=f1e278]:
|
||||||
|
- generic "Latencia de solicitud del documento —Ahorro estimado de 16 KiB" [ref=f1e279] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e282]:
|
||||||
|
- generic [ref=f1e283]: Latencia de solicitud del documento
|
||||||
|
- text: —Ahorro estimado de 16 KiB
|
||||||
|
- group [ref=f1e290]:
|
||||||
|
- generic "Optimizar tamaño del DOM" [ref=f1e291] [cursor=pointer]
|
||||||
|
- group [ref=f1e302]:
|
||||||
|
- generic "Desglose de LCP" [ref=f1e303] [cursor=pointer]
|
||||||
|
- group [ref=f1e314]:
|
||||||
|
- generic "Terceros" [ref=f1e315] [cursor=pointer]
|
||||||
|
- generic [ref=f1e325]:
|
||||||
|
- text: Estas estadísticas también están disponibles en el panel Rendimiento de Chrome DevTools.
|
||||||
|
- link "Graba una traza" [ref=f1e326] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/devtools/performance/reference?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: para ver información más detallada.
|
||||||
|
- generic [ref=f1e327]:
|
||||||
|
- generic [ref=f1e328]: Diagnósticos
|
||||||
|
- group [ref=f1e330]:
|
||||||
|
- generic "Reduce el contenido CSS que no se use —Ahorro estimado de 12 KiB" [ref=f1e331] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e334]:
|
||||||
|
- generic [ref=f1e335]: Reduce el contenido CSS que no se use
|
||||||
|
- text: —Ahorro estimado de 12 KiB
|
||||||
|
- group [ref=f1e342]:
|
||||||
|
- generic "Evita las animaciones no compuestas —2 elementos animados encontrados" [ref=f1e343] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e346]:
|
||||||
|
- generic [ref=f1e347]: Evita las animaciones no compuestas
|
||||||
|
- text: —2 elementos animados encontrados
|
||||||
|
- generic [ref=f1e353]:
|
||||||
|
- text: Consulta más información sobre el rendimiento de tu aplicación. Estos datos no
|
||||||
|
- link "afectan directamente" [ref=f1e354] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: a la puntuación del rendimiento.
|
||||||
|
- group [ref=f1e356]:
|
||||||
|
- generic "Auditorías aprobadas (17) Mostrar" [ref=f1e357] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e358]:
|
||||||
|
- generic [ref=f1e359]: Auditorías aprobadas (17)
|
||||||
|
- generic [ref=f1e360]: Mostrar
|
||||||
|
- text: — — —
|
||||||
|
- generic [ref=f1e362]:
|
||||||
|
- generic [ref=f1e363]:
|
||||||
|
- heading "100 Accesibilidad" [level=2] [ref=f1e364]:
|
||||||
|
- generic [ref=f1e365]:
|
||||||
|
- generic [ref=f1e370]: "100"
|
||||||
|
- generic [ref=f1e371]: Accesibilidad
|
||||||
|
- generic [ref=f1e373]:
|
||||||
|
- text: Estas comprobaciones permiten identificar oportunidades para
|
||||||
|
- link "mejorar la accesibilidad de tu aplicación web" [ref=f1e374] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/accessibility/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: . La detección automática solo puede detectar un subconjunto de problemas y no garantiza la accesibilidad de tu aplicación web, por lo que también te recomendamos que hagas
|
||||||
|
- link "pruebas manuales" [ref=f1e375] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- generic [ref=f1e377]:
|
||||||
|
- generic [ref=f1e378]: Prácticas recomendadas
|
||||||
|
- group [ref=f1e380]:
|
||||||
|
- generic "Los enlaces idénticos tienen la misma finalidad." [ref=f1e381] [cursor=pointer]
|
||||||
|
- generic [ref=f1e391]: Estos elementos destacan las prácticas recomendadas de accesibilidad más habituales.
|
||||||
|
- generic [ref=f1e392]:
|
||||||
|
- group [ref=f1e393]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (10) Mostrar" [ref=f1e394] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e395]:
|
||||||
|
- generic [ref=f1e396]: Elementos adicionales que se deben comprobar manualmente (10)
|
||||||
|
- generic [ref=f1e397]: Mostrar
|
||||||
|
- generic [ref=f1e398]:
|
||||||
|
- text: Estos elementos se ocupan de áreas que las herramientas de prueba automáticas no pueden analizar. Consulta más información sobre cómo
|
||||||
|
- link "revisar la accesibilidad" [ref=f1e399] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: en nuestra guía.
|
||||||
|
- group [ref=f1e401]:
|
||||||
|
- generic "Auditorías aprobadas (23) Mostrar" [ref=f1e402] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e403]:
|
||||||
|
- generic [ref=f1e404]: Auditorías aprobadas (23)
|
||||||
|
- generic [ref=f1e405]: Mostrar
|
||||||
|
- group [ref=f1e407]:
|
||||||
|
- generic "No aplicable (39) Mostrar" [ref=f1e408] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e409]:
|
||||||
|
- generic [ref=f1e410]: No aplicable (39)
|
||||||
|
- generic [ref=f1e411]: Mostrar
|
||||||
|
- generic [ref=f1e413]:
|
||||||
|
- heading "100 Prácticas recomendadas" [level=2] [ref=f1e415]:
|
||||||
|
- generic [ref=f1e416]:
|
||||||
|
- generic [ref=f1e421]: "100"
|
||||||
|
- generic [ref=f1e422]: Prácticas recomendadas
|
||||||
|
- generic [ref=f1e423]:
|
||||||
|
- generic [ref=f1e424]:
|
||||||
|
- generic [ref=f1e425]: Confianza y seguridad
|
||||||
|
- group [ref=f1e427]:
|
||||||
|
- generic "Asegura que la CSP sea efectiva frente a ataques XSS" [ref=f1e428] [cursor=pointer]
|
||||||
|
- group [ref=f1e439]:
|
||||||
|
- generic "Usa una política de HSTS sólida" [ref=f1e440] [cursor=pointer]
|
||||||
|
- group [ref=f1e451]:
|
||||||
|
- generic "Asegúrate de que el aislamiento de orígenes sea adecuado con COOP" [ref=f1e452] [cursor=pointer]
|
||||||
|
- group [ref=f1e463]:
|
||||||
|
- generic "Mitiga el secuestro de clics con XFO o CSP" [ref=f1e464] [cursor=pointer]
|
||||||
|
- group [ref=f1e475]:
|
||||||
|
- generic "Mitigar el XSS basado en DOM con Trusted Types" [ref=f1e476] [cursor=pointer]
|
||||||
|
- generic [ref=f1e486]:
|
||||||
|
- generic [ref=f1e487]: Compatibilidad con navegadores
|
||||||
|
- group [ref=f1e489]:
|
||||||
|
- generic "Funciones de Baseline" [ref=f1e490] [cursor=pointer]
|
||||||
|
- group [ref=f1e501]:
|
||||||
|
- generic "Auditorías aprobadas (13) Mostrar" [ref=f1e502] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e503]:
|
||||||
|
- generic [ref=f1e504]: Auditorías aprobadas (13)
|
||||||
|
- generic [ref=f1e505]: Mostrar
|
||||||
|
- group [ref=f1e507]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=f1e508] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e509]:
|
||||||
|
- generic [ref=f1e510]: No aplicable (2)
|
||||||
|
- generic [ref=f1e511]: Mostrar
|
||||||
|
- generic [ref=f1e513]:
|
||||||
|
- generic [ref=f1e514]:
|
||||||
|
- heading "100 SEO" [level=2] [ref=f1e515]:
|
||||||
|
- generic [ref=f1e516]:
|
||||||
|
- generic [ref=f1e521]: "100"
|
||||||
|
- generic [ref=f1e522]: SEO
|
||||||
|
- generic [ref=f1e524]:
|
||||||
|
- text: Estas comprobaciones aseguran que tu página siga las recomendaciones básicas sobre optimización en buscadores. Hay muchos otros factores adicionales que Lighthouse no valora aquí y que pueden afectar a tu posicionamiento en las búsquedas, como el rendimiento en las
|
||||||
|
- link "Métricas web principales" [ref=f1e525] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/explore/vitals?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- link "Consulta más información sobre las Directrices básicas de la Búsqueda de Google" [ref=f1e526] [cursor=pointer]:
|
||||||
|
- /url: https://support.google.com/webmasters/answer/35769
|
||||||
|
- text: .
|
||||||
|
- generic [ref=f1e527]:
|
||||||
|
- group [ref=f1e528]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (1) Ocultar" [ref=f1e529] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e530]:
|
||||||
|
- generic [ref=f1e531]: Elementos adicionales que se deben comprobar manualmente (1)
|
||||||
|
- generic [ref=f1e532]: Ocultar
|
||||||
|
- group [ref=f1e535]:
|
||||||
|
- generic "Los datos estructurados son válidos" [ref=f1e536] [cursor=pointer]
|
||||||
|
- generic [ref=f1e546]: Ejecuta estos validadores adicionales en tu sitio web para comprobar más prácticas recomendadas de SEO.
|
||||||
|
- group [ref=f1e548]:
|
||||||
|
- generic "Auditorías aprobadas (10) Mostrar" [ref=f1e549] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e550]:
|
||||||
|
- generic [ref=f1e551]: Auditorías aprobadas (10)
|
||||||
|
- generic [ref=f1e552]: Mostrar
|
||||||
|
- generic [ref=f1e554]:
|
||||||
|
- generic [ref=f1e555]:
|
||||||
|
- heading "2/3 Navegación agéntica" [level=2] [ref=f1e556]:
|
||||||
|
- generic [ref=f1e557]:
|
||||||
|
- generic [ref=f1e558]: 2/3
|
||||||
|
- generic [ref=f1e562]: Navegación agéntica
|
||||||
|
- generic [ref=f1e564]:
|
||||||
|
- text: Estas comprobaciones aseguran unos
|
||||||
|
- link "sitios web de alta calidad en los que los agentes de IA puedan navegar" [ref=f1e565] [cursor=pointer]:
|
||||||
|
- /url: https://goo.gle/lighthouse-agentic-web
|
||||||
|
- text: ", y validan que las integraciones de WebMCP sean correctas. Esta categoría aún está en desarrollo y puede cambiar."
|
||||||
|
- generic [ref=f1e567]:
|
||||||
|
- generic [ref=f1e568]: Accesibilidad del agente
|
||||||
|
- group [ref=f1e570]:
|
||||||
|
- generic "llms.txt no sigue las recomendaciones" [ref=f1e571] [cursor=pointer]
|
||||||
|
- generic [ref=f1e581]: Estas auditorías destacan las prácticas recomendadas para mejorar la accesibilidad del sitio web para los agentes de IA.
|
||||||
|
- group [ref=f1e583]:
|
||||||
|
- generic "Auditorías aprobadas (2) Mostrar" [ref=f1e584] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e585]:
|
||||||
|
- generic [ref=f1e586]: Auditorías aprobadas (2)
|
||||||
|
- generic [ref=f1e587]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- group [ref=f1e589]:
|
||||||
|
- generic "No aplicable (3) Mostrar" [ref=f1e590] [cursor=pointer]:
|
||||||
|
- generic [ref=f1e591]:
|
||||||
|
- generic [ref=f1e592]: No aplicable (3)
|
||||||
|
- generic [ref=f1e593]: Mostrar
|
||||||
|
- contentinfo [ref=f1e594]:
|
||||||
|
- generic [ref=f1e595]:
|
||||||
|
- generic [ref=f1e596]:
|
||||||
|
- generic [ref=f1e597]:
|
||||||
|
- generic [ref=f1e598]: Más información en PageSpeed Insights
|
||||||
|
- link "Novedades" [ref=f1e600] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/release_notes
|
||||||
|
- link "Documentación" [ref=f1e602] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- link "Más información sobre el rendimiento web" [ref=f1e604] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed
|
||||||
|
- link "Haz preguntas en Stack Overflow" [ref=f1e606] [cursor=pointer]:
|
||||||
|
- /url: https://stackoverflow.com/questions/tagged/pagespeed-insights
|
||||||
|
- link "Lista de distribución" [ref=f1e608] [cursor=pointer]:
|
||||||
|
- /url: https://groups.google.com/g/pagespeed-insights-discuss
|
||||||
|
- generic [ref=f1e609]:
|
||||||
|
- generic [ref=f1e610]: Contenido relacionado
|
||||||
|
- link "Actualizaciones" [ref=f1e612] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/blog
|
||||||
|
- link "Aspectos básicos de la Web" [ref=f1e614] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/focus/web-development
|
||||||
|
- link "Casos de éxito" [ref=f1e616] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/case-studies
|
||||||
|
- link "Pódcasts" [ref=f1e618] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/shows
|
||||||
|
- generic [ref=f1e619]:
|
||||||
|
- generic [ref=f1e620]: Contacto
|
||||||
|
- link "Twitter" [ref=f1e622] [cursor=pointer]:
|
||||||
|
- /url: https://twitter.com/ChromiumDev
|
||||||
|
- link "YouTube" [ref=f1e624] [cursor=pointer]:
|
||||||
|
- /url: https://www.youtube.com/user/ChromeDevelopers
|
||||||
|
- generic [ref=f1e625]:
|
||||||
|
- link [ref=f1e626] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/
|
||||||
|
- img "Google Developers Logo" [ref=f1e627]
|
||||||
|
- link "Chrome" [ref=f1e628] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/
|
||||||
|
- link "Firebase" [ref=f1e629] [cursor=pointer]:
|
||||||
|
- /url: https://firebase.google.com/
|
||||||
|
- link "Todos los productos" [ref=f1e630] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/products/
|
||||||
|
- generic [ref=f1e631]:
|
||||||
|
- link "Política de Términos y Privacidad" [ref=f1e633] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/
|
||||||
|
- generic [ref=f1e634]:
|
||||||
|
- text: Para obtener más información, consulta las
|
||||||
|
- link "Políticas del Sitio Google Developers" [ref=f1e635] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/terms/site-policies
|
||||||
|
- text: .
|
||||||
@@ -0,0 +1,390 @@
|
|||||||
|
- generic [ref=f2e1]:
|
||||||
|
- banner [ref=f2e2]:
|
||||||
|
- link "PageSpeed Insights logo PageSpeed Insights" [ref=f2e3] [cursor=pointer]:
|
||||||
|
- /url: ./
|
||||||
|
- img "PageSpeed Insights logo" [ref=f2e4]
|
||||||
|
- generic [ref=f2e5]: PageSpeed Insights
|
||||||
|
- generic [ref=f2e6]:
|
||||||
|
- button "Copiar enlace" [ref=f2e8]
|
||||||
|
- generic [ref=f2e16]:
|
||||||
|
- generic [ref=f2e18]: Documentos
|
||||||
|
- link "Documentos" [ref=f2e19] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- generic [ref=f2e26]:
|
||||||
|
- generic [ref=f2e27]:
|
||||||
|
- generic [ref=f2e28]: Este sitio usa cookies de Google para ofrecer sus servicios y analizar el tráfico.
|
||||||
|
- generic [ref=f2e29]:
|
||||||
|
- generic [ref=f2e31]:
|
||||||
|
- generic [ref=f2e33]: Más información
|
||||||
|
- link "Más información" [ref=f2e34] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/technologies/cookies
|
||||||
|
- button "Entendido" [ref=f2e36]
|
||||||
|
- generic [ref=f2e40]: Informe del 20 jul 2026, 17:18:18
|
||||||
|
- generic [ref=f2e41]:
|
||||||
|
- generic [ref=f2e42]:
|
||||||
|
- textbox [active] [ref=f2e44]:
|
||||||
|
- /placeholder: Escribe la URL de una página web
|
||||||
|
- text: https://mnq.elkazurrotaberna.es/
|
||||||
|
- paragraph [ref=f2e46]: Introduce una URL válida
|
||||||
|
- button "Analizar" [ref=f2e48]
|
||||||
|
- generic [ref=f2e54]:
|
||||||
|
- tablist [ref=f2e55]:
|
||||||
|
- generic [ref=f2e58]:
|
||||||
|
- tab "Móvil" [selected] [ref=f2e59] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: smartphone
|
||||||
|
- generic: Móvil
|
||||||
|
- tab "Ordenador" [ref=f2e61] [cursor=pointer]:
|
||||||
|
- generic:
|
||||||
|
- generic: computer
|
||||||
|
- generic: Ordenador
|
||||||
|
- tabpanel "Móvil" [ref=f2e63]:
|
||||||
|
- generic [ref=f2e65]:
|
||||||
|
- generic [ref=f2e67]:
|
||||||
|
- generic [ref=f2e68]:
|
||||||
|
- generic [ref=f2e69]: Descubre lo que experimentan tus usuarios reales
|
||||||
|
- generic [ref=f2e71]:
|
||||||
|
- button "button" [ref=f2e73] [cursor=pointer]
|
||||||
|
- generic [ref=f2e77]: No hay datos
|
||||||
|
- separator [ref=f2e78]
|
||||||
|
- generic [ref=f2e79]:
|
||||||
|
- generic [ref=f2e80]: Diagnostica problemas de rendimiento
|
||||||
|
- article [ref=f2e86]:
|
||||||
|
- generic [ref=f2e87]:
|
||||||
|
- generic [ref=f2e92]:
|
||||||
|
- link "88 Rendimiento" [ref=f2e93] [cursor=pointer]:
|
||||||
|
- /url: "#performance"
|
||||||
|
- generic [ref=f2e98]: "88"
|
||||||
|
- generic [ref=f2e99]: Rendimiento
|
||||||
|
- link "100 Accesibilidad" [ref=f2e100] [cursor=pointer]:
|
||||||
|
- /url: "#accessibility"
|
||||||
|
- generic [ref=f2e105]: "100"
|
||||||
|
- generic [ref=f2e106]: Accesibilidad
|
||||||
|
- link "100 Prácticas recomendadas" [ref=f2e107] [cursor=pointer]:
|
||||||
|
- /url: "#best-practices"
|
||||||
|
- generic [ref=f2e112]: "100"
|
||||||
|
- generic [ref=f2e113]: Prácticas recomendadas
|
||||||
|
- link "100 SEO" [ref=f2e114] [cursor=pointer]:
|
||||||
|
- /url: "#seo"
|
||||||
|
- generic [ref=f2e119]: "100"
|
||||||
|
- generic [ref=f2e120]: SEO
|
||||||
|
- link "2/3 Navegación agéntica" [ref=f2e121] [cursor=pointer]:
|
||||||
|
- /url: "#agentic-browsing"
|
||||||
|
- generic [ref=f2e122]: 2/3
|
||||||
|
- generic [ref=f2e126]: Navegación agéntica
|
||||||
|
- generic [ref=f2e128]:
|
||||||
|
- generic [ref=f2e130]:
|
||||||
|
- generic [ref=f2e131]:
|
||||||
|
- generic [ref=f2e132]:
|
||||||
|
- img [ref=f2e136]:
|
||||||
|
- generic [ref=f2e137]: "88"
|
||||||
|
- generic [ref=f2e142]:
|
||||||
|
- generic:
|
||||||
|
- generic: FCP
|
||||||
|
- generic: "+6"
|
||||||
|
- generic:
|
||||||
|
- generic: LCP
|
||||||
|
- generic: "+17"
|
||||||
|
- generic:
|
||||||
|
- generic: TBT
|
||||||
|
- generic: "+30"
|
||||||
|
- generic:
|
||||||
|
- generic: CLS
|
||||||
|
- generic: "+25"
|
||||||
|
- generic:
|
||||||
|
- generic: SI
|
||||||
|
- generic: "+10"
|
||||||
|
- generic [ref=f2e144]: Rendimiento
|
||||||
|
- generic [ref=f2e146]:
|
||||||
|
- generic [ref=f2e147]:
|
||||||
|
- text: Los valores son estimaciones y pueden variar. La
|
||||||
|
- link "puntuación del rendimiento se calcula" [ref=f2e148] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: directamente a partir de estas métricas.
|
||||||
|
- link "Ver calculadora." [ref=f2e149] [cursor=pointer]:
|
||||||
|
- /url: https://googlechrome.github.io/lighthouse/scorecalc/#FCP=2706&LCP=3302&TBT=0&CLS=0&SI=2706&TTI=3302&device=mobile&version=13.4.0
|
||||||
|
- generic [ref=f2e151]:
|
||||||
|
- generic [ref=f2e152]: 0–49
|
||||||
|
- generic [ref=f2e153]: 50–89
|
||||||
|
- generic [ref=f2e154]: 90–100
|
||||||
|
- img "Final Screenshot" [ref=f2e157]
|
||||||
|
- generic [ref=f2e158]:
|
||||||
|
- checkbox "Toggle the display of metric descriptions" [ref=f2e159]
|
||||||
|
- generic [ref=f2e160]:
|
||||||
|
- generic [ref=f2e161]: Métricas
|
||||||
|
- generic [ref=f2e162] [cursor=pointer]: Ampliar vista
|
||||||
|
- generic [ref=f2e163]:
|
||||||
|
- generic [ref=f2e165]:
|
||||||
|
- generic [ref=f2e167]: First Contentful Paint
|
||||||
|
- generic [ref=f2e168]: 2,7 s
|
||||||
|
- generic [ref=f2e170]:
|
||||||
|
- generic [ref=f2e172]: Renderizado del mayor elemento con contenido
|
||||||
|
- generic [ref=f2e173]: 3,3 s
|
||||||
|
- generic [ref=f2e175]:
|
||||||
|
- generic [ref=f2e177]: Total Blocking Time
|
||||||
|
- generic [ref=f2e178]: 0 ms
|
||||||
|
- generic [ref=f2e180]:
|
||||||
|
- generic [ref=f2e182]: Cambios de diseño acumulados
|
||||||
|
- generic [ref=f2e183]: "0.003"
|
||||||
|
- generic [ref=f2e185]:
|
||||||
|
- generic [ref=f2e187]: Speed Index
|
||||||
|
- generic [ref=f2e188]: 2,7 s
|
||||||
|
- list [ref=f2e189]:
|
||||||
|
- listitem [ref=f2e190]: Captured at 20 jul 2026, 17:18 CEST
|
||||||
|
- listitem [ref=f2e191]: Moto G Power emulado with Lighthouse 13.4.0
|
||||||
|
- listitem [ref=f2e192]: Sesión de una sola página
|
||||||
|
- listitem [ref=f2e193]: Carga inicial de la página
|
||||||
|
- listitem [ref=f2e194]: Limitación de 4G lenta
|
||||||
|
- listitem [ref=f2e195]: Using HeadlessChromium 149.0.7827.155 with lr
|
||||||
|
- button "Ver gráfico de rectángulos" [ref=f2e197] [cursor=pointer]
|
||||||
|
- generic [ref=f2e199]:
|
||||||
|
- img "Screenshot" [ref=f2e201]
|
||||||
|
- img "Screenshot" [ref=f2e203]
|
||||||
|
- img "Screenshot" [ref=f2e205]
|
||||||
|
- img "Screenshot" [ref=f2e207]
|
||||||
|
- img "Screenshot" [ref=f2e209]
|
||||||
|
- img "Screenshot" [ref=f2e211]
|
||||||
|
- img "Screenshot" [ref=f2e213]
|
||||||
|
- img "Screenshot" [ref=f2e215]
|
||||||
|
- generic [ref=f2e216]:
|
||||||
|
- generic [ref=f2e217]:
|
||||||
|
- generic [ref=f2e218]: "Mostrar auditorías relacionadas con:"
|
||||||
|
- radio "All" [checked] [ref=f2e219]
|
||||||
|
- generic [ref=f2e220] [cursor=pointer]: All
|
||||||
|
- radio "FCP" [ref=f2e221]
|
||||||
|
- generic "First Contentful Paint" [ref=f2e222] [cursor=pointer]: FCP
|
||||||
|
- radio "LCP" [ref=f2e223]
|
||||||
|
- generic "Renderizado del mayor elemento con contenido" [ref=f2e224] [cursor=pointer]: LCP
|
||||||
|
- radio "TBT" [ref=f2e225]
|
||||||
|
- generic "Total Blocking Time" [ref=f2e226] [cursor=pointer]: TBT
|
||||||
|
- radio "CLS" [ref=f2e227]
|
||||||
|
- generic "Cambios de diseño acumulados" [ref=f2e228] [cursor=pointer]: CLS
|
||||||
|
- generic [ref=f2e229]:
|
||||||
|
- generic [ref=f2e230]: Estadísticas
|
||||||
|
- group [ref=f2e232]:
|
||||||
|
- generic "Mejorar la entrega de imágenes —Ahorro estimado de 535 KiB" [ref=f2e233] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e236]:
|
||||||
|
- generic [ref=f2e237]: Mejorar la entrega de imágenes
|
||||||
|
- text: —Ahorro estimado de 535 KiB
|
||||||
|
- group [ref=f2e244]:
|
||||||
|
- generic "Árbol de dependencia de red" [ref=f2e245] [cursor=pointer]
|
||||||
|
- group [ref=f2e256]:
|
||||||
|
- generic "Latencia de solicitud del documento —Ahorro estimado de 16 KiB" [ref=f2e257] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e260]:
|
||||||
|
- generic [ref=f2e261]: Latencia de solicitud del documento
|
||||||
|
- text: —Ahorro estimado de 16 KiB
|
||||||
|
- group [ref=f2e268]:
|
||||||
|
- generic "Solicitudes que bloquean el renderizado" [ref=f2e269] [cursor=pointer]
|
||||||
|
- group [ref=f2e280]:
|
||||||
|
- generic "Causantes de los cambios de diseño" [ref=f2e281] [cursor=pointer]
|
||||||
|
- group [ref=f2e292]:
|
||||||
|
- generic "Optimizar tamaño del DOM" [ref=f2e293] [cursor=pointer]
|
||||||
|
- group [ref=f2e304]:
|
||||||
|
- generic "Desglose de LCP" [ref=f2e305] [cursor=pointer]
|
||||||
|
- group [ref=f2e316]:
|
||||||
|
- generic "Terceros" [ref=f2e317] [cursor=pointer]
|
||||||
|
- generic [ref=f2e327]:
|
||||||
|
- text: Estas estadísticas también están disponibles en el panel Rendimiento de Chrome DevTools.
|
||||||
|
- link "Graba una traza" [ref=f2e328] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/devtools/performance/reference?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: para ver información más detallada.
|
||||||
|
- generic [ref=f2e329]:
|
||||||
|
- generic [ref=f2e330]: Diagnósticos
|
||||||
|
- group [ref=f2e332]:
|
||||||
|
- generic "Reduce el contenido CSS que no se use —Ahorro estimado de 12 KiB" [ref=f2e333] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e336]:
|
||||||
|
- generic [ref=f2e337]: Reduce el contenido CSS que no se use
|
||||||
|
- text: —Ahorro estimado de 12 KiB
|
||||||
|
- group [ref=f2e344]:
|
||||||
|
- generic "Evita tareas largas del hilo principal —1 tarea larga encontrada" [ref=f2e345] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e348]:
|
||||||
|
- generic [ref=f2e349]: Evita tareas largas del hilo principal
|
||||||
|
- text: —1 tarea larga encontrada
|
||||||
|
- generic [ref=f2e355]:
|
||||||
|
- text: Consulta más información sobre el rendimiento de tu aplicación. Estos datos no
|
||||||
|
- link "afectan directamente" [ref=f2e356] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: a la puntuación del rendimiento.
|
||||||
|
- group [ref=f2e358]:
|
||||||
|
- generic "Auditorías aprobadas (17) Mostrar" [ref=f2e359] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e360]:
|
||||||
|
- generic [ref=f2e361]: Auditorías aprobadas (17)
|
||||||
|
- generic [ref=f2e362]: Mostrar
|
||||||
|
- text: — — —
|
||||||
|
- generic [ref=f2e364]:
|
||||||
|
- generic [ref=f2e365]:
|
||||||
|
- heading "100 Accesibilidad" [level=2] [ref=f2e366]:
|
||||||
|
- generic [ref=f2e367]:
|
||||||
|
- generic [ref=f2e372]: "100"
|
||||||
|
- generic [ref=f2e373]: Accesibilidad
|
||||||
|
- generic [ref=f2e375]:
|
||||||
|
- text: Estas comprobaciones permiten identificar oportunidades para
|
||||||
|
- link "mejorar la accesibilidad de tu aplicación web" [ref=f2e376] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/docs/lighthouse/accessibility/?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: . La detección automática solo puede detectar un subconjunto de problemas y no garantiza la accesibilidad de tu aplicación web, por lo que también te recomendamos que hagas
|
||||||
|
- link "pruebas manuales" [ref=f2e377] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- generic [ref=f2e379]:
|
||||||
|
- generic [ref=f2e380]: Prácticas recomendadas
|
||||||
|
- group [ref=f2e382]:
|
||||||
|
- generic "Los enlaces idénticos tienen la misma finalidad." [ref=f2e383] [cursor=pointer]
|
||||||
|
- generic [ref=f2e393]: Estos elementos destacan las prácticas recomendadas de accesibilidad más habituales.
|
||||||
|
- generic [ref=f2e394]:
|
||||||
|
- group [ref=f2e395]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (10) Mostrar" [ref=f2e396] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e397]:
|
||||||
|
- generic [ref=f2e398]: Elementos adicionales que se deben comprobar manualmente (10)
|
||||||
|
- generic [ref=f2e399]: Mostrar
|
||||||
|
- generic [ref=f2e400]:
|
||||||
|
- text: Estos elementos se ocupan de áreas que las herramientas de prueba automáticas no pueden analizar. Consulta más información sobre cómo
|
||||||
|
- link "revisar la accesibilidad" [ref=f2e401] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/articles/how-to-review?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: en nuestra guía.
|
||||||
|
- group [ref=f2e403]:
|
||||||
|
- generic "Auditorías aprobadas (23) Mostrar" [ref=f2e404] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e405]:
|
||||||
|
- generic [ref=f2e406]: Auditorías aprobadas (23)
|
||||||
|
- generic [ref=f2e407]: Mostrar
|
||||||
|
- group [ref=f2e409]:
|
||||||
|
- generic "No aplicable (39) Mostrar" [ref=f2e410] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e411]:
|
||||||
|
- generic [ref=f2e412]: No aplicable (39)
|
||||||
|
- generic [ref=f2e413]: Mostrar
|
||||||
|
- generic [ref=f2e415]:
|
||||||
|
- heading "100 Prácticas recomendadas" [level=2] [ref=f2e417]:
|
||||||
|
- generic [ref=f2e418]:
|
||||||
|
- generic [ref=f2e423]: "100"
|
||||||
|
- generic [ref=f2e424]: Prácticas recomendadas
|
||||||
|
- generic [ref=f2e425]:
|
||||||
|
- generic [ref=f2e426]:
|
||||||
|
- generic [ref=f2e427]: Confianza y seguridad
|
||||||
|
- group [ref=f2e429]:
|
||||||
|
- generic "Asegura que la CSP sea efectiva frente a ataques XSS" [ref=f2e430] [cursor=pointer]
|
||||||
|
- group [ref=f2e441]:
|
||||||
|
- generic "Usa una política de HSTS sólida" [ref=f2e442] [cursor=pointer]
|
||||||
|
- group [ref=f2e453]:
|
||||||
|
- generic "Asegúrate de que el aislamiento de orígenes sea adecuado con COOP" [ref=f2e454] [cursor=pointer]
|
||||||
|
- group [ref=f2e465]:
|
||||||
|
- generic "Mitiga el secuestro de clics con XFO o CSP" [ref=f2e466] [cursor=pointer]
|
||||||
|
- group [ref=f2e477]:
|
||||||
|
- generic "Mitigar el XSS basado en DOM con Trusted Types" [ref=f2e478] [cursor=pointer]
|
||||||
|
- generic [ref=f2e488]:
|
||||||
|
- generic [ref=f2e489]: Compatibilidad con navegadores
|
||||||
|
- group [ref=f2e491]:
|
||||||
|
- generic "Funciones de Baseline" [ref=f2e492] [cursor=pointer]
|
||||||
|
- group [ref=f2e503]:
|
||||||
|
- generic "Auditorías aprobadas (13) Mostrar" [ref=f2e504] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e505]:
|
||||||
|
- generic [ref=f2e506]: Auditorías aprobadas (13)
|
||||||
|
- generic [ref=f2e507]: Mostrar
|
||||||
|
- group [ref=f2e509]:
|
||||||
|
- generic "No aplicable (2) Mostrar" [ref=f2e510] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e511]:
|
||||||
|
- generic [ref=f2e512]: No aplicable (2)
|
||||||
|
- generic [ref=f2e513]: Mostrar
|
||||||
|
- generic [ref=f2e515]:
|
||||||
|
- generic [ref=f2e516]:
|
||||||
|
- heading "100 SEO" [level=2] [ref=f2e517]:
|
||||||
|
- generic [ref=f2e518]:
|
||||||
|
- generic [ref=f2e523]: "100"
|
||||||
|
- generic [ref=f2e524]: SEO
|
||||||
|
- generic [ref=f2e526]:
|
||||||
|
- text: Estas comprobaciones aseguran que tu página siga las recomendaciones básicas sobre optimización en buscadores. Hay muchos otros factores adicionales que Lighthouse no valora aquí y que pueden afectar a tu posicionamiento en las búsquedas, como el rendimiento en las
|
||||||
|
- link "Métricas web principales" [ref=f2e527] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/explore/vitals?utm_source=lighthouse&utm_medium=lr
|
||||||
|
- text: .
|
||||||
|
- link "Consulta más información sobre las Directrices básicas de la Búsqueda de Google" [ref=f2e528] [cursor=pointer]:
|
||||||
|
- /url: https://support.google.com/webmasters/answer/35769
|
||||||
|
- text: .
|
||||||
|
- generic [ref=f2e529]:
|
||||||
|
- group [ref=f2e530]:
|
||||||
|
- generic "Elementos adicionales que se deben comprobar manualmente (1) Ocultar" [ref=f2e531] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e532]:
|
||||||
|
- generic [ref=f2e533]: Elementos adicionales que se deben comprobar manualmente (1)
|
||||||
|
- generic [ref=f2e534]: Ocultar
|
||||||
|
- group [ref=f2e537]:
|
||||||
|
- generic "Los datos estructurados son válidos" [ref=f2e538] [cursor=pointer]
|
||||||
|
- generic [ref=f2e548]: Ejecuta estos validadores adicionales en tu sitio web para comprobar más prácticas recomendadas de SEO.
|
||||||
|
- group [ref=f2e550]:
|
||||||
|
- generic "Auditorías aprobadas (10) Mostrar" [ref=f2e551] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e552]:
|
||||||
|
- generic [ref=f2e553]: Auditorías aprobadas (10)
|
||||||
|
- generic [ref=f2e554]: Mostrar
|
||||||
|
- generic [ref=f2e556]:
|
||||||
|
- generic [ref=f2e557]:
|
||||||
|
- heading "2/3 Navegación agéntica" [level=2] [ref=f2e558]:
|
||||||
|
- generic [ref=f2e559]:
|
||||||
|
- generic [ref=f2e560]: 2/3
|
||||||
|
- generic [ref=f2e564]: Navegación agéntica
|
||||||
|
- generic [ref=f2e566]:
|
||||||
|
- text: Estas comprobaciones aseguran unos
|
||||||
|
- link "sitios web de alta calidad en los que los agentes de IA puedan navegar" [ref=f2e567] [cursor=pointer]:
|
||||||
|
- /url: https://goo.gle/lighthouse-agentic-web
|
||||||
|
- text: ", y validan que las integraciones de WebMCP sean correctas. Esta categoría aún está en desarrollo y puede cambiar."
|
||||||
|
- generic [ref=f2e569]:
|
||||||
|
- generic [ref=f2e570]: Accesibilidad del agente
|
||||||
|
- group [ref=f2e572]:
|
||||||
|
- generic "llms.txt no sigue las recomendaciones" [ref=f2e573] [cursor=pointer]
|
||||||
|
- generic [ref=f2e583]: Estas auditorías destacan las prácticas recomendadas para mejorar la accesibilidad del sitio web para los agentes de IA.
|
||||||
|
- group [ref=f2e585]:
|
||||||
|
- generic "Auditorías aprobadas (2) Mostrar" [ref=f2e586] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e587]:
|
||||||
|
- generic [ref=f2e588]: Auditorías aprobadas (2)
|
||||||
|
- generic [ref=f2e589]: Mostrar
|
||||||
|
- text: — —
|
||||||
|
- group [ref=f2e591]:
|
||||||
|
- generic "No aplicable (3) Mostrar" [ref=f2e592] [cursor=pointer]:
|
||||||
|
- generic [ref=f2e593]:
|
||||||
|
- generic [ref=f2e594]: No aplicable (3)
|
||||||
|
- generic [ref=f2e595]: Mostrar
|
||||||
|
- text: — — — — — — —
|
||||||
|
- contentinfo [ref=f2e596]:
|
||||||
|
- generic [ref=f2e597]:
|
||||||
|
- generic [ref=f2e598]:
|
||||||
|
- generic [ref=f2e599]:
|
||||||
|
- generic [ref=f2e600]: Más información en PageSpeed Insights
|
||||||
|
- link "Novedades" [ref=f2e602] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/release_notes
|
||||||
|
- link "Documentación" [ref=f2e604] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed/docs/insights/v5/about
|
||||||
|
- link "Más información sobre el rendimiento web" [ref=f2e606] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/speed
|
||||||
|
- link "Haz preguntas en Stack Overflow" [ref=f2e608] [cursor=pointer]:
|
||||||
|
- /url: https://stackoverflow.com/questions/tagged/pagespeed-insights
|
||||||
|
- link "Lista de distribución" [ref=f2e610] [cursor=pointer]:
|
||||||
|
- /url: https://groups.google.com/g/pagespeed-insights-discuss
|
||||||
|
- generic [ref=f2e611]:
|
||||||
|
- generic [ref=f2e612]: Contenido relacionado
|
||||||
|
- link "Actualizaciones" [ref=f2e614] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/blog
|
||||||
|
- link "Aspectos básicos de la Web" [ref=f2e616] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/focus/web-development
|
||||||
|
- link "Casos de éxito" [ref=f2e618] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/case-studies
|
||||||
|
- link "Pódcasts" [ref=f2e620] [cursor=pointer]:
|
||||||
|
- /url: https://web.dev/shows
|
||||||
|
- generic [ref=f2e621]:
|
||||||
|
- generic [ref=f2e622]: Contacto
|
||||||
|
- link "Twitter" [ref=f2e624] [cursor=pointer]:
|
||||||
|
- /url: https://twitter.com/ChromiumDev
|
||||||
|
- link "YouTube" [ref=f2e626] [cursor=pointer]:
|
||||||
|
- /url: https://www.youtube.com/user/ChromeDevelopers
|
||||||
|
- generic [ref=f2e627]:
|
||||||
|
- link [ref=f2e628] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/
|
||||||
|
- img "Google Developers Logo" [ref=f2e629]
|
||||||
|
- link "Chrome" [ref=f2e630] [cursor=pointer]:
|
||||||
|
- /url: https://developer.chrome.com/
|
||||||
|
- link "Firebase" [ref=f2e631] [cursor=pointer]:
|
||||||
|
- /url: https://firebase.google.com/
|
||||||
|
- link "Todos los productos" [ref=f2e632] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/products/
|
||||||
|
- generic [ref=f2e633]:
|
||||||
|
- link "Política de Términos y Privacidad" [ref=f2e635] [cursor=pointer]:
|
||||||
|
- /url: https://policies.google.com/
|
||||||
|
- generic [ref=f2e636]:
|
||||||
|
- text: Para obtener más información, consulta las
|
||||||
|
- link "Políticas del Sitio Google Developers" [ref=f2e637] [cursor=pointer]:
|
||||||
|
- /url: https://developers.google.com/terms/site-policies
|
||||||
|
- text: .
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- progressbar "Progreso de lectura"
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- generic [ref=e3]:
|
||||||
|
- link "MNQ Catering y Eventos — inicio" [ref=e4] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e5]
|
||||||
|
- navigation "Principal" [ref=e6]:
|
||||||
|
- link "Bodas" [ref=e7] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e8] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e9] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e10] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- link "Contacto" [ref=e11] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e13] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- text: WhatsApp
|
||||||
|
- main [ref=e14]:
|
||||||
|
- generic [ref=e17]:
|
||||||
|
- generic [ref=e18]:
|
||||||
|
- generic [ref=e19]: Nuestra Esencia
|
||||||
|
- heading "Hospitalidad con oficio, calma y cercanía." [level=1] [ref=e20]
|
||||||
|
- paragraph [ref=e21]: "En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural."
|
||||||
|
- generic [ref=e22]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e24]
|
||||||
|
- paragraph [ref=e26]: "\"Detrás de cada servicio hay manos reales, ritmo y mucho cuidado.\""
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- heading "Filosofía de servicio" [level=2] [ref=e30]
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- paragraph [ref=e32]: "Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento."
|
||||||
|
- paragraph [ref=e33]: Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.
|
||||||
|
- link "Explorar propuesta gastronómica" [ref=e35] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- generic [ref=e37]:
|
||||||
|
- generic [ref=e38]:
|
||||||
|
- generic [ref=e39]: Pilares de Marca
|
||||||
|
- heading "Valores que nos definen" [level=2] [ref=e40]
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- heading "Calidad" [level=3] [ref=e46]
|
||||||
|
- paragraph [ref=e47]: Innegociable. Desde la frescura del producto hasta el último detalle del servicio de sala.
|
||||||
|
- generic [ref=e48]:
|
||||||
|
- heading "Tradición" [level=3] [ref=e52]
|
||||||
|
- paragraph [ref=e53]: Honramos las técnicas clásicas que han forjado la gran cocina, aplicándolas con respeto.
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- heading "Vanguardia" [level=3] [ref=e64]
|
||||||
|
- paragraph [ref=e65]: Innovamos en presentaciones y texturas para sorprender a los paladares contemporáneos.
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]:
|
||||||
|
- generic [ref=e70]:
|
||||||
|
- generic [ref=e71]: El Equipo
|
||||||
|
- heading "Personas reales detrás de cada servicio" [level=2] [ref=e72]
|
||||||
|
- paragraph [ref=e73]: Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.
|
||||||
|
- paragraph [ref=e74]: "Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato."
|
||||||
|
- generic [ref=e75]:
|
||||||
|
- generic [ref=e76]:
|
||||||
|
- generic [ref=e77]: Cercanía
|
||||||
|
- paragraph [ref=e78]: Comunicación clara y acompañamiento real durante todo el proceso.
|
||||||
|
- generic [ref=e79]:
|
||||||
|
- generic [ref=e80]: Coordinación
|
||||||
|
- paragraph [ref=e81]: Cocina, sala y montaje trabajando con un mismo ritmo.
|
||||||
|
- generic [ref=e82]:
|
||||||
|
- generic [ref=e83]: Presencia
|
||||||
|
- paragraph [ref=e84]: Un servicio atento y discreto para que el evento fluya sin tensión.
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e86] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento
|
||||||
|
- text: Hablar con el equipo
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- figure "Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente." [ref=e88]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e90]
|
||||||
|
- generic [ref=e92]:
|
||||||
|
- figure "Montaje, tiempos y atención coordinados con naturalidad." [ref=e93]:
|
||||||
|
- img "Montaje y coordinación del servicio de MNQ" [ref=e95]
|
||||||
|
- figure "Cocina en movimiento, detalle en cada pase." [ref=e97]:
|
||||||
|
- img "Preparación gastronómica del equipo de MNQ" [ref=e99]
|
||||||
|
- figure "Una presencia cercana que acompaña sin invadir." [ref=e101]:
|
||||||
|
- img "Momento cercano del equipo de MNQ" [ref=e103]
|
||||||
|
- generic [ref=e107]:
|
||||||
|
- heading "¿Planeamos algo extraordinario?" [level=2] [ref=e108]
|
||||||
|
- paragraph [ref=e109]: Estamos listos para transformar su visión en una realidad gastronómica sin precedentes.
|
||||||
|
- link "Solicitar Dosier Exclusivo" [ref=e110] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- contentinfo [ref=e111]:
|
||||||
|
- generic [ref=e112]:
|
||||||
|
- generic [ref=e113]:
|
||||||
|
- generic [ref=e114]:
|
||||||
|
- link "MNQ Catering y Eventos" [ref=e115] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e116]
|
||||||
|
- paragraph [ref=e117]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.
|
||||||
|
- generic [ref=e118]:
|
||||||
|
- link "+34 678 17 15 13" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: tel:+34678171513
|
||||||
|
- link "mnq.elkazurrotaberna.es" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://mnq.elkazurrotaberna.es
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- generic [ref=e122]:
|
||||||
|
- generic [ref=e123]: Servicios
|
||||||
|
- link "Bodas Reales" [ref=e124] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e126] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e127] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- generic [ref=e128]:
|
||||||
|
- generic [ref=e129]: Compañía
|
||||||
|
- link "Contacto" [ref=e130] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e131] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513
|
||||||
|
- text: WhatsApp
|
||||||
|
- link "Aviso legal" [ref=e132] [cursor=pointer]:
|
||||||
|
- /url: /aviso-legal
|
||||||
|
- link "Privacidad" [ref=e133] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- link "Cookies" [ref=e134] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- paragraph [ref=e136]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e137] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- generic [ref=e138]: Contactar por WhatsApp
|
||||||
|
- generic [ref=e143]:
|
||||||
|
- paragraph [ref=e144]:
|
||||||
|
- text: Este sitio utiliza almacenamiento técnico necesario para funcionar y mostrar este aviso. Si en el futuro activamos analítica respetuosa con la privacidad o medidas antiabuso, lo detallaremos en
|
||||||
|
- link "Cookies" [ref=e145] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- text: "y"
|
||||||
|
- link "Privacidad" [ref=e146] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e147]:
|
||||||
|
- link "Ver detalle" [ref=e148] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- button "Entendido" [ref=e149] [cursor=pointer]
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- progressbar "Progreso de lectura"
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- generic [ref=e3]:
|
||||||
|
- link "MNQ Catering y Eventos — inicio" [ref=e4] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e5]
|
||||||
|
- navigation "Principal" [ref=e6]:
|
||||||
|
- link "Bodas" [ref=e7] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e8] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e9] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e10] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- link "Contacto" [ref=e11] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e13] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- text: WhatsApp
|
||||||
|
- main [ref=e14]:
|
||||||
|
- generic [ref=e17]:
|
||||||
|
- generic [ref=e18]:
|
||||||
|
- generic [ref=e19]: Nuestra Esencia
|
||||||
|
- heading "Hospitalidad con oficio, calma y cercanía." [level=1] [ref=e20]
|
||||||
|
- paragraph [ref=e21]: "En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural."
|
||||||
|
- generic [ref=e22]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e24]
|
||||||
|
- paragraph [ref=e26]: "\"Detrás de cada servicio hay manos reales, ritmo y mucho cuidado.\""
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- heading "Filosofía de servicio" [level=2] [ref=e30]
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- paragraph [ref=e32]: "Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento."
|
||||||
|
- paragraph [ref=e33]: Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.
|
||||||
|
- link "Explorar propuesta gastronómica" [ref=e35] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- generic [ref=e37]:
|
||||||
|
- generic [ref=e38]:
|
||||||
|
- generic [ref=e39]: Pilares de Marca
|
||||||
|
- heading "Valores que nos definen" [level=2] [ref=e40]
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- heading "Calidad" [level=3] [ref=e46]
|
||||||
|
- paragraph [ref=e47]: Innegociable. Desde la frescura del producto hasta el último detalle del servicio de sala.
|
||||||
|
- generic [ref=e48]:
|
||||||
|
- heading "Tradición" [level=3] [ref=e52]
|
||||||
|
- paragraph [ref=e53]: Honramos las técnicas clásicas que han forjado la gran cocina, aplicándolas con respeto.
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- heading "Vanguardia" [level=3] [ref=e64]
|
||||||
|
- paragraph [ref=e65]: Innovamos en presentaciones y texturas para sorprender a los paladares contemporáneos.
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]:
|
||||||
|
- generic [ref=e70]:
|
||||||
|
- generic [ref=e71]: El Equipo
|
||||||
|
- heading "Personas reales detrás de cada servicio" [level=2] [ref=e72]
|
||||||
|
- paragraph [ref=e73]: Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.
|
||||||
|
- paragraph [ref=e74]: "Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato."
|
||||||
|
- generic [ref=e75]:
|
||||||
|
- generic [ref=e76]:
|
||||||
|
- generic [ref=e77]: Cercanía
|
||||||
|
- paragraph [ref=e78]: Comunicación clara y acompañamiento real durante todo el proceso.
|
||||||
|
- generic [ref=e79]:
|
||||||
|
- generic [ref=e80]: Coordinación
|
||||||
|
- paragraph [ref=e81]: Cocina, sala y montaje trabajando con un mismo ritmo.
|
||||||
|
- generic [ref=e82]:
|
||||||
|
- generic [ref=e83]: Presencia
|
||||||
|
- paragraph [ref=e84]: Un servicio atento y discreto para que el evento fluya sin tensión.
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e86] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento
|
||||||
|
- text: Hablar con el equipo
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- figure "Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente." [ref=e88]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e90]
|
||||||
|
- generic [ref=e92]:
|
||||||
|
- figure "Montaje, tiempos y atención coordinados con naturalidad." [ref=e93]:
|
||||||
|
- img "Montaje y coordinación del servicio de MNQ" [ref=e95]
|
||||||
|
- figure "Cocina en movimiento, detalle en cada pase." [ref=e97]:
|
||||||
|
- img "Preparación gastronómica del equipo de MNQ" [ref=e99]
|
||||||
|
- figure "Una presencia cercana que acompaña sin invadir." [ref=e101]:
|
||||||
|
- img "Momento cercano del equipo de MNQ" [ref=e103]
|
||||||
|
- generic [ref=e107]:
|
||||||
|
- heading "¿Planeamos algo extraordinario?" [level=2] [ref=e108]
|
||||||
|
- paragraph [ref=e109]: Estamos listos para transformar su visión en una realidad gastronómica sin precedentes.
|
||||||
|
- link "Solicitar Dosier Exclusivo" [ref=e110] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- contentinfo [ref=e111]:
|
||||||
|
- generic [ref=e112]:
|
||||||
|
- generic [ref=e113]:
|
||||||
|
- generic [ref=e114]:
|
||||||
|
- link "MNQ Catering y Eventos" [ref=e115] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e116]
|
||||||
|
- paragraph [ref=e117]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.
|
||||||
|
- generic [ref=e118]:
|
||||||
|
- link "+34 678 17 15 13" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: tel:+34678171513
|
||||||
|
- link "mnq.elkazurrotaberna.es" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://mnq.elkazurrotaberna.es
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- generic [ref=e122]:
|
||||||
|
- generic [ref=e123]: Servicios
|
||||||
|
- link "Bodas Reales" [ref=e124] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e126] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e127] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- generic [ref=e128]:
|
||||||
|
- generic [ref=e129]: Compañía
|
||||||
|
- link "Contacto" [ref=e130] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e131] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513
|
||||||
|
- text: WhatsApp
|
||||||
|
- link "Aviso legal" [ref=e132] [cursor=pointer]:
|
||||||
|
- /url: /aviso-legal
|
||||||
|
- link "Privacidad" [ref=e133] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- link "Cookies" [ref=e134] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- paragraph [ref=e136]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e137] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- generic [ref=e138]: Contactar por WhatsApp
|
||||||
|
- generic [ref=e143]:
|
||||||
|
- paragraph [ref=e144]:
|
||||||
|
- text: Este sitio utiliza almacenamiento técnico necesario para funcionar y mostrar este aviso. Si en el futuro activamos analítica respetuosa con la privacidad o medidas antiabuso, lo detallaremos en
|
||||||
|
- link "Cookies" [ref=e145] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- text: "y"
|
||||||
|
- link "Privacidad" [ref=e146] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- text: .
|
||||||
|
- generic [ref=e147]:
|
||||||
|
- link "Ver detalle" [ref=e148] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- button "Entendido" [ref=e149] [cursor=pointer]
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- progressbar "Progreso de lectura" [ref=e150]
|
||||||
|
- banner [ref=e2]:
|
||||||
|
- generic [ref=e3]:
|
||||||
|
- link "MNQ Catering y Eventos — inicio" [ref=e4] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e5]
|
||||||
|
- navigation "Principal" [ref=e6]:
|
||||||
|
- link "Bodas" [ref=e7] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e8] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e9] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e10] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- link "Contacto" [ref=e11] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e13] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- text: WhatsApp
|
||||||
|
- main [ref=e14]:
|
||||||
|
- generic [ref=e17]:
|
||||||
|
- generic [ref=e18]:
|
||||||
|
- generic [ref=e19]: Nuestra Esencia
|
||||||
|
- heading "Hospitalidad con oficio, calma y cercanía." [level=1] [ref=e20]
|
||||||
|
- paragraph [ref=e21]: "En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural."
|
||||||
|
- generic [ref=e22]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e24]
|
||||||
|
- paragraph [ref=e26]: "\"Detrás de cada servicio hay manos reales, ritmo y mucho cuidado.\""
|
||||||
|
- generic [ref=e29]:
|
||||||
|
- heading "Filosofía de servicio" [level=2] [ref=e30]
|
||||||
|
- generic [ref=e31]:
|
||||||
|
- paragraph [ref=e32]: "Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento."
|
||||||
|
- paragraph [ref=e33]: Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.
|
||||||
|
- link "Explorar propuesta gastronómica" [ref=e35] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- generic [ref=e37]:
|
||||||
|
- generic [ref=e38]:
|
||||||
|
- generic [ref=e39]: Pilares de Marca
|
||||||
|
- heading "Valores que nos definen" [level=2] [ref=e40]
|
||||||
|
- generic [ref=e41]:
|
||||||
|
- generic [ref=e42]:
|
||||||
|
- heading "Calidad" [level=3] [ref=e46]
|
||||||
|
- paragraph [ref=e47]: Innegociable. Desde la frescura del producto hasta el último detalle del servicio de sala.
|
||||||
|
- generic [ref=e48]:
|
||||||
|
- heading "Tradición" [level=3] [ref=e52]
|
||||||
|
- paragraph [ref=e53]: Honramos las técnicas clásicas que han forjado la gran cocina, aplicándolas con respeto.
|
||||||
|
- generic [ref=e54]:
|
||||||
|
- heading "Vanguardia" [level=3] [ref=e64]
|
||||||
|
- paragraph [ref=e65]: Innovamos en presentaciones y texturas para sorprender a los paladares contemporáneos.
|
||||||
|
- generic [ref=e68]:
|
||||||
|
- generic [ref=e69]:
|
||||||
|
- generic [ref=e70]:
|
||||||
|
- generic [ref=e71]: El Equipo
|
||||||
|
- heading "Personas reales detrás de cada servicio" [level=2] [ref=e72]
|
||||||
|
- paragraph [ref=e73]: Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.
|
||||||
|
- paragraph [ref=e74]: "Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato."
|
||||||
|
- generic [ref=e75]:
|
||||||
|
- generic [ref=e76]:
|
||||||
|
- generic [ref=e77]: Cercanía
|
||||||
|
- paragraph [ref=e78]: Comunicación clara y acompañamiento real durante todo el proceso.
|
||||||
|
- generic [ref=e79]:
|
||||||
|
- generic [ref=e80]: Coordinación
|
||||||
|
- paragraph [ref=e81]: Cocina, sala y montaje trabajando con un mismo ritmo.
|
||||||
|
- generic [ref=e82]:
|
||||||
|
- generic [ref=e83]: Presencia
|
||||||
|
- paragraph [ref=e84]: Un servicio atento y discreto para que el evento fluya sin tensión.
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e86] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento
|
||||||
|
- text: Hablar con el equipo
|
||||||
|
- generic [ref=e87]:
|
||||||
|
- figure "Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente." [ref=e88]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=e90]
|
||||||
|
- generic [ref=e92]:
|
||||||
|
- figure "Montaje, tiempos y atención coordinados con naturalidad." [ref=e93]:
|
||||||
|
- img "Montaje y coordinación del servicio de MNQ" [ref=e95]
|
||||||
|
- figure "Cocina en movimiento, detalle en cada pase." [ref=e97]:
|
||||||
|
- img "Preparación gastronómica del equipo de MNQ" [ref=e99]
|
||||||
|
- figure "Una presencia cercana que acompaña sin invadir." [ref=e101]:
|
||||||
|
- img "Momento cercano del equipo de MNQ" [ref=e103]
|
||||||
|
- generic [ref=e107]:
|
||||||
|
- heading "¿Planeamos algo extraordinario?" [level=2] [ref=e108]
|
||||||
|
- paragraph [ref=e109]: Estamos listos para transformar su visión en una realidad gastronómica sin precedentes.
|
||||||
|
- link "Solicitar Dosier Exclusivo" [ref=e110] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- contentinfo [ref=e111]:
|
||||||
|
- generic [ref=e112]:
|
||||||
|
- generic [ref=e113]:
|
||||||
|
- generic [ref=e114]:
|
||||||
|
- link "MNQ Catering y Eventos" [ref=e115] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=e116]
|
||||||
|
- paragraph [ref=e117]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.
|
||||||
|
- generic [ref=e118]:
|
||||||
|
- link "+34 678 17 15 13" [ref=e119] [cursor=pointer]:
|
||||||
|
- /url: tel:+34678171513
|
||||||
|
- link "mnq.elkazurrotaberna.es" [ref=e120] [cursor=pointer]:
|
||||||
|
- /url: https://mnq.elkazurrotaberna.es
|
||||||
|
- generic [ref=e121]:
|
||||||
|
- generic [ref=e122]:
|
||||||
|
- generic [ref=e123]: Servicios
|
||||||
|
- link "Bodas Reales" [ref=e124] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=e125] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=e126] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=e127] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- generic [ref=e128]:
|
||||||
|
- generic [ref=e129]: Compañía
|
||||||
|
- link "Contacto" [ref=e130] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e131] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513
|
||||||
|
- text: WhatsApp
|
||||||
|
- link "Aviso legal" [ref=e132] [cursor=pointer]:
|
||||||
|
- /url: /aviso-legal
|
||||||
|
- link "Privacidad" [ref=e133] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- link "Cookies" [ref=e134] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- paragraph [ref=e136]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=e137] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- generic [ref=e138]: Contactar por WhatsApp
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
- generic [active] [ref=f2e1]:
|
||||||
|
- progressbar "Progreso de lectura"
|
||||||
|
- banner [ref=f2e2]:
|
||||||
|
- generic [ref=f2e3]:
|
||||||
|
- link "MNQ Catering y Eventos — inicio" [ref=f2e4] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=f2e5]
|
||||||
|
- button "Abrir menú" [ref=f2e7] [cursor=pointer]
|
||||||
|
- main [ref=f2e11]:
|
||||||
|
- generic [ref=f2e14]:
|
||||||
|
- generic [ref=f2e15]:
|
||||||
|
- generic [ref=f2e16]: Nuestra Esencia
|
||||||
|
- heading "Hospitalidad con oficio, calma y cercanía." [level=1] [ref=f2e17]
|
||||||
|
- paragraph [ref=f2e18]: "En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural."
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=f2e21]
|
||||||
|
- generic [ref=f2e24]:
|
||||||
|
- heading "Filosofía de servicio" [level=2] [ref=f2e25]
|
||||||
|
- generic [ref=f2e26]:
|
||||||
|
- paragraph [ref=f2e27]: "Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento."
|
||||||
|
- paragraph [ref=f2e28]: Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.
|
||||||
|
- link "Explorar propuesta gastronómica" [ref=f2e30] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- generic [ref=f2e32]:
|
||||||
|
- generic [ref=f2e33]:
|
||||||
|
- generic [ref=f2e34]: Pilares de Marca
|
||||||
|
- heading "Valores que nos definen" [level=2] [ref=f2e35]
|
||||||
|
- generic [ref=f2e36]:
|
||||||
|
- generic [ref=f2e37]:
|
||||||
|
- heading "Calidad" [level=3] [ref=f2e41]
|
||||||
|
- paragraph [ref=f2e42]: Innegociable. Desde la frescura del producto hasta el último detalle del servicio de sala.
|
||||||
|
- generic [ref=f2e43]:
|
||||||
|
- heading "Tradición" [level=3] [ref=f2e47]
|
||||||
|
- paragraph [ref=f2e48]: Honramos las técnicas clásicas que han forjado la gran cocina, aplicándolas con respeto.
|
||||||
|
- generic [ref=f2e49]:
|
||||||
|
- heading "Vanguardia" [level=3] [ref=f2e52]
|
||||||
|
- paragraph [ref=f2e53]: Innovamos en presentaciones y texturas para sorprender a los paladares contemporáneos.
|
||||||
|
- generic [ref=f2e56]:
|
||||||
|
- generic [ref=f2e57]:
|
||||||
|
- generic [ref=f2e58]:
|
||||||
|
- generic [ref=f2e59]: El Equipo
|
||||||
|
- heading "Personas reales detrás de cada servicio" [level=2] [ref=f2e60]
|
||||||
|
- paragraph [ref=f2e61]: Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.
|
||||||
|
- paragraph [ref=f2e62]: "Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato."
|
||||||
|
- generic [ref=f2e63]:
|
||||||
|
- generic [ref=f2e64]:
|
||||||
|
- generic [ref=f2e65]: Cercanía
|
||||||
|
- paragraph [ref=f2e66]: Comunicación clara y acompañamiento real durante todo el proceso.
|
||||||
|
- generic [ref=f2e67]:
|
||||||
|
- generic [ref=f2e68]: Coordinación
|
||||||
|
- paragraph [ref=f2e69]: Cocina, sala y montaje trabajando con un mismo ritmo.
|
||||||
|
- generic [ref=f2e70]:
|
||||||
|
- generic [ref=f2e71]: Presencia
|
||||||
|
- paragraph [ref=f2e72]: Un servicio atento y discreto para que el evento fluya sin tensión.
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=f2e74] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento
|
||||||
|
- text: Hablar con el equipo
|
||||||
|
- generic [ref=f2e75]:
|
||||||
|
- figure "Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente." [ref=f2e76]:
|
||||||
|
- img "Equipo de MNQ durante un servicio" [ref=f2e78]
|
||||||
|
- generic [ref=f2e80]:
|
||||||
|
- figure "Montaje, tiempos y atención coordinados con naturalidad." [ref=f2e81]:
|
||||||
|
- img "Montaje y coordinación del servicio de MNQ" [ref=f2e83]
|
||||||
|
- figure "Cocina en movimiento, detalle en cada pase." [ref=f2e85]:
|
||||||
|
- img "Preparación gastronómica del equipo de MNQ" [ref=f2e87]
|
||||||
|
- figure "Una presencia cercana que acompaña sin invadir." [ref=f2e89]:
|
||||||
|
- img "Momento cercano del equipo de MNQ" [ref=f2e91]
|
||||||
|
- generic [ref=f2e95]:
|
||||||
|
- heading "¿Planeamos algo extraordinario?" [level=2] [ref=f2e96]
|
||||||
|
- paragraph [ref=f2e97]: Estamos listos para transformar su visión en una realidad gastronómica sin precedentes.
|
||||||
|
- link "Solicitar Dosier Exclusivo" [ref=f2e98] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- contentinfo [ref=f2e99]:
|
||||||
|
- generic [ref=f2e100]:
|
||||||
|
- generic [ref=f2e101]:
|
||||||
|
- generic [ref=f2e102]:
|
||||||
|
- link "MNQ Catering y Eventos" [ref=f2e103] [cursor=pointer]:
|
||||||
|
- /url: /
|
||||||
|
- img "MNQ Catering y Eventos" [ref=f2e104]
|
||||||
|
- paragraph [ref=f2e105]: © 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.
|
||||||
|
- generic [ref=f2e106]:
|
||||||
|
- link "+34 678 17 15 13" [ref=f2e107] [cursor=pointer]:
|
||||||
|
- /url: tel:+34678171513
|
||||||
|
- link "mnq.elkazurrotaberna.es" [ref=f2e108] [cursor=pointer]:
|
||||||
|
- /url: https://mnq.elkazurrotaberna.es
|
||||||
|
- generic [ref=f2e109]:
|
||||||
|
- generic [ref=f2e110]:
|
||||||
|
- generic [ref=f2e111]: Servicios
|
||||||
|
- link "Bodas Reales" [ref=f2e112] [cursor=pointer]:
|
||||||
|
- /url: /bodas-reales
|
||||||
|
- link "Corporativo" [ref=f2e113] [cursor=pointer]:
|
||||||
|
- /url: /corporativo-business
|
||||||
|
- link "Social" [ref=f2e114] [cursor=pointer]:
|
||||||
|
- /url: /reuniones-familiares
|
||||||
|
- link "Nosotros" [ref=f2e115] [cursor=pointer]:
|
||||||
|
- /url: /nosotros
|
||||||
|
- generic [ref=f2e116]:
|
||||||
|
- generic [ref=f2e117]: Compañía
|
||||||
|
- link "Contacto" [ref=f2e118] [cursor=pointer]:
|
||||||
|
- /url: /contacto
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=f2e119] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513
|
||||||
|
- text: WhatsApp
|
||||||
|
- link "Aviso legal" [ref=f2e120] [cursor=pointer]:
|
||||||
|
- /url: /aviso-legal
|
||||||
|
- link "Privacidad" [ref=f2e121] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- link "Cookies" [ref=f2e122] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- paragraph [ref=f2e124]: Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||||
|
- link "Contactar con MNQ por WhatsApp" [ref=f2e125] [cursor=pointer]:
|
||||||
|
- /url: https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento
|
||||||
|
- generic [ref=f2e126]: Contactar por WhatsApp
|
||||||
|
- generic [ref=f2e131]:
|
||||||
|
- paragraph [ref=f2e132]:
|
||||||
|
- text: Este sitio utiliza almacenamiento técnico necesario para funcionar y mostrar este aviso. Si en el futuro activamos analítica respetuosa con la privacidad o medidas antiabuso, lo detallaremos en
|
||||||
|
- link "Cookies" [ref=f2e133] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- text: "y"
|
||||||
|
- link "Privacidad" [ref=f2e134] [cursor=pointer]:
|
||||||
|
- /url: /privacidad
|
||||||
|
- text: .
|
||||||
|
- generic [ref=f2e135]:
|
||||||
|
- link "Ver detalle" [ref=f2e136] [cursor=pointer]:
|
||||||
|
- /url: /cookies
|
||||||
|
- button "Entendido" [ref=f2e137] [cursor=pointer]
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# AGENTS.md
|
# AGENTS.md
|
||||||
|
|
||||||
## Stack and runtime
|
## Stack and runtime
|
||||||
- Astro 5 SSR with `@astrojs/node` in `standalone` mode.
|
- Astro 5 SSR app with `@astrojs/node` in `standalone` mode (`astro.config.mjs`).
|
||||||
- Production entrypoint is `node ./dist/server/entry.mjs`.
|
- Production entrypoint is `node ./dist/server/entry.mjs` (`package.json`, `Dockerfile`, `nixpacks.toml`).
|
||||||
- Runtime target is Node 20 (`Dockerfile` and `nixpacks.toml` both pin Node 20).
|
- Node 20 is the deployed runtime in both Docker and Nixpacks.
|
||||||
- TypeScript extends `astro/tsconfigs/strict`.
|
- TypeScript extends `astro/tsconfigs/strict`; `dist` is excluded (`tsconfig.json`).
|
||||||
|
|
||||||
## Verified commands
|
## Verified commands
|
||||||
- Install deps: `npm install` or `npm ci`
|
- Install deps: `npm install` or `npm ci`
|
||||||
@@ -14,39 +14,39 @@
|
|||||||
- Local preview: `npm run preview`
|
- Local preview: `npm run preview`
|
||||||
- Production start: `npm run start`
|
- Production start: `npm run start`
|
||||||
|
|
||||||
Recommended verification after UI/content changes:
|
Recommended verification after any page, styling, metadata, or asset change:
|
||||||
1. `npm run check`
|
1. `npm run check`
|
||||||
2. `npm run build`
|
2. `npm run build`
|
||||||
|
|
||||||
There are currently no repo scripts for linting, formatting, or tests, and no CI workflows to rely on.
|
There are currently no repo scripts for linting, formatting, or tests, and no CI workflows or Husky hooks to catch mistakes for you.
|
||||||
|
|
||||||
## Real app structure
|
## Real app structure
|
||||||
- File-based routes live in `src/pages/`.
|
- File-based routes live in `src/pages/`.
|
||||||
- Main public routes: `index.astro`, `nosotros.astro`, `bodas-reales.astro`, `corporativo-business.astro`, `reuniones-familiares.astro`, `contacto.astro`.
|
- Current public/legal routes are: `index.astro`, `nosotros.astro`, `bodas-reales.astro`, `corporativo-business.astro`, `reuniones-familiares.astro`, `contacto.astro`, `cookies.astro`, `privacidad.astro`, and `aviso-legal.astro`.
|
||||||
- Legal routes are part of the real surface area: `cookies.astro` and `privacidad.astro`.
|
- `src/layouts/MainLayout.astro` is the real app shell for every route.
|
||||||
- Shared shell is `src/layouts/MainLayout.astro`.
|
|
||||||
- Shared UI lives in `src/components/`.
|
- Shared UI lives in `src/components/`.
|
||||||
- Global styling is split across `src/styles/tokens.css`, `base.css`, `layout.css`, `components.css`, `utilities.css`, and `animations.css`.
|
- Global CSS is imported only through `MainLayout.astro` from `src/styles/{tokens,base,layout,components,utilities,animations}.css`.
|
||||||
|
|
||||||
## Important implementation facts
|
## Wiring facts agents usually miss
|
||||||
- `MainLayout.astro` is the real wiring point: it imports all global CSS and mounts `SiteHeader`, `SiteFooter`, `WhatsAppButton`, and `CookieBanner` on every page.
|
- `MainLayout.astro` owns the canonical URL, OG/Twitter metadata, default JSON-LD, and optional Umami injection via `PUBLIC_UMAMI_URL` + `PUBLIC_UMAMI_WEBSITE_ID`.
|
||||||
- `MainLayout.astro` also owns global client behavior: reveal-on-scroll, scroll progress bar, reduced-motion handling, and internal-link fade transitions.
|
- `MainLayout.astro` also mounts `SiteHeader`, `SiteFooter`, `WhatsAppButton`, and `CookieBanner` globally, plus the reveal/scroll-progress/page-transition client behavior.
|
||||||
- This is a marketing site optimized for WhatsApp lead capture. Keep WhatsApp as the primary CTA and treat the contact form as secondary.
|
- The canonical site URL is `https://www.mnqcatering.com` (`astro.config.mjs`).
|
||||||
- The contact form in `src/pages/contacto.astro` is presentational only (`method="dialog"`); do not describe or treat it as a working backend submission flow.
|
- This is a marketing site optimized for WhatsApp lead capture. Keep WhatsApp as the primary CTA.
|
||||||
- The WhatsApp destination is hardcoded in multiple places (`+34 678 17 15 13` / `34678171513`). If lead routing changes, search for all occurrences instead of updating a single component and assuming coverage.
|
- `src/pages/contacto.astro` currently has **no form at all**. It is a WhatsApp/phone-led contact page with FAQs and coverage text, so do not describe or implement it as an existing form flow unless you are intentionally adding one.
|
||||||
|
- The WhatsApp destination/phone number is duplicated across layouts, components, and pages. If routing changes, search the whole repo instead of editing one component and assuming coverage.
|
||||||
|
|
||||||
## Content and design constraints
|
## Content and design constraints
|
||||||
- Keep the mobile-first approach in base styles and layout decisions.
|
- Read `DESIGN.md` before making visual changes; it defines the premium editorial tone.
|
||||||
- Use CSS variables/tokens instead of introducing utility CSS frameworks.
|
- Gold is an accent, not a dominant fill color.
|
||||||
- Keep service pages structurally consistent, but do not clone copy blindly: adapt CTA, gallery, and messaging per service.
|
- Keep the mobile-first approach and use existing CSS tokens/variables instead of adding a utility framework.
|
||||||
- Galleries belong inside each service page, not as a separate gallery page.
|
- Keep service pages structurally aligned, but adapt copy, CTA, and gallery content per service instead of cloning sections blindly.
|
||||||
- Preserve the premium editorial tone from `DESIGN.md`; gold is an accent, not a dominant fill color.
|
- Galleries are embedded inside service pages, not split into a separate gallery route.
|
||||||
|
|
||||||
## Deployment notes
|
## Deployment and SEO gotchas
|
||||||
- Docker and Nixpacks both expect a built SSR app and start with `node ./dist/server/entry.mjs`.
|
- Docker build flow is `npm ci` -> `npm run build` -> `node ./dist/server/entry.mjs`.
|
||||||
- Runtime env defaults used by deploy config: `HOST=0.0.0.0`, `PORT=4321`, `NODE_ENV=production`.
|
- Runtime defaults used by deploy configs are `HOST=0.0.0.0`, `PORT=4321`, `NODE_ENV=production`.
|
||||||
|
- Sitemap generation excludes `/cookies/` and `/privacidad/` only. `aviso-legal.astro` sets `robots="noindex,follow"`, but it is **not** filtered out of the sitemap in `astro.config.mjs`.
|
||||||
|
|
||||||
## Repo-specific gotchas
|
## Ignore / generated output
|
||||||
- Ignore generated/build output: `.astro/` and `dist/`.
|
- Treat `.astro/` and `dist/` as generated output.
|
||||||
- `.gitignore` also excludes `.opencode/`, `.worktrees/`, and local planning artifacts under `docs/plans/`.
|
- `.gitignore` also excludes `.opencode/`, `.worktrees/`, and `docs/plans/`.
|
||||||
- Read `DESIGN.md` before making visual changes; it contains the project’s visual system and tone constraints.
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import node from '@astrojs/node';
|
|||||||
import sitemap from '@astrojs/sitemap';
|
import sitemap from '@astrojs/sitemap';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://mnq.elkazurrotaberna.es',
|
site: 'https://www.mnqcatering.com',
|
||||||
output: 'server',
|
output: 'server',
|
||||||
adapter: node({
|
adapter: node({
|
||||||
mode: 'standalone',
|
mode: 'standalone',
|
||||||
|
|||||||
|
After Width: | Height: | Size: 323 KiB |
|
After Width: | Height: | Size: 505 KiB |
|
After Width: | Height: | Size: 290 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 209 KiB |
|
After Width: | Height: | Size: 266 KiB |
|
After Width: | Height: | Size: 547 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 184 KiB |
|
After Width: | Height: | Size: 438 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
After Width: | Height: | Size: 286 KiB |
|
After Width: | Height: | Size: 455 KiB |
|
After Width: | Height: | Size: 200 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 204 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 171 KiB |
|
After Width: | Height: | Size: 210 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 512 KiB |
|
After Width: | Height: | Size: 184 KiB |
|
After Width: | Height: | Size: 194 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 232 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,27 @@
|
|||||||
|
# Image review groups
|
||||||
|
|
||||||
|
These folders are a first-pass review structure for the Instagram photo library.
|
||||||
|
Original files remain in `docs/imagenes/` root for now.
|
||||||
|
|
||||||
|
## Review order
|
||||||
|
1. `01-team-trust` — real team and hospitality proof for trust
|
||||||
|
2. `02-event-setups` — premium event/table setup visuals
|
||||||
|
3. `03-venue-ambience` — sea views, gardens, courtyards, atmosphere
|
||||||
|
4. `05-food-and-canapes` — food, canapés, display tables
|
||||||
|
5. `04-weddings-ceremony-details` — wedding-specific ceremony/decor
|
||||||
|
6. `06-service-in-action` — staff serving / operational moments
|
||||||
|
7. `07-partners-and-social-proof` — partners, brands, collaborators
|
||||||
|
8. `08-brand-assets-and-exclusions` — duplicates, tiny assets, AI-marked, avoid-by-default
|
||||||
|
|
||||||
|
## Suggested page matches
|
||||||
|
- Home / trust sections: `01-team-trust`, `02-event-setups`, `03-venue-ambience`
|
||||||
|
- Nosotros: `01-team-trust`, `06-service-in-action`, `07-partners-and-social-proof`
|
||||||
|
- Bodas: `04-weddings-ceremony-details`, `02-event-setups`, `03-venue-ambience`, `05-food-and-canapes`
|
||||||
|
- Corporativo: `01-team-trust`, `02-event-setups`, `07-partners-and-social-proof`
|
||||||
|
- Reuniones familiares: `02-event-setups`, `03-venue-ambience`, `05-food-and-canapes`
|
||||||
|
- Contacto: `01-team-trust`, `03-venue-ambience`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- I did not move or copy originals yet.
|
||||||
|
- Best next step: shortlist filenames into each folder after a visual pass.
|
||||||
|
- Avoid obvious low-quality/tiny/duplicate/AI-marked images for trust-building sections.
|
||||||
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 535 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 323 KiB |
|
After Width: | Height: | Size: 290 KiB |
|
After Width: | Height: | Size: 505 KiB |
@@ -1,6 +1,6 @@
|
|||||||
MNQ Catering y Evento
|
MNQ Catering y Evento
|
||||||
|
|
||||||
- Canonical domain: https://mnq.elkazurrotaberna.es
|
- Canonical domain: https://www.mnqcatering.com
|
||||||
- Business type: Premium catering service
|
- Business type: Premium catering service
|
||||||
- Services: Bodas, eventos corporativos, reuniones familiares
|
- Services: Bodas, eventos corporativos, reuniones familiares
|
||||||
- Primary contact channels: WhatsApp (+34 678 17 15 13), phone (+34 678 17 15 13)
|
- Primary contact channels: WhatsApp (+34 678 17 15 13), phone (+34 678 17 15 13)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Allow: /
|
Allow: /
|
||||||
|
|
||||||
Sitemap: https://mnq.elkazurrotaberna.es/sitemap-index.xml
|
Sitemap: https://www.mnqcatering.com/sitemap-index.xml
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
<p>© 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.</p>
|
<p>© 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.</p>
|
||||||
<div style="display:flex;flex-direction:column;gap:0.35rem;margin-top:var(--space-4);">
|
<div style="display:flex;flex-direction:column;gap:0.35rem;margin-top:var(--space-4);">
|
||||||
<a href="tel:+34678171513" class="footer-link" style="width:fit-content;">+34 678 17 15 13</a>
|
<a href="tel:+34678171513" class="footer-link" style="width:fit-content;">+34 678 17 15 13</a>
|
||||||
<a href="https://mnq.elkazurrotaberna.es" class="footer-link" style="width:fit-content;">mnq.elkazurrotaberna.es</a>
|
<a href="https://www.mnqcatering.com" class="footer-link" style="width:fit-content;">www.mnqcatering.com</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -37,17 +37,6 @@ const links = [
|
|||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="nav-actions">
|
<div class="nav-actions">
|
||||||
<!-- WhatsApp solo en desktop -->
|
|
||||||
<a
|
|
||||||
href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento"
|
|
||||||
class="btn btn-pill nav-wa"
|
|
||||||
target="_blank"
|
|
||||||
rel="noreferrer"
|
|
||||||
aria-label={whatsappAriaLabel}
|
|
||||||
>
|
|
||||||
WhatsApp
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<!-- Hamburger (mobile) -->
|
<!-- Hamburger (mobile) -->
|
||||||
<button class="nav-toggle" id="navToggle" aria-label="Abrir menú" aria-expanded="false">
|
<button class="nav-toggle" id="navToggle" aria-label="Abrir menú" aria-expanded="false">
|
||||||
<span class="hb-bar"></span>
|
<span class="hb-bar"></span>
|
||||||
@@ -148,13 +137,6 @@ const links = [
|
|||||||
transform: translateY(-7px) rotate(-45deg);
|
transform: translateY(-7px) rotate(-45deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ── WhatsApp pill — oculto en mobile ── */
|
|
||||||
.nav-wa {
|
|
||||||
display: none;
|
|
||||||
font-size: 0.6875rem;
|
|
||||||
padding: 0.625rem 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ── Mobile drawer ── */
|
/* ── Mobile drawer ── */
|
||||||
.mobile-nav {
|
.mobile-nav {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -196,7 +178,6 @@ const links = [
|
|||||||
@media (min-width: 48rem) {
|
@media (min-width: 48rem) {
|
||||||
.site-logo-banner { height: 3.25rem; }
|
.site-logo-banner { height: 3.25rem; }
|
||||||
.nav-toggle { display: none; }
|
.nav-toggle { display: none; }
|
||||||
.nav-wa { display: inline-flex; }
|
|
||||||
.mobile-nav { display: none !important; }
|
.mobile-nav { display: none !important; }
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const {
|
|||||||
structuredData,
|
structuredData,
|
||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
|
|
||||||
const site = Astro.site ?? new URL('https://mnq.elkazurrotaberna.es');
|
const site = Astro.site ?? new URL('https://www.mnqcatering.com');
|
||||||
const canonicalUrl = new URL(canonical ?? Astro.url.pathname, site).toString();
|
const canonicalUrl = new URL(canonical ?? Astro.url.pathname, site).toString();
|
||||||
const ogImageUrl = new URL(ogImage, site).toString();
|
const ogImageUrl = new URL(ogImage, site).toString();
|
||||||
const baseStructuredData = {
|
const baseStructuredData = {
|
||||||
@@ -57,7 +57,7 @@ const structuredDataScripts = [
|
|||||||
? [structuredData]
|
? [structuredData]
|
||||||
: []) as Array<Record<string, unknown>>),
|
: []) as Array<Record<string, unknown>>),
|
||||||
];
|
];
|
||||||
const umamiHost = Astro.site ? Astro.site.origin : 'https://mnq.elkazurrotaberna.es';
|
const umamiHost = Astro.site ? Astro.site.origin : 'https://www.mnqcatering.com';
|
||||||
const rawUmamiUrl = Astro.url ? import.meta.env.PUBLIC_UMAMI_URL : undefined;
|
const rawUmamiUrl = Astro.url ? import.meta.env.PUBLIC_UMAMI_URL : undefined;
|
||||||
const umamiWebsiteId = import.meta.env.PUBLIC_UMAMI_WEBSITE_ID;
|
const umamiWebsiteId = import.meta.env.PUBLIC_UMAMI_WEBSITE_ID;
|
||||||
const normalizedUmamiUrl = rawUmamiUrl
|
const normalizedUmamiUrl = rawUmamiUrl
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
<span class="label-caps text-primary">Sitio web</span>
|
<span class="label-caps text-primary">Sitio web</span>
|
||||||
<div style="display:flex;align-items:center;gap:var(--space-4);">
|
<div style="display:flex;align-items:center;gap:var(--space-4);">
|
||||||
<Icon name="language" class="text-primary" />
|
<Icon name="language" class="text-primary" />
|
||||||
<a class="text-muted contact-link" href="https://mnq.elkazurrotaberna.es">mnq.elkazurrotaberna.es</a>
|
<a class="text-muted contact-link" href="https://www.mnqcatering.com">www.mnqcatering.com</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -128,55 +128,16 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<!-- Formulario -->
|
<div class="contacto-plate-img overflow-hidden rounded-lg">
|
||||||
<div>
|
<img
|
||||||
<form class="form-grid" aria-label="Formulario de contacto" method="dialog">
|
src="/images/foto-plato-mnq.jpg"
|
||||||
|
alt="Postre de autor MNQ Catering servido sobre mantelería con servilleta bordada MNQ"
|
||||||
<div class="form-field">
|
width="1200"
|
||||||
<label class="form-label" for="nombre">Nombre Completo</label>
|
height="800"
|
||||||
<input class="form-input" id="nombre" name="nombre" type="text" placeholder="Ej. Javier Sotomayor" />
|
style="width:100%;height:100%;object-fit:cover;object-position:center;"
|
||||||
</div>
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
<div class="form-field">
|
/>
|
||||||
<label class="form-label" for="email">Correo Electrónico</label>
|
|
||||||
<input class="form-input" id="email" name="email" type="email" placeholder="javier@empresa.com" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-field">
|
|
||||||
<label class="form-label" for="tipo">Tipo de Evento</label>
|
|
||||||
<select class="form-select" id="tipo" name="tipo">
|
|
||||||
<option value="">Seleccione una opción</option>
|
|
||||||
<option value="boda">Boda</option>
|
|
||||||
<option value="corporativo">Evento Corporativo</option>
|
|
||||||
<option value="social">Celebración Social</option>
|
|
||||||
<option value="otro">Otro</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-field">
|
|
||||||
<label class="form-label" for="fecha">Fecha Estimada</label>
|
|
||||||
<input class="form-input" id="fecha" name="fecha" type="date" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-field form-span-full">
|
|
||||||
<label class="form-label" for="mensaje">Mensaje o Requerimientos Especiales</label>
|
|
||||||
<textarea
|
|
||||||
class="form-textarea"
|
|
||||||
id="mensaje"
|
|
||||||
name="mensaje"
|
|
||||||
rows="5"
|
|
||||||
placeholder="Cuéntenos más sobre su visión..."
|
|
||||||
></textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-span-full" style="display:flex;justify-content:flex-end;">
|
|
||||||
<button type="submit" class="btn-underline" style="display:inline-flex;align-items:center;gap:var(--space-3);">
|
|
||||||
Enviar Solicitud
|
|
||||||
<Icon name="arrow-forward" />
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -256,6 +217,10 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
gap: var(--space-8);
|
gap: var(--space-8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.contacto-plate-img {
|
||||||
|
aspect-ratio: 4/3;
|
||||||
|
}
|
||||||
|
|
||||||
.contact-link {
|
.contact-link {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-underline-offset: 0.2em;
|
text-underline-offset: 0.2em;
|
||||||
@@ -281,7 +246,7 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
|
|
||||||
.contacto-grid {
|
.contacto-grid {
|
||||||
grid-template-columns: 2fr 3fr;
|
grid-template-columns: 2fr 3fr;
|
||||||
align-items: start;
|
align-items: center;
|
||||||
gap: var(--space-16);
|
gap: var(--space-16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,45 +3,47 @@ import MainLayout from '../layouts/MainLayout.astro';
|
|||||||
|
|
||||||
import Icon from '../components/Icon.astro';
|
import Icon from '../components/Icon.astro';
|
||||||
|
|
||||||
const teamMembers = [
|
const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
||||||
|
|
||||||
|
const heroPhoto = {
|
||||||
|
src: '/images/nosotros-hero-alberto.webp',
|
||||||
|
alt: 'Responsable de MNQ acompañando la puesta a punto de un evento nocturno',
|
||||||
|
width: 1500,
|
||||||
|
height: 1000,
|
||||||
|
};
|
||||||
|
|
||||||
|
const teamGallery = {
|
||||||
|
lead: {
|
||||||
|
src: '/images/team/mnq-team-service.jpg',
|
||||||
|
alt: 'Montaje y coordinación del servicio de MNQ',
|
||||||
|
width: 1080,
|
||||||
|
height: 1440,
|
||||||
|
pos: 'center 28%',
|
||||||
|
},
|
||||||
|
support: [
|
||||||
{
|
{
|
||||||
nombre: 'Mateo Navarro',
|
src: '/images/team/mnq-team-lead.webp',
|
||||||
rol: 'Director Ejecutivo',
|
alt: 'Equipo de MNQ durante un servicio',
|
||||||
src: '/images/generated/gallery-2.webp',
|
width: 1439,
|
||||||
pos: 'center top',
|
height: 1919,
|
||||||
width: 1024,
|
pos: 'center 24%',
|
||||||
height: 1024,
|
caption: 'Equipo al completo, listo para acompañar el servicio.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nombre: 'Lucía Quintana',
|
src: '/images/team/mnq-team-kitchen.webp',
|
||||||
rol: 'Chef Creativa',
|
alt: 'Preparación gastronómica del equipo de MNQ',
|
||||||
src: '/images/generated/hero-nosotros-gen.webp',
|
width: 1439,
|
||||||
pos: 'center top',
|
height: 1439,
|
||||||
width: 1264,
|
pos: 'center center',
|
||||||
height: 848,
|
caption: 'Cocina en movimiento, detalle en cada pase.',
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
nombre: 'Julián Marín',
|
};
|
||||||
rol: 'Head Sommelier',
|
|
||||||
src: '/images/foto-canapes.jpg',
|
|
||||||
pos: 'center 30%',
|
|
||||||
width: 1264,
|
|
||||||
height: 848,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
nombre: 'Elena Soler',
|
|
||||||
rol: 'Diseño de Experiencias',
|
|
||||||
src: '/images/foto-plato-mnq.jpg',
|
|
||||||
pos: 'center top',
|
|
||||||
width: 1200,
|
|
||||||
height: 805,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<MainLayout
|
<MainLayout
|
||||||
title="Nosotros | MNQ Catering y Evento"
|
title="Nosotros | MNQ Catering y Evento"
|
||||||
description="El arte de la hospitalidad elevada. Descubra la filosofía, valores y equipo detrás de MNQ Catering y Evento."
|
description="Conozca el equipo real de MNQ Catering y Evento: oficio, cercanía y una hospitalidad cuidada en cada servicio."
|
||||||
activeNav="nosotros"
|
activeNav="nosotros"
|
||||||
>
|
>
|
||||||
|
|
||||||
@@ -52,26 +54,26 @@ const teamMembers = [
|
|||||||
|
|
||||||
<div class="nosotros-text">
|
<div class="nosotros-text">
|
||||||
<span class="section-eyebrow reveal">Nuestra Esencia</span>
|
<span class="section-eyebrow reveal">Nuestra Esencia</span>
|
||||||
<h1 class="text-display reveal" style="--reveal-delay: 150;margin-bottom:var(--space-8);">El arte de la hospitalidad elevada.</h1>
|
<h1 class="text-display reveal" style="--reveal-delay: 150;margin-bottom:var(--space-8);">Hospitalidad con oficio, calma y cercanía.</h1>
|
||||||
<p class="text-muted leading-relaxed" style="max-width:32rem;">
|
<p class="text-muted leading-relaxed" style="max-width:32rem;">
|
||||||
Desde nuestra fundación, MNQ Catering ha redefinido el concepto de exclusividad culinaria. No solo servimos comida; curamos momentos que perduran en la memoria de los paladares más exigentes.
|
En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="nosotros-image" style="position:relative;">
|
<div class="nosotros-image" style="position:relative;">
|
||||||
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/3;">
|
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/3;">
|
||||||
<img
|
<img
|
||||||
src="/images/generated/hero-nosotros-gen.webp"
|
src={heroPhoto.src}
|
||||||
alt="Chef ejecutiva MNQ — el arte de la hospitalidad"
|
alt={heroPhoto.alt}
|
||||||
width="1264"
|
width={heroPhoto.width}
|
||||||
height="848"
|
height={heroPhoto.height}
|
||||||
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
|
style="width:100%;height:100%;object-fit:cover;object-position:center;"
|
||||||
loading="eager"
|
loading="eager"
|
||||||
fetchpriority="high"
|
fetchpriority="high"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="quote-card-desktop border-outline-soft" style="position:absolute;bottom:-2.5rem;left:-2.5rem;background:var(--color-surface-container);padding:var(--space-10);display:none;">
|
<div class="quote-card-desktop border-outline-soft" style="position:absolute;bottom:-2.5rem;left:-2.5rem;background:var(--color-surface-container);padding:var(--space-10);display:none;">
|
||||||
<p class="text-headline-md text-primary italic">"La perfección no es un acto, es un hábito."</p>
|
<p class="text-headline-md text-primary italic">"Detrás de cada servicio hay manos reales, ritmo y mucho cuidado."</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -83,12 +85,12 @@ const teamMembers = [
|
|||||||
<section class="section-pad bg-container-low" style="border-top:1px solid rgb(208 197 175/10%);border-bottom:1px solid rgb(208 197 175/10%);">
|
<section class="section-pad bg-container-low" style="border-top:1px solid rgb(208 197 175/10%);border-bottom:1px solid rgb(208 197 175/10%);">
|
||||||
<div class="page-wrap">
|
<div class="page-wrap">
|
||||||
<div class="grid-2" style="gap:var(--space-16);">
|
<div class="grid-2" style="gap:var(--space-16);">
|
||||||
<h2 class="text-headline-lg" style="margin-bottom:var(--space-8);">Filosofía de Exclusividad</h2>
|
<h2 class="text-headline-lg" style="margin-bottom:var(--space-8);">Filosofía de servicio</h2>
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
||||||
<p class="text-muted leading-relaxed">Creemos que cada evento tiene su propia alma. Nuestra filosofía se basa en la escucha activa y la personalización radical. En un mundo de producciones en serie, MNQ apuesta por lo artesanal, lo local y lo extraordinario.</p>
|
<p class="text-muted leading-relaxed">Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento.</p>
|
||||||
<p class="text-muted leading-relaxed">Cada ingrediente es seleccionado por su trazabilidad y calidad superior, trabajando codo a codo con productores que comparten nuestra pasión por la excelencia.</p>
|
<p class="text-muted leading-relaxed">Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.</p>
|
||||||
<div style="padding-top:var(--space-4);">
|
<div style="padding-top:var(--space-4);">
|
||||||
<a href="/contacto" class="btn-underline" style="display:inline-flex;align-items:center;gap:var(--space-3);">Explorar Menú de Autor</a>
|
<a href="/contacto" class="btn-underline" style="display:inline-flex;align-items:center;gap:var(--space-3);">Explorar propuesta gastronómica</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -123,38 +125,80 @@ const teamMembers = [
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── EQUIPO ─── -->
|
<!-- ─── EQUIPO ─── -->
|
||||||
<section class="section-pad bg-inverse" style="overflow:hidden;">
|
<section class="section-pad bg-container-low team-gallery-section" style="overflow:hidden;">
|
||||||
<div class="page-wrap">
|
<div class="page-wrap">
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-20);">
|
<div class="team-gallery-grid">
|
||||||
|
<div class="team-gallery-copy">
|
||||||
<div>
|
<div>
|
||||||
<span class="section-eyebrow reveal" style="color:var(--color-primary-fixed);">El Capital Humano</span>
|
<span class="section-eyebrow reveal">El Equipo</span>
|
||||||
<h2 class="text-headline-lg reveal" style="--reveal-delay: 150;color:var(--color-surface);">Mentes tras el menú</h2>
|
<h2 class="text-headline-lg reveal" style="--reveal-delay: 150;">Personas reales detrás de cada servicio</h2>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted leading-relaxed">Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.</p>
|
||||||
|
<p class="text-muted leading-relaxed">Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato.</p>
|
||||||
|
|
||||||
|
<div class="team-trust-points">
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Cercanía</span>
|
||||||
|
<p class="text-body-sm text-muted">Comunicación clara y acompañamiento real durante todo el proceso.</p>
|
||||||
|
</div>
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Coordinación</span>
|
||||||
|
<p class="text-body-sm text-muted">Cocina, sala y montaje trabajando con un mismo ritmo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Presencia</span>
|
||||||
|
<p class="text-body-sm text-muted">Un servicio atento y discreto para que el evento fluya sin tensión.</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-body-sm" style="color:rgb(234 225 212/80%);max-width:24rem;">Un equipo multidisciplinar de chefs, sommeliers y diseñadores de eventos unidos por un propósito común.</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid-4">
|
<div style="padding-top:var(--space-2);">
|
||||||
{teamMembers.map(({ nombre, rol, src, pos, width, height }) => (
|
<a
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento"
|
||||||
<div class="overflow-hidden team-card" style="aspect-ratio:3/4;">
|
class="btn-underline"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
aria-label={whatsappAriaLabel}
|
||||||
|
>Hablar con el equipo</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="team-gallery-visuals">
|
||||||
|
<figure class="team-photo-card team-photo-lead">
|
||||||
|
<div class="overflow-hidden rounded-lg team-photo-frame" style="aspect-ratio:4/5;">
|
||||||
<img
|
<img
|
||||||
src={src}
|
src={teamGallery.lead.src}
|
||||||
alt={nombre}
|
alt={teamGallery.lead.alt}
|
||||||
width={width}
|
width={teamGallery.lead.width}
|
||||||
height={height}
|
height={teamGallery.lead.height}
|
||||||
style={`width:100%;height:100%;object-fit:cover;object-position:${pos};filter:grayscale(1);transition:filter 700ms;`}
|
style={`width:100%;height:100%;object-fit:cover;object-position:${teamGallery.lead.pos};`}
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
decoding="async"
|
decoding="async"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<figcaption class="team-photo-caption">Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente.</figcaption>
|
||||||
<h4 style="font-size:1.25rem;color:var(--color-surface);font-family:var(--font-serif);margin-bottom:var(--space-1);">{nombre}</h4>
|
</figure>
|
||||||
<p class="label-caps" style="font-size:0.625rem;color:var(--color-primary-fixed);">{rol}</p>
|
|
||||||
</div>
|
<div class="team-support-grid">
|
||||||
|
{teamGallery.support.map(({ src, alt, width, height, pos, caption }) => (
|
||||||
|
<figure class="team-photo-card">
|
||||||
|
<div class="overflow-hidden rounded-lg team-photo-frame" style="aspect-ratio:1/1;">
|
||||||
|
<img
|
||||||
|
src={src}
|
||||||
|
alt={alt}
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
style={`width:100%;height:100%;object-fit:cover;object-position:${pos};`}
|
||||||
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<figcaption class="team-photo-caption">{caption}</figcaption>
|
||||||
|
</figure>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── CTA ─── -->
|
<!-- ─── CTA ─── -->
|
||||||
@@ -171,19 +215,98 @@ const teamMembers = [
|
|||||||
</MainLayout>
|
</MainLayout>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.team-card:hover img { filter: grayscale(0) !important; }
|
|
||||||
|
|
||||||
.nosotros-hero-grid {
|
.nosotros-hero-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--space-12);
|
gap: var(--space-12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.team-gallery-section {
|
||||||
|
border-top: 1px solid rgb(208 197 175 / 16%);
|
||||||
|
border-bottom: 1px solid rgb(208 197 175 / 16%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-12);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-copy {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-trust-points {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-5);
|
||||||
|
padding: var(--space-8) 0;
|
||||||
|
border-top: 1px solid rgb(208 197 175 / 28%);
|
||||||
|
border-bottom: 1px solid rgb(208 197 175 / 28%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-trust-point {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-visuals {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-support-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--space-4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-frame {
|
||||||
|
border: 1px solid rgb(208 197 175 / 22%);
|
||||||
|
background: var(--color-surface-container-high);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-frame img {
|
||||||
|
transition: transform 700ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-card:hover img {
|
||||||
|
transform: scale(1.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-caption {
|
||||||
|
font-size: var(--text-sm);
|
||||||
|
line-height: 1.6;
|
||||||
|
color: var(--color-on-surface-variant);
|
||||||
|
}
|
||||||
|
|
||||||
@media (min-width: 48rem) {
|
@media (min-width: 48rem) {
|
||||||
.nosotros-hero-grid {
|
.nosotros-hero-grid {
|
||||||
grid-template-columns: 5fr 7fr;
|
grid-template-columns: 5fr 7fr;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.quote-card-desktop { display: block !important; }
|
.quote-card-desktop { display: block !important; }
|
||||||
|
|
||||||
|
.team-trust-points {
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-support-grid {
|
||||||
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 64rem) {
|
||||||
|
.team-gallery-grid {
|
||||||
|
grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ─── VALUE CARD TIMELINE ANIMATION ──────────── */
|
/* ─── VALUE CARD TIMELINE ANIMATION ──────────── */
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import MainLayout from '../layouts/MainLayout.astro';
|
|||||||
<p>
|
<p>
|
||||||
<strong>MNQ Catering y Evento</strong><br />
|
<strong>MNQ Catering y Evento</strong><br />
|
||||||
Teléfono: <a href="tel:+34678171513">+34 678 17 15 13</a><br />
|
Teléfono: <a href="tel:+34678171513">+34 678 17 15 13</a><br />
|
||||||
Sitio web: <a href="https://mnq.elkazurrotaberna.es">mnq.elkazurrotaberna.es</a>
|
Sitio web: <a href="https://www.mnqcatering.com">www.mnqcatering.com</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>2. Datos que tratamos</h2>
|
<h2>2. Datos que tratamos</h2>
|
||||||
|
|||||||
@@ -162,8 +162,8 @@ const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
|||||||
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
|
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
|
||||||
<div class="overflow-hidden hover-scale rounded-lg border-outline-soft" style="aspect-ratio: 3/4;">
|
<div class="overflow-hidden hover-scale rounded-lg border-outline-soft" style="aspect-ratio: 3/4;">
|
||||||
<img
|
<img
|
||||||
src="/images/generated/hero-nosotros-gen.webp"
|
src="/images/team/mnq-team-kitchen.webp"
|
||||||
alt="Cenas privadas — chef ejecutiva"
|
alt="Cenas privadas — equipo de cocina de MNQ en preparación"
|
||||||
width="1264"
|
width="1264"
|
||||||
height="848"
|
height="848"
|
||||||
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
|
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
|
||||||
|
|||||||
@@ -562,14 +562,7 @@
|
|||||||
clip: rect(0 0 0 0);
|
clip: rect(0 0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 30rem) {
|
@media (min-width: 48rem) {
|
||||||
.whatsapp-float {
|
|
||||||
font-size: 0.65rem;
|
|
||||||
gap: var(--space-3);
|
|
||||||
padding: var(--space-3) var(--space-4);
|
|
||||||
min-width: unset;
|
|
||||||
min-height: unset;
|
|
||||||
}
|
|
||||||
.whatsapp-float span:first-child {
|
.whatsapp-float span:first-child {
|
||||||
position: static;
|
position: static;
|
||||||
width: auto;
|
width: auto;
|
||||||
@@ -578,9 +571,7 @@
|
|||||||
clip: auto;
|
clip: auto;
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 48rem) {
|
|
||||||
.whatsapp-float {
|
.whatsapp-float {
|
||||||
right: var(--space-8);
|
right: var(--space-8);
|
||||||
bottom: var(--space-8);
|
bottom: var(--space-8);
|
||||||
@@ -589,6 +580,7 @@
|
|||||||
font-size: var(--text-label-caps);
|
font-size: var(--text-label-caps);
|
||||||
gap: var(--space-4);
|
gap: var(--space-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.whatsapp-float-icon {
|
.whatsapp-float-icon {
|
||||||
width: 2.5rem;
|
width: 2.5rem;
|
||||||
height: 2.5rem;
|
height: 2.5rem;
|
||||||
|
|||||||