---
name: comprehensive-shopify-audit
description: Run the complete Shopify Check catalog only for an explicitly requested full or comprehensive audit. Find actionable, evidence-backed improvements across experience, accessibility, discoverability and technical quality. Read-only except authorized anonymous-cart and fictional checkout inspection through payment options.
---

# Instructions

Run the complete active catalog only when a full, comprehensive or all-checks audit is explicitly requested. Use `$core-shopify-audit` for unqualified audits. Named Checks/categories may narrow this catalog only without an authoritative host-persisted selection.

Provide one HTTP(S) live storefront URL. Repository, GitHub, Shopify and Google Analytics evidence is optional; bind each available source to the store and block only decisions that require missing evidence. Keep the declared integration boundary.

## Run the audit

Read the [operating contract](references/core/operating-contract.md), [reporting contract](references/core/reporting-contract.md) and [Check evaluation workflow](references/workflows/check-evaluation.md). Evaluate each selected Check in bounded batches with direct evidence and one terminal outcome. A full run evaluates every active Check; honor the host-persisted catalog. The Checks are not installed with this skill: read them through the Store Skills project MCP (`find_checks` and `read_page`), and stop with the workflow's setup message when those tools are unreachable.

Load supporting procedures only as needed:

- [Browser testing](references/workflows/browser-testing.md), [shopping journeys](references/workflows/commerce-journeys/) and [debugging](references/workflows/debugging.md) for shared evidence and source attribution.
- [Repository discovery](references/tools/repository-discovery.md), [tool routing](references/tools/mcp-routing.md) and [connected data](references/tools/integrations.md) for available evidence capabilities.
- [Competitor comparison](references/workflows/competitor-analysis.md) and [customer research](references/workflows/customer-research.md) for relevant supporting context.
- [Performance testing](references/workflows/performance-testing.md), [funnel investigation](references/workflows/funnel-analysis.md) and [landing-page comparison](references/workflows/landing-page-opportunities.md) for selected Checks that need them.
- [PIE prioritization](references/core/prioritization.md) for supported opportunities.

Reuse compatible supplied reports. Standalone metrics belong to `$report-shopify-performance`; funnel trends and experiment readouts belong to `$report-shopify-funnel`. Use those skills only when separately requested and installed. Do not run them automatically or import their catalogs. Collect each selected Check’s evidence locally; those skills are not dependencies.

Use host capabilities permitted for the task. Consume an already prepared preview; `$preview-shopify-theme` handles setup and its `references/tools/local-storefront.md#evidence-and-report-use` defines simulation limits. Do not install packages or start servers during evaluation. Keep evaluation read-only except approved disposable anonymous-cart and fictional guest-checkout state; stop at payment options. Do not publish, purchase, message, enter payment or mutate customer data.

## Return results

Return action-only Issues, comparable Changes when supported, every selected Check and shared Limitations. Keep Findings empty. Each Issue and its failed Checks share one canonical category: Experience, Accessibility, Discoverability or Technical. Match category IDs to Check metadata/folders; surface and subcategory labels are not report categories.

Follow [Glue JSON output](references/core/glue-output.md): save, validate and read back the complete `report.json`. After every local audit, follow [local audit results](references/workflows/local-results.md) to open the bundled localhost viewer, then link its URL and JSON artifact with a readable summary of every Issue. Presentation needs Python 3.9+, command execution and a persistent process; unavailable capabilities leave the saved report usable and do not change Check outcomes. Use the bundled schema unless the host supplies one. In Glue, return the bare object through its runtime; Glue handles storage and rendering without starting this viewer.

Authenticated account inspection requires both declared secrets and protected, target-bound handling. In Glue, add `[use-report-secrets]` only to the guarded browser task that needs them; other hosts use an equivalent protected capability. Never request, log or return secret values. Without protected handling, block account-only evidence unless another authorized source proves it.

## Host integration

```glue-review-setup
{
  "schemaVersion": 2,
  "goal": "Identify evidence-backed Shopify changes that should be acted on.",
  "context": [
    { "id": "target_repository", "label": "Repository", "type": "repository", "required": false },
    { "id": "target_url", "label": "Storefront URL", "type": "url", "required": true }
  ],
  "integrations": [
    { "toolkit": "github", "label": "GitHub", "required": false },
    { "toolkit": "shopify", "label": "Shopify", "required": false },
    { "toolkit": "google_analytics", "label": "Google Analytics", "required": false }
  ],
  "categories": [
    {
      "id": "experience",
      "label": "Experience",
      "subcategories": [
        { "id": "account", "label": "Account" },
        { "id": "cart", "label": "Cart" },
        { "id": "checkout", "label": "Checkout" },
        { "id": "collection", "label": "Collection" },
        { "id": "content", "label": "Content" },
        { "id": "cross-surface", "label": "Cross-surface" },
        { "id": "homepage", "label": "Homepage" },
        { "id": "navigation", "label": "Navigation" },
        { "id": "product-page", "label": "Product page" },
        { "id": "search", "label": "Search" }
      ]
    },
    {
      "id": "accessibility",
      "label": "Accessibility",
      "subcategories": [
        { "id": "checkout", "label": "Checkout" },
        { "id": "cross-surface", "label": "Cross-surface" },
        { "id": "product-page", "label": "Product page" },
        { "id": "search", "label": "Search" }
      ]
    },
    {
      "id": "discoverability",
      "label": "Discoverability",
      "subcategories": [
        { "id": "collection", "label": "Collection" },
        { "id": "content", "label": "Content" },
        { "id": "cross-surface", "label": "Cross-surface" }
      ]
    },
    {
      "id": "technical",
      "label": "Technical",
      "subcategories": [
        { "id": "implementation", "label": "Implementation" },
        { "id": "performance", "label": "Performance" },
        { "id": "reliability", "label": "Reliability" }
      ]
    }
  ],
  "batches": [
    { "id": "experience", "label": "Experience checks", "categoryIds": ["experience"] },
    { "id": "accessibility", "label": "Accessibility checks", "categoryIds": ["accessibility"] },
    { "id": "discoverability", "label": "Discoverability checks", "categoryIds": ["discoverability"] },
    { "id": "technical", "label": "Technical checks", "categoryIds": ["technical"] }
  ],
  "reporting": {
    "allowedResultTypes": ["issue", "change"],
    "data": []
  },
  "completionRules": [
    "Every selected active Check reaches exactly one terminal outcome.",
    "Every failed check references exactly one same-category Issue.",
    "Full runs evaluate every active check in all four categories."
  ],
  "safetyRules": [
    "Keep the audit read-only except for approved disposable anonymous cart and fictional guest-checkout state.",
    "Never enter payment, activate a wallet, submit payment, place an order, publish, message, or mutate customer data."
  ]
}
```

```glue-review-secrets
[
  {
    "id": "account-email",
    "label": "Test account email",
    "type": "email",
    "required": false,
    "description": "Email for an authorized read-only storefront test account."
  },
  {
    "id": "account-password",
    "label": "Test account password",
    "type": "password",
    "required": false,
    "description": "Password for the same authorized storefront test account."
  }
]
```
