agentleFS
cluaizcluaiz/cluaiz-tools/skills/tool-creator/SKILL.md

tool-creator

Skill3 starsChanged 6 days agoApache-2.0View on GitHub

Creates and improves tools for Cluaiz: skills (instructions with optional scripts), WebAssembly plugins and MCP server packages, with correct manifests and registry entries. It also checks a tool package for problems and tests it. Use when the user wants a new tool, skill, plugin or MCP integration, wants an existing tool improved, or asks whether a tool package is correct.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. radimsem/mithril★ 16same name
    2. fritzprix/libr-agent★ 11same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository10 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check that no tool does this already: find_tools in a chat, cluaiz skill list, cluaiz plugin list or cluaiz mcp list, or the family.json …

    line 13
  2. Very specific:

    When the tool goes into a repository, read that repository's AGENTS.md and CONTRIBUTING.md.

    line 14
  3. Distinctive:

    Keep them short: in a small context, the schemas of all installed tools share about 8,000 characters.

    line 40
  4. Very specific:

    Next steps: do only what next lists, and add no files the user did not ask for.

    line 41
  5. Very specific:

    Write the logic in src/lib.rs and build with cargo build --release --target wasm32-unknown-unknown.

    line 43
  6. Very specific:

    Validate: Call validate_tool with tool_id or path.

    line 49
  7. Distinctive:

    Run it through a model: Use good input and bad input.

    line 54
  8. Distinctive:

    Use a small model and a large model.

    line 57
  9. Very specific:

    Never put keys or passwords in a tool's files.

    line 69

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Tool Creator

Links such as references/... are files of this skill. Read them with read_tool_file. In the terminal agent, read_item with tool-creator gives the folder; then call read_file on the folder plus the link.

Understand the need

  • Find out what the tool should do: its input, its output, and who uses it (the model in a chat, the terminal agent, or an App). Ask one short question when the answer changes the design.
  • Check that no tool does this already: find_tools in a chat, cluaiz skill list, cluaiz plugin list or cluaiz mcp list, or the family.json files in cluaiz-tools. Extend an existing tool rather than making a second one.
  • When the tool goes into a repository, read that repository's AGENTS.md and CONTRIBUTING.md.

Choose the type

The tool mustType
Teach a way of workingA skill: references/skill-authoring.md
Do a fragile, mechanical step reliably (parse, check, call an API)A skill with Python functions (same file)
Compute from its input or call public web addresses, with nothing to installA WebAssembly plugin: references/wasm-plugin-authoring.md
Use files, a database or other programs, or wrap an existing MCP serverMCP: references/mcp-server-authoring.md
Run as a /command, or on a schedule or eventA workflow or a flow, not a tool: references/workflow-and-flow-authoring.md

A WebAssembly plugin cannot read files or start programs. Use MCP for that.

Create

  • Call create_tool. Pass the category, a tool_id, a name, a description and triggers. An MCP tool also needs command and args, with the package version pinned. The tool is written to the Engine's tools folder. When the open folder is cluaiz-tools, it is also added there and to family.json. An existing tool is replaced only with overwrite: true and the user's yes.
  • Description:
    • Written in the third person.
    • Says what the tool does and when to use it, in the words a user would say.
    • Broad enough to cover neighbouring tasks.
    • The model chooses tools from the description, so it is the most important line.
  • Functions:
    • A verb-first name.
    • A one-sentence description.
    • Each parameter has a type and a short description.
    • Keep them short: in a small context, the schemas of all installed tools share about 8,000 characters.
  • Next steps: do only what next lists, and add no files the user did not ask for.
  • Plugins:
    • Write the logic in src/lib.rs and build with cargo build --release --target wasm32-unknown-unknown.
    • Copy the file in as <tool_id>.wasm, and update functions when the inputs change.
    • The Engine passes only the arguments, not the function name, so a plugin with several functions tells them apart by their arguments.

Check and test

  1. Validate. Call validate_tool with tool_id or path. Fix every error, read the warnings, and call it again. What it cannot see: references/validation-rubric.md.
  2. Run the code directly.
    • A script: with a small JSON file of arguments.
    • A plugin: with cargo test.
    • An MCP server: start it and check that it lists its tools.
  3. Run it through a model. Use good input and bad input. Bad input must give a clear error, not a crash.
  4. Test a skill as an evaluation.
    • Pick two or three real tasks, and run them with and without the skill.
    • Use a small model and a large model.
    • Fix what the small model gets wrong.
    • Cut whatever the large model did not need.
  5. Report. Say what you tested and what you did not. Do not say it works before it has run.

Publish

Tools are shared through the cluaiz-tools repository, which takes pull requests. When the user wants a tool published, and it validates and passes its tests, commit it and open a pull request with the git-assistant and github skills.

Rules

  • Declare every dependency with need (required, recommended, optional) and info, and every permission the tool uses with info and allow (network also with access); the user reads both at install and can refuse permissions: references/skill-authoring.md.
  • Never put keys or passwords in a tool's files. Every tool type names the keys and settings it reads in env.
  • SKILL.md is for the model: short judgement rules and limits, with no diagrams or long examples. README.md is for people: it explains what the tool does and includes a Mermaid diagram with quoted labels.
  • Links are relative to the tool folder, and every file is listed in versions.<version>.files.
  • The family key, the folder name and the id stay the same.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.