From 9336b8e11083d6fd0c6574a7e1f69fb7ad151034 Mon Sep 17 00:00:00 2001 From: "Paul K." Date: Tue, 13 Oct 2026 15:57:10 -0400 Subject: [PATCH] docs(find): ask agents for --task and --ai-model on every find (v2.7.1) Co-Authored-By: Claude Opus 5.5 (1M context) --- README.md | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- skills/one/SKILL.md | 6 +++--- src/cli.ts | 4 ++-- src/lib/guide-content.ts | 8 ++++---- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index bd00b44..2ad42ea 100644 --- a/README.md +++ b/README.md @@ -266,9 +266,9 @@ one actions find shopify "list products" -t knowledge ``` - Each **intent** names the operation alone, in a few words (`"send a message to a channel"`), without its data: IDs, names and message text make the search miss. Up to 10 pairs. -- **`--task`** describes the whole job in one line, in general terms, which helps choose between similar actions. +- **`--task`** describes the whole job in one line, in general terms. Agents are asked to send it with every find, since it helps tell similar actions apart. - **`-t knowledge`** searches the catalog for writing code and building flows and relays, which includes the platform's own (passthrough) endpoints; the default is the catalog for running actions now. -- **`--ai-model`** names the model running the CLI (e.g. `claude-sonnet-5`), recorded with the find beside the CLI and the harness that launched it, so the account's usage can report which model asked. +- **`--ai-model`** names the model running the CLI (e.g. `claude-sonnet-5`), recorded with the find beside the CLI and the harness that launched it, so the account's usage can report which model asked. Agents are asked to send it with every find. - **`--no-knowledge`** lists the chosen actions (actionId, title, method, path) without fetching their documentation; load it later with `one actions load `. Each intent's answer gives the action(s) to use with their docs, any actions also needed beside them, a **substitute** when the model was unsure (use one or the other, never both), and a few alternatives, then says once how to execute. Always read the docs before executing. The access settings from `one config` apply: an action they refuse is never offered. diff --git a/package-lock.json b/package-lock.json index 7048da8..464c3be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@withone/cli", - "version": "2.7.0", + "version": "2.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@withone/cli", - "version": "2.7.0", + "version": "2.7.1", "dependencies": { "@clack/prompts": "^0.9.1", "commander": "^13.1.0", diff --git a/package.json b/package.json index cb2f107..b9e1e9a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@withone/cli", - "version": "2.7.0", + "version": "2.7.1", "description": "CLI for managing One", "type": "module", "files": [ diff --git a/skills/one/SKILL.md b/skills/one/SKILL.md index dad39d4..bbac199 100644 --- a/skills/one/SKILL.md +++ b/skills/one/SKILL.md @@ -76,15 +76,15 @@ Removes a connection. Returns `{"deleted": true, "platform": "...", "key": "..." ### 2. Find every action the task needs, with its docs (READ them before executing) ```bash -one --agent actions find "" [ "" ...] --task "" +one --agent actions find "" [ "" ...] --task "" --ai-model "" ``` **One call for the whole task**: one platform and intent pair per operation, on any platforms (up to 10). One's decision model picks the action for each and returns it **with its documentation**: exactly what parameters are required, how to structure the request, and where each value goes. Never execute without reading it — without it you'll guess wrong on parameters. - **`intent` names the operation alone**, in a few words: `"send a message to a channel"`, not `"post 'deploy done' in #eng"`. IDs, names, and message text in the intent make the search miss. -- **`--task`** (optional) is the whole job in one line, **in general terms**: `"email a weather report to a contact"`, without names, addresses, IDs, or message text. It helps choose between similar actions. +- **`--task`**: send it with every find. It is the whole job in one line, **in general terms**: `"email a weather report to a contact"`, without names, addresses, IDs, or message text. It helps tell similar actions apart. - **`-t knowledge`** searches the catalog for writing code and building flows and relays (it includes the platform's own passthrough endpoints); the default, `-t execute`, is the catalog for running actions now. -- **`--ai-model`** (optional): the model you are running as (e.g. `claude-sonnet-5`), recorded with the find so the account's usage can report which model asked. +- **`--ai-model`**: send it with every find. Your model name as you know it (e.g. `claude-sonnet-5`), recorded with the find; leave it out only if you do not know which model you are. - **`--no-knowledge`** (optional): list the chosen actions without their documentation, when you only need the actionIds. Load the documentation with `actions load` before executing. - Platform names are lowercase; multi-word names use dashes: `gmail`, `hubspot`, `ship-station`, `google-calendar`. diff --git a/src/cli.ts b/src/cli.ts index 8766d3c..34c0f33 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -518,9 +518,9 @@ actions .command('find ') .alias('f') .description('Find the action for every operation a task needs, across platforms, with its documentation, in one call: one actions find "" [ "" ...] (up to 10 pairs). Each intent names the operation alone ("send an email"), without its data. Large documents come back as a digest; each names the exact `actions load` command for what it left out') - .option('--task ', 'The whole task in one line, in general terms (e.g. "email a report to a contact"): what it does, without names, addresses, IDs or message text. Helps choose between similar actions') + .option('--task ', 'The whole task in one line, in general terms (e.g. "email a report to a contact"): what it does, without names, addresses, IDs or message text. Send it with every find: it helps tell similar actions apart') .option('-t, --type ', 'execute (default: actions to run now) or knowledge (the catalog for writing code and building flows and relays, with the platform\'s own endpoints). Knowledge-only mode always uses knowledge') - .option('--ai-model ', 'The AI model you are running as (e.g. claude-sonnet-5), recorded with this find so the account\'s usage can report which model asked. Optional') + .option('--ai-model ', 'Your model name as you know it (e.g. claude-sonnet-5), recorded with this find. Send it with every find; leave it out only if you do not know which model you are') .option('--no-cache', 'Bypass the cache for action documentation and re-fetch it (the fresh response still refreshes the cache)') .option('--no-knowledge', 'List the chosen actions (actionId, title, method, path) without their documentation; load it with `one actions load `') .action(async (pairs: string[], options: { task?: string; type?: string; aiModel?: string; cache?: boolean; knowledge?: boolean }) => { diff --git a/src/lib/guide-content.ts b/src/lib/guide-content.ts index 6e01898..fde5f79 100644 --- a/src/lib/guide-content.ts +++ b/src/lib/guide-content.ts @@ -47,7 +47,7 @@ Find the actions a task needs with their docs, in one call, then execute them. T \`\`\`bash one --agent connection list # See connected platforms + your access on each one --agent connection delete # Remove a connection -one --agent actions find "" [ "" ...] --task "" # Find every action, with its docs (READ them) +one --agent actions find "" [ "" ...] --task "" --ai-model "" # Find every action, with its docs (READ them) one --agent actions load --section "" # More of a doc: a section it left out, --full, --toc one --agent actions execute -d '{}' # Execute it \`\`\` @@ -174,15 +174,15 @@ Removes a connection by its key. In agent mode, returns \`{"deleted": true, "pla ### 2. Find Actions \`\`\`bash -one --agent actions find "" [ "" ...] --task "" +one --agent actions find "" [ "" ...] --task "" --ai-model "" \`\`\` One call for the whole task: one platform and intent pair per operation, on any platforms (up to 10). One's decision model picks the action for each and returns it **with its documentation** — required fields, validation rules, request structure. **Read it before execute.** - **\`intent\` names the operation alone**, in a few words: \`"send a message to a channel"\`, not \`"post 'deploy done' in #eng"\`. IDs, names, and message text in the intent make the search miss. -- **\`--task\`** (optional) is the whole job in one line, **in general terms**: what it does, without names, addresses, IDs, or message text. It helps choose between similar actions. +- **\`--task\`**: send it with every find. It is the whole job in one line, **in general terms**: what it does, without names, addresses, IDs, or message text. It helps tell similar actions apart. - **\`-t knowledge\`** searches the catalog for writing code and building flows and relays, which includes the platform's own (passthrough) endpoints; the default, \`-t execute\`, is the catalog for running actions now. Knowledge-only mode always uses \`knowledge\`. -- **\`--ai-model\`** (optional) names the model running the CLI (e.g. \`claude-sonnet-5\`); it is recorded with the find so the account's usage can report which model asked. +- **\`--ai-model\`**: send it with every find. Your model name as you know it (e.g. \`claude-sonnet-5\`), recorded with the find; leave it out only if you do not know which model you are. - **\`--no-knowledge\`** (optional) lists the chosen actions without their documentation, when only the actionIds are needed. Load the documentation with \`actions load\` before executing. In \`--agent\` mode: