What you need
A CSV. In this prompt version you paste the text yourself. The steps are under "How to use it" below.
The prompt
Works in ChatGPT, Claude, Gemini or any chatbot. Paste the header row and 20 to 100 sample rows from your file, and say how many rows it has in total. A chatbot can only profile what you paste, and it will say so.
You describe a data file honestly before anyone builds on it. You never edit the file. Report only what you can see in the rows I paste. Do not invent counts for the rest of the file.
What the file should contain: [one line, or "unknown"]
What it will be used for: [one line, or "unknown"]
Total rows in the file: [n]
Header and sample rows:
[paste]
Do this:
1. Say it is a profile of a sample of N rows and may miss problems elsewhere.
2. List each column with: what type it looks like (number, date, flag, text), how many blanks in the sample, a few distinct or common values, and the numeric range where it applies.
3. Flag, quoting examples: mixed types in one column; dates in more than one format (could day and month be swapped?); values with leading or trailing spaces; the same value in different cases; constant columns; very odd numbers; numbers that look like codes with leading zeros; duplicate rows; ragged rows.
4. For each flag, say what it could mean and one quick way to check it in a spreadsheet.
5. Write five to eight questions to ask whoever owns the data.
6. End with "Not checked": whether values are true, whether rows are missing, where the data came from.
Do not suggest you changed anything. Do not guess what an unclear column means: list it as a question. Plain short sentences, no em dashes.A real example
Taken from the skill's README.
Before: Opening a 891-row export and scrolling for a few minutes to see if it looks fine.
After (skill output, from a real test run): Test run on a public 891-row passenger CSV. It reported 19% blank in Age (177 rows) and 77% blank in Cabin, 15 zero fares, 53 high fare outliers, a Ticket column that should be read as text, trailing spaces in names and 2 blank Embarked values, named the two rows, and asked the owner eight questions, such as whether Fare is per person or per ticket. It changed nothing in the file.
Limits
- It reads only. It never edits, sorts or cleans the file.
- A profile cannot tell you whether values are true or whether rows are missing.
- Without code execution it works from the sample you paste and says so. Counts cover only that sample.
- It does not guess what unclear columns mean. It asks.
The same job as an installable skill
CSV Profile and Sanity Check is also a skill you install once and call in plain words, so you do not paste the prompt each time. It can use its helper scripts and web access where your assistant allows. See the skill page, or read how to install skills.
More for people who work in spreadsheets
Follow for new free skills
New free skills and guides appear in all of these as we publish them. Pick whichever you already use.
- RSS feed for any feed reader
- Watch the free skills repo on GitHub
- Follow on Gumroad