See the Difference

You want code that sends reminder emails to customers with overdue invoices.

Without your toolkit
You: "Write code that emails customers who have overdue invoices."

AI guesses at your system:

import OverdueMailer from 'acme-invoicing'; // Error: Module 'acme-invoicing' not found client.sendOverdueNotices(); // Error: 'client' is not defined

AI invents functions that don't exist. The code won't run.

With your toolkit
You: "Here are functions I have:"
getOverdueInvoices() → Invoice[]
getCustomer(id) → {name, email}
sendEmail(to, subject, body) → boolean
"Write code that emails each customer with an overdue invoice."
const overdue = getOverdueInvoices(); for (const invoice of overdue) { const customer = getCustomer(invoice.customerId); sendEmail( customer.email, "Invoice Reminder", `Hi ${customer.name}, invoice #${invoice.id} is overdue.` ); }

AI uses your real functions. The code actually works.

Why This Works

AI doesn't know about your code, your company's systems, or your private APIs. When you ask it to write code without context, it guesses — and often invents functions that don't exist.

But when you tell AI what tools you have available — just their names and what they do — it can assemble them into new solutions. You're giving AI the building blocks; it figures out how to put them together.

The Efficiency Secret

You don't need to share how your code works inside — just what it does and how to call it. This means you can describe far more tools in the same space.

What you share Space needed Functions you can describe
Full code implementations ~150 words each ~10 functions
Just signatures & descriptions ~25 words each ~60 functions

This approach actually produces better results — AI focuses on what things do, not how they work inside.

What to Share vs. What to Skip

Share This

  • Function names — what you call them
  • Inputs — what goes in (and types)
  • Outputs — what comes back
  • One-line purpose — what it does
  • Constraints — limits, errors it throws

Skip This

  • Implementation code — how it works inside
  • Internal logic — algorithms, optimizations
  • Database details — unless directly relevant
  • Full documentation — brief is better
  • Every edge case — just the main behavior

How to Ask

The Technique

Describe the tools you have — not how they work, just what they do and how to call them. AI becomes a composer, assembling your existing pieces into new solutions that actually work with your system.

When to Use This

Think of It Like This

Imagine hiring a chef for a private dinner. You don't teach them how to grow tomatoes or raise chickens — you just show them what's in your pantry. "Here's what I have. Make something great."

That's this technique. You show AI your ingredients (functions, APIs, tools), and it creates the recipe (new code that combines them).

The chef doesn't need to know where you bought the olive oil. They just need to know it's there and what it's good for.