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_idwhen the result is saved -
toolandargswhen the result is immediately callable -
integrationwhen the skill is tied to a specific source -
ctc_idwhen 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:
-
Use
toolsmith.invokewithskill_idandinputs. -
Use
discovery.performwithskill_idandinputs.
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 |