memory_type: patterns
description: |
  Pattern memory - captures "under what circumstances to follow what process".
  Extract reusable workflows, processes, and methods that the agent should follow in similar future situations.
  Patterns should be about: how to approach certain types of tasks, what steps to follow, what considerations to keep in mind.
  Each pattern should include: trigger conditions (when to use this pattern), process steps (what to do), and considerations (what to watch out for).
  Pattern names should be in "Process name: Step description" format.
directory: "viking://agent/{agent_space}/memories/patterns"
filename_template: "{pattern_name}.md"
enabled: true
fields:
  - name: pattern_name
    type: string
    description: |
      Pattern name used to uniquely identify this pattern memory.
      Should be in "Process name: Step description" format such as "Teaching topic handling: Outline→Plan→Generate PPT", "Code refactoring: Understand→Test→Refactor→Verify", etc.
      Example: "[Pattern name]: [Step sequence]"
    merge_op: immutable

  - name: pattern_type
    type: string
    description: |
      Pattern type describing what type of pattern this is.
      Possible values: workflow, method, process, etc.

  - name: content
    type: string
    description: |
      Detailed pattern content describing "under what circumstances to follow what process".
      Includes: trigger conditions, process steps, considerations, etc.
      Example: "When user requests teaching content for a topic, use a four-step process: first list the topic outline to understand overall structure; then create a detailed learning plan; next generate PPT framework; finally refine specific content for each section. This process ensures content is systematic and complete."
    merge_op: patch
