- type: ask
  param: description
  message: |-
    ๐ฌ **Describe what you're looking for, for example:**
    1. Description of a TV series you can't remember: 
    ```markdown
    A plane crashed on an island, the main character was a doctor named Jack
    ```
    2. Search for movies by actors:
    ```markdown
    Best movies with Sacha Baron Cohen
    ```
    3. Thematic search: 
    ```markdown
    Movie for Halloween
    ```
  options: null
  default: ''
  vision:
    enabled: false
    mode: area
    hint: ''
    send: true
  label: START
- type: gpt
  prompt: >-
    You are a knowledgeable movie and TV show expert. 
    Your task is to help me find movies or TV shows based on [DESCRIPTION]. 
    There are two main scenarios:
    1. When I forget the title but remember the plot - analyze the description
    and identify the specific movie/show
    2. When I provide criteria/preferences - recommend suitable movies/shows
    matching my requirements
    Provide your response in the following structured format:
    ## [TITLE](IMDB link) [Year, IMDB _._]
    Brief plot summary in 2 sentences.
    *Genre*
    **Director:** Director's name
    **Starring:** Top 5 key cast members
    ### You might also like:
    - **[Title](IMDB link) [Year, IMDB _._]**: Genre and brief description
    (Director: ____, Starring: ____)
    - **[Title](IMDB link) [Year, IMDB _._]**: Genre and brief description
    (Director: ____, Starring: ____)
    - **[Title](IMDB link) [Year, IMDB _._]**: Genre and brief description
    (Director: ____, Starring: ____)
    Important guidelines:
    - Keep descriptions concise but informative,
    - Include accurate IMDB ratings, 
    - For TV series, specify the total number of seasons and episodes. For
    movies, indicate the duration.
    - Make relevant recommendations based on genre/style/theme similarities,
    - Add markdown formatted links to movie or series titles.
    - Ensure all information is factually correct, do not hallucinate or make up
    non-existent data,
    - Prioritize well-known cast members in the starring section,
    - Additional recommendations should match the style/theme of the main
    suggestion
    - Do not add any notes or general phrases.
    - Do not echo my prompt. 
    [DESCRIPTION]: {{description}}
    Your response in {{language}}: 
  isolated: true
  param: film
- type: ask
  param: action
  message: ''
  options:
    - label: ๐ฏ SAVE TO MY LIST
      value: save
    - label: ๐ฒ TRY AGAIN
      value: redo
    - label: ๐ NEW SEARCH
      value: new
    - label: ๐ SHOW MY LIST
      value: show
    - $custom
  default: ''
  vision:
    enabled: false
    mode: area
    hint: ''
    send: true
  optionsInvalid: false
  label: MENU
- type: group
  steps:
    - type: calc
      func: list-add
      index: last
      list: g.filmsList
      item: film
    - type: say
      message: โ
 Saved.
  condition: '{{action}} = save'
  label: SAVE
- type: group
  steps:
    - type: gpt
      prompt: >-
        I am not satisfied with what you found. Based on the existing data, I
        would like you to provide a different search result. Please revise your
        answer by suggesting other options while maintaining the previously used
        format.
        Important guidelines:
        - Keep descriptions concise but informative,
        - Include accurate IMDB ratings, 
        - For TV series, specify the total number of seasons and episodes. For
        movies, indicate the duration.
        - Make relevant recommendations based on genre/style/theme similarities,
        - Ensure all information is factually correct, do not hallucinate or
        make up non-existent data,
        - Prioritize well-known cast members in the starring section,
        - Additional recommendations should match the style/theme of the main
        suggestion
        - Do not add any notes or general phrases.
        - Do not echo my prompt. 
        [DESCRIPTION]: {{description}}
        Your response in {{language}}: 
      isolated: false
      param: film
    - type: jump
      to: MENU
  condition: '{{action}} = redo'
  label: TRY AGAIN
- type: jump
  to: START
  condition: '{{action}} = new'
- type: group
  steps:
    - type: say
      message: ๐ก Looks like your list is empty.
      condition: '{{g.filmsList}} ='
    - type: jump
      to: MENU
      condition: '{{g.filmsList}} ='
    - type: loop
      list: g.filmsList
      steps:
        - type: calc
          func: clone
          from: index
          to: number
        - type: calc
          func: increment
          param: number
          delta: 1
        - type: say
          message: |-
            ## {{number}}
            {{item}}
    - type: ask
      param: listMenu
      message: ''
      options:
        - label: โ
 DONE
          value: done
        - label: โ๏ธ DELETE ONE RECORD
          value: delete
        - label: ๐ CLEAR LIST
          value: clear
      default: ''
      vision:
        enabled: false
        mode: area
        hint: ''
        send: true
      optionsInvalid: false
    - type: stop
      condition: '{{listMenu}} = done'
    - type: group
      steps:
        - type: ask
          param: deleteRecord
          message: Which record should be deleted? Write a number from the list above.
          options: null
          default: ''
          vision:
            enabled: false
            mode: area
            hint: ''
            send: true
        - type: calc
          func: increment
          param: deleteRecord
          delta: '-1'
        - type: js
          args: g, deleteRecord
          code: |
            g.filmsList.splice(deleteRecord, 1);
            return g.filmsList;
          param: g.filmsList
          timeout: 15000
        - type: say
          message: โ
 List updated.
        - type: stop
      condition: '{{listMenu}} = delete'
      label: DELETE ONE RECORD
    - type: group
      steps:
        - type: calc
          func: delete
          param: g.filmsList
        - type: say
          message: โ
 List cleared.
      condition: '{{listMenu}} = clear'
      label: CLEAR LIST
  condition: '{{action}} = show'
  label: SHOW MY LIST
This automation command is created by a community member. HARPA AI team does not audit community commands.
Please review the command carefully and only install if you trust the creator.
All rights reserved ยฉ HARPA AI TECHNOLOGIES LLC, 2021 โ 2025
Designed and engineered in Finland ๐ซ๐ฎ