Agent skill

Shopify Admin Restock On Return

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

For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item.

MITAuto-check passed

Install Shopify Admin Restock On Return

skills CLI
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-restock-on-return -a claude-code

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

GitHub CLI
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-restock-on-return --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/returns/shopify-admin-restock-on-return .claude/skills/shopify-admin-restock-on-return && 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-restock-on-return
GitHub stars
194
Token cost
~2.2k tokens
SKILL.md length
644 words
Files
1
Skills in repo
116
Repo updated
First seen
Licence
MIT

At a glance

For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item.

  • Works in 3 steps: OPERATION: returns — query → Build the restock plan: for each… → OPERATION: inventoryAdjustQuantities —…
  • SKILL.md covers Purpose, Prerequisites, Parameters and Safety, plus 6 more sections
  • Calls shopify

What it does

Shopify Admin Restock On Return is an agent skill from 40RTY-ai/shopify-admin-skills. For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item.

Its SKILL.md is about 2.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 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.

Example prompts

  • “/shopify-admin-restock-on-return”

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: returns — query
  2. Build the restock plan: for each returnLineItem not previously restocked, where returnReason is allowed by params and…
  3. OPERATION: inventoryAdjustQuantities — 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 Restock On Return loads about 2.2k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 644 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~2.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). 644 words, ~2,217 tokens.

Download SKILL.mdSave it as .claude/skills/shopify-admin-restock-on-return/SKILL.md (or your agent's skills folder).
name
shopify-admin-restock-on-return
description
For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item.
compatibility
Claude Code, Cursor, Codex, Gemini CLI
role
returns
toolkit
shopify-admin, shopify-admin-execution
api_version
2025-01
graphql_operations
returns:query, inventoryAdjustQuantities:mutation
status
stable

Purpose

Walks through recently approved or closed returns and restocks inventory for each returnLineItem whose physical item has been received and inspected. Adjusts the available quantity at the return's destination location using inventoryAdjustQuantities with reason restock and a referenceDocumentUri linking to the return record. Use when warehouse processing posts in a separate system from Shopify, or when manual restock has been deferred and needs a clean catch-up run.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store <domain> --scopes read_returns,write_inventory,read_locations
  • API scopes: read_returns, read_inventory, write_inventory

Parameters

ParameterTypeRequiredDefaultDescription
storestringyes—Store domain (e.g., mystore.myshopify.com)
formatstringnohumanOutput format: human or json
dry_runboolnotruePreview restock plan without executing inventory mutations
days_backintegerno14Lookback window for recently completed returns
return_statusstringnoCLOSEDOnly restock returns in this status: CLOSED, OPEN, or ANY
location_idstringno—If set, restock only returns whose inventory destination matches this location GID
restock_only_return_reasonsarrayno—If set (e.g., ["UNWANTED", "SIZE_TOO_SMALL"]), restock only items returned for these reasons; DEFECTIVE is excluded by default
skip_defectiveboolnotrueExclude returnLineItem.returnReason: DEFECTIVE items from restock

Safety

⚠️ Step 2 executes inventoryAdjustQuantities mutations that immediately add units to the available count at the destination location. Restocking damaged or unsalable inventory inflates available stock and causes oversells. The default is dry_run: true — review the preview CSV to confirm each return line item is genuinely sellable before committing. By default skip_defective: true excludes DEFECTIVE returns. Each restock posts a permanent entry in Shopify's inventory activity log with reason restock.

Workflow Steps

  1. OPERATION: returns — query Inputs: query: "status:<return_status> updated_at:>='<NOW - days_back days>'" (use updated_at:>='...' only when return_status:ANY), first: 250, select id, name, status, closedAt, order { id name }, returnLineItems(first: 50) { quantity, returnReason, fulfillmentLineItem { lineItem { variant { id sku inventoryItem { id tracked } } } } }, reverseFulfillmentOrders(first: 5) { reverseDeliveries(first: 5) { deliverable { ... on ReverseDeliveryShippingDeliverable { label { ... } } } }, location { id name } }, pagination cursor Expected output: Returns with their line items, return reasons, inventory item IDs, and destination location

  2. Build the restock plan: for each returnLineItem not previously restocked, where returnReason is allowed by params and inventoryItem.tracked: true, group by (inventoryItemId, locationId) summing quantity deltas. Skip items where the variant is missing, where tracked: false, or where the return has no destination location.

  3. OPERATION: inventoryAdjustQuantities — mutation Inputs: input.reason: "restock", input.name: "available", input.referenceDocumentUri: "shopify://returns/<return_id>", input.changes: [{ inventoryItemId, locationId, delta: +<quantity> }, ...] Expected output: inventoryAdjustmentGroup.changes with quantityAfterChange per item; userErrors

Show full SKILL.md (251 more words)Show less

GraphQL Operations

graphql
# returns:query — validated against api_version 2025-01
query ReturnsForRestock($query: String!, $after: String) {
  returns(first: 250, after: $after, query: $query) {
    edges {
      node {
        id
        name
        status
        closedAt
        order { id name }
        returnLineItems(first: 50) {
          edges {
            node {
              id
              quantity
              returnReason
              returnReasonNote
              fulfillmentLineItem {
                lineItem {
                  id
                  title
                  variant {
                    id
                    sku
                    inventoryItem { id tracked }
                  }
                }
              }
            }
          }
        }
        reverseFulfillmentOrders(first: 5) {
          edges {
            node {
              id
              reverseDeliveries(first: 5) { edges { node { id } } }
            }
          }
        }
      }
    }
    pageInfo { hasNextPage endCursor }
  }
}
graphql
# inventoryAdjustQuantities:mutation — validated against api_version 2025-01
mutation RestockOnReturn($input: InventoryAdjustQuantitiesInput!) {
  inventoryAdjustQuantities(input: $input) {
    inventoryAdjustmentGroup {
      id
      reason
      referenceDocumentUri
      changes {
        name
        delta
        quantityAfterChange
        item { id sku }
        location { id name }
      }
    }
    userErrors { field message }
  }
}

Session Tracking

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

On start, emit:

╔══════════════════════════════════════════════╗
║  SKILL: Restock on Return                    ║
║  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):

══════════════════════════════════════════════
RESTOCK ON RETURN
  Returns scanned:        <n>
  Line items eligible:    <n>
  Skipped (defective):    <n>
  Skipped (untracked):    <n>
  Units restocked:        <n>  (or "skipped — dry_run")
  Adjustment groups:      <n>
  Errors:                 <n>
  Output:                 restock_on_return_<date>.csv
══════════════════════════════════════════════

For format: json, emit:

json
{
  "skill": "restock-on-return",
  "store": "<domain>",
  "started_at": "<ISO8601>",
  "completed_at": "<ISO8601>",
  "dry_run": true,
  "outcome": {
    "returns_scanned": 0,
    "line_items_eligible": 0,
    "skipped_defective": 0,
    "skipped_untracked": 0,
    "units_restocked": 0,
    "adjustment_groups": 0,
    "errors": 0,
    "output_file": "restock_on_return_<date>.csv"
  }
}

Output Format

CSV file restock_on_return_<YYYY-MM-DD>.csv with columns: return_id, return_name, order_name, sku, product_title, quantity_restocked, return_reason, location_name, quantity_after, inventory_item_id, status

Error Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
inventoryItem.tracked: falseTracking disabled on variantLog and skip; require manual enable
userErrors from inventoryAdjustQuantitiesInvalid location or itemVerify GIDs match the return's destination
Return has no destination locationNo reverse delivery confirmed yetSkip the return; rerun after delivery is confirmed
Variant deletedProduct removed after saleSkip line item; log for review

Best Practices

  • Always run with dry_run: true first and audit the preview CSV — restocking damaged units inflates inventory and causes oversells downstream.
  • Keep skip_defective: true for normal operations. Set it to false only after explicitly inspecting defective units and confirming they're refurbishable.
  • Use restock_only_return_reasons: ["UNWANTED", "SIZE_TOO_SMALL", "SIZE_TOO_LARGE", "STYLE", "COLOR"] to focus on reasons that almost always yield resalable inventory.
  • Set location_id when running per-warehouse — it constrains the run to one site's reverse logistics workflow.
  • Cross-reference the post-run output with multi-location-inventory-audit to confirm restocked SKUs reconcile cleanly.
  • For active returns where physical inspection has not occurred, defer restock until status: CLOSED (default) — never restock on OPEN returns based solely on customer claim.

© 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/returns/shopify-admin-restock-on-return of 40RTY-ai/shopify-admin-skills.

Open the folder on GitHubat commit 6765cb4

Compare with similar skills

Shopify Admin Restock On Return 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 Restock On Return compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shopify Admin Restock On Return this skill40RTY-ai/shopify-admin-skills194—~2.2kAutomated safety check: PassMIT
ShopifyShopify/Shopify-AI-Toolkit592—~4.2kAutomated safety check: PassMIT
E-commerce Visual Copywritingfeichanggege/ecommerce-visual-copywriting-skill867—~1.3kAutomated safety check: PassMIT
Reviewing Pull RequestsShopify/shopify-app-js541—~1.9kAutomated safety check: PassMIT
Better Designmarvkr/better-design254—~1.2kAutomated safety check: PassMIT
Liquid Theme A11ybenjaminsehl/liquid-skills120—~3.2kAutomated safety check: PassNone

Similar skills

  • Shopify

    Shopify/Shopify-AI-Toolkit

    Official

    Build anything on Shopify. An agent skill from Shopify/Shopify-AI-Toolkit.

    592 GitHub stars~4.2k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • E-commerce Visual Copywriting

    feichanggege/ecommerce-visual-copywriting-skill

    Turns product details, packaging, target platform and audience into an executable e-commerce image plan with copy, storyboards, image prompts and a compliance review.

    867 GitHub stars~1.3k tokensUpdated 23 days ago
    Writing & ContentAuto-check passed
  • Reviewing Pull Requests

    Shopify/shopify-app-js

    Official

    Reviews pull requests for Shopify/shopify-app-js with comprehensive analysis including semver compliance (MAJOR/MINOR/PATCH classification), single responsibility validation, pattern consistency…

    541 GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Better Design

    marvkr/better-design

    Build, improve, and review production interfaces with the Better Design MCP.

    254 GitHub stars~1.2k tokensUpdated 17 days ago
    Frontend & DesignAuto-check passed
  • Liquid Theme A11y

    benjaminsehl/liquid-skills

    Implement WCAG 2.2 accessibility patterns in Shopify Liquid themes.

    120 GitHub stars~3.2k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Analytics Tracking Automation

    jtrackingai/analytics-tracking-automation

    A skill your agent uses when you need GA4 + GTM tracking delivery from site discovery through publish, or when the right phase entry point is still unclear.

    142 GitHub stars~2.8k tokensUpdated 5 mo ago
    Data & AnalyticsAuto-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

Questions about Shopify Admin Restock On Return

What does Shopify Admin Restock On Return do?

For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item. Shopify Admin Restock On Return is an agent skill from 40RTY-ai/shopify-admin-skills. For approved/closed returns, restocks inventory at the return location by adjusting on-hand quantities for each returned line item.

How do I install Shopify Admin Restock On Return in Claude Code?

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

How do I install Shopify Admin Restock On Return in Codex?

Run `npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-restock-on-return -a codex`. Or copy the skill folder (skills/returns/shopify-admin-restock-on-return in 40RTY-ai/shopify-admin-skills) into .agents/skills/shopify-admin-restock-on-return in your project. Codex loads it when a task matches its description.

Can I use Shopify Admin Restock On Return 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-restock-on-return -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-restock-on-return, .gemini/skills/shopify-admin-restock-on-return, .github/skills/shopify-admin-restock-on-return and .opencode/skills/shopify-admin-restock-on-return in your project.

What does Shopify Admin Restock On Return need to run?

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

Does Shopify Admin Restock On Return 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 Restock On Return 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 Restock On Return use?

Shopify Admin Restock On Return 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 Restock On Return use?

About 2.2k tokens (SKILL.md is roughly 8.9k 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 Restock On Return?

Skills that share tags, products or a category with Shopify Admin Restock On Return: Shopify (Shopify/Shopify-AI-Toolkit, 592 stars), E-commerce Visual Copywriting (feichanggege/ecommerce-visual-copywriting-skill, 867 stars), Reviewing Pull Requests (Shopify/shopify-app-js, 541 stars) and Better Design (marvkr/better-design, 254 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shopify Admin Restock On Return?

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.