Generalist World · Summer School
Building productivity superpowers with Claude Code
The workshop reference — which Claude to reach for, how the agent actually works, the habits that get you good results, and how to keep going.
Workshop materials
Grab the files
The project we built in the workshop — the context Claude reads automatically, plus the spreadsheets to work with.
- 1Download and unzip the folder, then open it in Claude Code.
- 2Ask Claude to read the files in context/ and look at the data, then tell you what it understands about the project.
- 3Follow along with the workshop from there.
Getting set up
Setup video
Installing Claude Code and connecting GitHub, start to finish.
The lay of the land
Pick your Claude
Claude Code
the workshop toolThe full agent harness, running directly on your machine or a cloud sandbox. Can use any MCP server or connector.
Best for: the most powerful option — building, automating, analyzing.
Claude Cowork
An agent in a local virtual machine — a simplified harness with safety features. Connects to your apps via approved connectors.
Best for: everyday knowledge work on files, docs, and spreadsheets.
Claude Chat
Conversation in the app or browser. Limited agentic capabilities — it talks, it doesn't act.
Best for: quick questions, Q&A, brainstorming, drafting.
Same Claude Code underneath
Pick your interface
Desktop app
Best for: Smoother visuals; the easiest way to work in a cloud sandbox or locally.
Watch out: Missing some features the terminal has.
Terminal
Best for: Simple text interface; full power — you can run fancy scripts.
Watch out: Steeper learning curve.
Web
Best for: Familiar interface, zero install — runs sessions in the cloud.
Watch out: Cloud-only — can't touch files on your machine.
Mobile
Best for: Kick off and check in on cloud sessions from your phone.
Watch out: Reviewing on the go, not deep work.
Under the hood
How Claude Code works
You prompt Claude
Describe the goal, the constraints, and what success looks like.
Claude runs in a loop
It works with resources and tools, checking results and course-correcting as it goes:
Claude finishes
It reports back once the task is complete.
The better your context, the better your results
Context is everything
Claude starts every session with a small core, then goes and finds what the task needs.
In every session
Loaded automatically at the start
Pulled on demand
Claude finds what's relevant to your task
Operating habits
Five prompting practices
Plan before you build
“My goal is X. Plan phases A, B, and C. The success criteria are… Your constraints are…”
Start simple, then iterate
“Begin by creating an exploratory analysis of the sales data. Then we'll take on the bigger project.”
Make Claude validate its work at every milestone
“Verify that every citation links to a real webpage.”
Claude will write and run its own checks.
Show what good looks like
“The dashboard should use the same visual style as the home page.”
Examples beat adjectives.
Don't rely on prompts for safety
Keep confidential info private; only connect trusted resources. Hard rules belong in settings, not prompts — see below.
Muscle memory
Slash commands & keys worth knowing
/initClaude writes a CLAUDE.md for the current project by exploring it/clearWipe the slate between unrelated tasks/compactCondense a long conversation and keep going/permissionsSee and edit what Claude is allowed to do/configA menu for every other setting/mcpManage connected tools and data sources (MCP servers)/helpEverything elseEscInterrupt Claude mid-task — stop it, redirect it, course-correctShift+TabCycle permission modes: default → acceptEdits → planSettings & security
How to control and secure Claude Code
A handful of plain-text files control Claude Code — your personal defaults, with each project layering its own on top. No need to memorize this: Claude can read, explain, and change its own configuration when you ask.
~/.claude/settings.jsonYour personal defaultsYou, in every project.claude/settings.jsonThe project's settings, checked into gitEveryone on the project.claude/settings.local.jsonPersonal overrides for one project (kept out of git automatically)Just you, this projectCLAUDE.mdStanding instructions — context Claude reads, not rules it enforcesAnyone working here.mcp.jsonShared connections to external tools (MCP servers)Everyone on the projectOn conflict: managed policy → command line → local → project → user. Permission rules instead merge across files — and a deny anywhere always wins.
Permissions: every action is checked first
Every action is checked against your rules: deny (blocked, always) → ask (pauses for your OK) → allow (runs without asking). No rule matched? Safe reads just run; anything risky prompts you. These are guardrails enforced by the app itself — not suggestions.
Read(./.env)denyClaude can never read your secrets fileBash(npm run test:*)allowAny test command runs without askingBash(git push:*)askAlways pauses before pushing code anywhereWebFetch(domain:github.com)allowFetching pages from github.com is pre-approvedmcp__slackallowTrust every tool your Slack connector exposesPaths are gitignore-style: ~/… = home, /src/… = project root, //… = absolute. :* makes a Bash rule match a prefix.
Permission modes — the big lever
defaultAsks before anything risky; safe reads just runplanRead-only — researches and proposes, touches nothingacceptEditsFile edits auto-approved; commands still askautoMost actions run, with safety checks in the backgroundbypassPermissionsNever asks; disposable sandboxes onlyCycle modes with Shift+Tab in the terminal (mode picker in the desktop app); set where sessions start with defaultMode.
A real settings.json, annotated
{
"permissions": {
"defaultMode": "acceptEdits",
"allow": [ "Bash(npm run test:*)" ],
"ask": [ "Bash(git push:*)" ],
"deny": [ "Read(./.env)", "Read(./secrets/**)" ]
}
}defaultMode— the mode every session starts indeny— beats every allow, in any file- Changes apply the moment you save — no restart needed
Three ways to change settings
In the session
/permissions shows and edits your rules; /config is a menu for everything else; Shift+Tab switches modes.
Edit the file
It's plain JSON in your project folder — open it in any text editor. Changes apply on save.
Ask Claude
easiest“Update my settings so you can never read .env files and can run tests without asking.” You approve the edit like any other.
Keep going
Resources
Official docs
- code.claude.com/docs — install guides, settings reference, everything above in depth
- Claude Code best practices — Anthropic's canonical essay
Worth exploring
- Sawyer-Middeleer/dot-claude — my collection of skills & subagents for non-coding work
- EveryInc/compound-knowledge-plugin — make team knowledge compound
- HoopieUX/Contex-Engineering-Skill — a skill for better context engineering
Foundational tools
Needed for many projects — and Claude can install most of this for you; just ask.
Free courses
- anthropic.com/learn — Anthropic's free self-paced courses with certificates; start with Claude Code 101
Keep in touch
Up for 1:1 Claude Code practice, or a chat about AI operations? I'd love to hear what you build.