Claude Code skills vs hooks vs subagents vs MCP
CLAUDE.md, skills, subagents, hooks, MCP and plugins all extend Claude Code. What each one is for, how it loads into context and which to reach for first.
One question per post, answered properly. Prompt engineering, MCP, the Claude API and how to use AI without fooling yourself.
CLAUDE.md, skills, subagents, hooks, MCP and plugins all extend Claude Code. What each one is for, how it loads into context and which to reach for first.
Ten practical Claude Code habits: explore before editing, give it a way to verify, keep context clean, use permission modes and hooks, and write a short CLAUDE.md.
A Claude Code tutorial for beginners: what it is, how to install it, the agent loop it runs and five things to try first. One command to install, no API key needed.
Claude Code, Cursor and GitHub Copilot compared by how you work, not by hype: terminal agent, AI-native editor or inline assistant, and how to choose or combine them.
What CLAUDE.md is, where it goes, how /init and imports work, and a template of rules a coding agent follows. Includes what to leave out and how AGENTS.md fits in.
Add MCP servers to Claude Code with claude mcp add: stdio and HTTP examples, local vs project vs user scope, .mcp.json, authentication, /mcp and safety tips.
A practical shortlist of MCP servers developers use: GitHub, browser automation, docs lookup and filesystem access, plus how to vet any server before installing it.
MCP servers run code on your behalf. The main risks are prompt injection, tool poisoning, excessive permissions and exposed HTTP endpoints, with concrete fixes for each.
An API is how your code talks to one service. MCP is a shared protocol that lets any AI app discover and call tools from many servers. Here is when to use each.
MCP (Model Context Protocol) is an open standard that lets AI apps connect to tools and data. What it is, how it works, what servers offer and why developers care.
Make your first Claude API call in TypeScript: install the SDK, send a message, add a system prompt, keep a conversation, stream the reply and read token usage.
Four ways to get JSON from an LLM, from asking nicely to schema-enforced structured outputs, with a TypeScript and Zod example and what to do when parsing still fails.
Prompt caching reuses a repeated prompt prefix at a fraction of the cost. How it works, where to put cache_control, what silently breaks it and how to verify hits.
How LLM tool use works: the model asks to call your function, your code runs it and returns the result. A TypeScript loop for the Claude API and the mistakes to avoid.
A workflow follows steps you wrote. An agent decides its own steps in a loop. How to choose between them, with patterns, trade-offs and a simple decision checklist.
RAG adds knowledge, fine-tuning changes behavior, MCP connects tools and live data. A decision guide with a flowchart, a comparison table and the combinations that work.
RAG gives an LLM your own documents at answer time: split, embed, search, then prompt. How the pipeline works, where it fails and how to make it accurate.
Eight prompt engineering techniques that reliably improve LLM output: be specific, show examples, separate data with XML tags, define the format and test your prompts.
Context engineering is deciding what goes into an LLM's context window: instructions, data, tools and history. How it differs from prompt engineering, with examples.
LLM evals are repeatable tests for AI features: a dataset, a grader and a score. How to build your first eval with code graders and an LLM judge, in TypeScript.
Estimate the memory a local LLM needs: parameters times bits per weight, plus context and overhead. Includes a size table for 7B to 70B models and GPU vs CPU notes.
Run an LLM on your own computer: check your RAM, install Ollama, pull a model, chat in the terminal and call it from code with a local API. No cloud, no API key.
Compare Ollama, LM Studio and llama.cpp for running LLMs locally: setup, interface, API, performance and who each is best for, with a clear recommendation.
Quantization stores a model's weights in fewer bits so it fits in less memory and runs faster. What Q4, Q8 and GGUF mean and how much quality you give up.
AI invents functions, flags and packages that do not exist. Seven checks that catch hallucinated code before it reaches production, plus how to prompt to reduce them.
Delegation, Description, Discernment, Diligence: four habits that explain why some developers get great results from AI and others just pull the lever and pray.
Vibe coding means accepting AI code without reading it. AI-assisted engineering means you own the design, the review and the tests. Where each fits and where it breaks.