Pinme Uniwebpay
glitternetwork/pinme
A skill your agent uses when generating, modifying, or reviewing PinMe Worker (Cloudflare Worker TypeScript) code that accepts payments through UniwebPay — payment links, products/prices, checkout…
Add or modify webhook interceptors in an Adobe Commerce app.
$ npx skills add adobe/skills --skill commerce-app-webhooks -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adobe/skills commerce-app-webhooks --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-webhooks .claude/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.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/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .claude/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooksType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add adobe/skills --skill commerce-app-webhooks -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adobe/skills commerce-app-webhooks --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-webhooks .agents/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .agents/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill commerce-app-webhooks -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adobe/skills commerce-app-webhooks --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-webhooks .cursor/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .cursor/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/adobe/skills.git --path plugins/commerce/app-management/skills/commerce-app-webhooks--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add adobe/skills --skill commerce-app-webhooks -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adobe/skills commerce-app-webhooks --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-webhooks .gemini/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .gemini/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install adobe/skills commerce-app-webhooksInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add adobe/skills --skill commerce-app-webhooks -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-webhooks .github/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .github/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill commerce-app-webhooks -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adobe/skills commerce-app-webhooks --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/commerce/app-management/skills/commerce-app-webhooks .opencode/skills/commerce-app-webhooks && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "commerce-app-webhooks" agent skill from https://github.com/adobe/skills/tree/main/plugins/commerce/app-management/skills/commerce-app-webhooks into .opencode/skills/commerce-app-webhooks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commerce-app-webhooks", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
commerce-app-webhooksAdd or modify webhook interceptors in an Adobe Commerce app.
Commerce App Webhooks is an agent skill from adobe/skills. Add or modify webhook interceptors in an Adobe Commerce app. Use when the user wants to intercept Commerce operations to validate input, append data, or modify behavior — before or after execution. Requires a base app initialized with commerce-app-init.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including assets (for example `assets/webhooks-config.ts` and `evals/evals.json`). Compatibility notes: Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app. Requires a base app initialized with commerce-app-init.
It sits in Backend & APIs, covering Webhooks. It works with Adobe Commerce and TypeScript. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cbc9952. It shows what the files ask for, not the result of running them.
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.
Ships script files (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app. Requires a base app initialized with commerce-app-init.
From compatibility in the SKILL.md frontmatter.
Commerce App Webhooks loads about 2.9k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 896 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 896 words, ~2,858 tokens.
.claude/skills/commerce-app-webhooks/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Adds or modifies webhook interceptors in an existing app.commerce.config.ts.
Webhooks intercept Commerce operations — you can validate input, append data, or modify behavior before or after an operation executes.
Other extensibility domains (events, business config) are added separately via their own skills.
app.commerce.config.ts present in the project root, andsrc/commerce-extensibility-1/ directory and installed node_modules (the @adobe/aio-commerce-lib-app dependency).app.commerce.config.ts is missing, stop and invoke commerce-app-init first (it writes the config, then runs init).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.webpack-config.cjs + root tsconfig.json) that init scaffolds for a TypeScript Commerce config — see commerce-app-init. Otherwise, author actions in JavaScript.Ask the user what they want to intercept and how:
webhook_method (the Commerce operation, e.g., plugin.magento.catalog_product.save) and webhook_type (before or after)runtimeAction: "<package>/<action>") or an explicit external URL (webhook.url) — these are mutually exclusivevalidation (block if invalid), append (add data), or modification (alter data) — used for conflict detectionbatch_name groups related hooks; hook_name uniquely identifies this hook within the batchApply the following validation rules before writing. Surface any issues to the user before proceeding.
| Field | Constraint |
|---|---|
batch_name | [a-zA-Z0-9_]+ only — no hyphens, dots, or spaces |
hook_name | [a-zA-Z0-9_]+ only — no hyphens, dots, or spaces |
category | Optional; must be validation, append, or modification |
runtimeAction | <package>/<action> format; mutually exclusive with webhook.url |
webhook.url | Must be a valid absolute URL (https://...); mutually exclusive with runtimeAction |
label | Required, non-empty |
description | Required, non-empty |
webhook_type | Required; must be before or after |
method | Required; must be POST, PUT, DELETE, or GET |
timeout / soft_timeout | Optional; positive integer (milliseconds) |
priority / batch_order | Optional; positive integer |
app.commerce.config.tsAdd entries to the top-level webhooks array (or create it), preserving all other domains. If the config already has a webhooks key, append to it rather than replacing it.
Minimal examples:
// Runtime action handler (handler lives in this app)
webhooks: [
{
label: "Validate Product Save",
description: "Validates product data before saving.",
category: "validation", // optional
runtimeAction: "my-package/validate-product", // <package>/<action>
webhook: {
webhook_method: "plugin.magento.catalog_product.save",
webhook_type: "before",
batch_name: "my_app", // [a-zA-Z0-9_]+ only
hook_name: "validate_product", // [a-zA-Z0-9_]+ only
method: "POST",
},
},
];
// URL handler (external endpoint)
webhooks: [
{
label: "Fraud Check",
description: "Calls external fraud service before order placement.",
webhook: {
webhook_method: "plugin.magento.sales_order.place",
webhook_type: "before",
batch_name: "my_app",
hook_name: "fraud_check",
method: "POST",
url: "https://fraud.example.com/check", // inside webhook object, not top level
},
},
];Each entry also accepts an optional env array ("paas" / "saas") to scope it to specific Commerce environments. When omitted, the webhook applies to all environments; when set, it is only subscribed at install time on the listed environments.
See assets/webhooks-config.ts for the full annotated reference.
For webhook entries that use runtimeAction, create the action file under src/actions/ and register it in app.config.yaml.
Add a user-defined package to src/commerce-extensibility-1/ext.config.yaml alongside the existing app-management package. Use any name except app-management (reserved by the framework):
# src/commerce-extensibility-1/ext.config.yaml
# (add below the auto-generated app-management package)
runtimeManifest:
packages:
app-management:
# ... auto-generated — do not edit
my-app: # your package name — any name except "app-management"
actions:
validate-product:
function: actions/validate-product/index.js # relative to src/commerce-extensibility-1/
web: "yes"
runtime: nodejs:24
annotations:
require-adobe-auth: trueThe <package>/<action> format in runtimeAction maps directly: my-app/validate-product → package my-app, action validate-product.
// src/commerce-extensibility-1/actions/validate-product/index.ts
import {
ok,
successOperation,
exceptionOperation,
addOperation,
replaceOperation,
removeOperation,
} from "@adobe/aio-commerce-lib-webhooks/responses";
export async function main(params: Record<string, unknown>) {
// params contains the Commerce operation payload
// Allow the operation to proceed
return ok(successOperation());
// Block the operation (validation failure)
// return ok(exceptionOperation("Product SKU is required"));
// Append data to the operation result
// return ok(addOperation("result/custom_field", { value: "appended" }));
// Modify a field in the result
// return ok(replaceOperation("result/price", 99.99));
// Remove a field from the result
// return ok(removeOperation("result/unwanted_field"));
}Operation types:
| Response | Effect |
|---|---|
successOperation() | Allow — operation proceeds unchanged |
exceptionOperation(message) | Block — operation is rejected with this message |
addOperation(path, value) | Append data at path in the result |
replaceOperation(path, value) | Replace the value at path in the result |
removeOperation(path) | Remove the field at path from the result |
installation actionIf webhooks is the first install-requiring domain in the config (the others are eventing.commerce, eventing.external, adminUi, installation.customInstallationSteps), re-run:
npx @adobe/aio-commerce-lib-app initThis is what adds the installation action to ext.config.yaml's app-management package — aio app build/aio app deploy only read the existing file, they never regenerate it. Skip this and Commerce has no endpoint to call, so the webhook builds and deploys fine but never actually gets installed. Safe to re-run even when the action already exists.
Build the project to confirm the updated config is valid:
aio app buildA build failure with a validation error points directly to the offending config field. If this webhook needed Step 4, also check that ext.config.yaml now has actions.installation under app-management.
batch_name or hook_name rejected: Use underscores as separators (my_app, validate_product_save) — hyphens, dots, and spaces are not accepted.runtimeAction and webhook.url set: These are mutually exclusive — use runtimeAction when the handler lives in this app; webhook.url for an external endpoint.url at wrong level: For URL-based entries, url must be inside the nested webhook object, not at the top level alongside label.app-management package name conflict: The framework generates this package in ext.config.yaml on every build. Use any other name for your own actions.src/commerce-extensibility-1/: Do not use src/... or project-root-relative paths. actions/validate-product/index.js resolves correctly; src/commerce-extensibility-1/actions/validate-product/index.js does not.defineConfig not found: Ensure @adobe/aio-commerce-lib-app is installed and defineConfig is imported from @adobe/aio-commerce-lib-app/config.init wasn't re-run after adding the first install-requiring domain (Step 4) — no installation action, no install endpoint.aio app build completes without errorsinstallation action present in ext.config.yaml when this webhook requires itAfter aio app build passes:
commerce-app-business-config to expose configurable settings in Commerce Admincommerce-app-eventing to subscribe to Commerce or external eventscommerce-app-admin-ui to add custom columns, mass actions, order view buttons, or menu entries in Commerce Admincommerce-app-storage to back webhook handlers with queryable DB storage© 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
SKILL.md and 2 other files (assets) in plugins/commerce/app-management/skills/commerce-app-webhooks of adobe/skills.
Open the folder on GitHubat commit cbc9952
Commerce App Webhooks 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Commerce App Webhooks this skilladobe/skills | 195 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Pinme Uniwebpayglitternetwork/pinme | 3.7k | 1 repos | ~7.3k | Automated safety check: Pass | MIT | |
| Ar Io Gateway Operatorar-io/ar-io-node | 127 | — | ~8.2k | Automated safety check: Notes | AGPL-3.0 | |
| Bfl APIblack-forest-labs/skills | 125 | 1 repos | ~2.5k | Automated safety check: Notes | MIT | |
| Chat SDK Botslobehub/lobehub | 83k | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Fishjam JS Server SDKsoftware-mansion-labs/skills | 291 | — | ~1.4k | Automated safety check: Pass | MIT |
glitternetwork/pinme
A skill your agent uses when generating, modifying, or reviewing PinMe Worker (Cloudflare Worker TypeScript) code that accepts payments through UniwebPay — payment links, products/prices, checkout…
ar-io/ar-io-node
Operate any AR.IO node deployment — architecture, daily ops, diagnostics, and recurring pitfalls that apply to every operator.
black-forest-labs/skills
BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
lobehub/lobehub
Builds chat bots once for Slack, Teams, Google Chat, Discord, GitHub and Linear with the Chat SDK, covering event handlers, cards, modals, streaming and state adapters.
software-mansion-labs/skills
Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens, listen to server notifications, and run agents.
tokencanopy/e2a
A skill your agent uses when adding e2a email capabilities to an application or codebase: outbound sending, inbound signed webhooks, REST polling, or SDK integration.
adobe/skills
Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.
adobe/skills
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.
adobe/skills
Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.
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…
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).
adobe/skills
Reduce a webpage to a structural skeleton with semantic tokens.
Works with
Categories
Add or modify webhook interceptors in an Adobe Commerce app. Commerce App Webhooks is an agent skill from adobe/skills. Add or modify webhook interceptors in an Adobe Commerce app.
Commerce App Webhooks fits situations like: the user wants to intercept Commerce operations to validate input; modify behavior — before; after execution.
Run `npx skills add adobe/skills --skill commerce-app-webhooks -a claude-code`. Or copy the skill folder (plugins/commerce/app-management/skills/commerce-app-webhooks in adobe/skills) into .claude/skills/commerce-app-webhooks in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adobe/skills --skill commerce-app-webhooks -a codex`. Or copy the skill folder (plugins/commerce/app-management/skills/commerce-app-webhooks in adobe/skills) into .agents/skills/commerce-app-webhooks in your project. Codex loads it when a task matches its description.
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-webhooks -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-webhooks, .gemini/skills/commerce-app-webhooks, .github/skills/commerce-app-webhooks and .opencode/skills/commerce-app-webhooks in your project.
Going by SKILL.md and its folder, Commerce App Webhooks needs TypeScript for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires Node.js 22+, aio CLI, and @adobe/aio-commerce-lib-app. Requires a base app initialized with commerce-app-init. .
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.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Commerce App Webhooks 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.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Commerce App Webhooks: Pinme Uniwebpay (glitternetwork/pinme, 3.7k stars), Ar Io Gateway Operator (ar-io/ar-io-node, 127 stars), Bfl API (black-forest-labs/skills, 125 stars) and Chat SDK Bots (lobehub/lobehub, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adobe (a GitHub organization) maintains it in adobe/skills, which has 195 GitHub stars. The repository holds 105 skills in this directory. The repository was last updated on October 6, 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.