Toolsmith Tools

Create, refine, browse, and invoke reusable saved skills.

Toolsmith is the capability-building surface of DataGrout. Use it when you want to turn a goal into a reusable skill, revise an existing skill, inspect what is already available, or execute a saved skill directly with fresh input data.


toolsmith.forge@1

Create a new capability from a natural-language goal.

Depending on the goal, Forge can produce a reusable direct-query skill, a workflow-oriented skill, or a transformation-oriented skill. The result can be saved for later use or returned for immediate execution.

Parameters

Parameter Type Required Description
goal string yes What you want the saved skill to do
integration string no Preferred integration or system to target
entity string no Helpful domain hint such as Lead, Invoice, or Customer
save_as_skill boolean no Persist the result as a saved skill
skill_name string no Name to use if saving
skill_visibility string no Visibility level for the saved skill

Example

{
  "name": "data-grout@1/toolsmith.forge@1",
  "arguments": {
    "goal": "find leads created this week with email and company",
    "integration": "salesforce",
    "entity": "Lead",
    "save_as_skill": true,
    "skill_name": "Recent Leads"
  }
}

Typical response fields

  • skill_id when the result is saved
  • tool and args when the result is immediately callable
  • integration when the skill is tied to a specific source
  • ctc_id when a certified saved skill is minted

Cost

5 base credits plus LLM usage. Saving a certified skill may add certificate-related cost.


toolsmith.temper@1

Refine or fork an existing skill.

Temper is the update path for reuse. Use it to narrow a filter, add a field, adjust output shape, or create a derivative of an existing saved skill.

Parameters

Parameter Type Required Description
goal string yes What should change
skill_id string conditional Saved skill to refine
tool_name string conditional Existing callable tool to refine
mode string no update, fork, or automatic selection
save_as_skill boolean no Persist the result
skill_name string no Name for the updated or forked skill

Example

{
  "name": "data-grout@1/toolsmith.temper@1",
  "arguments": {
    "skill_id": "skill_abc123",
    "goal": "also filter by west region",
    "mode": "fork",
    "save_as_skill": true,
    "skill_name": "West Region Leads"
  }
}

Notes

  • Owners can update in place when appropriate.
  • Forking creates a new reusable skill.
  • Toolsmith keeps reuse boundaries intact so protected skills can be refined without exposing private implementation detail.

Cost

3 or 5 base credits depending on the refinement path, plus LLM usage.


toolsmith.catalog@1

Browse saved skills and get execution hints.

Catalog is the discovery surface for saved capabilities. It returns public annotations, ownership hints, and a ready-to-use call_via_perform payload for execution through discovery.perform.

Parameters

Parameter Type Required Description
filter string no Search by name or description
integration string no Filter by integration
source_type string no Filter by origin such as forge, temper, or manual
include_public boolean no Include public skills outside your own
limit integer no Max results

Example

{
  "name": "data-grout@1/toolsmith.catalog@1",
  "arguments": {
    "filter": "leads",
    "limit": 5
  }
}

Cost

Zero credits.


toolsmith.invoke@1

Execute a saved catalog skill directly by skill_id.

Use this when you already know which saved skill you want and simply need to run it against fresh inputs. toolsmith.run remains an alias for compatibility.

Parameters

Parameter Type Required Description
skill_id string yes Saved skill identifier returned by Toolsmith
inputs object no Input payload for the saved skill
args object no Alias for inputs

Example

{
  "name": "data-grout@1/toolsmith.invoke@1",
  "arguments": {
    "skill_id": "skill_abc123",
    "inputs": {
      "lead_status": "Open - Not Contacted"
    }
  }
}

Cost

Standard tool-call cost. Any additional credits depend on what the saved skill actually does.


Calling Saved Skills

You have two supported execution paths:

  1. Use toolsmith.invoke with skill_id and inputs.
  2. Use discovery.perform with skill_id and inputs.

Example via discovery.perform:

{
  "name": "data-grout@1/discovery.perform@1",
  "arguments": {
    "skill_id": "skill_abc123",
    "inputs": {
      "lead_status": "Open - Not Contacted"
    }
  }
}

When To Use Toolsmith

Scenario Tool
Create a reusable capability from a goal toolsmith.forge
Refine an existing skill toolsmith.temper
Browse what saved skills already exist toolsmith.catalog
Run a saved skill directly against fresh data toolsmith.invoke