--- name: shopify-content description: "Create and manage Shopify pages, blog posts, navigation menus, redirects, and SEO metadata via the Admin API or browser automation. Use whenever the user wants to add a page to a Shopify store, write a Shopify blog post, update the storefront navigation, manage redirects, or tune SEO metadata on a Shopify site." compatibility: claude-code-only --- # Shopify Content Create and manage Shopify store content — pages, blog posts, navigation menus, and SEO metadata. Produces live content in the store via the Admin API or browser automation. ## Prerequisites - Admin API access token with `read_content`, `write_content` scopes (use **shopify-setup** skill) - For navigation: `read_online_store_navigation`, `write_online_store_navigation` scopes ## Workflow ### Step 1: Determine Content Type | Content Type | API Support | Method | |-------------|-------------|--------| | Pages | Full | GraphQL Admin API | | Blog posts | Full | GraphQL Admin API | | Navigation menus | Limited | Browser automation preferred | | Redirects | Full | REST Admin API | | SEO metadata | Per-resource | GraphQL on the resource | | Metaobjects | Full | GraphQL Admin API | ### Step 2a: Create Pages ```bash curl -s https://{store}/admin/api/2025-01/graphql.json \ -H "Content-Type: application/json" \ -H "X-Shopify-Access-Token: {token}" \ -d '{ "query": "mutation pageCreate($page: PageCreateInput!) { pageCreate(page: $page) { page { id title handle } userErrors { field message } } }", "variables": { "page": { "title": "About Us", "handle": "about", "body": "

Our Story

Content here...

", "isPublished": true, "seo": { "title": "About Us | Store Name", "description": "Learn about our story and mission." } } } }' ``` **Page body** accepts HTML. Keep it semantic: - Use `

` through `

` for headings (the page title is `

`) - Use `

`, `