Bootcamp / Session 3 / 3.2
Session 3.2 · Hands-on · John Damask, Amroja LLC
You will build a knowledge base on atopic dermatitis with a terminal AI agent, Claude Code or Codex CLI, working on files on your own computer. It follows Andrej Karpathy’s LLM Wiki design: raw sources you never change, plus a linked wiki that the AI writes and keeps up to date from them. Along the way you ingest papers, search the literature with Paperclip, track research tasks, send agents off to do research in parallel, draw the result as a graph, and turn the whole workflow into a reusable skill. Part of the lesson is that there is nothing to fear in the terminal. John does every step live on the projector, so you can follow along even if your own setup does not work.
Do 3.0 Get set up before class. It installs Claude Code or Codex CLI and, optionally, Paperclip, on macOS or Windows, and checks that the agent answers. If an install fails, contact us at biocore@umassmed.edu before Friday.
This page says “the agent” throughout. The prompts work the same in Claude Code and Codex CLI. When the agent asks permission to create or edit files in your knowledge base folder, allow it.
John works through every step live on the projector. If you have no subscription, could not install an agent, or get stuck on a step, watch him and pick up again at the next step. If you fell back to a desktop app in 3.0, expect some steps to misbehave there; follow John for those.
Not Wikipedia. Nothing here is public, nothing comes from Wikipedia, and nobody else can edit it. In this exercise a wiki is simply a folder of plain text pages on your own computer, one page per idea, gene, drug, or person, that link to each other by name. The agent writes and updates those pages for you, and it builds them only from the sources you put in raw/, so every fact on a page points back to the file it came from.
Think of it as a lab notebook that organizes itself: raw/ holds the papers and notes you collected, untouched, and wiki/ holds the agent’s cross-linked summary of what they say. You can open any page in a text editor, check its sources, and delete or fix it. The word comes from the idea of small pages linked together, which Wikipedia also uses; that is all the two have in common.
Each step gives you the prompt to type, then a few questions under What did you observe? Stop at those for a moment. Noticing what the agent did, and where it put things, is the skill.
Open a terminal as in 3.0, then make the folder and move into it. The same two lines work on macOS and Windows:
mkdir my-kb-atopic-dermatitis cd my-kb-atopic-dermatitis
Type claude or codex and press Enter. The agent now works inside this folder.
my-kb-atopic-dermatitis; in the ChatGPT app, open that folder as your project. Some later steps may not work in the apps; follow John on the projector when that happens.Paste the whole prompt. It sets the rules the agent will follow for the rest of the knowledge base’s life.
Turn this folder into my personal knowledge base about atopic dermatitis. Here's how it works: - I collect sources (articles, papers, notes) in raw/. You never change them. - You read them and write a wiki in wiki/: one page per idea, person, or thing, linked with [[page-name]], and every fact cites the raw/ file it came from. Keep wiki/index.md as a list of every page and wiki/log.md as a history of changes. - When I say "ingest", find all files in raw/ that no wiki page cites yet, read closely and choose 3-5 key takeaways from each, turn them into wiki pages, and list the pages you created or changed. If existing wiki pages exist, check the wiki/index.md page to a) ensure you're not ingesting duplicate data; b) see if existing page exists for which you can add the new data; c) note any inconsistencies or contradictions within the wiki. Note that every wiki page must include a created-on date and last-updated date. - When I ask a question, read the wiki/index.md to see which pages are likely to contain relevant information, then answer from the wiki with citations. If the wiki lacks information you think would be needed, alert the user and ask if they'd like you to do a web search. At any point during a user session, if interesting insights arise, offer to save them back to the wiki. Write these rules into AGENTS.md so every future session follows them, set everything up, and tell me in five bullets what you built.
raw/ documents and the wiki/?In your browser, download this review and save it into your my-kb-atopic-dermatitis/raw folder. Then, in the agent:
ingest
wiki/index.md. What does it show?AGENTS.md. Does it capture all the rules from your prompt?Paperclip gives your agent direct command-line access to more than 8 million papers: standard search and retrieval, plus tools that, used together, let agents explore, dig deep, and synthesize.
Using paperclip, find three recent open-access articles on atopic dermatitis.
When the search has finished, bring the papers into your knowledge base:
Save them to raw and ingest
If Paperclip did not install, have the agent search NCBI directly. PubMed and PubMed Central have a free public search interface (E-utilities) that needs no install and no account:
Search PubMed Central using NCBI's E-utilities (https://eutils.ncbi.nlm.nih.gov/entrez/eutils/) for three recent open-access articles on atopic dermatitis. Show me the title, journal, year, and PMCID of each and why you picked it. Skip errata, and make sure each one has a Creative Commons license and the full text, not just the abstract. Then download each full text into raw/ and ingest.
Summarize the contents of the knowledge base so far.
Paste both paragraphs together, as one message.
Add a research task tracker to this knowledge base. The tracker: keep tasks in research_tasks/tasks.jsonl at this knowledge base's root (a sibling of raw/ and wiki/, not inside either), one task per line, with id, question, priority (high, medium, low), status (to do, in progress, done), created and updated dates, notes, and the path to the findings once done. I may edit this file by hand, so never drop fields you don't recognize.
Give me 3 ideas for what to research next
Go back and forth until you are happy with the ideas, then have the agent add them to the tracker:
Add these to my research tracker
This step and the next one run at the same time. Start this one, and move on to the viewer while it runs.
Spin up agents to execute the research. Use paperclip where you think it could help. Results should be written to this knowledge base's raw/ folder.
No Paperclip? Replace “Use paperclip” with “Search PubMed and PubMed Central through NCBI’s E-utilities”.
The agents should finish in about 10 minutes.
Write a small script that reads every page in wiki/ and generates wiki-map.html: a 3-D interactive force-directed graph with one node per page and one edge per [[link]]. Support standard graph exploration and controls, e.g. moving, zooming, rotating, back and forward buttons similar to browser history controls re-navigating between selected nodes (each click centers the previous/next selected node on the screen and shows the page in the sidebar), etc. Include a search bar. Node labels should fade in and out based on zoom. Size nodes by number of links, color them by page type, and show each page's summary on hover. When a node is clicked, open a side panel showing the complete wiki page. Load the graph library from a CDN so the file works on its own. Run the script, open wiki-map.html in my browser, and add a rule to AGENTS.md: rerun the script after every ingest.
The agent should ingest the results on its own. If it does not, type:
ingest the new research
Are there any contradictions in the wiki? If so, do they reflect conflicting information in the source papers or artifacts introduced during wiki creation?
Please write this observation about true contradictions (i.e. not artifacts) back to the kb and add research topics to resolve them
Turn this into a personal skill called create-kb so I can easily create new knowledge bases on any topic. Each knowledgebase should live in a dedicated folder with the name, my-kb-<TOPIC>. The skill should add the kb to a central registry at ~/.my-kbs/registry.json that records and lists my knowledge bases (name, topic, folder path), and add this one. Create the registry if it doesn't exist.
A paper is not the only kind of source. These two steps add the transcript of a conference session, with timestamps, and use it to jump to one moment in the video.
The video: Psoriasis or Dermatitis? When boundaries blur and treatments flip the script, a joint symposium of the International Eczema Council and the International Psoriasis Council at the AAD 2026 Global Education Day in Denver (March 26, 2026). Across almost three hours of talks and a closing panel, clinicians and researchers look at where atopic dermatitis and psoriasis overlap: patients whose disease does not fit cleanly into either diagnosis, and “paradoxical” reactions, where a treatment for one disease brings on the other. It is exactly the kind of source that is hard to search by hand and easy for an agent once it is text.
We did this for you. Download AAD-2026-Denver-global-education-day-transcript.txt and save it into your knowledge base’s raw/ folder.
To do the same for any other YouTube video:
.txt file in raw/.Keep the timestamps. They are what lets the agent send you to the right moment in the next step. A little page clutter copied along with it (buttons, view counts) does no harm; the agent reads past it.
With the file in raw/, type:
Ingest the new file in the raw folder. This is the transcript (with timestamps) from the 2026 AAD Global Education Day session from Denver. Video here: https://www.youtube.com/watch?v=9SrnO-UkaQA
Using the raw transcript with timestamps, make a url to take me to the part of the video with the ISDS poster Gordon described.
Two minutes: whether you made it, how far you got in the hands-on, and what to change. It also records your attendance. We ask this after every session.
John Damask is the owner of Amroja LLC. A learner and builder, he uses AI to shrink the time it takes to bring new ideas into the world: he builds open source and commercial software, and helps life sciences and finance organizations speed up their AI adoption programs. Previously he was VP of Digital Science at Flagship Pioneering and Global Head of Cloud at Novartis.