Read a file tree and understand what the AI created
Use the 3-check method to verify a project works
Interpret error messages using the WHO/WHAT/WHERE pattern
Use the browser console to spot problems
Know when and how to ask the AI for help with errors
You’ll learn to verify what the AI built — the skill that separates people who use AI from people who are used by it.
Why This Matters
An AI can generate an entire project in seconds. But if you can’t tell whether it worked, you are flying blind. You will accept broken output, miss obvious errors, and waste hours going in circles.
Employers do not need people who can prompt an AI. They need people who can quality-check what the AI produces. This lesson teaches that skill.
The Mental Model: Quality Inspector
You are a quality inspector at a factory. You did not build the widget on the assembly line — the AI did. But you need to know:
Did the right parts come out? (file tree)
Does the widget turn on? (dev server starts)
Does it look right? (page loads correctly)
Are there any warning lights? (error messages)
You do not need to build. You need to verify.
Section 1: Reading a File Tree
When an AI builds a project, it creates files and folders. Your first job is to see what it made.
Here is a project the AI just generated. Use the terminal below to explore it:
Claude Code — Practice Mode
Type a command and press Enter. Try: pwd, ls, cd projects, help
/my-project $
What to type
ls — see what is in the project root. You should see folders like src/, public/, node_modules/ and files like package.json and README.md.
ls src/ — drill into the source folder. This is where the actual code lives. You will see index.html, style.css, and app.js.
cat package.json — read the project configuration. This tells you the project’s name, what commands you can run (dev, build), and what tools it depends on.
What each file type means
File
Purpose
Analogy
.html
Structure of the page
The skeleton
.css
How it looks (colors, layout, fonts)
The skin and clothing
.js
What it does (interactivity, logic)
The muscles and brain
package.json
Project config and dependencies
The ingredient list
README.md
Documentation for humans
The label on the box
node_modules/
Downloaded dependencies
The grocery bag (don’t touch)
TRY ITYou want to check what source files the AI created. What command would you type to list the contents of the src folder?
$
Section 2: “Does It Work?” — The 3-Check Method
After reading the file tree, you need to know if the project actually works. Here are three checks, in order:
Check 1: Does the dev server start?
Terminal window
npminstall# Download dependencies (skip if already done)
npmrundev
If the project is set up correctly, you will see output like this:
VITE v6.0.0 ready in 237ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help
The key line is the Local: http://localhost:5173/ URL. That means the server is running.
If you see an error instead, go to Section 3 below.
Check 2: Does the page load?
Open your browser and go to the URL from Check 1 (usually http://localhost:5173). You should see something — even if it is just a heading or some placeholder text.
Three outcomes:
What you see
What it means
Content on the page
The basics are working
A blank white page
Something is wrong with the HTML, JavaScript, CSS, or rendering — check the browser console (Section 4) for a red error
”This site can’t be reached”
The dev server is not running
Check 3: Does it look right?
This is a visual check. Compare what you see in the browser to what you asked the AI to build:
Did it create the layout you described?
Are the sections in the right order?
Is text visible (not white-on-white or hidden behind something)?
You do not need to check every pixel. You need to check that the shape is correct.
💡The 3-check summary
Starts, loads, looks right. That is the entire verification process. If all three pass, you are in good shape. If any fail, you have a specific problem to solve.
Section 3: Reading Error Messages
Error messages look scary, but they follow a predictable pattern. Every error tells you three things:
Part
What it tells you
Example
WHO
Which tool or system complained
vite, node, the browser
WHAT
What went wrong
Missing file, typo, port in use
WHERE
Which file and line number
src/App.jsx:12:5
Error 1: Missing file
[vite] Internal server error: Failed to resolve import
'./Button' from 'src/App.jsx'. Does the file exist?
WHO: Vite (the build tool)
WHAT: It cannot find a file called Button
WHERE: The import is in src/App.jsx
Fix: The AI forgot to create Button.jsx, or put it in the wrong folder
Fix: In this case, classname should be className (capital N) in React
Error 3: Port already in use
Error: listen EADDRINUSE: address already in use :::3000
WHO: Node.js (the server runtime)
WHAT: Port 3000 is already being used by another program (the port number may vary — Vite uses 5173, Express uses 3000, etc.)
WHERE: Not a file error — it is a system issue
Fix: Either stop the other server or use a different port
TRY ITYou see this error: Failed to resolve import './Header' from 'src/pages/index.jsx'. What is the WHO (which tool complained)?
$
TRY ITYou see: SyntaxError: /src/utils/format.js: Unexpected token (7:15). What is the WHERE (file and line)?
$
Section 4: The Browser Console
The browser has a built-in tool for showing errors. It is called the developer console, and it is one of the most useful verification tools you have.
How to open it
Operating system
Keyboard shortcut (Chrome/Edge)
Windows / Linux
Ctrl + Shift + J
macOS
Cmd + Option + J
Shortcuts may vary by browser (Firefox uses Ctrl + Shift + K / Cmd + Option + K). The most universal method: right-click anywhere on the page and select “Inspect,” then click the “Console” tab. This works in every browser.
What you will see
The console shows three types of messages:
Red text = errors (something is broken)
Yellow text = warnings (something might be wrong, but the page still works)
White/gray text = logs (informational messages, usually fine)
The 3 things to look for
Red error messages — These mean something is broken. Common examples:
Uncaught ReferenceError: React is not defined (missing import)
404 (Not Found) for a script or stylesheet (wrong file path)
TypeError: Cannot read properties of undefined (code bug)
Failed network requests — Click the Network tab and look for entries in red. A 404 status means the browser requested a file that does not exist.
A blank white page — If the page is completely blank, the console almost always has a red error explaining why.
ℹYou don't need to understand every message
The browser console is noisy. Extensions, analytics scripts, and third-party tools all dump messages there. Prioritize red errors first, then check the Network tab for failed requests (4xx/5xx status codes) and blocked resources. If you see no red errors and no failed network requests, the console probably is not your issue.
Section 5: When to Ask the AI
You have verified the output and found a problem. Now what? Paste the evidence directly to the AI. Here are exact prompts you can copy:
If you see an error in the terminal
I ran npm run dev and got this error:
[paste the full error message here]
What is wrong and how do I fix it?
If the page is blank
My page at localhost:5173 shows a blank white screen. Here is my index.html:
[paste the file contents here]
What is missing?
If the page looks wrong
The page loads but the sidebar is overlapping the main content. The sidebar should be on the left and the content should be on the right. How do I fix the layout?
If the console shows red errors
I opened the browser console and see this error:
Uncaught ReferenceError: Chart is not defined
at src/dashboard.js:23:5
What does this mean and how do I fix it?
💡The golden rule of error reporting
Always paste the actual error message. Do not paraphrase it. Do not say “it doesn’t work.” Copy the exact text. The AI can diagnose a pasted error in seconds; it cannot diagnose “something is broken.”
Domain Connections
🧬In Your Field: Biotechclick to expand
In bioinformatics, verification means checking that your pipeline produced output files. After running a processing script, use ls results/ to confirm the output files exist. If something fails, Python tracebacks follow the same WHO/WHAT/WHERE pattern:
Traceback (most recent call last):
File "scripts/analyze.py", line 42, in <module> ← WHERE
df = pd.read_csv("data/samples.csv") ← WHAT it tried to do
FileNotFoundError: [Errno 2] No such file or directory: 'data/samples.csv' ← WHAT went wrong
The WHO is Python, the WHAT is a missing CSV file, the WHERE is line 42 of analyze.py. Paste the full traceback to the AI and it will tell you exactly what to fix.
📊In Your Field: MIS / Businessclick to expand
For business dashboards, verification means checking that charts render with real data. After the AI builds a dashboard, look for:
Do the charts show data or are they empty? An empty chart usually means the data file path is wrong or the data format does not match what the code expects.
Are the axes labeled correctly? A revenue chart with the x-axis showing “undefined” means the column name in the code does not match the column name in the data file.
Do the numbers make sense? If your Q4 revenue shows as $0.12 instead of $120,000, there is likely a unit conversion issue.
Open the browser console. If you see Cannot read properties of undefined (reading 'map'), that almost always means the data did not load. Tell the AI: “My chart is empty and the console shows [error]. Here is my data file: [paste].”
🏛️In Your Field: Government / State Devclick to expand
Government applications require verification beyond “does it load.” You should also check:
Security headers — Open the Network tab in browser dev tools, click the main page request, and look at Response Headers. You want to see headers like X-Content-Type-Options, X-Frame-Options, and Strict-Transport-Security.
API responses — If the app calls an API, check the Network tab for those requests. A 200 status is good. A 401 means authentication failed. A 403 means the user does not have permission. A 500 means the server broke.
Form validation — Try submitting forms with empty fields, extremely long text, and special characters. Government forms must handle edge cases gracefully.
Paste any unexpected status codes or error responses to the AI with the context: “I’m testing a government internal tool and the API returns [status code] with this response: [paste]. What is wrong?”
When Things Go Wrong
🔧
When Things Go Wrong
Use the Symptom → Evidence → Request pattern: describe what you see, paste the error, then ask for a fix.
Symptom
npm run dev shows nothing or hangs with no output
Evidence
I typed npm run dev and the terminal just sits there with no URL or error message
What to ask the AI
"I ran npm run dev but nothing happens -- no output, no URL, no error. I'm in the [project name] folder. What could be wrong? Here is my package.json: [paste]"
Symptom
The page loads but images are broken (showing broken image icons)
Evidence
The page content appears but images show a broken icon. The console shows 404 errors for image files
What to ask the AI
"My page loads but images are broken. The console shows 404 Not Found for /images/logo.png. Here is the img tag from my HTML: [paste]. Where should the image file actually be?"
Symptom
I see errors in the console but the page seems to work fine
Evidence
The page loads and looks correct, but the browser console shows yellow warnings or even some red errors
What to ask the AI
"My page works but the console shows warnings. Here is what I see: [paste]. Are any of these actual problems I need to fix, or can I ignore them?"
Key Takeaways
The 3-check method: starts (dev server runs), loads (page appears in browser), looks right (visual check matches expectations)
Error messages have a pattern: WHO complained, WHAT went wrong, WHERE it happened — learn to spot these three parts and you can diagnose any error
The browser console is your X-ray machine: open it with Ctrl+Shift+J (or Cmd+Option+J in Chrome), or right-click and select Inspect. Prioritize red errors and failed network requests
When in doubt, paste the error to the AI — always include the exact error message, never paraphrase
KNOWLEDGE CHECK
You see this error: 'Failed to resolve import ./utils/formatDate from src/App.jsx. Does the file exist?' Which part of the WHO/WHAT/WHERE pattern tells you what to fix?