Your agent just got better at a job. Nobody retrained it.
A skill is a recipe card in a drawer: a label saying when to use it, instructions inside. The agent reads only the labels — until a job matches one, and that card gets pulled. Watch it happen for real, then write your own card and battery-test it.
One job, two agents, the same model underneath.
“Write a commit message for this diff.” Agent B has one thing agent A doesn’t. Predict: will their answers differ — and by how much?
diff --git a/src/api/client.ts b/src/api/client.ts
@@ -12,9 +12,17 @@
-export async function fetchOrders(userId: string) {
- const res = await fetch(`/api/orders?user=${userId}`);
- return res.json();
+export async function fetchOrders(userId: string, retries = 3) {
+ for (let i = 0; i < retries; i++) {
+ const res = await fetch(`/api/orders?user=${userId}`);
+ if (res.ok) return res.json();
+ if (res.status < 500) break; // client errors won't heal on retry
+ await new Promise((r) => setTimeout(r, 2 ** i * 250));
+ }
+ throw new Error("orders unavailable");
} agent A — empty drawer
no skills installed; the model does its default thing
waiting for the run…
agent B — one card in the drawer
identical model and prompt, one skill installed
waiting for the run…