Agent skill

Commerce App Business Config

by adobe in adobe/skills

Manage custom business configuration in an Adobe Commerce app.

Apache-2.0Auto-check: notes

Install Commerce App Business Config

skills CLI
$ npx skills add adobe/skills --skill commerce-app-business-config -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install adobe/skills commerce-app-business-config --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-business-config .claude/skills/commerce-app-business-config && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
commerce-app-business-config
GitHub stars
197
Token cost
~2.6k tokens
SKILL.md length
760 words
Files
3 (incl. assets)
Skills in repo
66
Repo updated
First seen
Licence
Apache-2.0

At a glance

Manage custom business configuration in an Adobe Commerce app.

  • Works in 5 steps: Understand intent → Derive config values → Update app.commerce.config.ts → …
  • The user wants to add
  • SKILL.md covers Prerequisites, Step 1 — Understand intent, Step 2 — Derive config values and Step 3 — Update…, plus 7 more sections
  • Runs TypeScript scripts from its folder; calls npx; needs AIO_COMMERCE_CONFIG_ENCRYPTION_KEY and SOME_API_KEY

What it does

Commerce App Business Config is an agent skill from adobe/skills. Manage custom business configuration in an Adobe Commerce app. Use when the user wants to add, modify, or remove merchant-configurable settings (config fields, admin config, store configuration) exposed through Commerce Admin. Creates typed config fields (text, password, email, url, tel, boolean, list) in businessConfig.schema. Requires a base app initialized with commerce-app-init.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including assets (for example `assets/business-config.ts` and `evals/evals.json`). Compatibility notes: Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app installed. Requires a base app initialized with commerce-app-init.

It works with Adobe Commerce. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.

When your agent uses it

  • The user wants to add
  • Remove merchant-configurable settings (config fields
  • Store configuration) exposed through Commerce Admin

Example prompts

  • “/commerce-app-business-config”

Requirements

  • Node.js
  • A credential in SOME_API_KEY
  • A credential in AIO_COMMERCE_CONFIG_ENCRYPTION_KEY
  • Compatibility (from SKILL.md): Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app installed. Requires a base app initialized with commerce-app-init.

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Understand intent
  2. Derive config values
  3. Update app.commerce.config.ts
  4. Register the extension point
  5. Validate

What it can do on your machine

Read from SKILL.md and the folder at commit c8f44ec. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • AIO_COMMERCE_CONFIG_ENCRYPTION_KEY
    • SOME_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app installed. Requires a base app initialized with commerce-app-init.

    From compatibility in the SKILL.md frontmatter.

Context cost

Commerce App Business Config loads about 2.6k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 760 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~104
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:174
    NFIG_ENCRYPTION_KEY` automatically into `.env` the first time it encounters a password field (and validates it on subseq

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from adobe/skills at commit c8f44ec, republished under its Apache-2.0 licence (© adobe). 760 words, ~2,557 tokens.

Download SKILL.mdSave it as .claude/skills/commerce-app-business-config/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
commerce-app-business-config
description
Manage custom business configuration in an Adobe Commerce app. Use when the user wants to add, modify, or remove merchant-configurable settings (config fields, admin config, store configuration) exposed through Commerce Admin. Creates typed config fields (text, password, email, url, tel, boolean, list) in businessConfig.schema. Requires a base app initialized with commerce-app-init.
compatibility
Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app installed. Requires a base app initialized with commerce-app-init.
license
Apache-2.0
metadata.author
adobe

Configure Commerce App Business Config

Adds or modifies the businessConfig.schema array in an existing app.commerce.config.ts. Each entry in the schema defines one merchant-configurable setting that Commerce Admin will render as a UI field. Other extensibility domains (webhooks, events) are added separately via their own skills.

Prerequisites

  • Verify the app is scaffolded and initialized, not merely that the config exists. Require both:
    • app.commerce.config.ts present in the project root, and
    • the project initialized — signalled by the generated src/commerce-extensibility-1/ directory and installed node_modules (the @adobe/aio-commerce-lib-app dependency).
  • If app.commerce.config.ts is missing, stop and invoke commerce-app-init first (it writes the config, then runs init).
  • If the config is present but the project is not initialized (no src/commerce-extensibility-1/ or node_modules), run npx @adobe/aio-commerce-lib-app init before continuing. Init is idempotent — it finds the existing config, skips the interactive prompts, installs dependencies, and generates the project files.

Step 1 — Understand intent

For each setting the user wants to expose, gather:

  • Name — machine identifier for the field (used as the config key read by the app at runtime)
  • Type — one of: list, text, password, email, url, tel, boolean
  • Label (optional) — human-readable label shown in Admin
  • Description (optional) — help text shown alongside the field in Admin
  • Default value (optional, type-dependent — see constraints in Step 2)
  • For list fields additionally: selectionMode ("single" or "multiple") and options (each with a label and value string)

Step 2 — Derive config values

Apply the following per-type validation rules before writing. Surface any issues to the user before proceeding.

FieldConstraint
nameRequired, non-empty string
typeRequired; one of list, text, password, email, url, tel, boolean
labelOptional string
descriptionOptional string
list.selectionModeRequired for list fields: "single" or "multiple"
list.optionsRequired for list fields; each option needs both label and value strings
list/single defaultRequired; must match one of the option value strings (non-empty)
list/multiple defaultOptional array of strings (defaults to []); each element must match an option value
text defaultOptional string (defaults to "")
password defaultMust be "" — any non-empty default is rejected to prevent secrets in config
email defaultOptional; "" or a fully valid email address
url defaultOptional; "" or a fully valid absolute URL
tel defaultOptional; "" or matches /^\+?[0-9\s\-()]+$/ (digits, spaces, hyphens, parens, optional +)
boolean defaultOptional boolean (defaults to false)

businessConfig.schema must contain at least one field — an empty array is rejected at build time.

Step 3 — Update app.commerce.config.ts

Add (or merge into) the top-level businessConfig.schema array, preserving all other domains. If the config already has a businessConfig key, append to businessConfig.schema rather than replacing it.

Minimal examples:

ts
businessConfig: {
  schema: [
    // Password (masked input — API keys, secrets)
    { name: "api_key", type: "password", label: "API Key", default: "" },

    // Single-select list
    {
      name: "region", type: "list", selectionMode: "single",
      label: "Region",
      options: [{ label: "EU", value: "eu" }, { label: "US", value: "us" }],
      default: "eu",   // required; must match an option value
    },

    // Boolean toggle
    { name: "debug_mode", type: "boolean", label: "Enable Debug Mode", default: false },

    // Dynamic list — options resolved at runtime via a factory that receives the action's params.
    // Required `default` factory for single-select; optional for multiple (falls back to []).
    {
      name: "paymentMethod", type: "dynamicList", selectionMode: "single",
      label: "Default Payment Method",
      options: async (params) => {
        const methods = await fetchPaymentMethods(params.SOME_API_KEY);
        return methods.map((m) => ({ label: m.title, value: m.code }));
      },
      default: (resolvedOptions) => resolvedOptions[0].value,
    },
  ],
}

See assets/business-config.ts for the full reference showing all field types.

Step 4 — Register the extension point

Run init so that commerce/configuration/1 is added to app.config.yaml and install.yaml, and the required @adobe/aio-commerce-lib-config dependency is installed. This is idempotent — safe to run even if the extension is already registered.

sh
npx @adobe/aio-commerce-lib-app init
Show full SKILL.md (295 more words)Show less

Step 5 — Validate

Build the project to confirm the updated config is valid:

sh
aio app build

A build failure with a validation error points directly to the offending field.

Reading config in runtime actions

Use @adobe/aio-commerce-lib-config to read the values merchants set in Commerce Admin. The library must be initialized with the generated schema on every action invocation before any config call.

Basic pattern
typescript
import {
  initialize,
  getConfigurationByKey,
  getConfiguration,
  byCodeAndLevel,
} from "@adobe/aio-commerce-lib-config";
// Schema is generated by `aio app build` into .generated/configuration-schema.json
// under the commerce-configuration-1 extension; adjust the relative path for your action.
import schema from "../../.generated/configuration-schema.json" with { type: "json" };

export async function main(params) {
  await initialize({ schema });

  // Read a single field — config is null if the key has never been set
  const { config } = await getConfigurationByKey(
    "api_key", // the `name` from your schema
    byCodeAndLevel("global", "global"), // scope
  );
  const apiKey = config?.value ?? "";

  // Read all fields for a scope
  const { config: allConfig } = await getConfiguration(
    byCodeAndLevel("global", "global"),
  );
  // allConfig is an array of { name, value, origin } entries

  return { statusCode: 200, body: { success: true } };
}
Scope selectors
SelectorWhen to use
byCodeAndLevel("global", "global")App-wide settings — applies to all stores
byCodeAndLevel(storeCode, "store_view")Per store view (most specific)
byCode(storeCode)Resolves using the default level for the scope
byScopeId(scopeId)When you have the scope's numeric ID from Commerce

Values inherit from parent scopes — a field not set on store_view falls back to store, website, then global.

Password fields

aio app build generates AIO_COMMERCE_CONFIG_ENCRYPTION_KEY automatically into .env the first time it encounters a password field (and validates it on subsequent builds). No manual setup needed.

To decrypt values at runtime, the key must be available to the action. Wire it as an input in the action's ext.config.yaml:

yaml
inputs:
  AIO_COMMERCE_CONFIG_ENCRYPTION_KEY: $AIO_COMMERCE_CONFIG_ENCRYPTION_KEY

With the key in place, getConfigurationByKey returns the plaintext value — no extra decryption code needed.

Common Issues

  • list/single default missing: Single-select list fields require a default — it can't be omitted. It must exactly match one of the option value strings.
  • defineConfig not found: Ensure @adobe/aio-commerce-lib-app is installed and defineConfig is imported from @adobe/aio-commerce-lib-app/config.

Quality Bar

  • aio app build completes without errors

Chaining

After aio app build passes:

  • Add webhook interceptors — invoke commerce-app-webhooks to intercept Commerce operations before or after they execute
  • Add event subscriptions — invoke commerce-app-eventing to subscribe to Commerce or external events
  • Extend the Admin UI — invoke commerce-app-admin-ui to add custom columns, mass actions, order view buttons, or menu entries in Commerce Admin

References

© adobe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (assets) in plugins/commerce/app-management/skills/commerce-app-business-config of adobe/skills.

  • SKILL.md
  • assets/business-config.ts
  • evals/evals.json

Open the folder on GitHubat commit c8f44ec

Compare with similar skills

Commerce App Business Config next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Commerce App Business Config compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Commerce App Business Config this skilladobe/skills197—~2.6kAutomated safety check: NotesApache-2.0
Shopping Admin Browser AutomationMassLab-SII/open-agent-skills133—~1.4kAutomated safety check: PassApache-2.0
Ecommerce Product Detailbrowser-act/skills6.1k—~1.6kAutomated safety check: PassMIT
Ecommerce Patternssoftspark/ai-toolkit179—~1.8kAutomated safety check: PassApache-2.0
Auditing Php Applicationstrilwu/secskills157—~2.8kAutomated safety check: PassMIT
Hunting Web Backdoorstrilwu/secskills157—~3kAutomated safety check: PassMIT

Similar skills

  • Shopping Admin Browser Automation

    MassLab-SII/open-agent-skills

    This skill provides tools and techniques for Magento Admin panel automation.

    133 GitHub stars~1.4k tokensUpdated 9 mo ago
    Productivity & AutomationAuto-check passed
  • Ecommerce Product Detail

    browser-act/skills

    Extract complete product information from any e-commerce product page.

    6.1k GitHub stars~1.6k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Ecommerce Patterns

    softspark/ai-toolkit

    E-commerce: cart, checkout, payments (Stripe/Adyen), order state, inventory, promos, tax.

    179 GitHub stars~1.8k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Audit PHP web application source for critical vulnerabilities using PHP's specific sink and footgun catalog — object injection via unserialize and phar:// POP chains, type-juggling and magic-hash…

    157 GitHub stars~2.8k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Hunting Web Backdoors

    trilwu/secskills

    Hunt planted webshells and backdoors across a web source tree — PHP first (also JSP, ASP, Node) — triaging a directory at scale, statically decoding obfuscation layers without ever executing the…

    157 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Shopify Migration

    nexscope-ai/eCommerce-Skills

    Platform migration to Shopify — from WooCommerce, Magento, BigCommerce, data transfer, URL redirects

    1.1k GitHub stars~457 tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed

More from adobe/skills

All 66 skills in this repo
  • Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.

    197 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.

    197 GitHub stars~952 tokensUpdated yesterday
    Auto-check passed
  • Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.

    197 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Page Langs

    adobe/skills

    Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…

    197 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Page Prep

    adobe/skills

    Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls).

    197 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Page Reduce

    adobe/skills

    Reduce a webpage to a structural skeleton with semantic tokens.

    197 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Commerce App Business Config

What does Commerce App Business Config do?

Manage custom business configuration in an Adobe Commerce app. Commerce App Business Config is an agent skill from adobe/skills. Manage custom business configuration in an Adobe Commerce app.

When should I use Commerce App Business Config?

Commerce App Business Config fits situations like: the user wants to add; remove merchant-configurable settings (config fields; store configuration) exposed through Commerce Admin.

How do I install Commerce App Business Config in Claude Code?

Run `npx skills add adobe/skills --skill commerce-app-business-config -a claude-code`. Or copy the skill folder (plugins/commerce/app-management/skills/commerce-app-business-config in adobe/skills) into .claude/skills/commerce-app-business-config in your project. Claude Code loads it when a task matches its description.

How do I install Commerce App Business Config in Codex?

Run `npx skills add adobe/skills --skill commerce-app-business-config -a codex`. Or copy the skill folder (plugins/commerce/app-management/skills/commerce-app-business-config in adobe/skills) into .agents/skills/commerce-app-business-config in your project. Codex loads it when a task matches its description.

Can I use Commerce App Business Config in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adobe/skills --skill commerce-app-business-config -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/commerce-app-business-config, .gemini/skills/commerce-app-business-config, .github/skills/commerce-app-business-config and .opencode/skills/commerce-app-business-config in your project.

What does Commerce App Business Config need to run?

Going by SKILL.md and its folder, Commerce App Business Config needs TypeScript for the scripts in its folder, the command-line tools its instructions call (npx) and credentials named AIO_COMMERCE_CONFIG_ENCRYPTION_KEY and SOME_API_KEY. Our summary lists: Node.js; A credential in SOME_API_KEY; A credential in AIO_COMMERCE_CONFIG_ENCRYPTION_KEY. Compatibility (from SKILL.md): Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app installed. Requires a base app initialized with commerce-app-init. .

Does Commerce App Business Config access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Commerce App Business Config safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Commerce App Business Config use?

Commerce App Business Config is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Commerce App Business Config use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Commerce App Business Config?

Skills that share tags, products or a category with Commerce App Business Config: Shopping Admin Browser Automation (MassLab-SII/open-agent-skills, 133 stars), Ecommerce Product Detail (browser-act/skills, 6.1k stars), Ecommerce Patterns (softspark/ai-toolkit, 179 stars) and Auditing Php Applications (trilwu/secskills, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Commerce App Business Config?

adobe (a GitHub organization) maintains it in adobe/skills, which has 197 GitHub stars. The repository holds 66 skills in this directory. The repository was last updated on October 10, 2026.

Source: adobe/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.