Introduction

SKUShine is a Shopify catalog operations workspace built for merchants who need to make product changes with more confidence than a normal spreadsheet workflow allows. Instead of asking store owners to make risky manual edits one product at a time, SKUShine gives the store a structured place to run AI-assisted catalog edits, upload CSV files, export product data, track catalog jobs, inspect row-level problems, and recover from selected bulk updates when rollback is available. The product is designed around a simple idea: catalog changes should be previewed, tracked, and explained before they affect a live Shopify store. This manual explains each part of SKUShine in practical detail so merchants, store operators, and support teams can understand what each screen does and how the pieces work together.

First Setup And Store Connection

When a merchant opens SKUShine for the first time, the app shows a welcome and setup flow before the full dashboard becomes available. The setup flow collects the merchant's name and email address so SKUShine can personalise the workspace and provide support follow-up if the merchant needs help getting started. The first setup screen also introduces the available plans and explains that the store can begin on the Free Trial before upgrading later from the Subscription screen. Once setup is completed, SKUShine stores the setup state for that shop and moves the merchant into the main workspace. SKUShine is designed to work inside Shopify Admin, so the app checks for the required Shopify embedded context and session token before loading protected store data. The visible shop context is shown inside the dashboard so the merchant can confirm which Shopify store is connected before running any catalog job. This is important because catalog changes can affect products, variants, inventory quantities, prices, tags, metafields, and other operational fields, so the store label and active plan remain visible while the merchant works. If the store is not connected or Shopify Admin context is missing, the app guides the merchant back through the connection flow rather than allowing catalog jobs to run without a valid store session.

Main Navigation

The top navigation separates SKUShine into a handful of focused work areas: Dashboard, CSV Workflow, Import Logs, Subscription, Settings, and Help. The Dashboard is the main working area for AI-assisted catalog commands, and it is also the only screen that displays live operational notices from Shoplane. CSV Workflow is where merchants choose whether they want to export products, update existing products, or create new products from a CSV file. Import Logs opens the Worklog, where every recent catalog run can be reviewed. Subscription shows the current plan and available upgrades. Settings contains support controls, dangerous account-level actions, and email notification preferences. Help contains in-app guidance for supported commands, CSV formatting, rollback rules, metafields, inventory updates, and irreversible actions. The navigation is intentionally task-based rather than technical. A merchant does not need to know which API operation is being performed in the background; they only need to choose the type of catalog work they want to perform. SKUShine then guides them through a safer flow, such as previewing a CSV before processing it, sending an export link by email, or tracking the progress of a job in the Worklog after it starts.

Dashboard

The Dashboard is the primary SKUShine workspace. It opens with the question "What are we doing today?" and provides a chat-style AI command area where the merchant can describe a catalog change in plain English. The Dashboard also shows the connected shop, the active subscription plan, and the AI command limit for the current plan. If the merchant is on the Free Trial, the Dashboard explains the trial limits, including the number of AI commands available and the CSV processing limit for trial runs. This keeps important plan context visible at the moment the merchant is about to run a catalog-changing action. The Dashboard includes suggestion chips such as increasing all prices by a percentage or reducing prices by a percentage. These suggestions are not required; they simply give merchants a quick starting point for the types of catalog commands SKUShine understands. Merchants can type their own supported command, send it for analysis, review what SKUShine proposes, and then apply the changes only when they are ready. The Apply Changes button stays disabled until there is a valid prepared action, which helps prevent accidental execution before SKUShine has interpreted the command and prepared a job.

Dashboard Alert Notices

SKUShine can display operational alerts at the top of the Dashboard. These alerts are loaded from the JSON notice file at `https://shoplane.com.au/skushine/notice` through the app's `/dashboard/notice` proxy endpoint. The proxy exists so the app can reliably fetch the notice JSON server-side and avoid browser CORS issues. The dashboard checks the notice endpoint when the Dashboard opens and refreshes it every 60 seconds while the merchant remains on the Dashboard. If the merchant navigates away to another screen, the refresh timer stops. Notices are intentionally limited to the Dashboard so merchants see outages, maintenance windows, upgrade announcements, and known issues in the central working area without cluttering every screen. The notice system is designed for operational messages such as outages, scheduled maintenance, known issues, upgrades, resolved incidents, and general information. If the JSON file is empty, such as `{}`, SKUShine displays nothing. If the file contains a single notice object, the Dashboard shows one alert. If the file contains a `notices` array or an `items` array, the Dashboard shows all active notices in a stack. Each notice can include fields such as `kind`, `title`, `message`, `window`, `eta`, `status`, `linkUrl`, and `linkLabel`. The `kind` value controls the visual treatment: outage and error notices appear as urgent red alerts, issue and maintenance notices appear as amber alerts, upgrade and information notices appear as blue alerts, and success or resolved notices appear as green alerts. Every alert uses a prominent exclamation icon so it reads as an operational notice rather than ordinary page content.

AI Command Editor

The AI Command Editor lets merchants request supported catalog changes using plain English. It is not a general chatbot; it is a controlled catalog command tool. SKUShine is built to recognise a small set of safe product catalog actions, prepare the matching job, and then ask the merchant to apply the change. This separation between interpreting a command and applying a command is important because it gives the merchant a chance to review intent before anything is sent to Shopify. Supported AI commands include setting prices to a fixed value, increasing or reducing prices by a percentage, adding tags to products, hiding out-of-stock products by setting them to draft, setting status to draft where inventory is zero, and deleting a specific SKU. Commands can optionally include one filter using `where` or `if`, such as filtering by vendor or product type. For example, a merchant might enter "increase prices by 10% where vendor is Acme" or "add tags free shipping where product type is Snowboard." SKUShine keeps the supported command surface deliberately narrow so that AI-assisted edits remain predictable and operationally safe. When a merchant sends an AI command, SKUShine checks the current plan, AI usage limit, and command type before proceeding. On the Free Trial, the merchant receives a limited number of AI commands, and once the limit is reached the app prompts the merchant to upgrade before continuing. If the command asks for product creation, SKUShine directs the merchant toward the CSV Workflow instead, because product creation is safer when handled through a structured CSV preview and confirmation process. If SKUShine cannot interpret the request as a supported catalog action, it explains that the AI assistant is limited to product catalog operations such as prices, tags, status, deletes, imports, and exports.

Applying AI Changes

After SKUShine understands a supported AI command, the merchant can apply the prepared change. Applying the change starts a catalog job that is tracked in the Worklog. The merchant does not need to wait on the Dashboard and wonder what happened; SKUShine creates a job record, updates progress, and provides a link back to the Worklog so the merchant can inspect the result. If there are errors, row failures, or a job-specific warning, those details are shown in the Worklog and job detail screen rather than being hidden in a generic success or failure message. The AI apply process respects plan limits and subscription features. Trial users can validate the AI workflow with a small number of commands, while paid plans increase the monthly AI command limit. Core includes a monthly AI command allowance for day-to-day catalog maintenance, Pro increases that allowance and unlocks rollback protection, and Authority or Lifetime provides the highest AI command allowance along with the broadest CSV and metafield features. This means the AI editor is useful for quick operational edits, but still works within the same safety and plan structure as CSV processing.

CSV Workflow Overview

The CSV Workflow screen is where merchants choose the type of file-based catalog operation they want to run. SKUShine currently offers three main CSV-related workflows: Export products, Update existing products, and Create new products. Export products sends the merchant a CSV download link by email using the notification settings configured for the store. Update existing products is used when the products or variants already exist in Shopify and the merchant wants to change data such as prices, inventory quantities, barcodes, images, tags, product fields, or metafields. Create new products is used when the merchant intentionally wants to add brand-new products from a CSV file, and SKUShine validates existing SKUs so they do not silently end up in the wrong workflow. This task selection step matters because "update" and "create" are operationally different. In update mode, missing SKUs fail because SKUShine expects the row to match an existing product or variant. In create mode, existing SKUs are detected so the merchant can avoid accidentally overwriting or duplicating existing catalog data. Authority and Lifetime plans can also use advanced create features such as creating products from CSV, creating or editing metafields, and creating automated collections from a Category column. By separating the workflow before upload, SKUShine makes the merchant choose intent first, then validates the CSV against that intent.

Export Products

Export mode is used when a merchant wants a CSV copy of the current Shopify catalog in the same general format SKUShine uses for editing workflows. This is useful for audits, supplier cleanup, manual review, reporting, or preparing a future CSV update. Export is a paid feature available from Core and above. When the merchant selects Export products and starts the export, SKUShine creates a background export job and emails a download link when the file is ready. The export job appears in the Worklog, where the merchant can track progress, cancel an active export, and download the completed file when available. Because export delivery depends on email, merchants should configure notification recipients in Settings before relying on exports. The CSV download link is sent to the configured recipients, and if multiple people need the export file, multiple email addresses can be entered separated by commas. The Worklog remains the operational source of truth for whether the export is queued, running, completed, cancelled, or failed.

Updating Existing Products By CSV

Update mode is the most common CSV workflow. It is used when products or variants already exist in Shopify and the merchant wants to modify catalog data in bulk. The merchant chooses Update existing products, continues to the upload screen, selects a CSV file, uploads it once for preview, and then confirms processing after reviewing the preview. SKUShine reuses the preview upload so the merchant does not need to upload the same file twice. The preview helps identify columns, row counts, and potential limits before the job starts. Update mode can handle practical catalog fields such as product titles, descriptions, statuses, vendors, product types, variant prices, compare-at prices, barcodes, inventory quantities, tags, images, weights, and supported metafields depending on the plan. When possible, SKUShine skips updates where the CSV value already matches the current Shopify value, which keeps jobs cleaner and reduces unnecessary changes. On the Free Trial, CSV processing is limited so merchants can test the workflow safely before upgrading. If a trial CSV contains more rows than allowed, SKUShine explains that only the permitted portion will be processed.

Creating Products By CSV

Create mode is used when the merchant intentionally wants SKUShine to add new products to Shopify from a CSV file. This is different from update mode because the workflow expects rows to represent products or variants that do not already exist in the store. During validation, SKUShine detects existing SKUs and prevents them from being silently processed as if they were new products. This helps merchants avoid duplicate catalog entries and keeps creation workflows distinct from maintenance workflows. Create mode is available on higher plans. Authority and Lifetime users can create unlimited products from CSV and use the broader advanced catalog controls intended for larger or more complex stores. SKUShine also includes a create variants option for situations where the merchant wants to add new variant SKUs under existing products using a Parent SKU. This variant creation workflow should be used carefully because the CSV is no longer describing completely new standalone products; it is adding new variant records under products that already exist. SKUShine presents this as a specific sub-option so merchants deliberately choose it rather than stumbling into it accidentally.

Automated Collections From Category

In create workflows, SKUShine can use a Category column to create automated collections and assign products using tags. When enabled, SKUShine reads unique values from the Category column, creates an automated collection for each unique category, and applies the relevant tags so Shopify can place products into the correct collection. This is useful for merchants who are importing a new product range and want the collection structure to follow the CSV data instead of creating every collection manually before import. This feature should be used with clean category data. If the CSV contains inconsistent category names, spelling differences, or accidental whitespace, those values may produce separate collection intentions. Before running a large create workflow with collection creation enabled, merchants should review the Category column carefully in their spreadsheet and use the SKUShine preview to confirm that the file looks correct. As with other creation features, this belongs to advanced catalog workflows and should be treated as a planned operation rather than a casual edit.

Sample CSV

SKUShine provides a sample CSV download from the CSV Workflow screen. The sample file gives merchants a starting point for column names and expected structure, which is especially helpful when preparing the first update or creation workflow. Merchants should treat the sample as a formatting guide rather than a complete rulebook for every possible catalog shape, because available columns and advanced features can vary by plan and workflow type. The best practice is to export the current catalog, edit the exported file, and then upload the edited CSV back through SKUShine when updating existing products. This reduces the chance of SKU mismatches and gives the merchant a file that already reflects the store's current product and variant structure. For creation workflows, merchants should start from the sample CSV or a cleaned supplier file, then ensure SKU, product, variant, pricing, and category data are consistent before uploading.

Inventory Updates

Inventory updates require two important pieces of information: Stock Qty and Location. The Stock Qty value is treated as an absolute inventory quantity, not an increase or decrease. This means a value of 12 tells Shopify that the inventory level at the specified location should become 12. It does not add 12 to the current quantity. The Location value must match the Shopify location name, such as Main Warehouse or another location configured in the store. Because inventory is operationally sensitive, merchants should review inventory CSVs carefully before processing. A wrong location name may prevent the inventory update from applying, while a wrong quantity can change availability in the live store. SKUShine's preview and Worklog help identify failures, but merchants should still confirm that supplier stock files or warehouse exports have been cleaned before running a large inventory update.

Metafields

Metafield support is available on Authority and Lifetime plans. SKUShine supports header-based custom metafield columns such as `custom.key` or `custom.key:type`. If the type is omitted, SKUShine assumes a text metafield type. Examples include `custom.discontinued:boolean`, `custom.rating:number_decimal`, and `custom.specs:json`. This structure lets advanced stores manage important custom product data directly through CSV workflows without manually opening every product in Shopify Admin. SKUShine also supports mapped columns named Metafield1 through Metafield10. When those columns are detected, the upload screen can show configuration fields where the merchant maps each column to a custom metafield key. Keys must follow the expected naming rules and should be planned before processing. On lower plans, SKUShine can detect metafield columns and warn that they will be ignored rather than silently attempting unsupported writes. This makes the CSV safer to reuse across plans while still keeping advanced metafield editing behind the plans intended for larger catalogs.

Worklog

row counts, creation date, and available actions. Jobs may represent CSV imports, AI edits, exports, rollbacks, or delete-all-products operations. Instead of treating catalog changes as one-off actions that disappear after the page reloads, SKUShine keeps an operational record so merchants can revisit what happened and investigate failures later. The Worklog can be refreshed manually, and it also updates while active jobs are running. Each job row can open a detail screen where SKUShine shows more information, including row failures and actions such as rollback, cancellation, download, or support contact depending on the job type and state. The visible history limit depends on the active plan, and the Worklog message explains how many recent catalog runs are saved for the store's package.

Job Detail And Debug Log

The job detail screen is where merchants inspect one job at a time. It shows job-level information such as status, file name, processed rows, failed rows, and available actions. For import jobs and other catalog-changing jobs, the detail screen is especially important because it separates the overall job status from row-level problems. A job may complete with errors, meaning some rows succeeded while others failed. The row-level failure list gives the merchant a practical place to diagnose what needs correction. The Debug Log section displays errors that occurred during CSV processing. If SKUShine detects job-level failure details, it shows the message in a clear error box. Row failures appear below with row numbers, SKUs, and error messages. This is where merchants should look when a CSV preview looked correct but Shopify rejected certain rows during processing. Typical causes can include missing SKUs, invalid values, location mismatches, unsupported metafields, or Shopify API validation issues. The detail screen can also show a support contact action so the merchant can reach out with context if the problem is not obvious.

Rollback

Rollback is available on Pro and higher plans for eligible update jobs. It is designed to restore specific fields that SKUShine snapshots during a run, but it is not a full Shopify time machine. Rollback can restore product fields such as title, description, status, vendor, and product type; tags; variant fields such as price, compare-at price, and barcode; and inventory quantity at the specified location when those values were part of the original job. Rollback does not currently restore images, metafields, or weight. Rollback appears in the job detail screen when a job is eligible, has processed rows, is not a create-mode job, and has reached a status where rollback makes sense, such as completed, completed with errors, or cancelled after partial processing. When the merchant clicks Rollback, SKUShine queues a rollback job and tracks it in the Worklog like any other catalog run. If the merchant clears history, rollback is no longer available for deleted runs because the job and row records needed to understand the previous state have been removed.

Email Notifications

Email notifications are configured in Settings. When enabled, SKUShine can send job summaries to one or more recipients after catalog runs finish. Merchants can enter multiple email addresses separated by commas, making it possible to notify the store owner, operations manager, ecommerce manager, or support team. Notification settings also let merchants choose which outcomes should trigger email, such as errors, warnings, or successful completion. Notifications are especially important for export workflows because export mode emails a CSV download link when the file is ready. They are also useful for longer catalog jobs where the merchant does not want to keep the dashboard open while processing completes. If a job has row failures, SKUShine can include or attach details depending on the configured email provider and notification templates. Merchants should keep notification recipients current so exports and operational alerts reach the right people.

Cancelling Jobs

Some active jobs can be cancelled from the job detail screen, including active imports and exports. Cancelling a job is useful when the merchant realises the wrong file was uploaded, the wrong workflow was selected, or the export is no longer needed. The exact effect of cancellation depends on the job state at the time cancellation is requested. A job that has not started processing rows may stop cleanly, while a job that is already underway may stop after partial work has been completed. Because cancellation may still leave partial changes, merchants should inspect the Worklog and job detail screen after cancelling. If rollback is available for the job and the merchant is on a plan that supports rollback, they can use rollback to reverse supported fields from processed rows. If rollback is not available or does not cover the affected field, the merchant may need to run a corrective CSV update

Settings And Support

The Settings screen contains workspace controls and support actions. Merchants can contact support from this screen when they need help with setup, billing, imports, rollbacks, CSV preparation, or error investigation. Settings is also where email notifications are configured and where certain high-impact account controls appear, such as Clear History and Delete All Products when the merchant's plan allows them. Because Settings contains destructive controls, merchants should treat it as an administrative screen rather than a daily editing workspace. Support links and notification controls are safe operational tools, but history deletion and product deletion have significant consequences. SKUShine labels these actions clearly and uses confirmation flows where appropriate so merchants understand what they are about to do.

Clear History

Clear History is available on Pro and higher plans. It deletes stored jobs and row records for the shop, which reduces the historical Worklog data kept inside SKUShine. This can be useful if a merchant wants to clean up old test runs or remove outdated job history, but it also removes the data SKUShine uses to show job details and support rollback for those runs. After history is cleared, rollback is no longer available for deleted jobs. Merchants should only clear history when they are confident they no longer need those job records. A good practice is to resolve any open catalog issues, export any records or reports needed for internal documentation, and confirm that no rollback is required before clearing history. Once cleared, the removed job records should be treated as unavailable.

Delete All Products

Delete All Products is available only on Authority and Lifetime plans because it is an extremely destructive operation. It permanently deletes products from Shopify and should only be used in planned scenarios such as rebuilding a test store, clearing a staging catalog, or deliberately removing an entire catalog before a controlled reimport. SKUShine uses a confirmation phrase so the merchant must intentionally confirm the action rather than triggering it with a casual click. When Delete All Products is started, SKUShine creates a Worklog entry and tracks progress during the deletion. The merchant should stay aware that this is not a rollback-style operation and should not assume deleted products can be recovered by SKUShine afterward. Before using this feature, the merchant should export the catalog, confirm the correct store is connected, verify that the operation is intended for that store, and ensure that stakeholders understand the impact.

Subscription And Plans

The Subscription screen shows the merchant's current plan and available upgrade paths. The Free Trial allows merchants to validate the workflow with limited CSV updates and AI commands. Core is designed for day-to-day catalog maintenance, including unlimited updates to existing products, unlimited CSV update workflows, export access, and a monthly AI command allowance. Pro adds rollback protection and a higher AI command allowance, making it better suited to stores that run more frequent or higher-risk bulk edits. Authority includes everything in Pro plus unlimited product creation from CSV, metafield creation and editing through CSV, and the highest monthly AI command allowance. Lifetime Access provides Authority-level features under the founding merchant lifetime offer. Plan state affects what merchants can do across the app. Export is blocked on Trial and available from Core upward. Create workflows require a paid plan with the appropriate feature level. Rollback protection is available on Pro and higher plans. Metafields via CSV are available on Authority and Lifetime. Delete All Products is available only on Authority and Lifetime. The Dashboard, CSV Workflow, Settings, and Worklog all react to the active plan so merchants see locked controls, guidance messages, or upgrade prompts when they attempt to use a feature outside their plan.

Help Screen

The Help screen contains built-in guidance for merchants who need a reminder of how SKUShine expects commands and CSV workflows to behave. It covers supported AI commands, workflow modes, CSV preview and processing, inventory updates, metafields, rollback coverage, Worklog history limits, clearing history, and Delete All Products. The Help screen is designed to answer common operational questions without requiring the merchant to leave the app. The Help screen is not just a list of technical rules; it explains the safety model behind SKUShine. Merchants are reminded to preview first, confirm the workflow mode, understand that update and create are different, and use rollback only within its supported scope. For support teams, the Help screen can also act as a quick reference when walking a merchant through a CSV issue or plan limitation.

Recommended Operating Process

For routine catalog maintenance, the safest process is to begin by confirming the connected store and active plan on the Dashboard, then decide whether the change belongs in the AI editor or the CSV Workflow. Simple price, tag, status, or SKU deletion actions may fit the AI editor if they match the supported command set. Larger or more structured changes should use the CSV Workflow so the merchant can prepare a file, preview it, and then confirm processing. After any job starts, the merchant should use the Worklog to monitor progress and review the job detail screen if there are failures. For larger catalog work, merchants should export the catalog first, keep a copy of the original file, prepare the edited CSV carefully, and run a smaller test when possible. They should avoid mixing too many unrelated changes in one file, because smaller, focused jobs are easier to inspect and easier to recover from if something goes wrong. If a job has partial failures, merchants should read the Debug Log, correct the affected rows, and rerun only the corrected data where possible. If rollback is available and needed, they should use it before clearing history.

JSON Notice Reference For Website Operators

The Shoplane notice file can be used to communicate operational information to SKUShine users. An empty object, `{}`, hides the notice area completely. A single notice object displays one alert. A `notices` array displays multiple alerts. Each notice can include `kind`, `title`, `message`, and optional extra fields such as `window`, `eta`, `status`, or links. Extra simple fields are displayed as small detail boxes below the main message, which makes it easy to show maintenance windows, expected resolution times, incident status, or release notes without changing app code. The recommended notice format is a `notices` array, even when there is only one active notice, because it allows the same structure to be reused when multiple issues need to be displayed at once. For outages, use `kind: "outage"`. For known problems that do not fully stop the app, use `kind: "issue"`. For scheduled work, use `kind: "maintenance"`. For new features or improvements, use `kind: "upgrade"`. For resolved notices, use `kind: "success"`. If a notice should be temporarily hidden without deleting it from the JSON file, set `visible` to `false`, `enabled` to `false`, or `hidden` to `true`. ```json { "notices": [ { "kind": "maintenance", "title": "Scheduled maintenance", "message": "SKUShine will be briefly unavailable tonight.", "window": "11:00 PM - 11:20 PM AEST" } ] } ```

Glossary

SKUShine uses a few operational terms throughout the app. A catalog run is any background job that changes, exports, deletes, or rolls back catalog data. The Worklog is the history screen where those jobs are listed. A preview is the pre-processing review of a CSV file before SKUShine starts writing changes to Shopify. Rollback is a supported recovery workflow for selected update jobs and fields. Create mode is the workflow for adding new products, while update mode is the workflow for changing products or variants that already exist. Metafields are Shopify custom data fields, and SKUShine writes supported custom metafields through structured CSV headers or mapped metafield columns on eligible plans.