From 8ebcacc07d6bf980825bdfb96a7cfa4dd0705bad Mon Sep 17 00:00:00 2001 From: Shayan Rais Date: Wed, 15 Apr 2026 12:25:00 +0500 Subject: [PATCH] =?UTF-8?q?add=20Day=201=20onboarding=20tutorial=20?= =?UTF-8?q?=E2=80=94=20prompting,=20agents,=20skills=20for=20non-engineers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude --- tutorial/day1/README.md | 149 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 tutorial/day1/README.md diff --git a/tutorial/day1/README.md b/tutorial/day1/README.md new file mode 100644 index 0000000..e7731a5 --- /dev/null +++ b/tutorial/day1/README.md @@ -0,0 +1,149 @@ +# Day 1 — Your First Conversation with Claude Code + +[Back to Day 0 (Setup)](../day0/README.md) + +--- + +You've installed Claude Code. Now what? This guide walks you through three levels of using it — each one gives you more control over **how** Claude does its work. + +Think of it like hiring someone: +1. **Prompting** = asking a stranger on the street for directions +2. **Agents** = hiring a specialist who always does things a certain way +3. **Skills** = that specialist having specific training for specific tasks + +--- + +## Level 1: Prompting (Just Ask) + +> 🧠 **Think of it like** texting a friend who knows a lot. You ask "what's the weather in Karachi?" and they'll give you *an* answer — but you have no idea if they checked a weather app, looked out their window, or just guessed from memory. + +Open your terminal and type `claude`. You're now in a conversation. Try typing: + +``` +what is the weather in Karachi? +``` + +Claude will answer — but **how** it answers is unpredictable. It might: +- Pull from its training data (which could be outdated) +- Search the web (if web tools are available) +- Give you a general answer instead of real-time data + +This is perfectly fine for quick questions! But if you need **consistent, reliable results**, prompting alone isn't enough. + +### When Prompting Works Great + +- Asking questions about your codebase ("what does this file do?") +- Writing or editing documents ("rewrite this email to sound more professional") +- Brainstorming ideas ("give me 5 subject lines for this campaign") +- Explaining things ("explain this error message like I'm not a developer") + +### The Limitation + +Every time you ask "what's the weather?", Claude might fetch data differently — or not fetch real data at all. There's no guarantee it uses the same source or method twice. + +--- + +## Level 2: Agents (The Specialist) + +An **agent** is Claude playing a specific role — like assigning a job title. + +> 🧠 **Think of it like** a restaurant kitchen. Without an agent, you walk into a random kitchen and shout "make me pasta!" — whoever hears you might boil instant noodles or make a five-course Italian meal. With an agent, you hire a **Pasta Chef** whose job description says: *"Always use fresh ingredients, always cook al dente, always plate it the same way."* Now you know exactly what you're getting, every single time. + +Here's the same idea applied to Claude: + +> **Without an agent:** You ask Claude "What's the weather in Dubai?" +> It might check its training data, search the web, or make a best guess. You don't know what it'll do. +> +> **With an agent:** A `weather-agent` has a clear job description: +> *"Always check the Open-Meteo API for Dubai. Always return the temperature in a specific format."* +> Same question, same approach, every time. + +### Real Example from This Repo + +This repo has a `weather-agent` — its entire job is fetching Dubai's temperature. Here's what makes it different from just prompting: + +| | Prompting | Agent | +|---|---|---| +| **Source** | Could be anywhere | Always Open-Meteo API | +| **Location** | Whatever Claude picks | Always Dubai (lat: 25.2, lon: 55.3) | +| **Format** | Random paragraph | Clean temperature + unit | +| **Consistency** | Different every time | Same method, every time | + +### The Takeaway + +Agents give you **predictability**. Same question → same approach → same quality. That's the advantage — not that agents are smarter, but that they're **consistent**. + +--- + +## Level 3: Skills (The Training) + +A **skill** is a specific capability that an agent (or Claude itself) can use. + +> 🧠 **Think of it like** a new employee's training manual. When someone joins your team, they have a role (agent), but they also go through specific training modules — how to use the CRM, how to write a proposal, how to run a standup. Each training module is a **skill**. The role tells them *what* they are; the skills tell them *how* to do specific things. + +Now think about a real person: + +> **Shayan** has many skills: +> - Engineering skill — can write code +> - Gaming skill — knows game mechanics +> - Reading skill — can digest and summarize long documents +> +> Each skill has its own knowledge and methods. Shayan uses the right skill for the right task. + +Claude works the same way. The `weather-agent` has a skill called `weather-fetcher`: + +- The **agent** (`weather-agent`) = the person with the job title "Weather Reporter" +- The **skill** (`weather-fetcher`) = the specific training on *how* to fetch weather data + +The skill contains exact instructions: +1. Call this specific API URL +2. Extract the temperature from this specific field in the response +3. Return it in this specific format + +### Why Separate Agents and Skills? + +Because **one agent can have multiple skills**, and **one skill can be used by multiple agents**. + +For example, imagine you create: +- A `daily-report-agent` that summarizes your day +- It could use a `weather-fetcher` skill (for weather) + a `calendar-reader` skill (for meetings) + a `email-summarizer` skill (for email highlights) + +Skills are reusable building blocks. Agents are the people who use them. + +--- + +## Putting It All Together + +Here's the full picture: + +``` +Level 1: PROMPTING +You → "What's the weather?" → Claude figures it out somehow + (unpredictable method) + +Level 2: AGENTS +You → Weather Agent → Always uses the same approach + (predictable method) + +Level 3: SKILLS +You → Weather Agent → Uses weather-fetcher skill + (predictable method with specific instructions) +``` + +Each level adds more control: + +| Level | What You Control | Best For | +|-------|-----------------|----------| +| **Prompting** | The question | Quick one-off questions | +| **Agents** | The question + who answers | Repeatable tasks | +| **Skills** | The question + who answers + how they do it | Critical workflows | + +--- + +## What's Next? + +For now, spend time at **Level 1** — just prompt. Get comfortable asking Claude questions in the terminal. The more you use it, the more you'll notice tasks that would benefit from an agent. + +--- + +[Back to Day 0 (Setup)](../day0/README.md)