Back to Resources
Claude AI8 min read

Claude Code Skills, Hooks and Subagents, Explained for Business

The building blocks of a Claude Code workflow harness in plain English: CLAUDE.md, skills, hooks, subagents and MCP, with tender-bid examples of when to use each.

Haojun See
Haojun See

Founder & Director, On The Ground

Updated 5 October 2026

The building blocks in one sentence each

`CLAUDE.md` is what Claude always knows, a skill is a procedure Claude follows when asked, a hook is a check that always runs, a subagent is a helper that works separately and reports back, and MCP connects Claude to other systems. Together they turn Claude Code from a clever assistant into a workflow harness that behaves the same way every time. This guide explains each one with examples from tender and quotation bidding, the running example in our series. If you're new, start with the pillar guide, Claude Code as a workflow harness, and Terminal basics for Claude Code.

CLAUDE.md: the standing instructions

`CLAUDE.md` is a plain text file in your workflow folder that Claude reads at the start of every session. Put in it anything Claude should always know or always do. For a bid folder, that might include: • Company name, UEN, registered address and the approved one-paragraph company description. • "Write in British English. Use S$ for prices. Use the client's own terms for requirements." • "Never invent certifications, headcount, project values or client names. Only use facts from the company-info folder, and say which file each fact came from." • Where things live: "Tender documents are in /tender. Drafts go in /drafts. Final files go in /submit." Anthropic's documentation recommends keeping CLAUDE.md short, under about 200 lines, and moving longer reference material into skills, which load only when needed. A practical rule from the same docs: when Claude makes the same mistake twice, the fix belongs in CLAUDE.md.

Skills: saved procedures you run by name

A skill is a written procedure saved in a folder, which you trigger with a short command such as `/bid-summary`, or which Claude picks up automatically when your request matches its description. Skills are how your best person's method becomes everyone's method. Each skill is a folder under .claude/skills/ containing a SKILL.md file. The top of the file has a short header with a name and a description; below it are the steps in plain English. Supporting files, such as a template or a checklist, can sit in the same folder. The skills documentation has full details. Useful skills for a bid workflow: • /bid-summary: read the tender pack and produce a one-page brief covering scope, closing date and time, evaluation criteria, mandatory documents and questions to ask the buyer. • /compliance-matrix: list every requirement in a table with where our response addresses it, marking gaps in red. • /draft-section: draft one section from approved boilerplate and past projects, citing sources. • /bid-review: check the full draft against our bid rules and list every problem found. Two settings are worth knowing. A clear description helps Claude choose the right skill on its own. And for any skill with side effects, such as one that exports or sends files, set disable-model-invocation: true so only a person can trigger it.

Hooks: checks that always run

A hook is an automatic action that runs at a fixed moment, such as before Claude writes a file, after it edits one, or when it finishes a task, every single time. Hooks are the difference between a rule Claude is asked to follow and a rule it can't break. Anthropic's features guide is explicit: an instruction like "never edit the price schedule" in CLAUDE.md is a request, not a guarantee; a hook that blocks the edit is enforcement. Hooks are set up in a settings file (.claude/settings.json for a project) and can run a small script, call a web address, or even ask a model to judge something. Hook ideas for bids: • Protect the price schedule. Before any edit, block changes to the pricing file unless a person makes them. • Preflight before export. Before the final files are written to /submit, check that every mandatory form exists and no section still contains placeholder text like "[TBC]". • Keep a log. After every file change, append a line to an audit log so you can see what changed and when. • Notify on finish. When Claude finishes a long task, send a desktop notification. Hooks usually need a few lines of script, so this is the part where a technical colleague or partner helps most. Once written, they work silently in the background.

Subagents: helpers for big side tasks

A subagent is a separate Claude worker with its own memory that handles a side task, such as reading a 300-page specification, and returns only a summary to your main session. This keeps your main conversation focused and stops it filling up with detail you won't need again. Bid examples: • Specification reader. One subagent reads the full technical specification and returns the 20 requirements that matter most. • Past-bid researcher. Another searches your archive of previous bids for the most relevant case studies. • Independent reviewer. A reviewer subagent checks the finished draft against the evaluation criteria, without being influenced by the reasoning that produced it. Subagents can be defined once with their own instructions and reused, and a skill can call them. For example, /bid-review might send compliance, pricing and writing quality to three reviewers at once.

MCP: connections to your other systems

MCP, the Model Context Protocol, lets Claude Code reach systems outside the folder, such as Google Drive, a CRM, a database or a project tracker. It's an open standard, now governed by the Linux Foundation's Agentic AI Foundation, and widely supported by AI tools. For bids, connections might let Claude pull the latest company profile from your shared drive, look up past client contacts in your CRM, or log the new opportunity in your pipeline tracker. Start without MCP; add a connection when you notice yourself copying the same information from one system into the folder by hand.

Which one should you use?

Use the simplest block that solves the problem, and add the others only when a real need appears. A quick guide: • Claude keeps forgetting a fact or rule: add it to CLAUDE.md. • You keep typing the same multi-step instructions: make a skill. • A rule must hold every time, no exceptions: make a hook. • A side task floods the conversation with detail: use a subagent. • You keep copying data in from another system: add an MCP connection. Most bid workflows start with a good CLAUDE.md and two or three skills. Hooks come next, once you know which mistakes you can't afford. The next guide in the series puts all of this together into a complete tender bid workflow. For hands-on help, see our AI Foundations training.

Frequently asked questions

What is a Claude Code skill?

A skill is a saved, reusable procedure for Claude Code, stored as a `SKILL.md` file in a folder under `.claude/skills/`. It has a name and a description, then plain-English steps. You run it with a short command such as `/bid-review`, or Claude uses it automatically when your request matches the description. Skills keep repeated workflows consistent.

What are Claude Code hooks used for?

Hooks run automatically at fixed points in a Claude Code session, such as before a tool runs, after a file is edited, or when Claude finishes. They're used to enforce rules that must always hold, like blocking edits to a pricing file, running checks before export, keeping an audit log or sending notifications. Unlike instructions, hooks always run.

What is the difference between a skill and a subagent?

A skill is reusable content, instructions or a procedure, that loads into the current conversation. A subagent is a separate worker with its own context window that does a task independently and returns a summary. Use a skill to standardise how something is done; use a subagent to keep large or parallel side tasks out of your main session.

Do I need MCP to use Claude Code for business workflows?

No. Many workflows run entirely on files in a folder. MCP becomes useful when Claude needs live data from another system, such as a shared drive, CRM or database, and you're tired of copying it in by hand. Add one connection at a time, and only grant the access the workflow actually needs.

Want to Apply This to Your Business?

We're a Singapore AI development and automation agency. Let's discuss how we can help solve your specific challenges.