Google's official skill for the gws CLI — drive Gmail, Drive, Calendar, Sheets, Docs, Chat and Admin APIs from an agent, with Model Armor screening.
Shopify Custom Data (Metafields & Metaobjects)Skill
Summary
Official Shopify skill for modelling custom data — it pushes metafield and metaobject definitions into shopify.app.toml instead of runtime GraphQL, and gets $app namespacing right.
Features
- Defaults to declaring definitions in shopify.app.toml rather than runtime GraphQL
- Gets $app namespacing right for both metafields and metaobjects
- Names the runtime-definition exceptions instead of leaving the choice open
- Fixed working order: define, then write values, then read them back
- Covers merchant access levels and storefront exposure on definitions
Install This Skill
Add this skill to your favorite AI agent in a few steps.
Skill Content
Usage Instructions
Learn how to use this skill with different AI agents.
Example Usage
Model a 'care guide' text field on products and an author metaobject linked from each product, following Shopify's recommended approach.
Description
shopify-custom-data is the Shopify AI Toolkit skill for metafields and metaobjects — the mechanism apps use to extend built-in Shopify types like products, customers and orders, and to define bespoke data structures of their own.
The opinion it enforces
Most generated code for this gets the approach wrong before it gets the syntax wrong. The skill's position is unambiguous: for roughly 99.99% of apps, definitions belong in shopify.app.toml, declared as TOML, not created at runtime through metafieldDefinitionCreate and metaobjectDefinitionCreate:
[product.metafields.app.care_guide]
type = "single_line_text_field"
name = "Care Guide"
access.admin = "merchant_read_write"
[metaobjects.app.author]
name = "Author"
display_name_field = "name"
access.storefront = "public_read"TOML definitions are version controlled, auto-installed on app install, and type-safe. GraphQL is then used only to read and write values. Runtime definition creation is reserved for the genuine exceptions — apps where merchants configure types dynamically, or where other apps must read the data.
The namespacing trap
It is emphatic about the mistake that costs the most debugging time: a metaobject declared as [metaobjects.app.example] must be accessed as type $app:example, and a metafield declared as [product.metafields.app.example] must use namespace $app with key example. Using the literal namespace app — the obvious guess — silently fails. The skill also discourages custom namespaces entirely.
Working order
Definitions first, then writing values through the Admin API, then reading them back. The skill deliberately refuses to present alternative approaches to the same problem unless asked, on the grounds that choice here mostly produces confusion.
Requirements and caveats
Node.js required for the bundled scripts, which report usage telemetry to shopify.dev unless OPT_OUT_INSTRUMENTATION=true is set. MIT licensed.
Related Skills
Netlify's official skill for zero-config managed Postgres — querying from Functions, Drizzle setup, migrations and per-preview database branches.
Official WordPress skill for Gutenberg block work: block.json, attributes and serialization, dynamic rendering, and the deprecation path that keeps existing content valid.
Persistent cross-session memory for coding agents: hooks capture each session, a local SQLite + vector store compresses it, and a mem-search skill reads it back.
