Build reusable custom tools for Claude Code
Got a tool working in Claude Code? Keep it.
Build a tool with Claude Code and save it as a Kody package, then use it again in your next session or from another connected agent.
“Check the latest release for these repositories.”
repositories → release resultsYour connected agents can all use the same saved tool.
Give the next agent
a tool it can call.
Try the sample lookup below. It uses example data and won’t call GitHub or create a package.
Input
Caller
Claude Code receives
{
"repository": "acme/website",
"status": "released",
"version": "v1.4.0",
"url": "https://github.com/acme/website/releases/tag/v1.4.0"
}The next agent gets the same result format, so it can use the tool without rebuilding it.
Give your agent code it can run again.
Keep your agent instructions for choosing the tool. Save the repeatable work in a package and explain what the tool accepts and what it returns.
Read the package-authoring guide ↗- Inputs
- Decide which repositories to accept and how to handle an empty list.
- Results
- Return the repository, version, release URL, and publication time. Separate missing access from no releases.
- State and access
- Keep credentials in account integrations or secrets. Keep track of the last completed step in package storage.
Test it in a fresh conversation.
Get one task working
Connect Claude Code, load the authoring guide, and explore a small read-only task through search and execute.
Save and publish
Describe what goes in and what comes back. Check pagination, prereleases, and unavailable services before depending on it.
Try a fresh conversation
Find and call the package from a second connected agent. Review and publish later changes, using owner approval if the package is locked.
Kody has runtime and usage limits. A saved package doesn’t make every local binary or long-running server portable. See the package lifecycle ↗
Build your first
reusable tool.
Connect your agent, then give it this starting prompt.
Get started with Kody ↗Load the Kody package-authoring guide. Build a read-only release lookup for a list of GitHub repositories. Return repository, version, release URL, and publication time. Handle missing access separately from no releases. Save and publish it as a reusable package, then show me how another connected agent can find it.