record-intention · git:20260929.0d7bc44 · 2026-09-29 · sha256 3f26dd163bb5a953
record-intention git:20260929.0d7bc44A
Immutable. This exact content never changes and is served at /api/v1/blob/3f26dd163bb5a953.
--- name: record-intention description: The one front door for intentions in AgentVillage Hermes installs. If the `record_intention` tool is available (in your tool list, or found with `tool_search`), use it to record what the resident wants, is looking for or is open to, and to publish it to Index. Otherwise ignore this skill. --- # Record intention If `record_intention` is available (in your tool list, or found with `tool_search` and called through `tool_call`), this skill applies. It is switched on per agent. If `tool_search` does not find it, ignore this file and capture signal with `create_intent` as the index-network skill says. When it is available, it replaces calling Index `create_intent` yourself for every new signal: in conversation (`source=message`), during onboarding (`source=onboarding`), and in a background memory pass (`source=ambient`). Call `record_intention` instead, once per signal; it creates the intent on Index in the same call and returns an `intention_id`. Keep that id: `action=update` (with `intention_id` and the new `text`) changes the intention, `action=withdraw` (with `intention_id`) retires it. ## Publish by default Explicit intents (source message, onboarding or note) are published to Index by default. The two legitimate reasons an explicit intent stays local: the resident asked, or the content is personal. Only in those two cases pass `publish=false`, with `reason=participant_asked` or `reason=personal`. Any other `publish=false` is refused. ## Source - `message`: the resident told you in conversation. - `onboarding`: they answered it during setup. - `note`: their own words, captured in their notes. - `ambient`: you inferred it, from conversation or notes they did not write as a request, or a background or cron run found it. ## Ambient intentions are held An ambient intention is never published by this tool. It is recorded locally and stays off Index until the resident confirms it through their approval channel. A yes you read in chat is not a confirmation. `action=confirm` is not available yet and is refused; do not publish a held intention any other way, and do not call `create_intent` for it. Capturing the same text again as `message`, `onboarding` or `note` records it locally but does not publish it. ## When Index says no If the result says Index did not accept the intention (too vague), it has still been recorded locally. Ask the resident one clarifying question; if they clarify, capture the clarified version. Do not retry with a paraphrase.