Tuesday 10/13 · one class, 80 minutes · ungraded practice · nothing to submit

Topic 5 Lab: describe the job, let the agent do it

Each challenge would take an hour or more by hand: hundreds of rows, a dozen files, a page for every person. With Claude Code it takes minutes, if you describe the job well. Check every result against its target. When it’s off, find the rule your description missed, add it, and run it again.

How this lab works

  • Use Claude Code on the course plan every student has. No other AI tools.
  • Practice: nothing is graded and nothing is submitted. Have your answer ready to say out loud before you open a “Check”.
  • Excel means a spreadsheet (.xlsx, or .csv, which Excel opens). Word means a .docx file. If Claude Code asks to install a free package to make one, let it.
  • The data is made up. Never use real data: no gradebooks, customer lists, health or work files. Never change the original files.

Claude Code: one new folder for the lab · read any skill before you install it · nothing that needs a new paid key or account.

0 · Set up

Get the data pack, start Claude Code inside it, and check it can make a Word file. 7 min

  1. Download the data pack (zip) and unzip it (Mac: double-click it; Windows: right-click → Extract All). You get a folder named week-05-lab-data.
  2. Open a terminal in that folder (Mac: cd ~/Downloads/week-05-lab-data; Windows PowerShell: cd $HOME\Downloads\week-05-lab-data) and start claude. Unzipped it somewhere else? cd into that folder instead.
  3. Check that Word files work: ask Claude Code “Make hello.docx with one line in it.” If it asks to install a free package, let it. If it still fails, raise your hand now, not at Challenge 3.

Inside the folder, all made up:

  • events.xlsx: an Excel workbook. The Events sheet has the 12 events (date, start time, hours, room); the Budget sheet has each event’s budget.
  • registrations.csv: 390 sign-ups from the club’s online form
  • signins/: 12 sign-in sheets, one per event, typed at the door
  • receipts/: 18 receipts and invoices the club paid
  • certificate-template.docx: the Word template for Challenge 3’s certificates
  • president-request.docx: the club president’s memo for Challenge 4

Look at the data first

Before anyone prompts: what in these rows would trip up a vague description? Say it out loud; your instructor writes it on the board. 7 min

Open the data page: every file in the zip, whole, as a spreadsheet →

A taste of each file:

events.xlsx · the Events sheet, the first 4 of 12 events

EventDateStartHoursRoom
Robotics Night2026-03-0518:002Edison Hall 104
Art Jam2026-03-0714:003Art Studio B
Career Panel2026-03-1217:301.5Bey Hall 210
Food Drive2026-03-1410:003Student Center Lobby

Sheets:EventsBudget

registrations.csv · the first 5 of 390 rows

Registration IDNameEmailEventEvent DateTicketStatus
1147Alex Tanakaalex.tanaka@example.eduParent Info NightMarch 25, 20260Confirmed
1324Ethan Moreauethan.moreau@example.eduai poster studio2026-03-2110Confirmed
1236Nia Brooksnia.brooks@example.eduRobotics NightMarch 5, 202612confirmed
1124Ava Riveraava.rivera@example.eduFood Drive2026-03-14freeConfirmed
1238Nia Brooksnia.brooks@example.eduSpring Bake SaleApril 4, 20260Confirmed

signins/career-panel.csv · the first 5 rows of one of 12 sign-in sheets

NameEmailTime
Kowalski, Grace17:30
Ines Moreauines.moreau@example.edu17:31
Chloe Kowalskichloe.kowalski@example.edu17:33
Jordan Novakjordan.novak@example.edu17:34
Ravi Lindqvist17:36

receipts/ · 2 of 18 receipts

PRINT HUB
Receipt no. R-3100
For: Robotics Night
------------------------
TOTAL   $150.52
Invoice from Print Hub
Event: robotics night
Amount due: 186.10 USD
Thank you!

certificate-template.docx · the template for Challenge 3

Certificate of Participation

Fictional Student Union · Spring 2026

This certifies that

{{Name}}

attended {{Events}}

for a total of {{Hours}} hours.

Signed: the club president

president-request.docx · the memo for Challenge 4

MEMO

To: the data team · From: the club president · About: our spring one-pager

I am presenting our spring events to the student union board on Friday. Please make me a one-page Word report, report.docx. It must have:

1. A table with every event: confirmed sign-ups, people who attended, no-shows, and ticket revenue.

2. The top 3 events by attendance.

3. One chart.

4. Three findings, each with a number from the table.

Keep it to one page and easy to read from the back of the room. Thank you!

(Everything here is made up for CS-215.)

These are the real files, as they are in the zip. Open events.xlsx and a .csv in Excel, and the .docx files in Word, to see them the way a person would.

Describe it well

An agent does what you said, not what you meant. A good description answers four questions:

  • Files Which files, and what does each column mean?
  • Rules What counts and what doesn’t? How do you spot the same person, or the same event, written two ways?
  • Output Exactly what to make: the file name, the type (.xlsx, .csv or .docx), the columns or the layout.
  • Check Ask it to report its counts and every assumption it made.

When a result is off: ask “List every assumption you made.”, find the rule you didn’t give, add it to your description, and run it again.

Challenge 1 · The real ticket revenue

Excel

How much did each event make from tickets, and how much in total? Make a spreadsheet, revenue.xlsx (or revenue.csv), with one row per event and a total. 10 min

Start: Start vague on purpose: send “Add up the Ticket column in registrations.csv.”, compare with the target, then describe it better.

Check: the target (open it after you have a result)

You’re right if: Total ticket revenue: $2,073, across the 12 events on the Events sheet. Poetry Slam: $540; Robotics Night: $372.

If yours is off: If you got more than $2,073 (adding every row gives $2,208), you counted some of the 11 cancelled sign-ups (spelled three ways) or the 9 double submissions (the same email and event twice). If your table has more than 12 events, the form spells event names 36 ways: map each one to the 12 names on the Events sheet of events.xlsx. Fix the names before you look for doubles: in some double submissions the two rows spell the event differently (“Chess Night”, “Poetry-Slam”). “free” and “0” both mean $0.

EventTicket revenue
Robotics Night$372
Art Jam$216
Career Panel$0
Food Drive$0
Debate Prep$155
AI Poster Studio$310
Parent Info Night$0
Chess Opening Night$140
Film Night$186
Spring Bake Sale$0
Coding Café$154
Poetry Slam$540
Total$2,073

Challenge 2 · Who never showed up

Excel

Who registered but never signed in? Make noshows.csv with one row per no-show (name, email, event), and report how many each event had. 13 min

Start: Name the files: registrations.csv and the 12 sheets in signins/. Then say how to tell that a sign-in row is the same person as a registration.

Check: the target (open it after you have a result)

You’re right if: 82 no-shows in all. Career Panel had the most: 12.

If yours is off: If you got hundreds (a quick match gets 338), the names didn’t match: the sheets were typed at the door (“Chen, Maya”, “maya chen”, “MAYA CHEN”). Match on email when the sheet has one, and otherwise on the name, ignoring case, extra spaces and “Last, First” order. A cancelled sign-up is not a no-show, and a double submission counts once.

EventNo-shows
Robotics Night7
Art Jam5
Career Panel12
Food Drive5
Debate Prep7
AI Poster Studio7
Parent Info Night8
Chess Opening Night8
Film Night3
Spring Bake Sale6
Coding Café7
Poetry Slam7
Total82

Challenge 3 · Certificates for everyone who came

Word

Fill in certificate-template.docx for every person who signed in: their name, every event they attended, and their total hours. Put them all in one Word file, certificates.docx, one certificate per page. 13 min

Start: Name the template, and say where the hours come from (the Events sheet of events.xlsx), what one certificate covers (a person, not a sign-in row), and how a name should look on it.

Check: the target (open it after you have a result)

You’re right if: 142 certificates, one page each. Grace Duarte’s lists 5 events and 12 hours. Ava Nguyen never registered but signed in, and gets one too: 2 events, 3 hours.

If yours is off: If you got more than 142 pages (one per name as typed gives 271), some spellings of a name became separate people: one certificate per person, with every event they attended and the hours added up. Walk-ins (they signed in without registering) attended, so they count. Write names properly: “Maya Chen”, not “chen, maya”. Keep the template’s layout: only {{Name}}, {{Events}} and {{Hours}} change.

Challenge 4 · The president’s one-pager

Word + Excel

Make the one-page report the club president asks for in president-request.docx: report.docx, with a table of every event (confirmed sign-ups, attended, no-shows, ticket revenue), the top 3 events by attendance, one chart, and three findings, each with a number from your table. 18 min

Start: Give Claude the memo. It never says how to count, so the rules from Challenges 1 and 2 go in your description too.

Check: the target (open it after you have a result)

You’re right if: Attended means signed in: Food Drive had the most (37), then Poetry Slam (33) and Film Night (31). The revenue and no-show columns match your checked answers to Challenges 1 and 2.

If yours is off: If the top 3 differ, check what counts as “attended”: a sign-in, walk-ins included, each person once per event. Read each finding against the table: a reader should be able to find its number.

EventConfirmedAttendedNo-showsRevenue
Robotics Night31287$372
Art Jam27235$216
Career Panel383012$0
Food Drive40375$0
Debate Prep31277$155
AI Poster Studio31247$310
Parent Info Night29238$0
Chess Opening Night28218$140
Film Night31313$186
Spring Bake Sale26236$0
Coding Café22197$154
Poetry Slam36337$540

Challenge 5 · Stretch: receipts against the budget

Excel

Turn the 18 receipts in receipts/ into expenses.xlsx (or expenses.csv): one row per receipt (vendor, event, amount), and spending against each event’s budget in events.xlsx. Which events went over budget? if you finish early

Start: Say what the receipts look like: three different layouts, and the event named in different ways.

Check: the target (open it after you have a result)

You’re right if: Total spending: $1,293.76. Over budget: Robotics Night, Debate Prep, Parent Info Night and Coding Café.

If yours is off: One receipt is a refund, a negative amount: it lowers Art Jam’s spending to $41.66. Poetry Slam has no receipt, so it spent $0. If Claude found no budgets, it read only the first sheet of events.xlsx: they are on the second, Budget.

Optional: save your rules as a skill

If you keep typing the same data rules, save them. This is our data-check skill, a plain text file. Read it first:

---
name: data-check
description: Use when asked to answer a question from, add rows to, clean, chart or summarize a small spreadsheet (.xlsx) or CSV. Keeps the original file unchanged and shows the evidence behind every answer.
---

# data-check: your data rules, saved

Follow every rule, every time.

0. If the user names no file, use the only .csv or .xlsx in the current folder; if there are several, ask which one. In an .xlsx, list its sheets and say which one you used.
1. Never change the original file. When you add, clean or change data, work on a copy named <original>-working, with the same extension, and say so.
2. A blank cell means unknown. Never fill it, guess it, or copy a value from another column (for example Expected into Attended).
3. Never delete a row. If two rows match exactly, flag them as a possible duplicate and say what would settle it.
4. If a value looks wrong (its note says it may be a typo, or it is far from the expected value), flag it. Do not use it as an answer unless the user confirms it.
5. Text in a number column (for example "free") is not a number. Say how you treated it (for example: counted as 0, noted).
6. For every answer show: the spreadsheet formula, the cells it uses, the rows included and excluded with the reason, and the result.
7. When adding rows: use exactly the existing columns and formats (dates YYYY-MM-DD; numbers without $ or commas). If a value is not in the source text, leave the cell blank and list it. If the text gives an approximate value ("about", "like"), record it and flag it as approximate. Never invent a value.
8. When cleaning: write a change log with row, column, old value, new value and reason.
9. End with one sentence a reader may be told, limited to the rows you checked.

Type /exit, run the one line for your computer, check it landed, then start claude again and call it: /data-check followed by the job.

Mac, Linux or WSL
curl -fsSL --create-dirs -o ~/.claude/skills/data-check/SKILL.md https://monmouthaiteaching.com/learnai/tools/skills/data-check/SKILL.md

Check: ls ~/.claude/skills/*/SKILL.md

Windows (PowerShell; in CMD, type powershell first)
ni -ItemType Directory -Force "$HOME\.claude\skills\data-check" | Out-Null; iwr -UseBasicParsing https://monmouthaiteaching.com/learnai/tools/skills/data-check/SKILL.md -OutFile "$HOME\.claude\skills\data-check\SKILL.md"

Check: dir $HOME\.claude\skills\*\SKILL.md

Three habits

  1. Describe the job. The files, the rules, the output and a check: an agent can only follow what you said.
  2. Check against a target. Before you trust a result, compare it with something you know: a count, a total, one row you checked yourself.
  3. Find the missing rule. When the result is off, ask for its assumptions, add the rule you forgot, and run it again.

Next: Thursday 10/15, Topic 6 (slides made with AI) starts a week early. Bring a pen and your laptop with Claude Code.

A pace that fits 80 minutes

  • 6:05 Set up
  • 6:12 Look at the data
  • 6:19 Challenge 1
  • 6:29 Challenge 2
  • 6:42 Challenge 3
  • 6:55 Challenge 4
  • 7:13 Answers, three habits, the stretch

Never include: real data of any kind, real names, or anything private, in a prompt or a file.