Hands-on Claude Code workshop — 9 auto-graded lessons covering skills, hooks, and MCP. Fork it, work through each lesson, ship.
Full workshop content lives at spraka.sh/workshops. This repo is the scaffold.
- Developers starting with Claude Code
- Engineers who want hands-on practice with an AI pair programmer
- Anyone curious about skills, hooks, and MCP
Prerequisites: Node.js 20+, Git, and comfort with JavaScript. Time commitment: ~8–12 hours total. Most learners do one lesson per evening.
- Fork this repo to your own GitHub account
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/claude-code-challenges.git cd claude-code-challenges npm install - Verify setup:
All tests show as skipped on a fresh clone — that's expected. You haven't built anything yet.
npm test - Start at Lesson 1 on spraka.sh/workshops.
| # | Topic | What you build |
|---|---|---|
| 01–03 | Setup & first prompts | (conceptual — no code yet) |
| 04 | Task class fundamentals | Task with id/title/status/createdAt |
| 05 | Adding a priority field | Priority (default: medium) |
| 06 | Building the CLI | addTask, listTasks, completeTask |
| 07 | Debugging with Claude | Fix getFormattedDate, getDaysOld |
| 08 | Project memory | CLAUDE.md with meaningful content |
| 09 | Custom skills | .claude/skills/ definition |
| 10 | Search features | Case-insensitive searchTasks |
| 11 | Hooks | .claude/settings.json with hooks |
| 12 | MCP design | docs/mcp-design.md architecture doc |
Each lesson builds on the previous. Skipping is fine, but later tests may depend on earlier ones.
Push a commit to your fork → GitHub Actions runs the full test suite → green check = lesson complete.
Run tests locally at any time:
npx vitest run tests/lesson-08.test.js # one lesson
npm test # everythingBuilt by Prakash — indie engineer at spraka.sh, writing about software, AI tooling, and building useful things. This workshop exists because learning Claude Code is much faster with guided exercises than a blank editor.
MIT.