agents/skills/shopify-app-store-review/SKILL.md
Run a pre-submission compliance check against your Shopify app's codebase. Reviews App Store requirements and surfaces likely issues before you submit for official review.
npx skillsauth add carterdea/dots shopify-app-store-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Shopify App Store reviewer performing a pre-submission compliance check against a developer's local codebase. Your role is to evaluate each requirement listed below against the code in this project, identifying potential compliance issues before the app is submitted for official review.
To manage context efficiently, process each requirement independently using a sub-agent or separate evaluation pass.
For each requirement:
Some sections and groups include an applicability note immediately after their title. Evaluate this note before processing any requirements inside the group. There are three types:
When in doubt about whether a conditional signal is present, skip the group rather than evaluating it and allow the user to explicitly request evaluation.
Keep a running list of any groups you skip, including:
Report this list in the Skipped groups section of the output (see Output Format).
Note: Gaps in requirement numbering (e.g., missing 1.1.5, 2.2.2) are intentional. Omitted requirements can only be verified at submission time and are not part of this local check.
Fetch the canonical, up-to-date list of requirements from:
https://shopify.dev/docs/apps/launch/app-store-review/app-store-ai-self-review-requirements
That page is the source of truth — it contains every requirement to be evaluated, each with a Description and Verification guidance. Use whatever web-fetching capability you have (e.g., your web fetch tool, or curl via your shell tool) to retrieve it, then evaluate every requirement listed there using the rules in "How to Process Requirements" above.
Do not rely on a cached or remembered list of requirements — always fetch the live page so the review reflects the latest policy.
After evaluating all requirements, compile the results into a single report using the format below. The goal is to give the developer a clear, actionable summary without overwhelming them. You'll notice we don't list details for passing requirements, we only count them, this is an example of keeping the report focussed and digestible. Keep explanations concise. If you could not evaluate a requirement due to insufficient codebase access or an unrelated project structure, note this separately at the end of the report.
✅ Likely passing: {number} ❌ Likely failing: {number} ⚠️ Needs review: {number} ⏭️ Groups skipped: {number} (see below)
Note: The agent has reviewed a subset of requirements that have been selected by Shopify as checkable against a local codebase without browser context. These and additional requirements will still be reviewed by Shopify upon submission to the Shopify App Store.
For each requirement needing review, provide the following with a new line between each instance:
⚠️ Requirement name
Why this needs attention: Explain the ambiguity, what you can't determine from code alone and what the developer should verify.
What was detected: Describe the signals or patterns found (or notably absent) that make this requirement relevant.
For each requirement needing review, provide the following with a new line between each instance:
❌ Requirement name
Why this matters: A brief rationale explaining the compliance risk.
What was found: A concise explanation of the violation detected, referencing specific files, code patterns, or configurations where possible.
The following groups weren't evaluated because they didn't appear to apply to this codebase (or are opt-in). If you'd like me to check any of these anyway, just ask.
For each skipped group:
Unless all requirements are labeled as likely passing, include these helpful resources at the end of the report:
development
Ship a Trello ticket end to end on any web app (Vercel, Fly.io, or other host — no Shopify): pull the latest main, read the card including Figma links, implement the change in a worktree, run the project's own tests/lint/typecheck, run de-slop and code-simplifier and fold the worthwhile cleanups in, QA desktop and mobile on a local Portless preview URL, capture screenshots, open or update the GitHub PR, link the PR and Trello to each other, attach screenshots to both, comment on the card, and move it to review. Use this whenever the user points you at a Trello card or ticket for a code task and wants it delivered as a reviewable PR — phrases like 'do this Trello ticket', 'ship this card', 'pick up this ticket and open a PR', 'update the PR for this card', or names a card/list/board with a feature or bug to implement. This is the default Trello-to-PR workflow for non-Shopify projects; for Shopify theme work use shopify-trello-delivery instead.
tools
Install or upgrade a quality baseline for Shopify theme repos. Use this whenever the user asks to add Shopify theme linting, Biome, Theme Check, Playwright accessibility checks, Vitest, Vite build tooling, lefthook hooks, GitHub Actions CI, Shopify Lighthouse CI, Claude Code PR review workflows, or a context-efficient run_silent.sh setup across Shopify sites.
development
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for a thermo-nuclear code quality review, thermonuclear review, deep code quality audit, or especially harsh maintainability review.
development
Ship Shopify theme work from a Trello ticket end to end: inspect the card including Figma links, implement the theme change, deploy or update the correct preview/dev theme, browser-QA desktop and mobile against Figma when available, create or update the GitHub PR, attach screenshots, comment on Trello, and move the card forward. Use this whenever the user mentions a Shopify theme task with a Trello card, Figma design/artboard, preview theme, Customizer, dev theme, PR handoff, Ready for Review/Testing, or asks to update an existing Shopify PR from a ticket.