The ChatGPT Wardrobe Inventory Template
Most people who catalogue their wardrobe for ChatGPT build the spreadsheet a human would want and then wonder why the answers are still vague. A human reading a wardrobe file wants a photo, a brand and a purchase date. A language model reading the same file wants formality, function and the words you would actually type when asking a question.
This is a free template built the second way, plus the prompt to paste with it and the reasons each column is where it is. The whole point is that the layout is not arbitrary. Column order changes how much of your wardrobe survives being read.
Download: Wardrobe inventory template (Excel) or the same thing as CSV. No email required.
The short version
Column A must be a self contained sentence, because when a file is chunked for retrieval, the first column is the anchor that decides whether a row is ever found. Formality and warmth belong as numbers from one to five, because numbers can be compared and adjectives cannot. Occasions belong as comma separated keywords in the words you would actually use. One header row, one sheet, no merged cells. Then paste the rows rather than attaching the file.
The column layout
Eighteen columns. The first eleven are what ChatGPT reasons with. The rest are for you.
| # | Column | Why it is there |
|---|---|---|
| A | Item | The retrieval anchor. A full sentence describing the garment. |
| B | Category | Lets the model ask for all shoes and get all shoes. |
| C | Colour | Plain names, not brand names for colours. |
| D | Pattern | Plain, striped, checked, floral. Cheap to fill, prevents clashes. |
| E | Fabric | Drives drape, formality and weather suitability. |
| F | Fit or cut | Where most of the actual styling judgement comes from. |
| G | Formality 1 to 5 | The single most useful column in the file. |
| H | Warmth 1 to 5 | Makes weather answers correct instead of seasonal. |
| I | Works For | Comma separated occasion keywords. The findability column. |
| J | Pairs With | What you already know works. Encodes your taste. |
| K | Status | Active, bench, repair, alter, resale, donate, stored. |
| L to R | Brand, size, price, times worn, cost per wear, last worn, notes | For you and for money decisions, not for styling. |
Cost per wear calculates itself from price and times worn. Do not type in that column.
Why column A has to be a sentence
This is the part that most templates get wrong and it is the part that matters most.
When you attach a file to ChatGPT, it is generally not read from beginning to end. It is broken into chunks, indexed, and searched when you ask a question. Relevant looking chunks come back. The rest of your wardrobe does not.
Which means every row is competing to be found. A row that reads Trousers 1 will be found by nothing. A row that reads Charcoal wide leg wool trousers, full length will be found by a question about trousers, about charcoal, about wool, about wide leg, and about anything that reasons from any of those.
The rule is: column A should still make sense if every other column vanished. Write it as though it were the only thing the model would ever see, because sometimes it is.
Good: Ivory silk shirt, relaxed, hidden placket Bad: Shirt with the rest of the detail spread across nine other columns
The same logic explains why Works For is comma separated keywords and not a sentence. work, dinner, wedding, event, transitional matches five different questions. "Suitable for a range of smarter occasions" matches none of them, because nobody types that.
Why formality is a number
Formality is the variable that decides more outfits than anything else, and adjectives are useless for it. Smart casual means one thing in Sydney and another in a London law firm. Three means three.
Numbers also allow arithmetic, which is what makes the good prompts work. You can ask for everything at formality four or above. You can ask which items sit between your knitwear and your tailoring. You can ask what the average formality of your wardrobe is and discover you have built a closet for a job you left. None of that is possible with words.
The scale in the template:
- Loungewear. Nobody outside the house sees this.
- Casual. Errands, weekends, the school run.
- Smart casual. A relaxed office, lunch, most social things.
- Polished. Client meetings, dinner, a wedding guest in daylight.
- Formal. Black tie, a funeral, a serious occasion.
Warmth uses the same trick against weather. Five levels tied to actual temperature bands, so a question about twelve degrees produces a correct answer rather than a seasonal one.
The four mistakes that make a wardrobe file unreadable
These come up constantly and each one silently costs you rows.
A title row above the headers. A merged cell reading "My Wardrobe 2026" across the top pushes the real headers to row two, and every automated read of the file now thinks your column names are blank. Headers go in row one. Nowhere else.
Multiple sheets, one per category. Feels tidy. Means a question about outfits has to reason across five separate tables, and it will usually pick one and ignore the rest. One sheet, with Category as a column.
Photos embedded in cells. Images in a spreadsheet are invisible to text extraction. They add weight to the file and contribute nothing. Keep photos somewhere else.
Blank rows as visual separators. A gap between the trousers and the tops reads to a parser as the end of the data. Everything below it may be dropped. Use the filter, not the whitespace.
The prompt to paste alongside it
Filter the sheet to the rows relevant to your question, copy them, and paste them into ChatGPT with this directly underneath.
Above is my wardrobe inventory. Read it as structured data.
COLUMN MEANING
- Item: the full description. Use this exact wording whenever you
name a piece back to me.
- Formality: 1 loungewear, 2 casual, 3 smart casual, 4 polished,
5 formal.
- Warmth: 1 above 28C, 2 22-28C, 3 15-22C, 4 8-15C, 5 below 8C.
- Works For: occasion keywords. Treat these as inclusive, not
exhaustive. An item can work somewhere it does not list.
- Pairs With: combinations I already know work. Good starting
points, not limits.
- Status: only items marked Active are available to wear today.
Bench items exist but I am not reaching for them. Repair, Alter,
Resale, Donate and Stored are not available.
HARD RULES
1. Only use items from this table. If it is not in the table it
does not exist. Never substitute a generic garment.
2. Never invent an item to complete an outfit. If a slot cannot
be filled from the table, say which slot is empty and stop.
3. Name items using the exact Item column wording so I can find
them.
4. If I ask for something the table cannot support, tell me that
before offering an alternative.
FIRST, CONFIRM YOU HAVE IT ALL
Before answering anything, tell me: how many rows you can see, how
many are Status Active, and the count by Category. If that does
not match what I sent you, stop and tell me.
That last block is the important one and it is the only reliable way to catch the failure that ruins wardrobe files. If you paste ninety rows and it reports sixty two, you now know before you trust a single outfit. Run it every time. It costs one line.
Attach it or paste it
Paste it, if you possibly can.
An attached file is searched rather than read completely, so parts of your wardrobe simply never enter the conversation and nothing tells you which parts. Pasted text is visible in full, at least until the conversation grows long enough to push it out of view. Both approaches have limits, but the pasted one has a limit you can see and check.
The practical method:
- Keep the spreadsheet as your master record. It is complete and it is yours.
- Filter it for the question. Going somewhere formal, filter to Formality 4 and 5 and Status Active. Cold day, filter to Warmth 4 and 5.
- Copy those rows and paste them into the chat with the priming prompt.
- Run the row count check.
- Ask your question. For a single day, use the six variable method in How to Get ChatGPT to Pick Your Outfit. For a whole season, use The ChatGPT Wardrobe Audit.
Forty rows fully visible beats two hundred rows half read, every time. The reasoning behind that is set out in Why ChatGPT Forgets Your Wardrobe, and the wider comparison of methods is in Four Ways to Tell ChatGPT What Is In Your Closet.
Filling it in without losing a weekend
Nobody catalogues two hundred items in one sitting, and the people who try mostly abandon it at item sixty.
Start with what you wear, not what you own. The clothes in reach account for most of your outfits. Do those first. You will have a working file in about forty minutes and it will already be useful.
Do one category at a time. All trousers, then all knitwear. Fields stay consistent because you are making the same judgement repeatedly, and consistency is worth more than completeness.
Fill A to K only on the first pass. Brand, price and dates can wait. They do not affect a single outfit.
Use ChatGPT to write the hard rows. Photograph the items you cannot describe, and ask: Write one spreadsheet row for this garment using these columns: Item, Category, Colour, Pattern, Fabric, Fit or Cut, Formality 1 to 5, Warmth 1 to 5, Works For. Item must be a full descriptive sentence. Works For must be comma separated keywords. Paste the result straight in. This is the single best use of photos in the whole process.
Accept that maintenance will lapse. Everyone updates a wardrobe spreadsheet enthusiastically for three weeks. Plan a fifteen minute refresh at the change of season rather than pretending you will log every purchase.
What a spreadsheet cannot do
Worth saying plainly, because this template is genuinely useful and it is still not the end of the story.
A spreadsheet is a snapshot. It is accurate on the day you fill it in and slightly less accurate every day after, and it never tells you when it has drifted. It also cannot count. Times Worn is a column you update by hand, which means it is a column that will be wrong, which means cost per wear will be wrong. And every question still begins with filtering, copying and pasting.
Those are not flaws in the template. They are the shape of a file. A file cannot watch what you wear.
A connected wardrobe is the version where the wardrobe lives in a database ChatGPT can query instead of a file you have to feed it. Nothing gets pasted, so nothing falls out of view. Nothing is a snapshot, so nothing goes stale. And because something is finally keeping score, wear counts and cost per wear are real numbers rather than a column you meant to update. That is what Modebase is.
If you are not there yet, the spreadsheet above is free, it is yours, and it works. Download it and start with the twenty things you actually wear.
Frequently asked questions
What columns should a ChatGPT wardrobe spreadsheet have?
Item as a full descriptive sentence, then category, colour, pattern, fabric, fit, formality as a number from one to five, warmth as a number from one to five, occasion keywords, known pairings, and status. Brand, size, price and wear counts are useful to you but do not improve outfit suggestions.
Should I upload my wardrobe spreadsheet to ChatGPT or paste it?
Paste it whenever it is short enough. Attached files are searched rather than read from end to end, so rows can be missed silently. Keep the full spreadsheet as your master, filter it for the question, and paste the relevant rows as text.
How many items should be in my wardrobe inventory?
Everything you actually wear, which for most people is between sixty and a hundred and twenty items and is far less than they own. For any single question, paste a filtered subset of twenty five to forty rows rather than the whole file.
Can I use Google Sheets instead of Excel?
Yes. The CSV version imports straight into Google Sheets and keeps the same column order. The only feature you lose is the dropdown validation on formality, warmth and status, which you can recreate in a minute with Data validation.
Do I need to photograph every item for the spreadsheet?
No. The spreadsheet is text and photos add nothing to it. Photograph only the pieces you cannot describe in words, ask ChatGPT to write those rows for you, and paste the result in.