From bigcommerce-commerce
Writes modern JavaScript/TypeScript using ES6+ features (async/await, destructuring, modules, optional chaining), Fetch API, and TypeScript types/utilities. For BigCommerce themes, apps, storefronts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bigcommerce-commerce:js-modernThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**: Web-search `site:developer.mozilla.org javascript` for MDN JavaScript reference. Check `https://www.typescriptlang.org/docs/` for TypeScript documentation.
Fetch live docs: Web-search site:developer.mozilla.org javascript for MDN JavaScript reference. Check https://www.typescriptlang.org/docs/ for TypeScript documentation.
Concise function syntax with lexical this:
const add = (a, b) => a + b;this, arguments, super, or new.targetString interpolation and multi-line strings:
`Hello, ${name}!`Extract values from objects/arrays:
const { name, price } = product;const [first, ...rest] = items;const { name = 'Unknown' } = product;const { address: { city } } = customer;[...arr1, ...arr2], { ...obj1, ...obj2 }function(...args) {}, const { a, ...rest } = obj;import { func } from './module.js';export const value = 42; / export default class {}const mod = await import('./lazy.js');obj?.property?.nested — short-circuits to undefined if any part is nullishvalue ?? defaultValue — returns right side only if left is null/undefined (not falsy)new Promise((resolve, reject) => { ... }).then(), .catch(), .finally()Promise.all(), Promise.allSettled(), Promise.race(), Promise.any()async function fetchData() { const data = await fetch(url); }const [a, b] = await Promise.all([fetchA(), fetchB()]);const response = await fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data),
});
const result = await response.json();
let name: string = 'Product';function getPrice(id: number): Promise<number> { ... }const product: Product = { ... };interface Product {
id: number;
name: string;
price: number;
variants?: Variant[];
}
Partial<T> — all properties optionalRequired<T> — all properties requiredPick<T, K> — subset of propertiesOmit<T, K> — exclude propertiesRecord<K, V> — key-value mappingReturnType<T> — extract return type of functionfunction fetchResource<T>(url: string): Promise<T> {
return fetch(url).then(res => res.json());
}
const product = await fetchResource<Product>('/api/products/1');
enum OrderStatus {
Pending = 'pending',
Shipped = 'shipped',
Completed = 'completed',
}
type ApiResponse<T> =
| { status: 'success'; data: T }
| { status: 'error'; message: string };
map, filter, reduce, find, findIndexsome, every — boolean checksflat, flatMap — array flatteningArray.from(), Array.isArray()Object.entries(), Object.fromEntries(), Object.keys(), Object.values()structuredClone() — deep clonePageManager lifecycle for page-specific codethis.contextjsonwebtoken libraryconst by default, let when reassignment is needed, never var=== instead of == for comparisonsFetch MDN and TypeScript docs for exact syntax, browser compatibility, and new features before implementing.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin bigcommerce-commerceGuides modern JavaScript/TypeScript with ES6+ features, async/await, destructuring, optional chaining, modules, and TypeScript types for Shopify themes, apps, Functions, Hydrogen.
Writes modern JS/TS for Salesforce Commerce platforms (SFCC Rhino/CommonJS limits, PWA Kit Node/ES modules, LWC Locker constraints). Fetches latest docs before coding.
Guides writing clean, performant JavaScript using features from ES6 through ES2026. Includes decision trees for array methods, nullish handling, and immutable operations with runtime support notes.