llm + Espanso: Clipboard Summaries

I recently wrote an Espanso trigger named :llm(⋯) that pipes the contents of my clipboard to Simon Willison’s llm CLI tool and expands the trigger to llm’s output in a custom Obsidian callout. This regex trigger expects a keyword (like summarise, simplify, or translate) between its parenthesis, and transforms this keyword to a prompt that summarises, simplifies, or translates whatever text I current have within my clipboard.

After frequent use of this trigger, I noticed that I mostly use :llm(summarise). To simplify my workflow, I decided to transfer summarisation to a dedicated :summary trigger so that I don’t have to rely on providing and capturing keywords using regex:

- trigger: ":summary"
  replace: "> [!llm] _\"{{title}}\"_\n> {{summary}}"
  vars:
    - name: clipboard
      type: clipboard
    - name: summary
      type: shell
      params:
        cmd: "echo $ESPANSO_CLIPBOARD | llm -m 'gpt-4o' -s
        \ 'Summarise the provided text into a concise UK English paragraph. 
        \ Ensure the summary captures essential information.'"
    - name: title
      type: shell
      params:
        cmd: "echo $ESPANSO_SUMMARY | llm -m 'gpt-4o-mini' -s
        \ 'Generate a short one-sentence title that accurately reflects
        \ the main idea of the summary. Use UK English.'"