skills/api-platform-development/bagisto-api-shop/SKILL.md
ALWAYS use when building a STOREFRONT app or UI on the Bagisto Shop API — a customer-facing storefront, catalog, cart, checkout, customer account, wishlist, compare, reviews, or ANY page/component of a shop on the API (web, mobile, or custom). Also when the user mentions products, cart, checkout, coupons, customer login/account, wishlist, or 'storefront on the API'. Routes each task to a reference page; asks the client's platform/stack first; treats the api-docs as the source of truth for exact shapes.
npx skillsauth add bagisto/agent-skills bagisto-api-shopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Implement any customer-facing storefront — catalog, cart, checkout, account, wishlist, compare — on the Bagisto Shop API (/api/shop/* REST + POST /api/graphql). This skill is a router: it tells you the flow and points you at the reference page for each feature; the reference pages carry the architecture, UI/UX, endpoints, and a checklist.
reference/connecting-to-the-api.md — auth (storefront key + cart/customer tokens), the {data,meta}/header pagination, error codes, and the verify-before-coding protocol.reference/graphql.md — if the client picked GraphQL: the result-field/id rule, camelCase inputs, cursor pagination.The api-docs are the source of truth for exact request/response shapes — https://api-docs.bagisto.com and its /llms.txt index. The reference pages name the endpoints and flow; open the linked docs page for the precise body/response before writing the call. Never invent a payload from memory.
Confirm, then tailor everything to the answers. Don't assume a stack.
| Page | Build this |
|------|-----------|
| reference/flows/product-listing.md | Categories, product list, search, filters |
| reference/flows/product-details.md | Product page (per-type option discovery, reviews, related) |
| reference/flows/add-to-cart.md | Add-to-cart per product type |
| reference/flows/cart.md | Mini-cart + cart page (read/update/remove/merge/totals) |
| reference/flows/checkout.md | Address → shipping → payment → place order |
| reference/flows/order-confirmation.md | Post-order thank-you page |
| reference/flows/authentication.md | Register, login, logout, verify, forgot/change password |
| reference/flows/account.md | Profile + address book |
| reference/flows/customer-orders.md | Order history, detail, cancel, reorder, invoices, downloadables |
| Page | Build this |
|------|-----------|
| reference/features/coupons.md | Apply / remove coupon |
| reference/features/wishlist.md | Wishlist add/toggle/list/move-to-cart |
| reference/features/compare.md | Compare list |
| reference/features/reviews.md | Product reviews + the customer's own reviews |
| reference/features/newsletter.md | Newsletter subscribe |
| reference/features/contact-us.md | Contact form |
| reference/features/storefront-context.md | Countries/states, channels, currencies, locales, CMS pages, themes |
Each page = overview → flow architecture → UI/UX → step-by-step API (with the exact endpoints) → errors → checklist. Follow it; it defers exact shapes to the api-docs.
X-STOREFRONT-KEY; cart/account/checkout calls also send Authorization: Bearer <cartToken | customerToken>. Guests mint a cart token first (POST /api/shop/cart-tokens).merge-carts) or the guest's items are lost.success/message/orderId/totals), not a generic id; inputs are camelCase; one field per line. See reference/graphql.md.development
Shop theme development in Bagisto. Activates when creating custom storefront themes, modifying shop layouts, building theme packages, or working with Vite-powered assets for the customer-facing side of the application.
development
Shipping method development in Bagisto. Activates when creating shipping methods, integrating shipping carriers like FedEx, UPS, DHL, or any third-party shipping provider; or when the user mentions shipping, shipping method, shipping carrier, delivery, or needs to add a new shipping option to checkout.
development
Product type development in Bagisto. Activates when creating custom product types, defining product behaviors, or implementing specialized product logic. Use references: @config (product type configuration), @abstract (AbstractType methods), @build (complete subscription implementation).
development
Tests applications using the Pest 3 PHP framework in Bagisto. Activates when writing tests, creating unit or feature tests, adding assertions, testing Livewire components, architecture testing, debugging test failures, working with datasets or mocking; or when the user mentions test, spec, TDD, expects, assertion, coverage, or needs to verify functionality works.