AI-Powered eBay Listing Analysis — Detailed Setup
How AI Setup Works.
Everything for one analysis lives in a single AI profile, built through a 3-step wizard: 1) AI Configuration (provider, model, API key, system prompt) → 2) Fields & Columns (what to send + which AI columns to show) → 3) Display Template. One extra piece — a filter — is what actually triggers the analysis on your searches.
Table of Contents #
- Overview
- Understanding the Complete Process
- Prerequisites
- Open AI Settings (first run)
- Create Your Prompt & Display Template
- Build the Profile — the 3-Step Wizard
- Adding AI Columns
- Create the Trigger Filter
- Start & Test
- Re-running One Listing
- Feedback & Traces
- Troubleshooting
- Best Practices
Overview #
SKU Manager uses AI to analyze eBay listings in real time against your own business criteria. It reads whichever listing data you choose to send it — title, description and photos are the usual starting set, and you can add any of the other eBay fields (condition, price, brand, returns, item specifics…) — and returns its analysis two ways: a formatted readout in the AI Sku Analysis panel, and optional quick-decision AI columns in the results grid.
Two ways to see results #
Display Template (start here) #

AI Columns (add later) #

Understanding the Complete Process #
What you’re building #
To get AI analysis on your eBay results you set up one profile that ties these pieces together:
- System Prompt — instructions telling the AI how to analyze a listing (and which AI columns to output).
- Fields to send — which eBay data the AI receives.
- Display Template — HTML that formats the AI’s answer for the panel.
- Filter — triggers the analysis on the searches you choose.
The data flow #
eBay listing → fields sent → system prompt → JSON response → display template / AI columns → your analysis.
Mindset.
Your first goal isn’t perfection — it’s one working round-trip of data through the system. Get something simple running, then iterate.
Prerequisites #
- License: Enterprise license, whitelisted for SKU Manager.
- Chrome & Python: both are installed automatically by the application — Python sets itself up the first time you open AI Settings or IE Settings, not when the app first launches. It takes a few minutes; let it finish. You do not install either yourself.
- An AI API key: OpenAI (ChatGPT) is the recommended provider. Google, Anthropic and xAI are also offered. Generate the key and make sure billing is active.
- A Claude or ChatGPT account for creating and updating your prompt & display template.
Getting whitelisted #
SKU Manager runs only on a whitelisted Enterprise license. To get whitelisted, send your License Key through Live Support and wait for confirmation.
- Go to Menu > Help > Subscription Info and copy your License Key.
- Submit it via Live Support on the uBuyFirst website and agree to the Terms.
- Wait for whitelist confirmation.
Open AI Settings (first run) #
1. Open the AI Settings dialog #
Open the uBuyFirst application and click the Data tab. In the Ai group, click AI Settings. (Internal-Endpoint users use the IE Python code group → IE Settings instead.)

Leave Analyze new listings only selected. It is the default. With Analyze initially loaded listings selected, starting the AI server analyzes every Not analyzed row a filter catches, including rows found while the server was stopped. With the server already running, pressing Start also analyzes the first batch a search pulls. Each one is a paid call. When you start the server, the app asks first if the estimate is over $10.
2. Accept the user agreement #
Read the SKU Manager - User Agreement, then click I Agree.

3. Let it configure the server (fresh install only) #
Click Yes on Server Configuration Required. On a fresh install, SKU Manager then builds the Python environment automatically and installs the required libraries — this takes a few minutes and is skipped on a reinstall. Don’t click anything while it runs.



Create Your Prompt & Display Template #
You create these two pieces before running the wizard, using an AI assistant loaded with our SKU Manager project knowledge. The prompt generates the data; the template displays it — they’re built together so they match.
1. Get the project knowledge #
- Download the SKU Manager Knowledge Package: documentation, working examples, and template patterns.
- Unzip it.
2. Set up your AI project #
Already Have the Project?
This is the same SKU Manager Assistant project used for Internal Endpoint. If you built it there, it already contains everything you need — skip straight to 3. Generate your first prompt & template. If not, set it up now and it will cover both modes.
Using Claude — go to Claude.ai → Projects → Create Project, name it “SKU Manager Assistant”, and upload all files from the package into the project’s knowledge. Start a chat inside that project and use the latest model with extended thinking.
Using our ChatGPT Custom GPT — open the SKU Manager Prompt/Template Assistant GPT (files already loaded).
3. Generate your first prompt & template #
Tell the assistant what you do and what matters:
I'm a professional buyer of [PRODUCT TYPE] on eBay and I want a prompt
and display template to analyze listings. Most important to me:
- [key factor 1]
- [key factor 2]
- [key factor 3]
Start simple, just to get it working. Please create both the prompt
and the display template.
Keep the first version small — get a working round-trip, then add detail. The assistant returns a system prompt (with a proper JSON structure) and a matching HTML display template.
How Prompt and Template Connect.
Your prompt returns JSON, e.g.
{ "Can Return": "Yes", "Condition": "Good" }. Your template reads those fields and formats them for the panel. The assistant keeps the two in sync.
Build the Profile — the 3-Step Wizard #
Back in the AI Settings dialog the wizard opens on Step 1. On a first install the Profile Name is fixed at Default — you cannot rename it or create a second profile yet, so build your first analysis in Default. That is expected, not a problem. Once you have a working profile, the New Profile and Copy Profile from current one buttons are available. Use those for your next one rather than overwriting a profile that already works.
1. AI Configuration #
Provider, model, API key, and your system prompt all live here. The prompt box arrives with a generic sample prompt in it — replace it with yours.
- Profile Name: on a first install this is fixed at
Default— nothing to do here. Once naming is available, give each profile a clear name — it’s easy to forget. - Config Mode: Standard.
- Provider: change it to OpenAI (ChatGPT). A new profile opens on Google (Gemini).
- Model: gpt-6-luna. The app selects it when you pick OpenAI.
- API Key: paste your key. It is masked after you paste it; the eye icon shows it again.
- System Prompt: select the sample text, delete it, and paste the full prompt from your AI assistant.
Click Next Step.
Set Config Mode to Standard. A new profile opens on Google (Gemini), so change Provider to OpenAI (ChatGPT) first. The app then selects gpt-6-luna, listed under Recommended. It reads listing photos. The dropdown shows each model’s current price per million tokens, input then output.
Standard shows a short list for four providers: Google (Gemini), OpenAI (ChatGPT), Anthropic (Claude) and xAI (Grok). Custom shows the full catalog of models that accept images. A profile already set to a model outside the Standard list stays on Custom, so it keeps working.
If an analysis never mentions the photos, check that Send pictures is ticked. Send pictures and Send description are under Send Prompt Fields on the Fields & Columns tab. Both are ticked by default.

2. Fields & Columns #
- eBay Standard Listing Fields — grouped by section, with a count per section and a filter at the top. Tick whatever your prompt needs to read (Title, Condition, Condition Description, Total Price, Brand, Returns…). Fields tagged (recommended) are a safe starting set.
- Send Prompt Fields — under the list. Send pictures and Send description are ticked by default. Leave them on: photo-based analysis needs the pictures.
- eBay Category Item Specific Fields — leave empty unless your prompt needs item specifics. Add item specifics at the bottom opens the Custom Columns finder if you do.
- User-Defined Custom Columns (Results) — your AI output columns, read from the prompt you pasted. Ticked ones sit under Selected; the rest under Detected — not selected. Tick the ones you want in the grid.
Click Next Step.

3. Display Template #
Paste the HTML display template from your AI assistant, then click Finish Setup — this saves your profile and starts the AI server (Server Status turns to Running). It takes a moment; then close the dialog.

Coming Back to Edit a Profile.
The wizard only runs the first time. Reopen AI Settings on a profile you’ve already set up and the same three steps appear as tabs — AI Configuration, Fields & Columns, Display Template — with a Profile dropdown across the top. While the server runs the config is locked: click Stop Service [Edit Configuration], make your change, then Start Service [Save Configuration]. There is no Finish Setup button in this mode.
While the server runs, the settings are locked. Click Stop Service [Edit Configuration] to edit, then Start Service [Save Configuration] to save.
Adding AI Columns #
AI Columns are grid values the AI fills in for every listing it analyzes: short, exact values (like Can Return: Yes) you can scan, sort, and filter on. They’re part of your system prompt, not a separate feature.
1. Define the column in your prompt #
Ask your AI project to add the column. It needs two things: an entry in ## AI COLUMN CONFIGURATION with the exact values, and the same name as a key in the prompt’s JSON example. The entry looks like this:
## AI COLUMN CONFIGURATION
### "Can Return" — AI Column
Must return EXACTLY one of: Yes, No, Unknown
Exact Values Matter.
The grid groups, sorts and filters on these values verbatim. Keep spelling and capitalization consistent (
Yes, notyesorY), give each column anUnknownfallback so it’s never blank, and make sure the values can’t overlap.
2. Switch it on #
- Open Data → Ai → AI Settings and select your profile. Click Stop Service [Edit Configuration].
- On the AI Configuration tab, update the System Prompt so it includes the new column.
- Go to the Fields & Columns tab. Your new column is under Detected — not selected — tick it.
- Click Start Service [Save Configuration]. New listings fill the column.
After you change the prompt or model, rows analyzed under the old settings read Outdated. To analyze one again, click the refresh icon in its Current AI Status cell, or click the row if it is not the selected one. This is paid, and the app does not ask first. To re-run a row that reads Analyzed, right-click it and choose Refresh AI analysis. The app asks first.

Not Showing Up?
If a column isn’t in the list at all, not even under Detected, it is not a key in your prompt’s JSON example.
The app finds your columns by reading the JSON keys in your prompt’s example output, such as "Can Return": "Yes". A name that is not a JSON key there is not listed. Open the Fields & Columns tab, or click the Auto Detect Custom Columns icon at the top of the columns panel, and the list reads the prompt again.
Create the Trigger Filter #
The filter is what runs your analysis. It watches your searches and applies your profile. AI analysis runs only on listings a filter catches. The filter’s Action must be Apply AI Prompt, with your profile selected.
- Go to Home → Filters and add a filter.
- Condition: anything you like — a simple catch-all is Title Is not blank, or match on a keyword.
- Action: select Apply AI Prompt.
- Profile: choose the profile you built (it carries the prompt, fields, columns, and template).
- Set a Filter alias, click Ok, then turn on the filter’s Enabled switch in the Filters list.
A new filter starts switched off. In the Filters list, turn on its Enabled switch. If the AI never runs, check this switch first.


Start & Test #
- Make sure the AI Sku Analysis panel is visible (View → Panels if not).
- Start Server: it usually starts automatically after Finish Setup. If the panel still says the server isn’t running, click Data → Ai → Start AI Server.
- Set up a search your filter will match. The analysis only runs on listings the filter catches — search for something else and results arrive with no analysis at all.
- Start the feed: click Start (Home tab, or the bottom status bar).
- Click a row. Its analysis renders in the AI Sku Analysis panel, and your ticked AI columns fill in the grid.
With Analyze new listings only selected, the first batch a search pulls when you press Start stays Not analyzed, except the row you have selected, which is analyzed. Grid → Initial Results Max sets the size of that batch. Click any other row in that batch to analyze it. Rows found later are analyzed as they arrive, and each one reads Not analyzed, then Analyzing…, then Analyzed.
The Current AI Status column has five states. Not analyzed means no analysis has run. Analyzing… means a request is running. Analyzed means a result is saved. Outdated means the result is older than Keep results (days), or the profile, prompt or model has changed. Analyzed with errors means the request ended without a usable answer.
With Analyze new listings only selected, starting the AI server does not analyze the rows already in the grid. The one exception is the row you have selected, if it reads Not analyzed. Listings found after the server starts are analyzed as they arrive. Click any other row to analyze it. Each analysis is a paid call.


Working Correctly.
The panel shows a formatted analysis, rows read Analyzed, your API dashboard shows successful calls, and (if used) your AI columns show values.
Re-running One Listing #
To re-run a row that reads Analyzed, right-click it and choose Refresh AI analysis, or click the refresh icon in its Current AI Status cell. The app warns that a row already analyzed will be charged again; click Yes to run it. Results are kept for the number of days set in Keep results (days) on the Data tab. The default and the minimum are 3 days. After that the row reads Outdated. Results survive a restart, but after a restart a row can read Not analyzed again.


Feedback & Traces #
When an analysis is wrong, click the Feedback Trace link at the top right of the AI panel and submit feedback. It captures a trace — a complete snapshot of that analysis (the data sent, the exact prompt, the AI’s response, the images, and your notes) that you can hand to your AI assistant to fix the prompt.
How to submit feedback #
- Select the listing (with its analysis showing) and click the Feedback Trace link at the top right of the AI panel. The listing is frozen at that moment, so the grid can keep moving underneath.
- Rate the result (a row of labelled faces) and pick an issue type (Wrong Calculation, Wrong Product, Missing Info, Display Error, Prompt Issue, Other).
- Write a note: what was wrong, what the correct answer is, and where the correct info was (title, description, images).
- Check the Saved with your feedback list, then Submit. The trace is zipped and uploaded. With Save local copy ticked, it is also kept on your PC and the confirmation names the zip.



Trace files #
Each submission is one zip file, named after the listing’s item number and the time you clicked Feedback Trace, under C:\Users\USERNAME\AppData\Roaming\uBuyFirst\SkuManagerScripts\AiFeedback\, in a folder named after your PC and licence. Open the folder with Data → Ai → Open AI Traces or the Open local feedback traces button on the dialog.
| File | Contains |
|---|---|
AI_Feedback.txt | Your rating, issue tags, and notes |
AI_RequestPayload.json | Everything sent to the model — the listing fields, the description, and the full system prompt |
AI_ResponseJson.txt | The model’s raw JSON answer, including your AI column values |
AI_ResponseHtml.html | The complete rendered output |
<Profile>_AI.json | The profile that ran — provider, model, system prompt, display template, and the fields and columns you selected. Named after your profile (e.g. Default_AI.json). Your API key is masked. |
Image_1.jpg … Image_N.jpg | Downloaded listing images |
PersonKey.txt | Identifies your licence — leave it out if you’d rather not share it |
Fixing your prompt from a trace #
- Unzip the trace and bring the files to your AI project — at minimum
AI_Feedback.txt(what you said was wrong),AI_RequestPayload.json(the prompt and the data that was sent), and any images. There is no separate prompt or template file: the prompt is insideAI_RequestPayload.json, and both the prompt and the display template are inside<Profile>_AI.json. - Ask it to identify which part of the prompt caused the issue and propose a targeted fix (before/after, not a full rewrite).
- Apply the updated prompt to your profile. The listing’s row now reads Outdated. Click the refresh icon in its Current AI Status cell to re-test and confirm the fix.
Troubleshooting #
No results showing #
- The panel says No Matching AI Filter: no filter with Apply AI Prompt caught the listing. Create or enable the filter (the panel lists the five steps).
- The panel says the AI SKU Manager Server is Not Running: click Data → Ai → Start AI Server.
- Filter condition matches your test items, and the filter is enabled; its action is Apply AI Prompt with your profile selected.
- The feed is Started, and your search actually returns listings the filter catches.
No Matching AI Filter in the panel means no enabled Apply AI Prompt filter caught this listing.

Rows say “Analyzed with errors” #
Analyzed with errors means the AI request ended without a usable answer. Check that your API key is right and billing is active on your provider account. Then right-click the row and choose Refresh AI analysis. A row that no filter catches does not show this status. It stays Not analyzed and the panel shows No Matching AI Filter.
New searches return nothing #
You do not need to restart the app after a change. New searches, ticked or unticked searches, and profile and script edits take effect while the app runs. If a new search shows nothing, check the search is ticked and the feed is Started. A quiet search may take time to show a new listing.
Extra / unwanted AI columns in the grid #
- The column list is read from your prompt’s JSON and includes every field. Reopen the profile → Fields & Columns → untick anything that isn’t a real column; keep only the ones you defined under
## AI COLUMN CONFIGURATION.
An AI column is blank / not appearing #
- The column is a key in your prompt’s JSON example, has exact values in
## AI COLUMN CONFIGURATION, and is ticked under User-Defined Custom Columns (Results). - After editing the prompt, open the Fields & Columns tab, or click the Auto Detect Custom Columns icon, and the list reads the prompt again.
Template showing raw JSON #
- Template HTML is valid and was saved; placeholder names match the prompt’s JSON fields.
API errors #
- Billing is active on your API account and the key is correct.
- You haven’t hit a usage limit; test the key in the provider dashboard.
The feed stopped after I stopped a server #
Stopping a server does not stop the feed. New rows can arrive in batches after the first batch.
Best Practices #
- Start simple, get one round-trip working, then add complexity and test each addition.
- Keep all your prompt/template work in one AI project so it builds on context.
- Start with 3–5 AI columns and keep prompts focused.
- Use feedback traces to make targeted fixes instead of rewriting the whole prompt.
- Use Refresh AI analysis deliberately. Each re-run is a paid call.
Enterprise License Holders Only. · Live Support at uBuyFirst.com · su*****@*******st.com