Skills & procedures
Your internal procedures encoded as skills your agents load at the right moment, versioned, tested and readable across tools without a rewrite.
Plugging an agent into your tools doesn't teach it your trade. Skills are versioned folders that encode your procedures: contract review, reporting format, coding conventions, the release checklist. Anthropic's own line settles it: explaining how to do something is a skill, needing access to something is MCP. The agent loads a skill only when it applies. Context is not free. The format is read by Claude Code, Codex, GitHub Copilot and Cursor, but the spec is still governed by Anthropic: open by license, not neutral by governance.
Key facts
SKILL.md
one versioned folder in your repo, no server to host
measured
your agents' context tokens counted before and after
0
third-party skills in production without review or a pinned version
Skills & procedures
What I build
Your procedures encoded as skills
Contract review, reporting format, coding conventions, the release checklist: I pick which procedures deserve to become one. I write the description that fires them at the right moment, and ship a versioned folder in your repo. No server, no runtime, nothing to host. The value isn't the Markdown file, it's the triage and the evals around it.
SKILL.md · Internal procedures · Versioned in Git · Readable elsewhere
Lighter agent context
An agent wired to ten MCP servers spends its context before any work starts. I look at what each integration really costs, recast as skills what is know-how rather than access, and measure it: context tokens before and after, correct trigger rate on test queries. MCP stays where real access is needed.
Context · Measured tokens · Trigger testing · MCP
Skill inventory and governance
Your developers already install skills from public repos, often with no review. I inventory what runs, apply the risk grid Anthropic publishes, set a sourcing policy, version pinning and author-reviewer separation. Then an eval harness wired into your CI, so a skill only reaches production once it has been tested.
Inventory · Security review · Version pinning · CI
The promise
An agent that knows how, not just what it's wired to.
Demonstration
A credit note stopped by its sixth rule
A medical equipment distributor issues customer credit notes every week. The procedure comes down to six rules nobody knows by heart, and a wrong calculation base only shows up at the accounting close.
Invented caseThis case is not an engagement. It is invented end to end, and the code below is the real code that would run it.
HumanSales admin request
A customer is returning 24 over-ordered syringe pumps, ref PSE-4120. The return arrived yesterday. Please prepare the credit note on invoice FA-2026-04417.
The agentLoading the skill
The request is about a credit note, which matches the trigger of the customer-credit-note skill. I load it and follow its six rules in order. Rule 1 needs the original invoice, rules 2 to 5 the return status, the packaging, the price base and who caused the error. I pull all of it from the ERP.
The skill loads on its trigger, not in every conversation. The context stays short until the subject comes up.
Tool callReading the invoice
{ "tool": "erp.get_invoice_line", "arguments": { "invoice_id": "FA-2026-04417", "product_ref": "PSE-4120", "include": [ "pricing", "return_status", "packaging", "liability" ] } }Tool responseERP response
{ "invoice_id": "FA-2026-04417", "order_id": "CDE-2026-09912", "product_ref": "PSE-4120", "quantity_invoiced": 24, "catalog_unit_price_excl_vat": 512.0, "contract_discount_pct": 18, "net_unit_price_excl_vat": 419.84, "shipping_charged_excl_vat": 96.0, "error_liability": "customer", "return_status": "received_in_stock", "return_date": "2026-09-02", "sterile_packaging_opened": false }The agentApplying the rules
Return received in stock, packaging sealed, rules 2 and 3 pass. Rule 4, the base is the net price of 419.84 EUR, so 10,076.16 EUR excluding VAT. Rule 5, the customer caused the error, the 96.00 EUR shipping stays charged. Without the rules I would have used the catalog price and refunded the shipping, 12,384.00 EUR, plausible and wrong. Rule 6, the base is over the 5,000.00 EUR threshold, I issue nothing.
Without rule 4, the inflated credit note clears commercial approval quietly and surfaces only at the accounting close.
AnswerReply to the sales admin
The credit note is prepared, not issued. Base 10,076.16 EUR excluding VAT, 24 units at the net price invoiced, 18% discount deducted. The 96.00 EUR shipping is not refunded, the ordering error is the customer's. Over the 5,000.00 EUR threshold, it waits for the named approval of the sales admin manager. Name the approver and I record the name, date and reason before it goes out.
The reply gives the amount and the rule that produced it. The sales admin can contradict it without opening the ERP.
The skill the agent loads on its trigger
---
name: customer-credit-note
description: Internal procedure for issuing a customer credit note, to load as soon as a request involves a credit note, a refund, an equipment return or an invoice to correct.
---
# Customer credit note
Six rules, in order. None is optional.
## 1. Attachment
The credit note attaches to the original invoice number, never to the order
number. If no original invoice is identified, the procedure stops here.
## 2. Physical return
Nothing is issued until the return is received and back in stock. The warehouse
status is what counts, not the customer's statement.
## 3. Sterile packaging
Opened sterile packaging is never taken back. No credit note. The request goes
to the manufacturer warranty.
## 4. Calculation base
The base is the net price invoiced, contract discount deducted. The catalog
price is never the base of a credit note.
## 5. Shipping charges
Shipping is refunded only if the distributor caused the error. Ordering error on
the customer side, shipping stays charged.
## 6. Approval threshold
Above 5,000.00 EUR excluding VAT, no credit note goes out without the named
approval of the sales admin manager. The approver's name, the date and the
reason are recorded in the request beforehand. Below the threshold, issue
directly.
## Expected output
A draft attached to the original invoice, with a line-by-line breakdown, the
base used and the rule applied for each difference from the invoiced amount. If
rule 6 applies, the draft stays pending and the named approval is required
before it goes out. Never present a pending draft as an issued credit note.An agent does not guess an internal procedure, and without one it does not fail loudly, it fails plausibly.
Skills & procedures
Before / after
A house procedure living in three people's heads
The same procedure loaded by the agent the moment it applies
Context eaten by ten MCP servers before the first real task
Context given back to the work, the skill loaded only when needed
Skills installed from public repos, with nobody reviewing them
Every skill inventoried, pinned and tested before production
Skills & procedures
The stack
SKILL.md
Agent Skills
Claude Code
Codex
GitHub Copilot
Cursor
MCP
Context engineering
YAML
Git
CI
Evals
Skills & procedures
Straight answers
What's the difference between a skill and an MCP server?
Anthropic's own line settles it: explaining how to do something is a skill, needing access to something is MCP. The two complement each other, they don't replace each other. A skill can call the MCP tools you already have, and that's often how the context gets lighter.
Is installing a skill from a public repo risky?
Yes. Studies published in early 2026 on the public skill repos show a large share of the skills analyzed carrying at least one flaw, and those bundling scripts are the most exposed. A skill is text the agent treats as trusted instruction: known source, review, pinned version.
Who controls this standard?
Anthropic. The format is published under an open license and read by Codex, GitHub Copilot and Cursor, but it was never handed to a neutral foundation the way MCP was. Open by license, not neutral by governance: the distinction matters if you commit your procedures to it.
It's just Markdown, can't my team do it?
Yes, and some of your developers already do. Writing the file isn't the work: picking which procedures deserve to become one, wording the description so it fires at the right moment, building the evals, that's what takes time. If your team has those three covered, you don't need me.
Does a skill written for Claude work elsewhere?
At the format level, yes: the same folder is read by Codex, GitHub Copilot, Cursor and Gemini CLI. At the behavior level, not always. A skill that assumes a given runtime or tool behaves differently elsewhere, so I check it with test queries on each target.
Can we encode the whole company's know-how?
No, and that's the most common fantasy. The Anthropic API caps out at twenty skills per request, and selection accuracy often degrades as the library grows: descriptions start stealing each other's triggers. We encode the procedures that repeat and cost real money, not the rest.
Read on this topic
Contact
Ready to go from demo to production?
Reply within 24 hours · first conversation free, no strings attached.