Record Class Skill

java.lang.Object
java.lang.Record
com.tnsai.memory.advanced.Skill
Record Components:
name - unique skill name (used as filename stem)
content - Markdown content of the skill
tags - classification tags for retrieval
lastUsed - when this skill was last referenced

public record Skill(String name, String content, List<String> tags, Instant lastUsed) extends Record
A structured skill extracted from agent experience.

Skills are stored as Markdown files and tagged for retrieval. They represent procedural knowledge (how-to sequences, patterns, recipes) that agents can reference.

  • Constructor Details

    • Skill

      public Skill(String name, String content, List<String> tags, Instant lastUsed)
      Creates an instance of a Skill record class.
      Parameters:
      name - the value for the name record component
      content - the value for the content record component
      tags - the value for the tags record component
      lastUsed - the value for the lastUsed record component
  • Method Details

    • touch

      public Skill touch()
      Returns a new Skill with the lastUsed timestamp updated to now.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • content

      public String content()
      Returns the value of the content record component.
      Returns:
      the value of the content record component
    • tags

      public List<String> tags()
      Returns the value of the tags record component.
      Returns:
      the value of the tags record component
    • lastUsed

      public Instant lastUsed()
      Returns the value of the lastUsed record component.
      Returns:
      the value of the lastUsed record component