Agent skill

Shopify Admin Bulk Customer Tag Update

by 40RTY-ai in 40RTY-ai/shopify-admin-skills

Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.

MITAuto-check passedSales & Support

Install Shopify Admin Bulk Customer Tag Update

skills CLI
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .claude/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
shopify-admin-bulk-customer-tag-update
GitHub stars
194
Token cost
~2k tokens
SKILL.md length
666 words
Files
1
Skills in repo
116
Repo updated
First seen
Licence
MIT

At a glance

Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.

  • Works in 3 steps: OPERATION: customers — query → For each matched customer, compute the… → OPERATION: customerUpdate — mutation
  • Tasks that involve Customer support
  • SKILL.md covers Purpose, Prerequisites, Parameters and Safety, plus 6 more sections
  • Calls shopify

What it does

Shopify Admin Bulk Customer Tag Update is an agent skill from 40RTY-ai/shopify-admin-skills. Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Claude Code, Cursor, Codex, Gemini CLI

It sits in Sales & Support, covering Customer support. It works with Shopify. The repository describes itself as: Community-maintained AI agent skills for operating Shopify stores — workflows, optimization, reports and more. The licence is MIT.

When your agent uses it

  • Tasks that involve Customer support

Example prompts

  • “/shopify-admin-bulk-customer-tag-update”

Requirements

  • Compatibility (from SKILL.md): Claude Code, Cursor, Codex, Gemini CLI

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. OPERATION: customers — query
  2. For each matched customer, compute the target tag set
  3. OPERATION: customerUpdate — mutation

What it can do on your machine

Read from SKILL.md and the folder at commit 6765cb4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • shopify

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Claude Code, Cursor, Codex, Gemini CLI

    From compatibility in the SKILL.md frontmatter.

Context cost

Shopify Admin Bulk Customer Tag Update loads about 2k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 666 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from 40RTY-ai/shopify-admin-skills at commit 6765cb4, republished under its MIT licence (© 40RTY-ai). 666 words, ~1,961 tokens.

Download SKILL.mdSave it as .claude/skills/shopify-admin-bulk-customer-tag-update/SKILL.md (or your agent's skills folder).
name
shopify-admin-bulk-customer-tag-update
description
Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.
compatibility
Claude Code, Cursor, Codex, Gemini CLI
role
customer-support
toolkit
shopify-admin, shopify-admin-execution
api_version
2025-01
graphql_operations
customers:query, customerUpdate:mutation
status
stable

Purpose

Applies bulk tag changes (add, remove, or both) to customers selected by a query filter (e.g., total_spent:>=500, tag:newsletter) or by an explicit list of customer GIDs. Tags are how Shopify segments customers for discounts, marketing, and support workflows; this skill makes batch changes safe, dry-runnable, and auditable. Use when migrating from one tag taxonomy to another, when retiring a campaign-specific tag, or when applying a new segment tag identified by an analytics report.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store <domain> --scopes read_customers,write_customers
  • API scopes: read_customers, write_customers

Parameters

ParameterTypeRequiredDefaultDescription
storestringyes—Store domain (e.g., mystore.myshopify.com)
formatstringnohumanOutput format: human or json
dry_runboolnotruePreview matching customers and the planned tag changes without executing mutations
filterstringconditional—Customer query filter (e.g., tag:newsletter, total_spent:>=500); required if customer_ids is omitted
customer_idsarrayconditional—Explicit list of customer GIDs; required if filter is omitted
add_tagsarrayno[]Tags to add (union with existing tags)
remove_tagsarrayno[]Tags to remove (set difference)
modestringnomergeTag write mode: merge (apply add/remove to existing) or replace (overwrite tags entirely with add_tags only)
max_customersintegerno1000Run-size cap; abort if filter matches more than this

Safety

⚠️ Step 2 executes one customerUpdate mutation per customer in the matched set. Tag changes are immediate and visible to staff and to any apps reading customer tags (loyalty, marketing automation, segmentation). mode: replace overwrites existing tags entirely — manually-applied operational tags will be lost. The default is dry_run: true and mode: merge. Always run dry-run first, review the matched count, and confirm add_tags/remove_tags are spelled correctly — Shopify tags are case-sensitive.

Workflow Steps

  1. OPERATION: customers — query Inputs: When filter is set: query: <filter>, first: 250, pagination cursor. When customer_ids is set: batch query with query: "id:<id1> OR id:<id2> ..." (chunk into batches of 25 IDs). Select id, displayName, defaultEmailAddress { emailAddress }, tags. Expected output: Customer list with current tags. Abort if match_count > max_customers.

  2. For each matched customer, compute the target tag set:

    • If mode: merge: target = (existing ∪ add_tags) \ remove_tags
    • If mode: replace: target = add_tags (remove_tags ignored) Skip the customer if target == existing (no-op).
  3. OPERATION: customerUpdate — mutation Inputs: For each customer with a non-empty diff: input: { id: <customer_id>, tags: <target_tag_array> } Expected output: customer.id, customer.tags, userErrors; collect failures

GraphQL Operations

graphql
# customers:query — validated against api_version 2025-01
query CustomersForBulkTagging($query: String!, $after: String) {
  customers(first: 250, after: $after, query: $query) {
    edges {
      node {
        id
        displayName
        firstName
        lastName
        defaultEmailAddress {
          emailAddress
        }
        tags
        numberOfOrders
        amountSpent {
          amount
          currencyCode
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
graphql
# customerUpdate:mutation — validated against api_version 2025-01
mutation CustomerTagsUpdate($input: CustomerInput!) {
  customerUpdate(input: $input) {
    customer {
      id
      displayName
      tags
    }
    userErrors {
      field
      message
    }
  }
}
Show full SKILL.md (283 more words)Show less

Session Tracking

Claude MUST emit the following output at each stage. This is mandatory.

On start, emit:

╔══════════════════════════════════════════════╗
║  SKILL: Bulk Customer Tag Update             ║
║  Store: <store domain>                       ║
║  Started: <YYYY-MM-DD HH:MM UTC>             ║
╚══════════════════════════════════════════════╝

After each step, emit:

[N/TOTAL] <QUERY|MUTATION>  <OperationName>
          → Params: <brief summary of key inputs>
          → Result: <count or outcome>

If dry_run: true, prefix every mutation step with [DRY RUN] and do not execute it.

On completion, emit:

For format: human (default):

══════════════════════════════════════════════
BULK TAG UPDATE OUTCOME
  Filter:           <filter or "<n> explicit IDs">
  Mode:             <merge|replace>
  Add tags:         <list>
  Remove tags:      <list>
  Customers matched: <n>
  Customers updated: <n>  (or "skipped — dry_run")
  No-op (already in state): <n>
  Errors:           <n>
  Output:           bulk_tag_update_<date>.csv
══════════════════════════════════════════════

For format: json, emit:

json
{
  "skill": "bulk-customer-tag-update",
  "store": "<domain>",
  "started_at": "<ISO8601>",
  "completed_at": "<ISO8601>",
  "dry_run": true,
  "mode": "merge",
  "outcome": {
    "matched": 0,
    "updated": 0,
    "noop": 0,
    "errors": 0,
    "add_tags": [],
    "remove_tags": [],
    "output_file": "bulk_tag_update_<date>.csv"
  }
}

Output Format

CSV file bulk_tag_update_<YYYY-MM-DD>.csv with columns: customer_id, name, email, previous_tags, tags_added, tags_removed, new_tags, status

The status column reports updated, noop, or error: <message>.

Error Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
userErrors on customerUpdateInvalid input or read-only customerLog error, skip customer, continue
match_count > max_customersFilter is too broadRefine filter or raise max_customers deliberately
Both filter and customer_ids emptyNo selectionAbort with parameter error
Tag is empty stringWhitespace-only entryStrip and skip empty values
Case-mismatched remove_tagTags are case-sensitiveRe-run with exact casing

Best Practices

  • Always run with dry_run: true first — review the matched count and a sample of previous_tags → new_tags diffs before committing.
  • Prefer mode: merge (the default) for almost all use cases — mode: replace is appropriate only when fully resetting a customer's tag taxonomy and you have an audited backup of prior tags.
  • Tags are case-sensitive: VIP and vip are distinct in Shopify. Standardize casing in your taxonomy.
  • For ongoing operational segments, prefer date-stamped tag names (e.g., cohort-2026-Q2) so historical cohorts remain identifiable as new tags accumulate.
  • Pair with vip-customer-identifier or customer-spend-tier-tagger to feed segment tags from analytics outputs into the customer record.
  • Use remove_tags as the cleanup pass after a campaign — leaving stale campaign tags clutters segmentation in marketing tools.
  • When customer_ids is supplied directly (e.g., from another skill's CSV), the run is fully deterministic — no filter ambiguity.

© 40RTY-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/customer-support/shopify-admin-bulk-customer-tag-update of 40RTY-ai/shopify-admin-skills.

Open the folder on GitHubat commit 6765cb4

Compare with similar skills

Shopify Admin Bulk Customer Tag Update next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Shopify Admin Bulk Customer Tag Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shopify Admin Bulk Customer Tag Update this skill40RTY-ai/shopify-admin-skills194—~2kAutomated safety check: PassMIT
Shopify Review Triagegithub/awesome-copilot40k—~4.2kAutomated safety check: PassMIT
Shopify Debug Bundlejeremylongshore/tons-of-skills-marketplace2.8k—~784Automated safety check: PassMIT
Supporthaacked/dotfiles134—~2.9kAutomated safety check: PassNone
Checkout Purchasekeypo-us/keypo-cli182—~880Automated safety check: NotesNone
Company Brain Company QAtopoteretes/cognee32k—~750Automated safety check: NotesApache-2.0

Similar skills

  • Shopify Review Triage

    github/awesome-copilot

    Official

    A skill your agent uses when someone wants public Shopify App Store reviews, low-star reviews, or merchant feedback triaged, prioritized, clustered, or turned into a product or support brief.

    40k GitHub stars~4.2k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Shopify Debug Bundle

    jeremylongshore/tons-of-skills-marketplace

    Collect Shopify debug evidence including API versions, scopes, rate limit state, and request logs.

    2.8k GitHub stars~784 tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Support

    haacked/dotfiles

    Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.

    134 GitHub stars~2.9k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Checkout Purchase

    keypo-us/keypo-cli

    A skill your agent uses when the user asks to buy a product from the Shopify store.

    182 GitHub stars~880 tokensUpdated 6 mo ago
    Sales & SupportAuto-check: notes
  • Company Brain Company QA

    topoteretes/cognee

    Build one company memory from a SQL database, a support ticket export and a folder of documents, linked into one graph by cognee, then answer questions that need several of those sources together.

    32k GitHub stars~750 tokensUpdated yesterday
    Sales & SupportAuto-check: notes
  • Afa

    afadtc/afa-dtc-skills

    AFA DTC 全链路独立站操盘系统——系统入口、一级路由器、工作流编排器,统筹品牌基建/付费获客/有机增长/变现留存/运营扩张五大业务线。触发词: 独立站, DTC, 电商, Shopify, 全链路操盘, 独立站诊断, 独立站增长, 90 天增长计划, 不知道从哪开始, 多个问题一起, 帮我做全盘规划, 一件代发, 测品, 测试店, ecommerce, online store, DTC…

    168 GitHub stars~3.2k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed

More from 40RTY-ai/shopify-admin-skills

All 116 skills in this repo
  • Shopify Admin Abandoned Cart Recovery

    40RTY-ai/shopify-admin-skills

    Query checkouts abandoned in the last N days, generate unique discount codes per customer, and tag them for re-engagement.

    194 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Shopify Admin Address Correction

    40RTY-ai/shopify-admin-skills

    Update the shipping address on an unfulfilled order before it ships.

    194 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Shopify Admin Agentic Crawler Access

    40RTY-ai/shopify-admin-skills

    Edit the theme's robots.txt.liquid to explicitly allow AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot, Amazonbot) so AI assistants are permitted to read the catalog.

    194 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Rewrite thin product descriptions into structured, fact-rich copy (materials, fit, use-cases, the words shoppers actually type) so AI agents have something concrete to quote and match.

    194 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Shopify Admin Agentic Image Alt Text

    40RTY-ai/shopify-admin-skills

    Generate and set descriptive alt text on product images so AI agents (which can't 'see' pixels) can understand and recommend what each product looks like.

    194 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Shopify Admin Agentic LLMs Txt

    40RTY-ai/shopify-admin-skills

    Generate and publish an /llms.txt guide (brand summary, flagship products, key policies, contact) via a theme template so AI assistants get a curated, machine-readable map of the store.

    194 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Shopify Admin Bulk Customer Tag Update

What does Shopify Admin Bulk Customer Tag Update do?

Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes. Shopify Admin Bulk Customer Tag Update is an agent skill from 40RTY-ai/shopify-admin-skills. Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.

When should I use Shopify Admin Bulk Customer Tag Update?

Shopify Admin Bulk Customer Tag Update fits situations like: tasks that involve Customer support.

How do I install Shopify Admin Bulk Customer Tag Update in Claude Code?

Run `npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a claude-code`. Or copy the skill folder (skills/customer-support/shopify-admin-bulk-customer-tag-update in 40RTY-ai/shopify-admin-skills) into .claude/skills/shopify-admin-bulk-customer-tag-update in your project. Claude Code loads it when a task matches its description.

How do I install Shopify Admin Bulk Customer Tag Update in Codex?

Run `npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a codex`. Or copy the skill folder (skills/customer-support/shopify-admin-bulk-customer-tag-update in 40RTY-ai/shopify-admin-skills) into .agents/skills/shopify-admin-bulk-customer-tag-update in your project. Codex loads it when a task matches its description.

Can I use Shopify Admin Bulk Customer Tag Update in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shopify-admin-bulk-customer-tag-update, .gemini/skills/shopify-admin-bulk-customer-tag-update, .github/skills/shopify-admin-bulk-customer-tag-update and .opencode/skills/shopify-admin-bulk-customer-tag-update in your project.

What does Shopify Admin Bulk Customer Tag Update need to run?

Going by SKILL.md and its folder, Shopify Admin Bulk Customer Tag Update needs the command-line tools its instructions call (shopify). Compatibility (from SKILL.md): Claude Code, Cursor, Codex, Gemini CLI.

Does Shopify Admin Bulk Customer Tag Update access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Shopify Admin Bulk Customer Tag Update safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Shopify Admin Bulk Customer Tag Update use?

Shopify Admin Bulk Customer Tag Update is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shopify Admin Bulk Customer Tag Update use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Shopify Admin Bulk Customer Tag Update?

Skills that share tags, products or a category with Shopify Admin Bulk Customer Tag Update: Shopify Review Triage (github/awesome-copilot, 40k stars), Shopify Debug Bundle (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Support (haacked/dotfiles, 134 stars) and Checkout Purchase (keypo-us/keypo-cli, 182 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shopify Admin Bulk Customer Tag Update?

40RTY-ai (a GitHub organization) maintains it in 40RTY-ai/shopify-admin-skills, which has 194 GitHub stars. The repository holds 116 skills in this directory. The repository was last updated on August 14, 2026.

Source: 40RTY-ai/shopify-admin-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.