Tools, Workflows & Best Practices
by Mikul Gohil
Duration: 2.5-3 hours | Level: Beginner to Intermediate
By the end of this training, you'll be able to:
Configure CLAUDE.md, MCP servers, and hooks for your projects
Delegate tasks to Explore, Plan, and custom agents with proper model selection
Use Haiku for exploration, Sonnet for coding, subagents for parallel work
Build commands, skills, and automation hooks tailored to your needs
Use /compact, /clear, /cost to stay within limits and track usage
Apply the Explore → Plan → Code → Verify → Clear workflow
~30 minutes
~60 minutes
~30 minutes
? for help.The LLM Revolution (2022-2026)
Input + Rules → Output
if (temperature > 30) {
return "hot";
}You write explicit rules
Input + Output → Rules
model.train(examples)
model.predict(new_input)AI learns patterns from data
| Company | Model | Key Strength |
|---|---|---|
| Anthropic | Claude Opus 4.5 / Sonnet / Haiku | Best for code, reasoning, Claude Code CLI |
| OpenAI | GPT-5 / o1 | Multimodal, broad capabilities |
| Gemini 2.5 Pro | 2M+ context window | |
| Meta | Llama 4 | Open-source, customizable |
Text is split into tokens (words/subwords)
Tokens become number vectors
Self-attention weighs token relationships
Predicts most likely next word
Maximum tokens the model can "see" at once
| GPT-3.5 (2022) | 4K tokens |
| GPT-4 (2023) | 128K tokens |
| Claude 3 (2024) | 200K tokens |
| Gemini (2025) | 2M+ tokens |
Larger context = better understanding of your entire project
Understanding limitations prevents frustration and mistakes.
Models don't know anything after their training date. New libraries, APIs, or updates are unknown.
LLMs confidently generate plausible but incorrect code, facts, or explanations. ~30-40% error rate on complex tasks.
Can't run or test code unless explicitly integrated with tools. Output is text, not verified results.
Each session starts fresh. No memory of previous conversations unless explicitly provided.
Practical tips to maximize productivity with AI coding assistants.
The Landscape in 2025
| Tool | Type | Strength | Best For |
|---|---|---|---|
| GitHub Copilot | IDE Plugin | Ecosystem, 1.8M users | VS Code, general coding |
| Cursor | AI-first IDE | Speed (320ms), Composer | Multi-file refactoring |
| Claude Code | Terminal CLI | Agentic, context-aware | Complex workflows |
| Windsurf | IDE | Full-stack generation | Rapid prototyping |
Understanding the different types of AI coding tools.
| Category | Examples | How It Works | Best For |
|---|---|---|---|
| Autocomplete | Copilot, Tabnine, Codeium | Inline suggestions as you type | Speed, boilerplate |
| Chat + IDE | Cursor, Windsurf, Cody | Chat panel integrated with editor | Refactoring, explanations |
| Terminal/Agent | Claude Code, Aider | CLI-first, agentic workflows | Complex tasks, automation |
Match the tool to your task.
Use: GitHub Copilot, Tabnine
Best for: Fast typing, boilerplate, familiar patterns
Use: Cursor, Windsurf
Best for: Large changes across files, visual diff review
Use: Claude Code
Best for: CLI-first, git operations, agentic tasks, full PR workflows
Use: ChatGPT, Claude.ai
Best for: Understanding code, exploring options, research
Anthropic's Terminal-First AI Coding Assistant
Anthropic's official CLI tool that brings Claude directly into your terminal.
No context switching. Stay in flow state.
Pipe output, chain commands, use with git/npm.
Script AI into your workflows. CI/CD ready.
cd your-projectclaude| Feature | Claude Code | GitHub Copilot | Cursor |
|---|---|---|---|
| Interface | Terminal CLI | IDE Plugin | Full IDE |
| Agentic Tasks | Native | Agent Mode | Composer |
| Context Window | 200K tokens | Varies | Varies |
| Custom Workflows | Skills, Hooks, Agents | Limited | Rules |
| MCP Support | Native | No | Yes |
| Best For | Power users, automation | Quick completions | Visual editing |
Writing Effective Prompts for Claude
Vague, no context, unclear what "bug" means
Specific file, clear problem, context
What's the situation? What file/feature?
"In the user dashboard component..."What exactly do you want?
"Add a logout button that calls the auth API"Any requirements or limitations?
"Must work with our existing Redux store"How will you know it's done?
"Should redirect to login page after logout"src/auth/login.ts/plan, /reviewFirst prompt rarely gets perfect results. Here's how to refine:
"That's not quite right. The issue is [specific problem]. Instead, I need [specific change]."
"Before writing code, explain your approach. What's your understanding of the problem?"
"Let's break this down. First, just [step 1]. We'll handle [step 2] after that works."
"I'm not sure about [X]. What are the trade-offs between [option A] and [option B]?"
"Think through this step by step before writing code."
Forces deliberate reasoning, reduces errors.
"As a senior security engineer, review this auth code for vulnerabilities."
Activates domain-specific knowledge.
"Here's how we format tests in this project: [example]. Now write tests for [new code]."
Shows desired output format.
"Don't use any deprecated APIs. Don't add new dependencies. Don't modify the database schema."
Prevents common mistakes.
Overview & Philosophy
Use right model for each task. Delegate to cheaper models.
Don't lose context. Save state, load history.
Extract patterns. Build skills. Get better over time.
Five building blocks that extend Claude Code's capabilities.
| Component | What It Does | Why You Need It |
|---|---|---|
| Agents | Specialized AI workers for specific tasks | Delegate complex work, use cheaper models for simple tasks |
| Commands | Quick actions triggered by /slash | One-keystroke access to common workflows |
| Skills | Reusable domain patterns | Encode expertise once, apply everywhere |
| Rules | Always-active guidelines | Enforce standards without repeating instructions |
| Hooks | Event-driven automation | Automate repetitive tasks, integrate with CI/CD |
Components integrate into a seamless workflow.
/plan creates implementation strategyOrganize settings at the right scope for your needs.
~/.claude/
Use for: Personal workflow, credentials
.claude/
Use for: Project settings, local overrides
CLAUDE.md in repo
Use for: Team standards, shared rules
What's inside "Everything Claude Code" and where to find it.
Essential Guidelines for Claude Code Setup
Rules are always-active guidelines that shape Claude's behavior. Loaded automatically.
Code style, immutability, file limits
Commit conventions, branching
TDD, coverage requirements
Security practices, secrets
Subagent orchestration rules
Hook usage and patterns
Design patterns, best practices
Performance optimization
Understand → Plan → Approve → Code
Every task needs a checklist — even small changes.
Never assume — always ask when unclear.
.env.exampleEvery feature or bug fix needs appropriate tests.
Every change must be documented in docs/.
docs/components/<Name>.mddocs/features/<Name>.mddocs/general/<Topic>.mdDocs are feature-named, not date-named.
## 2024-01-15 14:30Never delete history — Docs are cumulative.
If approach fails twice, STOP and change strategy.
Use Perplexity MCP when stuck. Summarize findings with sources.
After failures, present 2+ different approaches before proceeding.
Document what didn't work and why in task notes.
A task is complete only when ALL criteria are met:
Lint passes, type checks pass, follows patterns
Tests written and passing, manual QA provided
Docs updated, change log appended
Connect Claude to External Tools & Services
Model Context Protocol is an open standard that connects AI assistants to external data sources, tools, and services.
MCP uses a client-server model with three core components.
The AI application (Claude Code, Claude Desktop, Cursor)
Embedded in the host, connects to servers
Exposes capabilities (tools, data, prompts)
Stdio (local process, secure, no network) or HTTP+SSE (remote, requires auth)MCP servers expose three types of capabilities to Claude.
Executable functions Claude can call
create_issue()send_message()run_query()click_button()Data sources Claude can read
Templates for common workflows
{ "mcpServers": { "postgres": { "command": "npx", "args": ["-y", "@mcp/postgres"], "env": { "DATABASE_URL": "postgres://..." } } } }~/.claude.json — Global (all projects).mcp.json — Project (version controlled)Essential servers for development, research, and frontend workflows.
| Context7 | Up-to-date docs for 43K+ libraries (React, Next.js, Vue, etc.) |
| Perplexity | Web research with AI — find solutions, best practices, tutorials |
| Repomap | Code navigation — search symbols, understand large codebases |
| GitHub | PRs, issues, code review, branch management |
| Playwright | Browser automation — click, type, screenshot, E2E tests |
| Figma | Design-to-code — access files, export assets, inspect designs |
| Desktop-commander | System control — file ops, processes, beyond project scope |
| Supabase | Backend-as-a-service — database, auth, storage, edge functions |
mcpmarket.com • pulsemcp.comBuild your own MCP server in Python or TypeScript to expose custom tools.
from mcp import Server, tool server = Server("my-tools") @tool() def get_weather(city: str) -> str: """Get weather for a city.""" return f"Weather in {city}: Sunny" if __name__ == "__main__": server.run(transport="stdio")Run: uv run mcp install
import { Server } from "@mcp/sdk"; const server = new Server("my-tools"); server.tool("greet", { name: { type: "string" } }, async ({ name }) => { return `Hello, ${name}!`; }); server.run();Run: npx ts-node server.ts
.mcp.json) require user approval before use. Enterprise admins can use managed-mcp.json for allowlists.Delegate Tasks to Specialized AI Workers
Agents are specialized AI workers that Claude delegates tasks to via the Task tool.
Claude Code includes 4 built-in subagent types optimized for different tasks.
| Agent | Model | Tools | Best For |
|---|---|---|---|
| Explore | Haiku | Read-only (Glob, Grep, Read) | File discovery, codebase exploration |
| Plan | Inherits | Read-only | Research phase before code changes |
| general-purpose | Inherits | All tools | Complex multi-step tasks |
| Bash | Inherits | Terminal execution | Running shell commands |
Define custom agents using Markdown files with YAML frontmatter.
--- name: code-reviewer description: Reviews code for quality tools: Read, Glob, Grep, Bash model: sonnet --- You are a code review specialist. Analyze code for: - Security vulnerabilities - Performance issues - Best practice violations| Session | --agents CLI flag |
| Project | .claude/agents/ |
| User | ~/.claude/agents/ |
| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier (lowercase, hyphens) |
description | Yes | When Claude should delegate to this agent |
tools | No | Allowed tools: Read, Edit, Bash, Grep, Glob... |
disallowedTools | No | Explicitly denied tools |
model | No | haiku, sonnet, opus, or inherit |
permissionMode | No | default, acceptEdits, plan, bypassPermissions |
hooks | No | PreToolUse, PostToolUse, Stop lifecycle hooks |
tools: Read, Grep, GlobdisallowedTools: Write, EditpermissionMode: bypassPermissionsMultiple agents can run simultaneously for independent tasks.
Continue working while agents run in background.
Ctrl+B during execution/tasks — List active tasksCtrl+T — Toggle task viewmodel: opus
tools: Read, Grep, Glob
disallowedTools: Write, EditRead-only, uses Opus for thorough analysis. Cannot modify code.
model: haiku
tools: Bash, Read
permissionMode: acceptEditsFast Haiku model, runs tests in background, auto-accepts.
tools: Bash
hooks:
PreToolUse: validate-query.shUses hook to validate queries are read-only before execution.
.claude/agents/ and commit them to share with your team.Slash Commands & Custom Workflows
Commands are shortcuts invoked with /command-name. Claude Code has two types:
Core CLI commands provided by Anthropic. Always available, no setup needed.
/help, /clear, /compact, /cost, /model, /config~30 built-in commands for session management, configuration, and info.
User-created Markdown files that become slash commands. Reusable prompts for your workflows.
/commit, /review-pr, /explain, /test-genCreate your own or install from plugins/skills.
/help to see all available commands in your current session.Essential commands available in every Claude Code session.
/clear | Clear conversation history, start fresh |
/compact | Compress context to save tokens |
/resume | Resume a previous session |
/status | Show current session info |
/help | List all available commands |
/cost | Show token usage and costs |
/doctor | Diagnose setup issues |
/config | View/modify settings |
/model | Switch model (Haiku/Sonnet/Opus) |
/permissions | Manage tool permissions |
/mcp | Manage MCP servers |
/init | Initialize Claude Code in project |
/login | Authenticate with Anthropic |
/logout | Sign out of current session |
Turn any prompt into a reusable slash command with a simple Markdown file.
.claude/commands/my-command.md~/.claude/commands/my-command.mdThe filename becomes your command: my-command.md → /my-command
$ARGUMENTS — All text after command$1, $2 — Positional argumentsExplain this code in simple terms, focusing on what it does and why. Be concise but thorough. Include: - Purpose of the code - Key functions/components - Any potential issuesUsage: /explain (while viewing a file)
Use frontmatter to add metadata, tool permissions, and model selection.
--- description: Create a git commit argument-hint: [commit message] allowed-tools: Bash(git:*) model: claude-3-5-haiku-20241022 --- # Context Current changes: !`git diff --staged` # Task Create a commit with message: $ARGUMENTS Follow conventional commit format. If no message provided, suggest one based on the staged changes.description | Shown in /help |
argument-hint | Usage hint for arguments |
allowed-tools | Bash commands to allow |
model | Force specific model |
!`command` | Execute bash inline |
@filepath | Include file contents |
$ARGUMENTS | User input after /cmd |
model: haiku for fast, cheap commands like commit messages..claude/commands/ to share with team/help output useful/git:commit, /git:status.claude/commands/git/commit.md/project:git:commitPortable AI Expertise Packages
Skills are directories with a SKILL.md file that package reusable AI workflows. They're the evolution of slash commands.
| Storage | Directory with SKILL.md |
| Invocation | Auto + user (/skill) |
| Contents | Scripts, templates, resources |
| Subagents | Yes (context: fork) |
| Platforms | Web, Desktop, Code |
| Storage | Single .md file |
| Invocation | User only (/cmd) |
| Contents | Prompt text only |
| Subagents | No |
| Platforms | Claude Code only |
/skill.A skill is a directory containing a required SKILL.md file plus optional resources.
~/.claude/skills/ └── explain-code/ ├── SKILL.md # Required ├── examples/ # Optional ├── scripts/ # Optional └── templates/ # Optional~/.claude/skills/ — Global (personal).claude/skills/ — Project (shared)--- name: explain-code description: Explains code in plain English user-invocable: true --- # Instructions When invoked: 1. Analyze the provided code 2. Explain step-by-step 3. Highlight potential issuesname creates /explain-code command
Let's create a practical skill that generates commit messages from staged changes.
--- name: smart-commit description: Generate conventional commit messages from staged git changes. Use when user asks to commit, create commit message, or stage changes. user-invocable: true --- # Smart Commit Generator ## Steps 1. Run `git diff --staged` to see changes 2. Analyze what was modified 3. Generate commit message following Conventional Commits format: - feat: new feature - fix: bug fix - docs: documentation - refactor: code refactoring ## Output Format ``` type(scope): short description - Bullet points for details - Keep under 72 chars per line ```name | Command name (/smart-commit) |
description | Triggers auto-discovery by Claude |
user-invocable | Allow manual /name call |
/smart-commitUse context: fork to run skills in a subagent with isolated context.
--- name: deep-research description: Thoroughly research a topic across the codebase. Use for understanding architecture, finding patterns, or investigating how features work. context: fork agent: Explore --- # Deep Research Research $ARGUMENTS thoroughly: 1. Use Glob to find relevant files 2. Use Grep to search for patterns 3. Read and analyze the code 4. Create a summary with: - Key files involved - How components connect - Potential issues found Be thorough but concise.context: fork | Run in separate subagent |
agent: Explore | Use Explore agent (read-only, Haiku) |
agent: Plan | Use Plan agent (research mode) |
/deep-research authentication flow.claude/skills/ for teamEvent-Driven Automation
Hooks are shell commands that run automatically at specific lifecycle events in Claude Code.
rm -rf or other dangerous commandsSessionStart → Session begins ↓ UserPromptSubmit → User sends message ↓ PreToolUse → Before tool runs ↓ [Tool Executes] ↓ PostToolUse → After tool completes ↓ Stop → Claude finishes responseAvailable events you can hook into.
PreToolUse | Before tool executes — can block or modify |
PostToolUse | After tool completes — format, log, validate |
SessionStart | New session begins — inject context |
PreCompact | Before context compaction — save state |
Stop | Claude finishes responding |
UserPromptSubmit | User sends message — can block or add context |
Notification | Claude needs attention — send alert |
SubagentStop | Subagent completes its task |
/hooks command in Claude Code to see all events and configure interactively.Hooks are configured in JSON settings files with matchers to filter which tools trigger them.
{ "hooks": { "PostToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "prettier --write $CLAUDE_FILE_PATH" } ] } ] } }"*" | All tools |
"Bash" | Exact match |
"Edit|Write" | Regex — Edit OR Write |
"mcp__github" | MCP server tools |
"" | Events without tools |
~/.claude/settings.json | Global (all projects) |
.claude/settings.json | Project (shareable) |
.claude/settings.local.json | Project (gitignored) |
Hooks receive JSON via stdin and control execution via exit codes.
#!/bin/bash # Read JSON input from stdin INPUT=$(cat) # Extract the command being run COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // empty') # Block dangerous commands if [[ "$COMMAND" =~ ^(rm -rf|dd|mkfs) ]]; then echo "Blocked: $COMMAND is dangerous" >&2 exit 2 # EXIT 2 = BLOCK fi # Allow execution exit 0 # EXIT 0 = PROCEEDDon't forget: chmod +x block-dangerous.sh
tool_name | Name of the tool |
tool_input | Input parameters |
session_id | Current session |
Ctrl+O to see hook stderr logs."PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "prettier --write $CLAUDE_FILE_PATH"
}]
}]Runs Prettier after every file edit.
"Notification": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "osascript -e 'display notification \"Claude needs attention\"'"
}]
}]macOS alert when Claude waits for input.
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "echo \"$(date): $TOOL_NAME\" >> ~/.claude/tool.log"
}]
}]Debug log of every tool execution.
CLAUDE.md Files & Context Management
Claude Code uses CLAUDE.md files as its memory system — plain Markdown files read at every session start.
Use Markdown with clear sections. Claude reads this as instructions, not conversation.
# Project: My React App ## Tech Stack - React 18 + TypeScript - Tailwind CSS for styling - Zustand for state management ## Coding Conventions - Use functional components only - Prefer named exports over default exports - Keep components under 200 lines ## Important Commands - `npm run dev` — Start dev server - `npm run test` — Run Jest tests - `npm run lint` — ESLint check ## File Locations - Components: `src/components/` - API calls: `src/services/` - Types: `src/types/` ## Don't Do - Don't use class components - Don't commit console.log statements - Don't use any typeClaude Code reads CLAUDE.md from multiple locations, merged in priority order.
Global — applies to ALL projects
Project root — team conventions
Current directory — local context
Claude Code has limited context window. These commands help manage it effectively.
Summarize conversation to free context space.
/compact "Focus on API changes"Reset conversation completely.
/clearCheck token usage and costs.
/cost/init to generate a starter CLAUDE.md for any project. It analyzes your codebase and creates appropriate instructions.Costs, Models & Context Management
Tokens are the units Claude uses to process text. ~4 characters = 1 token.
/cost to see your current session's token usage and estimated cost at any time.Claude Code supports three model tiers. Choose based on task complexity.
Fast & Affordable
Balanced Default
Maximum Intelligence
Match the model to the task for optimal cost and quality.
| Task Type | Model | Why |
|---|---|---|
| File exploration / grep | Haiku | Fast, cheap, sufficient for search |
| Simple single-file edits | Haiku | Straightforward changes |
| Multi-file implementation | Sonnet | Best balance of speed/quality |
| Code review | Sonnet | Catches nuances, reasonable cost |
| Debugging complex issues | Sonnet | Good reasoning, cost-effective |
| Architecture design | Opus | Deep analysis required |
| Security analysis | Opus | Can't miss vulnerabilities |
| Complex refactoring | Opus | Needs to understand full system |
/model haiku for quick searches, then switch back with /model sonnet for implementation.All models have 200K token context window. Here's how to manage it effectively.
/context | Show context breakdown |
/model [name] | Switch model (haiku/sonnet/opus) |
/cost | Show token usage & cost |
/compact | Summarize to free context |
/clear | Reset conversation |
/context output:
System prompt: 8,500 tokens
MCP tools: 12,300 tokens
CLAUDE.md: 2,100 tokens
Conversation: 45,200 tokens
─────────────────────────
Total: 68,100 / 200,000Workflows, Prompting & Pitfalls
Follow this four-phase cycle for best results with Claude Code.
Use Plan Mode to read files and understand the codebase without making changes.
Enter Plan ModeAsk Claude to outline the approach. Review and approve before coding.
"What's your plan?"Let Claude implement. Review each change before accepting.
Review diffs carefullyRun tests, check lint, manually verify. Then /clear for next task.
/clear/clear frequently between tasks. Fresh context = better results.@filename for auto-readingcat error.log | claude "explain this error" — great for logs and stack traces.Strategies for scaling Claude Code to production codebases.
$ git worktree add ../feature-auth feature-auth
$ git worktree add ../feature-api feature-api
# Open separate terminals
$ cd ../feature-auth && claude
$ cd ../feature-api && claudeEach worktree = separate Claude session with isolated context.
CLAUDE.md in project root.claude/ to .gitignore (local settings)CLAUDE.md for team sharing/clear between unrelated tasks/cost periodically/compact before context fillsComplete Feature Development with All Claude Code Features
We'll build user authentication using every feature we've learned.
Configure CLAUDE.md, MCP servers, and hooks before starting.
# Project: Auth API
## Tech Stack
- Node.js + Express + TypeScript
- bcrypt for password hashing
- jsonwebtoken for JWT
## Commands
- npm run dev - Start server
- npm test - Run Jest tests
## IMPORTANT
- Always hash passwords with bcrypt
- Never log tokens to console$ claude mcp add context7
$ claude mcp add perplexity
# .claude/settings.json
"hooks": {
"PostToolUse": [{
"matcher": "Edit,Write",
"hooks": [{
"type": "command",
"command": "prettier --write $FILE"
}]
}]
}Features used: CLAUDE.md (Memory), MCP configuration, Hooks (auto-formatting)
Use Explore agent with Haiku model for fast, cheap codebase analysis.
$ claude
# Switch to Haiku for exploration (cheaper)
> /model haiku
Switched to claude-3-haiku
> Use Explore agent to understand our current auth setup.
Check src/middleware/ and src/routes/ for existing patterns.
🔍 Explore agent analyzing...
Found:
• Existing middleware pattern in src/middleware/validate.ts
• Routes follow RESTful convention in src/routes/
• No auth middleware exists yet
• Using Express Router patternFeatures used: /model command (Haiku), Explore agent, context discovery
Use Perplexity MCP for best practices and context7 MCP for library docs.
> Use Perplexity to research JWT best practices for Node.js in 2026.
What's the recommended approach for refresh tokens?
🔍 Querying Perplexity MCP...
Research findings:
• Store refresh tokens in httpOnly cookies (not localStorage)
• Use short expiry for access tokens (15min)
• Implement token rotation on refresh
> Use context7 to get the jsonwebtoken library API docs.
📚 Fetching from context7...
jwt.sign(payload, secret, options)
jwt.verify(token, secret, options)Features used: Perplexity MCP (research), context7 MCP (docs)
Use Plan agent to design implementation. Switch back to Sonnet for quality.
> /model sonnet
Switched to claude-3-sonnet
> Enter Plan Mode and design the auth implementation.
📋 Plan Mode - Designing implementation...
Implementation Plan:
1. AuthService - hashPassword(), verifyPassword(), generateTokens()
2. AuthController - register(), login(), refresh()
3. AuthMiddleware - verifyToken() for protected routes
4. Routes - POST /register, POST /login, POST /refresh
5. Tests - Unit tests for AuthService
Files to create: 4 | Files to modify: 1
> Looks good, proceed with implementation.Features used: /model command (Sonnet), Plan agent, explicit approval before coding
Delegate testing to a subagent. Hooks auto-format every file written.
> Implement the AuthService first.
✓ Created src/services/auth.service.ts
🎨 Hook: prettier --write executed
✓ Created src/middleware/auth.middleware.ts
🎨 Hook: prettier --write executed
> Delegate test writing to a subagent
using Haiku model.
🤖 Spawning test-writer subagent (Haiku)...[Subagent: test-writer]
Writing tests for AuthService...
✓ auth.service.test.ts created
• hashPassword() - 3 tests
• verifyPassword() - 2 tests
• generateTokens() - 4 tests
Subagent completed.
Cost: $0.02 (Haiku)Features used: Subagents (parallel, Haiku model), Hooks (auto-formatting), cost efficiency
Run tests, check costs with /cost, commit, then /clear for next task.
> Run npm test and verify everything passes.
✓ 9 tests passed (auth.service.test.ts)
✓ ESLint: No errors
✓ TypeScript: No errors
> /cost
Session: 45,200 tokens | Cost: $0.18 | Context: 68K/200K
> Commit these changes with message "feat(auth): add JWT authentication"
✓ Committed: feat(auth): add JWT authentication
> /clear
Context cleared. Ready for next task.Features used: /cost (token tracking), Git integration, /clear (fresh context for next task)
Key Takeaways & Next Steps
LLMs: 4K→200K+ context, autocomplete→agentic workflows
Terminal-first AI coding assistant by Anthropic
Connect Claude to external tools: context7, Perplexity, databases
Explore, Plan, Bash + custom agents with model selection
CLAUDE.md files, /compact, /clear for context management
Explore → Plan → Code → Verify → Clear
/help or /doctor in Claude CodeQuestions?
Get started with Claude Code:
curl -fsSL https://claude.ai/install.sh | bashPresentation by Mikul Gohil