Shopify Review Triage
github/awesome-copilot
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.
Adds and/or removes tags across a filtered set of customers — supports query-based selection, explicit ID lists, and union/replace tag modes.
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .claude/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-updateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .agents/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .agents/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .cursor/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .cursor/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/40RTY-ai/shopify-admin-skills.git --path skills/customer-support/shopify-admin-bulk-customer-tag-update--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .gemini/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .gemini/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-updateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .github/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .github/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-bulk-customer-tag-update -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-bulk-customer-tag-update --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/40RTY-ai/shopify-admin-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/customer-support/shopify-admin-bulk-customer-tag-update .opencode/skills/shopify-admin-bulk-customer-tag-update && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "shopify-admin-bulk-customer-tag-update" agent skill from https://github.com/40RTY-ai/shopify-admin-skills/tree/main/skills/customer-support/shopify-admin-bulk-customer-tag-update into .opencode/skills/shopify-admin-bulk-customer-tag-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shopify-admin-bulk-customer-tag-update", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
shopify-admin-bulk-customer-tag-updateAdds 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.
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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6765cb4. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
shopifyFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude Code, Cursor, Codex, Gemini CLI
From compatibility in the SKILL.md frontmatter.
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.
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.
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.
The full file from 40RTY-ai/shopify-admin-skills at commit 6765cb4, republished under its MIT licence (© 40RTY-ai). 666 words, ~1,961 tokens.
.claude/skills/shopify-admin-bulk-customer-tag-update/SKILL.md (or your agent's skills folder).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.
shopify store auth --store <domain> --scopes read_customers,write_customersread_customers, write_customers| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| store | string | yes | — | Store domain (e.g., mystore.myshopify.com) |
| format | string | no | human | Output format: human or json |
| dry_run | bool | no | true | Preview matching customers and the planned tag changes without executing mutations |
| filter | string | conditional | — | Customer query filter (e.g., tag:newsletter, total_spent:>=500); required if customer_ids is omitted |
| customer_ids | array | conditional | — | Explicit list of customer GIDs; required if filter is omitted |
| add_tags | array | no | [] | Tags to add (union with existing tags) |
| remove_tags | array | no | [] | Tags to remove (set difference) |
| mode | string | no | merge | Tag write mode: merge (apply add/remove to existing) or replace (overwrite tags entirely with add_tags only) |
| max_customers | integer | no | 1000 | Run-size cap; abort if filter matches more than this |
⚠️ Step 2 executes one
customerUpdatemutation 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: replaceoverwrites existing tags entirely — manually-applied operational tags will be lost. The default isdry_run: trueandmode: merge. Always run dry-run first, review the matched count, and confirmadd_tags/remove_tagsare spelled correctly — Shopify tags are case-sensitive.
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.
For each matched customer, compute the target tag set:
mode: merge: target = (existing ∪ add_tags) \ remove_tagsmode: replace: target = add_tags (remove_tags ignored)
Skip the customer if target == existing (no-op).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
# 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
}
}
}# customerUpdate:mutation — validated against api_version 2025-01
mutation CustomerTagsUpdate($input: CustomerInput!) {
customerUpdate(input: $input) {
customer {
id
displayName
tags
}
userErrors {
field
message
}
}
}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:
{
"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"
}
}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 | Cause | Recovery |
|---|---|---|
THROTTLED | API rate limit exceeded | Wait 2 seconds, retry up to 3 times |
userErrors on customerUpdate | Invalid input or read-only customer | Log error, skip customer, continue |
match_count > max_customers | Filter is too broad | Refine filter or raise max_customers deliberately |
Both filter and customer_ids empty | No selection | Abort with parameter error |
| Tag is empty string | Whitespace-only entry | Strip and skip empty values |
| Case-mismatched remove_tag | Tags are case-sensitive | Re-run with exact casing |
dry_run: true first — review the matched count and a sample of previous_tags → new_tags diffs before committing.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.VIP and vip are distinct in Shopify. Standardize casing in your taxonomy.cohort-2026-Q2) so historical cohorts remain identifiable as new tags accumulate.vip-customer-identifier or customer-spend-tier-tagger to feed segment tags from analytics outputs into the customer record.remove_tags as the cleanup pass after a campaign — leaving stale campaign tags clutters segmentation in marketing tools.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
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
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Shopify Admin Bulk Customer Tag Update this skill40RTY-ai/shopify-admin-skills | 194 | — | ~2k | Automated safety check: Pass | MIT | |
| Shopify Review Triagegithub/awesome-copilot | 40k | — | ~4.2k | Automated safety check: Pass | MIT | |
| Shopify Debug Bundlejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~784 | Automated safety check: Pass | MIT | |
| Supporthaacked/dotfiles | 134 | — | ~2.9k | Automated safety check: Pass | None | |
| Checkout Purchasekeypo-us/keypo-cli | 182 | — | ~880 | Automated safety check: Notes | None | |
| Company Brain Company QAtopoteretes/cognee | 32k | — | ~750 | Automated safety check: Notes | Apache-2.0 |
github/awesome-copilot
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.
jeremylongshore/tons-of-skills-marketplace
Collect Shopify debug evidence including API versions, scopes, rate limit state, and request logs.
haacked/dotfiles
Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.
keypo-us/keypo-cli
A skill your agent uses when the user asks to buy a product from the Shopify store.
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.
afadtc/afa-dtc-skills
AFA DTC 全链路独立站操盘系统——系统入口、一级路由器、工作流编排器,统筹品牌基建/付费获客/有机增长/变现留存/运营扩张五大业务线。触发词: 独立站, DTC, 电商, Shopify, 全链路操盘, 独立站诊断, 独立站增长, 90 天增长计划, 不知道从哪开始, 多个问题一起, 帮我做全盘规划, 一件代发, 测品, 测试店, ecommerce, online store, DTC…
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.
40RTY-ai/shopify-admin-skills
Update the shipping address on an unfulfilled order before it ships.
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.
40RTY-ai/shopify-admin-skills
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.
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.
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.
Works with
Categories
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.
Shopify Admin Bulk Customer Tag Update fits situations like: tasks that involve Customer support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.