Empowering with traits
This guide shows you how to give a session more tools by choosing traits, for one session or for every session your identity starts.
A trait is a named grant of tools, and it can also mount skills and point the agent at instructions. For the full definition, see traits. Traits only add access: a bound only takes it away, and any bound a trait carries joins the session’s other bounds.
The example is the memory trait. The memory bag ships with Barry, and every
bag gets an automatic trait with the bag’s own name.
Find a trait
Section titled “Find a trait”To see every trait on your machine, run:
barry trait listEach entry names the trait and lists the namespaces it grants, the skills it mounts, its access level, and any restrictions it carries.
Choose traits for one session
Section titled “Choose traits for one session”Every session gets the coding, sessions, and instructions traits. The
traits you choose add to those.
Give every session a trait
Section titled “Give every session a trait”Your identity’s default traits join every session it starts, whatever you choose in the picker.
To remove every default trait at once, run barry identity traits clear. The
coding, sessions, and instructions traits still apply. Each of these
commands acts on the identity you use; pass --name to change a different one.
Grant packed bags without a trait
Section titled “Grant packed bags without a trait”Packing a bag loads its hooks, instructions, and actions, but its tools reach
a session only when a trait selects them. That is bag_grant: session, the
default.
If you want every packed bag’s tools in every session, set this line in your
identity’s identity.yaml:
bag_grant: identityEach packed bag then grants its automatic trait to every session. Any other
value reads as session. For how packing works, see
Packing bags.