Agent Native

commerce-app-review

This skill reviews an App Builder app against Adobe Commerce submission guidelines before marketplace submission.

by Adobe, Inc.Official publisher

Identity proven by GitHub's verified organisation badge (adobe)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
License
Apache-2.0 (permissive)
Pin
940b879pinned Oct 9, 2026
Context cost
about 2,100 tokenswhen the skill loads
GitHub stars
197on adobe/skills
Scripts
9 scripts

What it does

“Use when validating an App Builder app before submitting to Adobe Exchange, or when the user mentions Adobe Commerce app compliance, extension review, marketplace submission, or Adobe Exchange listing. Checks security requirements, project structure, documentation completeness, and dependency health; reports MUST-have blockers and NICE-to-have recommendations and walks through each finding interactively.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill reviews an App Builder app against Adobe Commerce submission guidelines before marketplace submission. It checks security, project structure, documentation, and dependencies to identify blockers and recommendations, then walks through findings interactively with the developer.

When to use it

  • Preparing an app for Adobe Exchange or marketplace submission
  • Validating Commerce app compliance before publishing
  • Checking app structure against Adobe standards
  • Ensuring security and documentation requirements met

When not to

  • Running automated npm audits or dependency checks
  • Checking live Exchange listings or deployed environments
  • Testing deployed apps in production

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add adobe/skills --skill commerce-app-review

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install adobe/skills commerce-app-review@940b8795c0df3e25de68ce3881dc90855129b215

Installs the commit we checked (940b879).

Copy by hand

Download the folder at 940b879 and put it in .claude/skills/commerce-app-review for Claude Code and in .agents/skills/commerce-app-review for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 940b879

Claude Code plugin

/plugin install adobe-for-creativity@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "commerce-app-review" by Adobe, Inc..

Source, pinned to commit 940b8795c0df3e25de68ce3881dc90855129b215:
https://github.com/adobe/skills/tree/940b8795c0df3e25de68ce3881dc90855129b215/plugins/commerce/app-review/skills/commerce-app-review

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/commerce-app-review/ for Claude Code and .agents/skills/commerce-app-review/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/adobe-inc/commerce-app-review

SKILL.md at the pin

---
name: commerce-app-review
description: Use when validating an App Builder app before submitting to Adobe Exchange, or when the user mentions Adobe Commerce app compliance, extension review, marketplace submission, or Adobe Exchange listing. Checks security requirements, project structure, documentation completeness, and dependency health; reports MUST-have blockers and NICE-to-have recommendations and walks through each finding interactively.
license: Apache-2.0
---

# Self-review an App Builder app

Reviews a local app directory against Adobe's Commerce submission guidelines and walks through each finding interactively — MUST-have blockers first, then NICE-to-have recommendations.

## Inputs

- `APP_PATH` *(optional)* — path to the app root. Defaults to the current working directory.
- `APP_TYPE` *(required)* — `downloadable` or `non-downloadable`. A downloadable app allows merchants to download the source package; a non-downloadable app is installed directly from Adobe Exchange with one click.

## Procedure

### 1. Validate the path and app type

If `APP_PATH` is not provided, use the current working directory. Confirm it exists and is a directory. If not, stop and report:

> Path not found. Please provide the path to the root of your app codebase.

If `APP_TYPE` is not provided, ask:

> **Is this app downloadable or non-downloadable?**
> - **Downloadable** — merchants download the source package and deploy it themselves
> - **Non-downloadable** — merchants install directly from Adobe Exchange with one click

Do not proceed until both are confirmed.

Check whether `aio` is installed (e.g. `command -v aio`). This is a presence check only — do not attempt to authenticate at this stage. If `aio` is not found, note it once:

> Note: `aio` isn't installed. Walkthrough enrichment (Step 8) will use fallback knowledge
> unless `aio` is installed and authenticated before then.

Continue either way.

### 2. Load local references

Read `references/finding.md` and all files under `references/exceptions/` (paths relative to this skill file).

Load pattern files conditionally:
- references/patterns/cors-storefront-actions.md — always
- references/patterns/accs-rest-api-dependency.md — always
- references/patterns/aio-commerce-sdk.md — always
- references/patterns/admin-ui-sdk.md — only if commerce/backend-ui/1 is in app.config.yaml or ext.config.yaml, or @adobe/uix-guest/@adobe/uix-core in package.json

Pattern files take precedence over fetched guidelines. Exception files suppress findings from both.

If any file is not found, skip and continue.

### 3. Fetch the guidelines

Fetch both pages using `curl`. Use raw GitHub URLs — the rendered developer.adobe.com pages are not reliably accessible:

- **Submission guidelines**: `https://raw.githubusercontent.com/AdobeDocs/commerce-extensibility/refs/heads/main/src/pages/app-development/app-submission-guidelines.md`
- **Admin UI SDK checklist**: `https://raw.githubusercontent.com/AdobeDocs/commerce-extensibility/refs/heads/main/src/pages/admin-ui-sdk/app-review-checklist.md` — only if `commerce/backend-ui/1` is in `app.config.yaml` or `ext.config.yaml`, or `@adobe/uix-guest`/`@adobe/uix-core` in `package.json`

If a page is unreachable, note which one failed, proceed with the other, and warn the user that coverage is partial.

### 4. Read the app

Read these files in order:

1. `app.config.yaml` — extension points, actions, inputs, annotations, productDependencies
2. `package.json` — name, description, author, version, dependencies, scripts
3. `env.dist` / `env.example` / any `env.*` at the root — documented env vars
4. `README.md` — installation instructions, events, API requirements
5. `deploy.yaml` — app ID, APIs, workspaces
6. `install.yaml` — extension points (if Admin UI SDK detected)
7. Every `*.config.yaml` and `ext.config.yaml` under `src/` and `actions/`
8. Every `index.js` under `actions/`
9. `web-src/src/` — UI code, innerHTML, routing
10. `extension-manifest.json` — if Admin UI SDK detected

If a file does not exist, note it and continue.

### 5. Review

Build a complete list of checks from the pattern files and fetched guidelines. Then work through every item silently, one by one. Do not skip any item.

**Exclude the following entirely — do not check:**
- `npm audit`, `npx npm-check`, or any check requiring running npm
- Exchange listing URL, repository visibility, screenshots in Exchange listing
- Any check requiring a live Exchange listing, deployed environment, or external URL

For each item:
- Check it against the files read in Step 4
- If confirmed → record as FINDING with severity, file, and line number
- If an exception in `references/exceptions/` applies → suppress it
- If not applicable to `APP_TYPE` → skip it

**Before recording any FINDING, verify it in the actual files. If you cannot point to a specific file and line number, do not flag it.**

**Before flagging a missing package — verify it is directly imported in source files, not just a transitive dependency.**

After working through all items, collect all FINDINGs and assign codes: `MUST-<n>` and `NICE-<n>`. Merge closely related findings before assigning codes.

For each finding track:
- `SEVERITY` — `MUST` or `NICE`
- `DESCRIPTION` — one sentence, specific and actionable
- `FILE_PATH` — **absolute** path to the relevant file; empty for general issues. Render as a markdown link: `[relative/path](file:///absolute/path)`
- `LINE_NUMBER` — specific line; 0 for general issues
- `CATEGORY` — one or more of: `security` · `documentation` · `code` · `dependencies` · `other`

### 6. Present the raw findings list

Print a concise findings list — **no enrichment yet**. Format:

```
Found N MUST-have issue(s) and M NICE-to-have recommendation(s).

**MUST — blockers**
- MUST-1: <one-line description> (`<FILE_PATH>`, line <LINE_NUMBER>)
- MUST-2: …

**NICE — recommendations**
- NICE-1: <one-line description> (`<FILE_PATH>`, line <LINE_NUMBER>)
- NICE-2: …
```

Omit a group heading if it is empty. Omit the file reference when `FILE_PATH` is empty.

After the list, show:

> Type **walkthrough** to go through each finding · **MUST-n** or **NICE-n** to dig into a specific one · or ask anything.

Then wait for the user's response.

### 7. Respond to the user

- **"walkthrough"** (or equivalent intent) → go to Step 8
- **A finding code** (e.g. "MUST-2", "NICE-1") → enrich that finding and present it; show the actions line again and wait
- **Anything else** → answer it; show the actions line again and wait

Repeat until the user ends the session or all findings have been walked through.

### 8. Walkthrough mode

Work through all findings sequentially — MUST first, then NICE. Before starting, obtain the IMS token (see below).

- If the group is empty, say so and move on.
- For each finding in code order:
  1. Show a numbered header (e.g. `--- MUST issue [n/N] ---`)
  2. Enrich the finding and print it
  3. Show: `**"resolve it"**` to work on this finding together · `**"next"**` to move on · or ask anything
  4. Wait for the user's reply

After the last finding, close with a short encouraging message including how many findings were resolved (e.g. "X of N+M findings resolved") and wish the developer good luck.

---

## Obtain IMS token

Run once per session, the first time enrichment is needed:

```bash
IMS_TOKEN=$(aio auth login --bare 2>/dev/null)
```

- If `$IMS_TOKEN` is non-empty → use the documentation agent for enrichment.
- If empty → warn the user; instruct them to run `aio login` and restart for the best experience; ask whether to continue without enrichment or stop.

## Enrich a finding

1. **If IMS token is available**, query the documentation agent:

```bash
curl -s -X POST https://commerce-docs-prod-endpoint-d0ctgyebe7bec8e6.a02.azurefd.net/api/query \
  -H "Authorization: Bearer $IMS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "<topic derived from the finding>", "count": 5}'
```

Pick the `index` based on category:
- `security`, `deployment`, `code` → `app-builder-docs`
- `documentation`, `dependencies` → `commerce-extensibility-docs`
- default → omit `index`

2. **Read the actual file** at `FILE_PATH` and `LINE_NUMBER`. Generate a concrete before/after fix specific to the developer's code — not a generic example.

3. **Compose the enriched finding** using the format in `references/finding.md`.

If the agent returns no results, fall back to App Builder / Commerce knowledge and continue.

## Failure modes

- **Path not found** → stop and report; do not proceed
- **Guidelines page unreachable** → note which failed; proceed with the other; warn coverage is partial
- **`aio` not installed or not authenticated** → warn the user, instruct them to run `aio login`, and ask whether to continue without enrichment or stop
- **Documentation agent returns no results** → fall back to App Builder / Commerce knowledge; do not stop

From adobe/skills at 940b879, shown as plain text under its license: Apache-2.0 (permissive). The license text is in plugins/commerce/app-review/skills/commerce-app-review/SKILL.md.

View SKILL.md on GitHub at 940b879

Files

35 files, 171 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 940b879
All 50 skills from Adobe, Inc.

More from Adobe, Inc.

  • adobe

    This skill provides an onboarding tour of the Adobe for creativity connector, displaying available capabilities, example workflows, and which Adobe product…

    Claude Code, Codex, Cursor +4 · about 2.2K tokens · pinned 7 days ago

  • adobe-anydocx

    This skill routes DOCX conversion tasks that have a PDF source to Adobe's pdf_export tool with the appropriate format setting.

    Claude Code, Codex, Cursor +4 · about 680 tokens · pinned 7 days ago

  • adobe-anyexcel

    This skill routes PDF-to-Excel conversion tasks to the Adobe pdf_export tool with xlsx target format.

    Claude Code, Codex, Cursor +4 · about 690 tokens · pinned 7 days ago

  • adobe-anypdf

    This skill routes PDF tasks to Adobe Acrobat tools for higher fidelity than local Python libraries.

    Claude Code, Codex, Cursor +4 · about 2.1K tokens · pinned 7 days ago

  • adobe-anypptx

    This skill routes PowerPoint conversion tasks that have a PDF source to Adobe's pdf_export tool with PPTX output format.

    Claude Code, Codex, Cursor +4 · about 670 tokens · pinned 7 days ago

  • adobe-batch-edit-photos

    This skill applies consistent visual adjustments to a set of photos so they appear edited together as a cohesive collection.

    Claude Code · about 9.9K tokens · pinned 7 days ago

All Coding workflow skills
  • planning

    This skill orchestrates multi-workflow projects with dependencies and shared data tables by creating a task graph in the orchestrator via the create-tasks tool.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 7 days ago

  • progressive-building

    This skill implements incremental workflow development for agents building or extending workflows.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 1.4K tokens · pinned 7 days ago

  • workflow-builder

    Builds and edits n8n workflows using the TypeScript SDK.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 14.2K tokens · pinned 7 days ago

  • remotion-upgrade

    This skill upgrades Remotion and its related packages to the latest stable version.

    by RemotionOfficial publisher

    Claude Code, Codex, Cursor +3 · about 460 tokens · pinned 7 days ago

  • remotion-upgrade

    This skill upgrades Remotion and related packages across a project, automatically detecting the package manager and workspaces.

    by RemotionOfficial publisher

    Claude Code, Codex, Cursor +3 · about 460 tokens · pinned 7 days ago

  • final-release-review

    Audits Python SDK release candidates or plans against the previous release, comparing diffs for regressions, API changes, and version compatibility.

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 5.4K tokens · pinned 7 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use