Capture substance to the content bank
capture_substanceSave a piece of the user's first-party substance — a story, an opinion, a data point, or a framework — into their ContentIn content bank, filed under one of their content pillars. This is the highest-leverage thing you can do for them: everything ContentIn writes later is grounded in this bank, so capturing what they tell you in passing compounds. Use it whenever the user shares a real experience, a genuine opinion, a concrete number or result, or a process they use. Pass the pillar by NAME if you don't know its id. Duplicates are detected and rejected automatically, so capturing something twice is harmless.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"content_pillar": "<content_pillar>",
"substance_type": "<substance_type>",
"content": "<content>"
},
"name": "capture_substance"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The substance itself, cleaned into one clear self-contained piece — but in the user's own words and with their own specifics intact. Do not generalise the detail out of it. | |
| content_pillar | Yes | The content pillar's name or id. The name is fine — it is matched either way. | |
| substance_type | Yes | stories = personal or client anecdotes; opinions = beliefs and contrarian takes; data_points = numbers, metrics, results; frameworks = step-by-step processes and mental models. |