DEV Community

owly
owly

Posted on

Embrace the Future with LivinGrimoire SkillBranch

Embrace the Future with LivinGrimoire SkillBranch

The SkillBranch is a unique LivinGrimoire skill, designed to manage multiple skills while ensuring only one remains active at any given time. The active skill is determined through a sophisticated learnability algorithm, which takes into account factors such as tolerance (int), negative input (defcon), and positive input. Additionally, the active skill can be manually set via specific commands.

Key Benefits

  1. Auto Learnability: The SkillBranch learns to optimize which skill will be active based on usage patterns.
  2. Unified Triggers: A single set of triggers can be used for a collection of skills, engaging only the currently active skill.
  3. Skill Categorization: Skills can be bundled into categories for more efficient management.

Example Usage

t: SkillBranch = SkillBranch(3)  # Tolerance for defcon before active skill change
t.addDefcon("lame")
t.addGoal("thanks")
t.addSkill(DiSmoothie0())
t.addSkill(DiSmoothie1())
app.chobit.addSkill(t)
Enter fullscreen mode Exit fullscreen mode

SkillBranch Class Overview

The SkillBranch class comprises methods and attributes crucial to its functionality. Below are the method signatures and their descriptions:

class SkillBranch(Skill):
    """
    * Manages a collection of skills
    * Automatically adjusts the active skill based on input and learnability algorithms
    * Responds to both positive and negative feedback
    """

    def __init__(self, tolerance: int):
        """
        Initialize SkillBranch with the specified tolerance for defcon.
        """
        pass

    def setKokoro(self, kokoro: Kokoro):
        """
        Set the Kokoro object to manage emotional states and interactions.
        """
        pass

    def input(self, ear: str, skin: str, eye: str):
        """
        Process input to determine and engage the active skill.
        """
        pass

    def addSkill(self, skill: Skill):
        """
        Add a new skill to the SkillBranch.
        """
        pass

    def addReferencedSkill(self, skill: Skill, conjuration: str):
        """
        Add a skill and associate it with a conjuration string for engagement.
        """
        pass

    def addDefcon(self, defcon: str):
        """
        Add a defcon (negative input) for the learnability algorithm.
        """
        pass

    def addGoal(self, goal: str):
        """
        Add a goal (positive input) for the learnability algorithm.
        """
        pass

    def addDefconLV5(self, defcon5: str):
        """
        Add a level 5 defcon to trigger an immediate skill change, bypassing tolerance.
        """
        pass

    def skillNotes(self, param: str) -> str:
        """
        Provide notes or triggers for the current active skill.
        """
        pass
Enter fullscreen mode Exit fullscreen mode

Conclusion

The SkillBranch skill within the LivinGrimoire system offers a powerful way to manage and optimize the use of multiple skills. By leveraging advanced learnability algorithms and unified triggers, it ensures efficient and effective skill management.

Top comments (0)