Agentic Coding with Claude

Data Science Special Topics · NC State University Libraries

October 15, 2026

While we get started

Open the materials

go.ncsu.edu/dss-claude

Paid Claude plan? Start the install now: Setup on the materials page.

Free plan, or no account? Pair with a neighbor. You’ll be the one who checks the agent’s work.

QR code for the workshop materials page, go.ncsu.edu/dss-claude

Data Science Services

Our services: consulting, workshops and instruction, specialized spaces. What we do: finding data, wrangling data, analyzing data, visualization, geographic information systems (GIS), software access.

Who we are

Data Science Services, who we are: Mara Blake, Head, Data Science Services; Shannon Ricci, Associate Head, Data Science Services; Jeff Essic, Lead Librarian for GIS; Alp Tezbasaran, Data Science Librarian; Selene Schmittling, Data Science Librarian; Bin Liu, Data Science Librarian; Ashley Pearson, University Library Specialist

Our team comes from a variety of academic backgrounds, including nuclear engineering, electrical engineering, industrial and environmental engineering, marine ecology, information science, natural resources, business administration, and geographic information sciences.

How to contact us

How to contact us: go.ncsu.edu/getdatahelp. Email us, book a 30-minute appointment with a Data Science Consultant, or reserve a workstation in the DXL or Dataspace. All communication with the program is through getdatahelp@ncsu.edu.

Today’s finish line

  • Claude Code installed and signed in on your laptop
  • A dashboard, built by Claude from a messy spreadsheet
  • Your plan checked against the boss’s note, before any code was written
  • The dashboard’s key number checked against the official answer
  • A CLAUDE.md that remembers, and a /house-style skill you keep
  • A link you can share, or a screenshot
  • Something of your own, built in the last ten minutes

Why agents

What’s different, and why it changes the skill

A chatbot talks. An agent acts.

Chatbot

  • You paste the file in
  • It answers in text
  • You copy its code out, run it, paste errors back
  • You are its hands

Agent

  • It opens your files itself
  • It runs commands and edits files
  • It sees its own errors and tries again
  • You steer, and you check

“Without tools, Claude can only respond with text. With tools, Claude can act.” — Claude Code documentation

The loop

Readopen files, look around
→
Planpropose before acting
→
Actedit, run, build
→
Checkis it actually right?

The docs put it plainly: “You’re part of this loop too.”

The skill now: set it up, steer it, check it.

What you’re about to install

Claude Code: an AI agent that works inside a folder on your computer.

  • It can read and change any file in the folder you start it in
  • You choose how often it asks before acting
  • The same agent runs in the terminal, the Desktop app, VS Code and the web

Think of it as a capable coworker with access to one folder. Choose the folder on purpose.

Set it up

15 minutes, together

Install

Mac

Open Terminal: ⌘ Space, type “Terminal”

curl -fsSL https://claude.ai/install.sh | bash

Windows

Open PowerShell: Start, type “PowerShell”

irm https://claude.ai/install.ps1 | iex

No progress bar. It’s working; give it a minute. When it’s done, read the end for Setup notes (next slide), then open a new terminal window.

Check, then sign in

claude --version

A version number, like 2.1.299 (Claude Code)

claude

Pick a text style, sign in through the browser, come back. Asked to trust your home folder? No, exit: you’re signed in.

If you see Do
command not found or not recognized Run the fix under Setup notes in the install output (it’s also on the Setup page), then open a new terminal
Your plan doesn’t include Claude Code Free plan: pair up today
Mac offers “command line developer tools” Not Now is fine

A 60-second tour

  • The prompt box: say what you want, in plain words
  • The mode line below it: ⏵⏵ auto mode on
  • / lists commands; /help explains them
  • Esc stops Claude mid-step; Esc Esc goes back in time
  • Shift+Tab changes how much it asks before acting

New to terminals? Anthropic’s terminal guide for new users is linked from the Setup page. Rather not use one? The Claude desktop app has a Code tab that runs the same agent.

Get the starter folder

  1. Materials page → study-rooms.zip → unzip it to your Desktop
  2. Go into the folder (never your home folder) and start Claude Code:

Mac

cd ~/Desktop/study-rooms
claude

Windows

cd $HOME\Desktop\study-rooms
claude
  1. Not found? Type cd and a space, drag the folder in, press Enter
  2. “Quick safety check” → Yes, I trust this folder

Your status line

/statusline show the model, this folder’s name, the effort level, the percentage of the context window used, and the git branch when there is one. Read the branch from the .git folder instead of running git, and test the script before you finish.
  • It writes a small script into Claude Code’s settings. If it asks, approve
  • Then look under the input box: model · folder · effort · context used
  • No branch here: this folder isn’t a git repository

The loop, for real

Study-room bookings: read → plan → act → check

The job

You work at a campus library. Your supervisor wants a one-page dashboard for the annual report:

  • how many bookings, per year
  • when rooms are busiest
  • which rooms people want

You have the booking system’s export, room_bookings.csv, and Claude Code.

What’s in the folder

README.md: what each column means

room_bookings.csv: 10,279 rows, January 2024 to September 2026

Synthetic data, made up for today.

1 · Read

What’s in this folder? Give me a quick summary of the data. Don’t change anything yet.
  • Watch it open the files itself and run commands,
    like Bash(wc -l room_bookings.csv)
  • A chatbot would have asked you to paste them in
  • Copy every prompt from Today’s activity on the materials page

Read its summary. What problems did it find?

2 · Plan: a note from your supervisor

From your supervisorQuick reminder for the dashboard: everything we report uses the fiscal year, July 1 to June 30, named for the year it ends. FY2026 = July 1, 2025 to June 30, 2026.

Claude can’t see this note, and the prompt won’t mention it. On purpose.

Predict: will Claude ask what “year” means, or assume?

2 · Plan

/plan Build a one-page dashboard, dashboard.html, for my supervisor: total bookings per year, the busiest days and hours, and the most popular rooms. Make it a single file I can open by double-clicking.
  • The mode line says ⏸ plan mode on: it reads, may ask, then proposes
  • It asks which year? Answer from the note.
  • It doesn’t ask? Look for 2024, 2025, 2026: calendar years.
  • Pairs: the checker reads the plan against the note

Catch it before any code exists

When the plan is ready, you choose:

  1. Yes, and use auto mode
  2. Yes, manually approve edits ← once the plan is right
  3. No, keep planning ← if it isn’t
We report by fiscal year: July 1 to June 30, named for the year it ends (FY2026 is July 2025 to June 2026). Use fiscal years.

In rehearsal

Claude asked which kind of year in 4 of 4 runs.

Its default, if you just said “go”: calendar years, every time.

Asking is good. Counting on it isn’t.

Hands up

  • Whose Claude asked which year to use?
  • Whose Claude assumed calendar years?
  • Whose plan already dealt with the duplicate rows?

Same prompt, thirty laptops, different behavior. That’s why you read the plan.

3 · Act

  • Approve the first edit or two. Read what it writes.
  • Then Yes, and switch to auto mode, or Shift+Tab until the mode line says ⏵⏵ auto mode on (Windows: Alt+M)
  • Esc any time to stop and redirect
  • It takes a while. Don’t type the next prompt until it’s done
Mode Claude…
⏸ manual asks before edits and most commands
⏵⏵ accept edits edits, plus file commands like mv and rm; asks before others
⏸ plan proposes; changes nothing
⏵⏵ auto (default) acts; a safety check reviews each action

While it builds

Two ideas to have ready when it’s done: memory and skills

Claude forgets. Files don’t.

CLAUDE.md: you write it

  • A file in your folder
  • Read at the start of every session
  • Rules and facts it can’t know: definitions, dates, house rules
  • “Add this to CLAUDE.md: …”, or /init for a first draft

Auto memory: it writes it

  • Notes Claude saves as it learns your project
  • On by default; you’ll see “Saved 1 memory”
  • Kept in your home folder, one set per project
  • /memory shows and edits both kinds

Keep CLAUDE.md short: every line is read every time. (The old # shortcut is gone; just ask.)

Skills: instructions with a name

.claude/skills/house-style/SKILL.md   →   /house-style

You run it

Type /house-style, like any command.

Claude runs it

When what you ask matches the skill’s description, Claude can pick it up on its own.

Custom commands and skills are now the same thing; old .claude/commands/ files still work. Put a skill in your project’s .claude/skills/, or in ~/.claude/skills/ to use it everywhere. A skills folder that didn’t exist when the session started needs /reload-skills after each new skill or change.

Check it

Open the page, then make sure it’s right

Open it

! open dashboard.html

Windows: ! start dashboard.html. Or just ask Claude to open it. Still building? Let it finish first.

A study-room dashboard built in a rehearsal run

4 · Check

A dashboard that looks right isn’t one that is right. Your supervisor knows one number:

Official FY2026 bookings4,351

What does yours say?

Make it prove it

/goal dashboard.html shows FY2026 = 4,351 bookings, the official count. If it doesn’t, explain why before changing anything. Prove the final number by counting the CSV yourself, and don’t hard-code it. Stop after 5 turns.
  • Claude keeps working until the condition holds
  • A separate model checks after every turn
  • Give it a finish line it can prove, rules it must keep, and a limit

What a wrong number tells you

Your dashboard says What happened
4,351 Fiscal year, each booking counted once ✓
4,513 Fiscal year, but 162 bookings counted twice (the duplicate rows)
3,127 Calendar 2026, January to September only: the plan’s default
3,696 Calendar 2025, the last full calendar year
3,239 or 3,829 Calendar 2026 or 2025, with the duplicates

Something on the page looks off? Screenshot it to the clipboard (Mac ⌃⇧⌘4, Windows Win⇧S) and paste it into Claude (Ctrl+V, or Alt+V on Windows).

5 · Remember

Add our reporting rules to CLAUDE.md: we use fiscal years (July 1 to June 30, named for the year they end), and each booking_id counts once.

/memory to see it → /clear for a fresh conversation → then ask:

Which fiscal year had the most bookings, and how much did it grow over the year before?

It should say FY2026, up about 40%, without being told the rule again.

6 · Make a skill

Create a skill called house-style that gives any web page we make the NC State look: Wolfpack Red #CC0000 for highlights, dark gray text on white, Arial or Helvetica, a red header bar with the page title, and a footer that says “Synthetic data made for a workshop.” Use it whenever you create or restyle a web page.

This folder had no skills before, so tell Claude Code to look once. Then run it, and reload the page:

/reload-skills
/house-style dashboard.html

Before and after

The dashboard before the house style

The dashboard after /house-style

Does Claude reach for it on its own?

Make a one-page summary for the library’s dean, summary.html, with the three numbers that matter most.

No mention of the style. Watch for a Skill(house-style) line, and look at the result.

A one-page summary for the dean

Undo and share

Mistakes are cheap, if you know your undo

7 · Undo

Make dashboard.html rainbow-colored, with Comic Sans everywhere.

Look at it. Enjoy it. Then:

/rewind

The dashboard after the rainbow request

Pick the rainbow prompt itself → Restore code. Reload. (Or Esc Esc on an empty prompt.)

Rewind restores what Claude edited. It can’t undo shell commands like deleting (rm) or moving (mv) files. For real work: copies, or git.

8 · Share

Publish dashboard.html as an artifact.
  • A private page on claude.ai, with a link
  • Share in the page header → a public link anyone can open
  • Needs Pro or higher; on Team/Enterprise plans public links may be off
  • /artifacts lists everything you’ve published. Console account? Share a screenshot

Show your neighbor. Volunteers: we’ll put two on the screen.

Make it yours

10 minutes, your call

Pick one

Improve it

A filter, a dark mode, a download button, a chart you wish it had.

Build something you’d use

A study timer in NC State colors. A flashcard quiz from your notes. A weekly planner. Start in a new, empty folder.

Your own data

Only data you’re allowed to share with an AI service. When in doubt, don’t.

Give it a finish line it can prove:

/goal every button on the page has code behind it that visibly changes the page, and the page needs no other files. Prove it from the code. Stop after 5 turns.

Habits

What to keep doing after today

Seven habits worth keeping

  1. Plan before anything that matters. Read it for assumptions you didn’t make.
  2. Write down what it can’t know in CLAUDE.md.
  3. Give it a way to check its work: a number you trust, a test, a /goal.
  4. Check one number yourself. Looking right isn’t being right.
  1. Know your undo. /rewind doesn’t undo shell commands. Copies, or git.
  2. Mind the data. Only what you may share with an AI service; follow NC State’s rules for sensitive data.
  3. Start fresh between tasks with /clear. Long, tangled sessions get worse.

Did we make the finish line?

  • Claude Code installed and signed in on your laptop
  • A dashboard, built by Claude from a messy spreadsheet
  • Your plan checked against the boss’s note, before any code was written
  • The dashboard’s key number checked against the official answer
  • A CLAUDE.md that remembers, and a /house-style skill you keep
  • A link you can share, or a screenshot
  • Something of your own

Keep going

  • On your own: the Campus café sales activity: same eight steps, a different trap
  • On the materials page: the cheat sheet, the finished examples, these slides
  • /powerup in Claude Code: short interactive lessons
  • Help with access or setup: go.ncsu.edu/getdatahelp
  • Questions: lib-datascienceservices@ncsu.edu

QR code for the workshop materials page, go.ncsu.edu/dss-claude

go.ncsu.edu/dss-claude

Thank you

Tell us how we did

go.ncsu.edu/dss-workshop-eval

QR code for the workshop evaluation, go.ncsu.edu/dss-workshop-eval