Agent skill

Shopify Admin File Storage Audit

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

Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets.

MITAuto-check passedBackend & APIs

Install Shopify Admin File Storage Audit

skills CLI
$ npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-file-storage-audit -a claude-code

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

GitHub CLI
$ gh skill install 40RTY-ai/shopify-admin-skills shopify-admin-file-storage-audit --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/store-management/shopify-admin-file-storage-audit .claude/skills/shopify-admin-file-storage-audit && 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-file-storage-audit
GitHub stars
194
Token cost
~1.8k tokens
SKILL.md length
522 words
Files
1
Skills in repo
116
Repo updated
First seen
Licence
MIT

At a glance

Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets.

  • Works in 6 steps: OPERATION: files — query → OPERATION: products — query → OPERATION: pages — query → …
  • Tasks that involve File uploads and storage
  • SKILL.md covers Purpose, Prerequisites, Parameters and Safety, plus 6 more sections
  • Calls shopify

What it does

Shopify Admin File Storage Audit is an agent skill from 40RTY-ai/shopify-admin-skills. Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets.

Its SKILL.md is about 1.8k 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 Backend & APIs, covering File uploads and storage. 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 File uploads and storage

Example prompts

  • “/shopify-admin-file-storage-audit”

Requirements

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

Workflow steps

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

  1. OPERATION: files — query
  2. OPERATION: products — query
  3. OPERATION: pages — query
  4. OPERATION: articles — query
  5. Cross-reference: any file in step 1 whose id or canonical URL is not found in the union of step 2, 3, 4 references → orphan.
  6. Apply min_age_days filter — exclude files created within the last N days from the "orphan" list to avoid flagging staging/in-flight uploads.

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 File Storage Audit loads about 1.8k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 522 words of instructions outside code blocks.

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

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). 522 words, ~1,802 tokens.

Download SKILL.mdSave it as .claude/skills/shopify-admin-file-storage-audit/SKILL.md (or your agent's skills folder).
name
shopify-admin-file-storage-audit
description
Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets.
compatibility
Claude Code, Cursor, Codex, Gemini CLI
role
store-management
toolkit
shopify-admin, shopify-admin-execution
api_version
2025-01
graphql_operations
files:query, products:query, pages:query, articles:query
status
stable

Purpose

Inventories every file (image, video, generic file) in the store's CDN library and cross-references each one against products, pages, and blog articles to determine whether it is actually used. Orphaned files inflate storage usage, slow back-office search, and obscure brand assets. Read-only — no mutations. Provides the data foundation for a manual cleanup or archival workflow.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store <domain> --scopes read_files,read_products,read_content
  • API scopes: read_files, read_products, read_content

Parameters

ParameterTypeRequiredDefaultDescription
storestringyes—Store domain (e.g., mystore.myshopify.com)
min_age_daysintegerno30Only flag files older than this (avoid newly uploaded assets in flight)
file_typesstringnoallFilter: IMAGE, VIDEO, GENERIC_FILE, or all
sample_orphansintegerno25Number of orphaned files to print in the human-format completion banner
formatstringnohumanOutput format: human or json

Safety

ℹ️ Read-only skill — no mutations are executed. Safe to run at any time. No files are deleted by this skill; it produces a report only.

Workflow Steps

  1. OPERATION: files — query Inputs: first: 250, select id, alt, createdAt, fileStatus, __typename, plus typename-specific URL/size fields, pagination cursor Expected output: Full file inventory with CDN URLs and byte sizes; paginate until hasNextPage: false

  2. OPERATION: products — query Inputs: first: 250, select media { ... on MediaImage { image { url } id }, ... on Video { sources { url } } }, pagination cursor Expected output: Set of file IDs / URLs referenced by any product

  3. OPERATION: pages — query Inputs: first: 250, select body (HTML body for inline <img src=...> reference scanning) Expected output: Page bodies; extract cdn.shopify.com/... URLs

  4. OPERATION: articles — query Inputs: first: 250, select body and image { url } Expected output: Article bodies and hero images; extract referenced file URLs

  5. Cross-reference: any file in step 1 whose id or canonical URL is not found in the union of step 2, 3, 4 references → orphan.

  6. Apply min_age_days filter — exclude files created within the last N days from the "orphan" list to avoid flagging staging/in-flight uploads.

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

GraphQL Operations

graphql
# files:query — validated against api_version 2025-01
query FileInventory($after: String, $query: String) {
  files(first: 250, after: $after, query: $query) {
    edges {
      node {
        id
        alt
        createdAt
        fileStatus
        __typename
        ... on MediaImage {
          image { url width height }
          originalSource { fileSize }
        }
        ... on Video {
          sources { url mimeType fileSize }
        }
        ... on GenericFile {
          url
          mimeType
          originalFileSize
        }
      }
    }
    pageInfo { hasNextPage endCursor }
  }
}
graphql
# products:query — validated against api_version 2025-01
query ProductMediaReferences($after: String) {
  products(first: 250, after: $after) {
    edges {
      node {
        id
        media(first: 50) {
          edges {
            node {
              ... on MediaImage { id image { url } }
              ... on Video { id sources { url } }
            }
          }
        }
      }
    }
    pageInfo { hasNextPage endCursor }
  }
}
graphql
# pages:query — validated against api_version 2025-01
query PageBodyReferences($after: String) {
  pages(first: 250, after: $after) {
    edges { node { id title body } }
    pageInfo { hasNextPage endCursor }
  }
}

# articles:query — validated against api_version 2025-01
query ArticleBodyReferences($after: String) {
  articles(first: 250, after: $after) {
    edges { node { id title body image { url } } }
    pageInfo { hasNextPage endCursor }
  }
}

Session Tracking

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

On start, emit:

╔══════════════════════════════════════════════╗
║  SKILL: File Storage Audit                   ║
║  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>

On completion, emit:

For format: human (default):

══════════════════════════════════════════════
FILE STORAGE AUDIT
  Total files:        <n>   ( <total_size_mb> MB )
    Images:           <n>
    Videos:           <n>
    Generic files:    <n>
  Referenced files:   <n>   ( <ref_size_mb> MB )
  Orphaned files:     <n>   ( <orphan_size_mb> MB ,  <pct>%)

  Sample orphans:
    "<filename>"  <size>  uploaded: <YYYY-MM-DD>
  Output: file_audit_<date>.csv
══════════════════════════════════════════════

For format: json, emit:

json
{
  "skill": "file-storage-audit",
  "store": "<domain>",
  "total_files": 0,
  "total_size_bytes": 0,
  "referenced_files": 0,
  "orphaned_files": 0,
  "orphaned_size_bytes": 0,
  "orphan_pct": 0,
  "output_file": "file_audit_<date>.csv"
}

Output Format

CSV file file_audit_<YYYY-MM-DD>.csv with columns: file_id, file_type, url, alt, size_bytes, created_at, age_days, is_referenced, referenced_by_count, referenced_by_sample

Error Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
ACCESS_DENIED on filesMissing read_files scopeRe-auth with read_files added
File without size fieldCDN metadata still propagatingTreat size_bytes = null; include in report with note
Body URL parsing missPage/article uses theme asset path, not CDN URLMark as referenced_by: theme, exclude from orphan list

Best Practices

  • Run before any large media re-upload (e.g., catalog refresh) to baseline current storage.
  • Use min_age_days: 30 to avoid flagging in-flight uploads not yet wired to a product or page.
  • Sort the CSV by size_bytes descending — a few large videos often dominate storage cost.
  • Do NOT bulk-delete from the report directly. Spot-check 10 random orphans first; theme and email-template references are not always discoverable via the Admin API.
  • Keep the prior month's CSV and diff against the new run to track net storage growth.

© 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/store-management/shopify-admin-file-storage-audit of 40RTY-ai/shopify-admin-skills.

Open the folder on GitHubat commit 6765cb4

Compare with similar skills

Shopify Admin File Storage Audit 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 File Storage Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shopify Admin File Storage Audit this skill40RTY-ai/shopify-admin-skills194—~1.8kAutomated safety check: PassMIT
TakeoverPentesterFlow/agent1.4k—~3.3kAutomated safety check: PassApache-2.0
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0
Spatialduckdb/duckdb-skills6031 repos~1kAutomated safety check: NotesMIT
ShopifyShopify/Shopify-AI-Toolkit592—~4.2kAutomated safety check: PassMIT

Similar skills

  • Takeover

    PentesterFlow/agent

    Subdomain takeover playbook — sweep subdomains for dangling CNAMEs / NS records pointing at unclaimed third-party resources (GitHub Pages, S3, Heroku, Azure, Netlify, Shopify, ...), confirm with the…

    1.4k GitHub stars~3.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Spatial

    duckdb/duckdb-skills

    Official

    Answer questions about spatial data using DuckDB. An agent skill from duckdb/duckdb-skills.

    603 GitHub starsUsed in 1 repo~1k tokens
    Backend & APIsAuto-check: notes
  • Shopify

    Shopify/Shopify-AI-Toolkit

    Official

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

    592 GitHub stars~4.2k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • R Oop

    ab604/claude-code-r-skills

    R object-oriented programming guide for S7, S3, S4, and vctrs.

    207 GitHub starsUsed in 2 repos~1.9k tokens
    Backend & APIsAuto-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 File Storage Audit

What does Shopify Admin File Storage Audit do?

Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets. Shopify Admin File Storage Audit is an agent skill from 40RTY-ai/shopify-admin-skills. Read-only: lists every file in CDN storage, cross-references usage on products, pages, and articles, and flags orphaned/unreferenced assets.

When should I use Shopify Admin File Storage Audit?

Shopify Admin File Storage Audit fits situations like: tasks that involve File uploads and storage.

How do I install Shopify Admin File Storage Audit in Claude Code?

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

How do I install Shopify Admin File Storage Audit in Codex?

Run `npx skills add 40RTY-ai/shopify-admin-skills --skill shopify-admin-file-storage-audit -a codex`. Or copy the skill folder (skills/store-management/shopify-admin-file-storage-audit in 40RTY-ai/shopify-admin-skills) into .agents/skills/shopify-admin-file-storage-audit in your project. Codex loads it when a task matches its description.

Can I use Shopify Admin File Storage Audit 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-file-storage-audit -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-file-storage-audit, .gemini/skills/shopify-admin-file-storage-audit, .github/skills/shopify-admin-file-storage-audit and .opencode/skills/shopify-admin-file-storage-audit in your project.

What does Shopify Admin File Storage Audit need to run?

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

Does Shopify Admin File Storage Audit 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 File Storage Audit 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 File Storage Audit use?

Shopify Admin File Storage Audit 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 File Storage Audit use?

About 1.8k tokens (SKILL.md is roughly 7.2k 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 File Storage Audit?

Skills that share tags, products or a category with Shopify Admin File Storage Audit: Takeover (PentesterFlow/agent, 1.4k stars), Stripe Projects (fossasia/eventyay, 1.7k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars) and Spatial (duckdb/duckdb-skills, 603 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shopify Admin File Storage Audit?

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.