recipe_save
Skills e receitas · macOS · Windows
Efeito: escrita. Estado: disponibilidade condicionada.
«Disponibilidade condicionada» significa que a ferramenta pode depender da versão, plataforma, permissões, conta ou configuração. Não significa que esteja ativa em todas as instalações.
macOS
Finalidade
Salva uma SKILL reutilizável — uma receita com nome (uma sequência ordenada de chamadas de ferramentas do LMCP com parâmetros) — neste Mac para que o usuário possa executá-la de novo a qualquer momento com recipe_run. Um usuário salvaria uma para transformar um fluxo de trabalho do LMCP de vários passos que ele repete (um resumo da manhã, a triagem da caixa de entrada, um relatório semanal, uma extração de dados) em um único comando reutilizável. As skills salvas podem ser compartilhadas com outras pessoas por recipe_export. O manifesto precisa ter um name e um array steps não vazio. Um passo não pode se confirmar sozinho: `confirm` nos args de um passo é removido ao salvar (confirm_removed_steps diz quantos passos tinham um) e ignorado na execução, então um passo cuja ferramenta pede confirmação responde com a sua prévia em vez de executar. Um nome que já é uma receita é recusado com recipe_exists e nada é gravado; passe overwrite: true para substituí-la. Retorna {name}.
Entradas obrigatórias
manifest
Os nomes são mantidos exatamente como a ferramenta exige. As definições técnicas canónicas em inglês estão no esquema expansível abaixo.
Permissões e confirmação
O esquema não declara um parâmetro explícito de confirmação. Isto não autoriza qualquer ação sem permissão; reveja o efeito e obtenha autorização.
- Utilize apenas os aplicativos, contas e recursos autorizados pelo usuário nesta plataforma. Consulte a descrição específica da plataforma desta ferramenta para saber os requisitos de conexão e permissão; este catálogo não reivindica escopos OAuth adicionais ou direitos de sistema operacional.
Esquema técnico canónico em inglês — macOS
{
"properties": {
"manifest": {
"description": "The recipe manifest. Shape: {\"name\": string (required), \"description\": string, \"params\": [{\"name\": string, \"type\": \"string\"|\"int\"|\"bool\", \"default\": any}], \"steps\": [ ... ] (required, non-empty), \"outputs\": [{\"kind\": string}]}. A step is EITHER a tool call {\"tool\": <tool_name>, \"args\": {...}} OR a pause {\"wait\": {\"seconds\": N}} (also {\"wait\": N}). A tool-call step may add \"optional\": true (a boolean; default false): if it fails, recipe_run records {ok:false, error} for it, lists it in skipped_optional and carries on with the next step, instead of stopping — use it for a source the user may not have (an app, a permission). Any arg string may interpolate a declared param with ${name} (e.g. \"limit\": \"${count}\"); an arg that is exactly \"${name}\" keeps the param's type. Steps run in order; a later step can consume an EARLIER step's output with \"${steps[N].result.KEY}\" (0-based; supports .key and [i], e.g. \"account\": \"${steps[0].result.accounts[0].name}\"). A step cannot confirm itself: do not put `confirm` in a step's args (it is removed when saving and ignored when running). recipe_run asks for one confirmation when the recipe has state-changing steps; a step whose tool asks for its own confirmation then answers with its preview and is not executed. A step that names a note should give note_name (the note's title): a note_id only names the note on the Mac that issued it, so a step that gives both is saved with note_name alone.",
"type": "object"
},
"overwrite": {
"description": "Must be true to replace a recipe that already has this name. Without it, a taken name is refused with recipe_exists and the existing recipe is left as it was.",
"type": "boolean"
}
},
"required": [
"manifest"
],
"type": "object"
}Exemplo documental
Exemplo de documentação para recipe_save. Não execute este exemplo. Os argumentos apresentados pertencem a um conjunto de dados fictício; resolva identificadores reais e obtenha autorização antes de uma chamada real.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}Windows
Finalidade
Salva uma SKILL reutilizável — uma receita com nome (uma sequência ordenada de chamadas de ferramentas do LMCP com parâmetros) — nesta máquina para que o usuário possa executá-la de novo a qualquer momento com recipe_run. Um usuário salvaria uma para transformar um fluxo de trabalho do LMCP de vários passos que ele repete (um resumo da manhã, a triagem da caixa de entrada, um relatório semanal, uma extração de dados) em um único comando reutilizável. O manifesto precisa ter um name e um array steps não vazio. Um passo pode acrescentar "optional": true (um booleano; padrão false): se falhar, recipe_run registra {ok:false, error} para ele, o lista em skipped_optional e segue para o próximo passo em vez de parar — use para uma fonte que o usuário pode não ter (um app, uma permissão). Uma string de arg pode interpolar um param declarado com ${name}; um arg que é exatamente "${name}" mantém o tipo do param. Um passo posterior pode consumir a saída de um passo anterior com "${steps[N].result.KEY}" (base 0; aceita .key e [i]). Um passo não pode se confirmar sozinho: confirm nos args de um passo é removido, então um passo cuja ferramenta pede confirmação (para enviar, apagar, substituir um arquivo, executar um comando) retorna a sua prévia. Um nome que já é uma receita é recusado com recipe_exists e nada é gravado; passe overwrite: true para substituí-la. Retorna {name, step_count}.
Entradas obrigatórias
manifest
Os nomes são mantidos exatamente como a ferramenta exige. As definições técnicas canónicas em inglês estão no esquema expansível abaixo.
Permissões e confirmação
O esquema não declara um parâmetro explícito de confirmação. Isto não autoriza qualquer ação sem permissão; reveja o efeito e obtenha autorização.
- Utilize apenas os aplicativos, contas e recursos autorizados pelo usuário nesta plataforma. Consulte a descrição específica da plataforma desta ferramenta para saber os requisitos de conexão e permissão; este catálogo não reivindica escopos OAuth adicionais ou direitos de sistema operacional.
Esquema técnico canónico em inglês — Windows
{
"properties": {
"manifest": {
"description": "The recipe manifest. Shape: {\"name\": string (required), \"description\": string, \"schema_version\": int, \"params\": [{\"name\": string, \"type\": string, \"default\": any}], \"steps\": [{\"tool\": string, \"args\": object, \"optional\": bool}] (required, non-empty)}.",
"type": "object"
},
"overwrite": {
"description": "Must be true to replace a recipe that already has this name. Without it, a taken name is refused with recipe_exists and the existing recipe is left as it was.",
"type": "boolean"
}
},
"required": [
"manifest"
],
"type": "object"
}Exemplo documental
Exemplo de documentação para recipe_save. Não execute este exemplo. Os argumentos apresentados pertencem a um conjunto de dados fictício; resolva identificadores reais e obtenha autorização antes de uma chamada real.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}