Skip to main content
Glama

identity

Read-only

Load persistent agent persona, memories, preferences, and self-model to establish who it is and how to behave before any other work.

Instructions

Load the persistent identity for this agent. Returns the terminal creed (who you are), relevant memories, preferences, and self-model. IMPORTANT: Call this tool FIRST before doing any other work. The identity defines who you are and how you should behave.

Input Schema

NameRequiredDescriptionDefault
roleNoReflection mode to append as an addendum from roles/<role>.md. When Art is dispatched into a mode ("wonder", "tend", "retro", "consolidate", "identity"), pass it here to load that mode's playbook alongside the identity.
modelNoModel identifier for model-manifest context (e.g. "claude-opus", "gemma4"). Overrides the LOOM_MODEL environment variable.
clientNoRuntime client name for tool-prefix context: "claude-code", "gemini-cli", or a custom name with a matching <contextDir>/clients/<name>.md override. Overrides the LOOM_CLIENT environment variable.
peopleNoSlugs of the people this turn is addressed by (the room), e.g. ["patrick-kells"]. Adds an "# In the room" block with their person cards. Omit for no block.
projectNoProject context to load (loads project-specific memories)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.5.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / people
      Added value: +{
      +  "description": "Slugs of the people this turn is addressed by (the room), e.g. [\"patrick-kells\"]. Adds an \"# In the room\" block with their person cards. Omit for no block.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observedv0.4.1

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond them by disclosing what gets loaded (creed, memories, preferences, self-model) and that it is the mandatory entry-point call, though it does not explain sourcing or ordering of the loaded artifacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the purpose before the emphasized directive. The final sentence is somewhat rhetorical ('who you are and how you should behave') but it reinforces the tool's role rather than wasting space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-required-param, no-output-schema loader, the description covers purpose, returns, and call ordering adequately, and the schema carries the parameter detail. It is slightly thin on how the optional role/model/client overrides interact, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all five optional params (role, model, client, people, project) fully documented in the schema. The description adds no parameter meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Load the persistent identity') and enumerates what it returns (creed, memories, preferences, self-model), which clearly separates it from write-side siblings like update_identity. It does not, however, name the identity-adjacent alternatives (bootstrap, harness_init) an agent might confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a strong, explicit directive: 'Call this tool FIRST before doing any other work,' which tells the agent exactly when to reach for it. It provides no when-not guidance or named alternatives, so it stops short of the top mark.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.