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.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin bigcommerce-commerceThis skill is limited to using the following tools:
**Fetch live docs**: Web-search `site:developer.mozilla.org javascript` for MDN JavaScript reference. Check `https://www.typescriptlang.org/docs/` for TypeScript documentation.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
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.