Prompt recipes
Copy-paste-safe prompt recipes for Enad React SDK, TypeScript SDK, Search, APIs, Media, Events, and theming tasks.
Keep agents focused. Stay specific. Replace the placeholders with the actual task, then keep SDK exports, API fields, Search schema, Media contracts, and event payloads tied to their references.
General routing prompt
Read /llms.txt first.
Check /ai/manifest.json for safety hints.
Name the smallest Enad surface for this task before writing code.
Use references for exact fields, exports, versions, and payloads.Use this prompt before the surface is clear. After routing, switch to the narrower recipe that matches the work.
React SDK component work
Build <surface> with documented React SDK exports.
Name the component family and public import path before code.
Keep EnadProvider and theme boundaries on documented public surfaces.Use this for component choice and imports. Use the storefront recipe when the task is page-level composition.
Storefront composition
Use docs and /llms-full.txt to route this storefront task.
Name the primary domain, then produce a small plan.
Do not copy playground route internals into the app.
Verify exact props, hooks, Search fields, and package versions in references.Use this when the page shape is the main question. Use a commerce or Search prompt when data ownership is the hard part.
TypeScript SDK API work
Use docs plus SDK package reference for exact @enadhq/enad-ts-sdk APIs.
For <API> from <runtime>, name the SDK/client boundary.
Keep required context explicit.
Check API reference or OpenAPI before writing code.
Distinguish core API tuple responses from Search client results.Use this when the task mixes SDK helpers with API behavior. Keep exact exports in package reference and exact endpoints in API reference.
Search GraphQL work
Use Enad Search guidance with app, market, store-group, and locale explicit.
Route React work to React SDK Search guidance, and route query-model work to Search GraphQL reference.
Do not invent operations, variables, fragments, or schema fields.
Prefer Search GraphQL for new discovery, filters, facets, autocomplete, and product-result composition.Use this when storefront discovery or Search data shape is the core problem. Keep React composition separate from query contracts.
Media and DAM work
Use /llms.txt and Media docs to choose Media, public asset-library reads, or Management DAM administration, then verify uploads, schemas, transformations, and fields in API reference.
Do not collapse the DAM route families: public asset-library reads use dam.enad.io app_id GET routes; administration uses Management /api/v1/{team_slug}/{app_slug}/dam/... routes.
For MCP media-control or media-delete, keep REST references as endpoint truth, route changes through preview/apply, and require no-rollback acknowledgement before destructive deletion.Use this when the task touches assets, folders, transformations, or governed media changes. It keeps route choice, reference checks, and destructive-change safeguards in the same prompt.
For MCP media-control or media-delete work, keep REST references as endpoint truth and route changes through preview/apply. For destructive media deletion, require explicit no-rollback acknowledgement before preview.
MCP server work
Use this when the agent needs to connect to the hosted MCP server or choose tools safely. The prompt keeps setup, discovery, capability selection, approval, and verification in one workflow.
Use /ai/mcp-server for Enad MCP setup and first-call workflow.
Connect with Streamable HTTP and let the client follow OAuth discovery.
Call docs.search/docs_search or docs.get_route_guidance/docs_get_route_guidance before domain-specific tools.
Keep team/app context explicit.
Use search_capabilities with namespace, mode, status, includeInputFields, and includeDetails before selecting a capability.
Execute only read or draft capabilities through execute_capability.
Route dry-run and write capabilities through changes_preview, browser approval when required, changes_apply when the capability status is implemented and the workflow needs it, audit_get, and a post-change read.
Do not execute descriptor-only, deferred, blocked, or out-of-scope capabilities.
For proposal-backed workflows, browser approval can complete the write, so poll proposal, resource, or audit state before assuming another apply call is needed.
Generate fresh approval links from the same environment as the MCP endpoint.
Use API, Search, Media, DAM, or Events references for exact contracts.MCP catalog and merchandising mutation work
Use this when the change affects catalog or merchandising data through MCP.
Use /ai/apis/latest and /ai/mcp-server before changing Enad catalog, merchandising, variant, stock, pricing, DAM, or media data through MCP.
Find capabilities with search_capabilities using the right namespace, mode dryRun, status implemented, includeInputFields, and includeDetails.
Use /ai/apis/latest and /ai/mcp-server before changing Enad catalog, merchandising, variant, stock, pricing, DAM, or media data through MCP.
Find capabilities with search_capabilities using the right namespace, mode dryRun, status implemented, includeInputFields, and includeDetails.
If the returned capability is descriptor-only, deferred, blocked, or out-of-scope, stop and explain that it is not executable.
For implemented workflows, keep entity IDs and slugs explicit.
Preserve destructive acknowledgements when required.
Preview through changes_preview.
Complete browser approval when required.
Apply through changes_apply only when the workflow still needs it.
Read audit_get and verify with the owning API or read tool.
Use API reference pages for endpoint fields and response contracts.MCP variant stock work
Use this for stock quantity changes through MCP. It keeps stock writes separate from product, variant, and purchase-policy decisions.
Use /ai/apis/latest and /start/concepts/products-variants-prices-and-stock before changing stock through MCP.
Find commerce stock capabilities with search_capabilities using namespace commerce, mode dryRun, includeInputFields, and includeDetails.
Use Variants reference pages for exact REST endpoint contracts.
For MCP variant-stock writes, provide a reason, keep productId, variantId, and warehouseSlug explicit, require noRollbackAcknowledged for stock deletes, use only explicit-partial bulk mode, and route set/delete or bulk set/delete through changes_preview, browser approval when required, changes_apply, audit_get, and a post-apply read.
Do not execute stock delta adjustment as a write unless the capability is no longer descriptor-only.MCP bundle-control work
Use this for bundle groups, bundles, bundle rules, and bundle availability. It keeps destructive acknowledgements and store-group market context explicit.
Use /ai/apis/latest and /start/concepts/product-bundles-and-bundle-groups before changing bundle data through MCP.
Find commerce bundle capabilities with search_capabilities using namespace commerce, mode dryRun, includeInputFields, and includeDetails.
Use Product Bundle Groups, Product Bundles, and Bundle Rules reference pages for exact REST endpoint contracts.
For MCP bundle-control writes, keep bundleGroupId, bundleId, ruleId, marketSlug, storeGroupSlug, and productIds explicit when the operation needs them.
Require noRollbackAcknowledged for deletes and removals, do not mix fixed and relative discount payloads, and route bundle group, product bundle, bundle rule, or bundle availability changes through changes_preview, browser approval when required, changes_apply, audit_get, and a post-apply read.MCP warehouse-control work
Use this for warehouse records and warehouse-market links. Use variant-stock workflows instead when the value being changed is inventory quantity.
Use /ai/apis/latest and /start/concepts/store-groups-and-markets before changing warehouse data through MCP.
Find commerce warehouse capabilities with search_capabilities using namespace commerce, mode dryRun, includeInputFields, and includeDetails.
Use Warehouses reference pages for exact REST endpoint contracts.
For MCP warehouse-control writes, keep warehouseSlug and marketSlug explicit when the operation needs them, use warehouse slugs that are lowercase alphanumeric with hyphen or underscore separators, require noRollbackAcknowledged for warehouse delete and market remove, and route warehouse create/update/delete or warehouse market add/remove through changes_preview, browser approval when required, changes_apply, audit_get, and a post-apply read.
Do not use warehouse-control for variant stock quantity changes; use variant-stock workflows instead.MCP static-listing-control work
Use this for governed changes to curated static listings. Do not use it for Smart Listing rules, Search ranking, product edits, or variant edits.
Use /ai/apis/latest and /start/concepts/redirects-relations-and-listings before changing curated static listings through MCP.
Find merchandising static listing capabilities with search_capabilities using namespace merchandising, mode dryRun, includeInputFields, and includeDetails.
Use Static Listings reference pages for exact REST endpoint contracts.
For MCP static-listing-control writes, keep listingId explicit for update/delete, use slugs that are lowercase alphanumeric with hyphen or underscore separators, provide 1-100 variantIds for create/update, require noRollbackAcknowledged for delete, and route static listing create/update/delete through changes_preview, browser approval when required, changes_apply, audit_get, and a post-apply read.
Do not use static-listing-control for Smart Listing rules, Search ranking, product edits, or variant edits.Events and Integrations work
Use this when the task touches webhook delivery, receiver behavior, or integration routing. Keep event names and payload fields tied to the catalog.
Use the Events and Integrations routes for webhook delivery, retry behavior, and integration guidance. Use /events/catalog for exact event type strings, base event envelope fields, payload schema IDs, and top-level payload field summaries. Treat the configured custom auth header pair as the current receiver-authentication surface unless webhook settings or delivery references explicitly define more. Do not invent signature headers, timestamp headers, replay-window checks, retry headers, or payload-derived signing rules. Verify nested payload details and API details in schemas or references before writing code.Theme restoration from playground
Use this when moving a reviewed playground theme into an app. Keep provider placement and theme hash usage on documented SDK surfaces.
Use public Enad theme surfaces only. Keep EnadProvider at the app root and wrap the themed subtree with EnadThemeProvider from @enadhq/enad-react-sdk/client/theme. If the playground export includes rich runtime theme data, prefer const themeHash = "..." plus <EnadThemeProvider hash={themeHash}>. Use componentSet="..." directly only for structural-set-only setup. Do not copy live playground internals or routes into the app.Theme debugging
Use this when theme output differs between playground and app runtime. Check hash, component set, token overrides, and stylesheet import in that order.
Debug Enad theme restoration in this order: verify the same hash is passed through, check whether an explicit componentSet prop overrides the hash, check whether explicit tokens override decoded values, then confirm the SDK stylesheet is imported so component-set selectors exist. Remember: componentSet is structural; token overrides change CSS variables.API reference review
Use this when reviewing a docs change that might move exact endpoint facts into prose. Keep API fields and contract details in the reference layer.
Use the current API and Reference routes to find endpoint details. Keep endpoint fields in reference pages, and use conceptual guides only for workflow explanation.