universal-memory
This server provides a cognitive persistence layer for AI agents, allowing seamless management of memory, preferences, and reusable skills across sessions and environments.
Project & Workspace Management: Initialize, inspect, and migrate project layouts; check initialization status; run environment diagnostics.
Memory & Context Management: Store and retrieve project/global facts with scope, visibility, and tags; list and purge facts; assemble active context into Markdown for AI prompts.
Auditing & Safety: View audit logs, create and manage snapshots, and rollback changes to previous states.
Host Integration: Configure and validate agent host manifests (e.g., Claude Code, Cursor, OpenCode) and synchronize instructions to supported targets.
Agent Skills Lifecycle: Create, draft, validate, publish, import, adopt, sync, update, rename, clean up, and repair Agent Skills; share skills across scopes.
Latent Skill Tracking & Promotion: Track recurring workflows, propose and recommend latent skills, generate skill structures, promote to canonical skills, and activate/deactivate.
Integrates with OpenAI Codex to enable context persistence, including short-term and long-term memory, user preferences, and agent skills.
Universal Memory (UMem)
A vendor-agnostic cognitive persistence layer for AI agents. Eliminate the "repetition tax" by transporting your context, preferences, guidelines, and history seamlessly across sessions, IDEs, and LLM models.
To see the core idea visually, check out the Excalidraw design or the proposal structure:

Diagram Breakdown
Short-Term Memory (Ephemeral): Project-specific (folder-level) memories. A simple summary of recent changes, pending tasks, and project or task-level constraints.
Agents Behaviours: Comports the user's expected agent behaviors. Instead of requesting the same settings in every session, the agent understands the user by their traits, thoughts, and any context key to enhancing the overall experience. This encompasses:
Long-Term Memory
Short-Term Memory
User Preferences
Skill Creator: Encapsulates understanding of specific workflows. When a user explains a task pattern multiple times, the system translates it into structured, reusable agent skills.
Unified Instruction File (
AGENTS.md): The shared persistence endpoint consumed by compatible local agent instances (e.g., Agent A, Agent B, Agent C).
The Problem: The "Repetition Tax"
Every time you open a new session in Claude Code, start a new chat in Cursor, spin up a terminal with OpenCode, or invoke a local AI assistant, you pay a steep cognitive tax:
Re-explaining your stack (e.g., "We use Python 3.12, Typer, and Ruff").
Repeating coding style preferences (e.g., "Prefer functional design, do not write docstrings unless requested").
Copy-pasting database connection schemas or module layouts.
Explaining workflow methodologies (e.g., "We follow Spec-Driven Development (SDD)").
Universal Memory acts as a local persistence layer that automatically connects to your AI runtimes, aligning them to your exact workflow, context, and rules with zero friction.
Related MCP server: Mnemexa MCP
Key Architectural Concepts
1. Dual-Memory Model
Short-Term Memory (Project Scope): Ephemeral, directory-specific context. Tracks what you did 10 minutes ago, current active tasks, and immediate constraints.
Universal Memory (Global Scope): Long-lived preferences, style guidelines, tool configurations, and identity.
2. Auto-Adaptation Engine
Instead of copy-pasting instructions, umem monitors your session context and automatically updates active project instruction manifests (AGENTS.md, CLAUDE.md, .cursor/rules/, etc.), enforcing operational consistency across all agents.
3. Model Context Protocol (MCP) Integration
Integrate umem natively with any client supporting the standard MCP (such as Claude Desktop or Cursor). AI agents can programmatically retrieve context, learn new facts, and suggest skills on the fly.
4. Agent Skills Standard
Encapsulates complex, repetitive procedural instructions into formal Agent Skills
(conforming to the agentskills.io standard), complete with
structured directories containing SKILL.md instructions, helper scripts/, and
documentation references/.
Universal Memory keeps one canonical source for each skill. Shared, user-facing project
skills live under umem/skills/<slug>/SKILL.md; private, operational, and legacy project
skills live under .umem/skills/<slug>/SKILL.md. Native runtime folders such as
.agents/skills/, .opencode/skills/, and .antigravity/rules/ receive complete
synchronized copies so each agent can consume the same skill in its expected layout.
Installation & Setup
Ensure you have Python 3.12+ installed. You can run or install umem using your preferred package manager.
Try instantly with uvx
You can run umem without installing it permanently:
uvx --from universal-memory umem --helpuvx is best for quick trials. For ongoing use, install Universal Memory as a persistent tool so umem is always available and can fully manage long-lived global memories and synced agent skills:
uv tool install universal-memoryInstall via PyPI
pip install universal-memoryUpgrade Universal Memory
umem update does not upgrade the Python package from PyPI. It performs local, offline
maintenance for the current .umem workspace, such as schema migrations, benchmark refreshes,
and skill synchronization.
To upgrade the installed umem executable, use the package manager that installed it:
# If installed with uv tool
uv tool upgrade universal-memory
# If installed with pipx
pipx upgrade universal-memory
# If installed with pip
python -m pip install --upgrade universal-memory
# If running temporarily with uvx
uvx --refresh --from universal-memory umem --versionConfirm the executable you are running:
umem --version
which umemUpgrading the executable does not silently mutate existing projects. The next time you work in an initialized project, reconcile it locally:
umem update --check
umem update
umem update --skills
umem connect
umem doctorYou do not need to run umem init again. Local maintenance creates snapshots and audit
records before UMEM-owned writes. Existing .umem/skills/use-universal-memory/ trees and
customized managed files are preserved; if both legacy and canonical Universal Memory
skill roots exist, UMEM stops for an explicit migration decision instead of merging or
deleting either tree.
Quick Start Guide
1. Initialize your project
Open your project directory and run:
umem initUniversal Memory detects the agents already used in the workspace, presents one combined confirmation, configures the best available project integration, and verifies that the agent can read project context. You do not need to choose an integration mechanism or know which instruction files it uses.
When a compatible agent needs the portable Agent Skill, UMEM discloses any network use and external project-scoped copy before confirmation, disables anonymous installer telemetry, and treats a missing prerequisite or failed installation as recoverable instead of blocking initialization.
To connect another agent later, run:
umem connectExplicit runtime selection remains available for automation and unusual setups, but it is not required for the normal path.
UMEM resolves the detected agent's project skill directory from a reviewed catalog
pinned to skills@1.5.20, runs one project-scoped installation, and validates the
complete installed skill tree plus a real umem context read. It does not install into
a second project and copy the result back.
The command orchestrated by UMEM in v0.6.1 is equivalent to:
DISABLE_TELEMETRY=1 npx --yes skills@1.5.20 add https://github.com/YanAmorelli/universal-memory/tree/v0.6.1/skills/universal-memory --skill universal-memory --agent pi --copy -yHere pi is an example; UMEM supplies the detected agent ID. Node.js and npx are
optional prerequisites for this external bridge. When either is unavailable,
initialization remains usable and UMEM reports a managed or manual fallback. Unknown
agent IDs never execute npx.
2. Bootstrap one agent session
At the start of each conversation or agent session, prefer the MCP bootstrap() tool when
it is connected. Otherwise, use the equivalent CLI command:
umem bootstrap --format jsonThis single call validates the integration and returns project status, active project
context, and the skills catalog. Treat data.context as active context, inspect
data.skills.list, and request details only for skills relevant to the current task:
umem skills detail <skill-id-or-name> --format jsonRun bootstrap only once per conversation or session. It replaces the previous startup
sequence of separate status, context, and skills list calls; it does not perform
installation, synchronization, or configuration.
3. Save your first preferences and facts
Tell umem what to keep in mind. You can target either the project scope (this folder) or the global scope (across all projects):
# Save a global preference
umem remember --scope global "Yan is a solutions architect specializing in AI applications"
# Save a project-specific constraint
umem remember --scope project "Always use Tomllib instead of PyYAML for configuration files" --tag config4. Retrieve Context
Verify the consolidated context summary generated by combining short-term facts, rules, and global preferences:
umem context --scope project5. Adopt or create an Agent Skill
If a skill already exists, choose the safest adoption path first. Use adopt for an
existing .umem/skills/<slug> directory; use import for native runtime directories
such as .agents/skills/<slug> and sync it back out to configured runtimes:
umem skills adopt .umem/skills/review-protocol --scope project
umem skills import .agents/skills/review-protocol --scope project --sync
umem skills detail review-protocolIf you are starting from scratch, draft and publish it without native side effects:
umem skills draft create \
--name "Review Protocol" \
--description "Reusable review workflow" \
--trigger "when reviewing code"
umem skills draft validate review-protocol
umem skills publish review-protocol --format summaryFor a one-step workflow, create the canonical skill. It is canonical-only by default; request sync explicitly when native runtime targets should be written:
umem skills create \
--name "Review Protocol" \
--description "Reusable review workflow" \
--trigger "when reviewing code" \
--format summary
umem skills sync review-protocol --check-gitignore --format summaryAfter editing .umem/skills/review-protocol/SKILL.md, refresh one runtime skill with:
umem skills sync review-protocol6. Check status and health
umem statusHost Integration & Support Matrix
UMEM deliberately separates native ownership from portable compatibility:
Tier | Contract | Guarantee |
Tier 1 — Native/Managed | Maintained host adapter, native setup and repeatable validation | UMEM owns and tests the documented integration. |
Tier 2 — Directed CLI |
| UMEM validates portable instructions, CLI access, and context reading, but not every host-specific behavior. |
Tier 3 — Unmanaged MCP | The user manually connects MCP to a host without a programmed workflow | UMEM validates MCP availability only; agent behavior is not guaranteed. |
The maintained and named integration surfaces are:
Runtime / Host | Support Tier | Config / Instructions Target |
Claude Code | Tier 1 — Native/Managed |
|
OpenCode | Tier 1 — Native/Managed |
|
Codex (OpenAI) | Tier 1 — Native/Managed |
|
Cursor | Tier 2 — Directed CLI |
|
Antigravity | Tier 2 — Directed CLI |
|
Pi, Gemini CLI, GitHub Copilot, Cline, Zed, and other reviewed Agent Skills hosts | Tier 2 — Directed CLI | Project skill directory pinned to the |
Windsurf | Tier 2 — Frozen legacy adapter |
|
Unmodeled MCP host | Tier 3 — Unmanaged MCP | User-managed MCP configuration |
An agent appearing in the external skills catalog does not make it Tier 1. Tier 1 is
intentionally small and requires a maintained adapter, release evidence, and repeatable
host-specific validation. See the Getting Started guide
for legacy-project behavior and the portable installation flow.
Running as a Model Context Protocol (MCP) Server
AI agents can interact directly with your memory over the Model Context Protocol. Manual MCP configuration for a host without a programmed UMEM workflow is Tier 3: tool availability is validated, but instruction loading and agent behavior are not guaranteed.
One-off Launch Command
uvx --from universal-memory umem-mcpPersistent Install Launch Command
umem-mcpBootstrap Once Per Session
When the MCP server is connected, agents should call bootstrap() once at the beginning
of the conversation or session. It is semantically equivalent to
umem bootstrap --format json: both return status, active project context, and the skills
catalog, and both preserve the same fail-fast error behavior. Skill details remain separate
and should be requested only for selected relevant skills.
Example Config: Claude Desktop (claude_desktop_config.json)
Use the uvx form when Universal Memory is not installed as a persistent tool:
{
"mcpServers": {
"universal-memory": {
"command": "uvx",
"args": [
"--from",
"universal-memory",
"umem-mcp"
]
}
}
}If you installed Universal Memory with uv tool install universal-memory or pipx install universal-memory, use the stable entrypoint:
{
"mcpServers": {
"universal-memory": {
"command": "umem-mcp",
"args": []
}
}
}Troubleshoot startup with:
uvx --from universal-memory umem doctor
uvx --from universal-memory umem-mcp --helpFor GUI-launched MCP hosts, use the absolute path to uvx if the host does not inherit
your shell PATH.
Safety & Guardrails
API Secret Scanner:
umempasses all incoming facts through a passive scanner to block API keys, tokens, or credentials from being stored in your persistent cognitive base.Snapshots & Rollbacks: Every automated update to your config files (
AGENTS.md,CLAUDE.md) is preceded by a snapshot backup. You can rollback anytime:# View audit logs umem audit list --scope project # Revert last automated modification umem rollback --scope projectSkill Drift Protection:
umem skills syncdetects managed native drift and keeps local changes by default. Use--drift-decision overwriteonly when you intentionally want canonical UMEM content to replace the managed native copy.External Bridge Boundary: Tier 2 installation through
npx skillsis an explicitly confirmed external mutation. UMEM disables anonymous installer telemetry, constrains the target to the current project, and validates the complete result, but labels the write as externally executed rather than claiming UMEM snapshot ownership.
Managing Agent Skills
You can draft, create, adopt, import, validate, maintain, and sync specialized behaviors:
# List all active skills
umem skills list
# Inspect one skill
umem skills detail review-protocol
# Draft, validate, and publish without native runtime writes
umem skills draft create --name "Review Protocol" --description "Reusable review workflow"
umem skills draft validate review-protocol
umem skills publish review-protocol
# Create a new canonical skill and explicitly sync native targets
umem skills create --name "Review Protocol" --description "Reusable review workflow" --sync
# Adopt existing canonical work
umem skills adopt .umem/skills/review-protocol --scope project
# Import an existing native skill and distribute complete runtime copies
umem skills import .agents/skills/review-protocol --scope project --sync
# Validate and maintain canonical skills
umem skills validate review-protocol
umem skills canonical update review-protocol --file .umem/skills/review-protocol/SKILL.md
umem skills rename review-protocol --slug review-checklist
umem skills cleanup review-checklist --targets --format summary
umem skills cleanup review-checklist --targets --apply
umem skills repair --remove-orphan-targets --format summary
# Synchronize one canonical skill into active native runtime folders
umem skills sync review-protocol --check-gitignore --format summary
# Synchronize all active canonical skills during maintenance
umem update --skills
# Track and review recurring workflow candidates
umem skills track --name "Review Protocol" --description "Recurring review workflow"
umem skills recommend --scope project
umem skills propose <latent-skill-id> --decision yes
umem skills promote <recommendation-id> --yes
umem skills generate <latent-skill-id> --yesLicense
Distributed under the Apache License 2.0. See LICENSE and NOTICE for more information.
Available Tools
38 toolsactivate_skillB
Reactivate an ignored latent skill through the shared safe mutation pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| latent_skill_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior by mentioning the 'shared safe mutation pipeline,' suggesting it mutates state safely, but it lacks details on side effects, authentication, rate limits, or what 'safe' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key action and resource, containing no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with one parameter and an output schema, the description is minimally complete but could clarify the return format or confirm if the output schema describes the reactivated skill. The phrase 'through the shared safe mutation pipeline' hints at a consistent pattern but is vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single required parameter lat entity_skill_id, and the tool description provides no additional meaning, leaving the agent uninformed about what this ID represents or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Reactivate'), the resource ('ignored latent skill'), and the mechanism ('through the shared safe mutation pipeline'), distinguishing it from siblings like deactivate_skill and track_latent_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reactivating previously ignored latent skills but does not explicitly state when to use this tool versus alternatives like track_latent_skill or adopt_skill, nor does it provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adopt_skillB
Adopt an existing skill directory into UMEM without creating duplicate slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| slug | No | ||
| scope | No | project | |
| category | No | user-facing | |
| visibility | No | ||
| replace_native | No | ||
| sync_after_adopt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It states that the tool avoids creating duplicate slugs, which is a useful constraint. However, it does not mention other behaviors such as required permissions, whether the source directory is modified, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and key constraint. It is concise and avoids verbosity, though it could benefit from slightly more detail without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has seven parameters, no annotations, and an output schema, the description is insufficient. It explains neither parameter semantics nor important behavioral details, making it hard for an agent to use the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions exist. The tool description does not explain any of the seven parameters (path, slug, scope, etc.), leaving the agent to infer meaning solely from names and enums, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adopts an existing skill directory into UMEM and avoids duplicate slugs. It uses a specific verb ('Adopt') and resource ('skill directory'), and the constraint distinguishes it from related tools like create_skill or import_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions for use, or when to avoid it. Sibling tools like create_skill or import_skill are not contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bootstrapA
Load UMEM status, active project context, and the skills catalog once per session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose the 'once per session' expectation, which is useful, but it does not explain whether loading has side effects, modifies session state, or requires any setup. The description partially informs behavior but leaves important traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that conveys the action, the three object types, and the intended call frequency. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description gives the essential purpose and calling context. It is complete enough for correct invocation, though it stops short of describing what the output contains beyond implying the three loaded resources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter detail for the description to add beyond the schema. The baseline of 4 applies because parameter semantics are effectively irrelevant here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Load') and explicitly lists three concrete resources: UMEM status, active project context, and the skills catalog. This clearly distinguishes a combined session bootstrap from the narrower sibling tools like status, context, and list_skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'once per session' provides clear contextual timing for when to call the tool, but there is no explicit guidance about when not to use it, nor references to alternatives such as initialize_project or status. Usage is implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_skillC
Plan or apply managed-only native target cleanup for a canonical skill.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| targets | No | ||
| skill_id_or_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It hints at dry-run vs apply but does not explain side effects, prerequisites, or what 'managed-only native target' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is too terse and ambiguous; lacks front-loading of key purpose. Every word should earn its place, but 'managed-only native target' is unclear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 3 parameters and output schema, yet description omits parameter roles, return behavior, and operational context. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero schema description coverage; description adds no details about 'dry_run', 'targets', or 'skill_id_or_name' parameters. Fails to compensate for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies 'cleanup for a canonical skill' with action verbs 'Plan or apply', but uses jargon ('managed-only native target cleanup') that may not be universally understood. It does not distinguish from sibling tools like deactivate_skill or purge_fact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use cleanup vs alternatives (e.g., deactivate_skill, remove_skill). Lacks explicit context or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contextB
Assemble the active cognitive memory context for AI agent operations.
Retrieves and compiles project-specific or global context facts, preferences, and rules formatted in Markdown, optimized for injection into system prompts.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | project | |
| max_size_chars | No | ||
| agent_session_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It describes retrieval and compilation without mentioning destructive effects, but lacks details on caching, performance implications, or authentication requirements. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core purpose. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, the description should be more complete. It lacks parameter semantics and usage guidelines, leaving gaps for a tool with three parameters and a documented output schema. The description does not fully equip an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters (scope, max_size_chars, agent_session_key). It adds no value beyond the schema, failing to compensate for the lack of parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assembles cognitive memory context for AI agent operations, specifying it retrieves project-specific or global facts, preferences, and rules in Markdown. It distinguishes itself from siblings like list_facts by focusing on compilation for prompt injection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for assembling context for system prompts but does not explicitly state when to use this tool over alternatives like list_facts or remember_fact. No direct comparison or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_skillC
Create a canonical Agent Skill without native sync unless sync is explicit.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| slug | No | ||
| sync | No | ||
| scope | No | project | |
| targets | No | ||
| category | No | user-facing | |
| triggers | No | ||
| visibility | No | ||
| description | Yes | ||
| raw_markdown | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It explains that native sync is off unless the sync parameter is explicitly true, which is helpful. However, it omits other important behaviors, such as whether creation overwrites existing skills, authorization requirements, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence (10 words) that conveys the core purpose efficiently. While very brief, it is not wasteful, though additional structure (e.g., bullet points) could improve clarity for a tool with many parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, a huge sibling list, and no output schema details (though exists), the description is incomplete. It fails to explain most parameters, differentiate from many similar sibling tools, or provide guidance on proper usage. The output schema exists but is not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but does not. It only mentions sync behavior; other parameters like name, slug, scope, targets, etc., are not explained. The description adds no semantic value beyond the schema, and the high parameter count demands more guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a canonical Agent Skill, with a specific verb ('create') and resource ('canonical Agent Skill'), distinguishing it from siblings like create_skill_draft. The mention of 'canonical' hints at differentiation from draft skills, though it doesn't explicitly compare to generate_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance, only noting the default sync behavior. It does not advise when to use this tool versus alternatives like create_skill_draft, generate_skill, or update_skill. No explicit context or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_skill_draftA
Create an editable draft skill without canonical publish or native runtime writes.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| slug | No | ||
| scope | No | project | |
| triggers | No | ||
| description | Yes | ||
| raw_markdown | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the draft is not published and does not write to native runtime, which is useful. But lacks details on permissions, side effects, idempotency, or what happens if a draft with the same name exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence efficiently conveys the core purpose and key distinction. It could be slightly more structured but remains concise and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (not shown), return value details are not needed. However, the description omits prerequisites, error states, and when to use alternatives like 'generate_skill'. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds no parameter information. Users must infer meanings from parameter names alone, which is insufficient for a tool with six parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an 'editable draft skill' and distinguishes it by noting 'without canonical publish or native runtime writes.' This contrasts with sibling tools like 'create_skill' which likely creates a canonical version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for creating a draft instead of a canonical skill, providing clear context. However, it does not explicitly state when not to use this tool or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deactivate_skillC
Deactivate an active latent skill without deleting its physical SKILL.md.
| Name | Required | Description | Default |
|---|---|---|---|
| latent_skill_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the core action (deactivate) and a key constraint (non-destructive of SKILL.md), but omits details on idempotency, error states (e.g., if already inactive), permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core action and a key distinction. However, it is perhaps too terse given the lack of annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, output schema exists), the description could be sufficient, but it fails to clarify contextual cues like when the skill must be active, relationship to sibling tools, or expected behavior for edge cases. The output schema helps, but the description still leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not add any meaning about the required parameter 'latent_skill_id'. The agent gains no information about format, source, or validation beyond the schema's name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deactivates a latent skill and explicitly notes it does not delete the physical SKILL.md file. This distinguishes it from deletion-related sibling tools, though no direct sibling names are mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'activate_skill' or 'cleanup_skill'. It lacks context about prerequisites (e.g., skill must be active) or situations where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
doctorA
Run read-only environment diagnostics for Universal Memory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states the tool is 'read-only', which safely indicates no destructive actions. However, it does not detail what 'environment diagnostics' entails (e.g., checks, output), but the read-only hint compensates somewhat for missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that is front-loaded with the action and scope. Every word is meaningful with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and an output schema, the description provides essential context. 'Environment diagnostics' is slightly vague but sufficient given the simplicity and sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, no additional parameter description is needed. The description correctly implies no input required, meeting the baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('run') and resource ('environment diagnostics for Universal Memory'). It is specific and distinguishes from sibling tools like host_check (host diagnostics) and various skill tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for diagnostic purposes but provides no explicit guidance on when to use versus alternatives or when not to use. No exclusions or conditional usage mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_skillC
Generate the physical Agent Skill structure for an approved latent skill.
| Name | Required | Description | Default |
|---|---|---|---|
| latent_skill_id | Yes | ||
| update_existing | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a mutation operation ('Generate'), but without annotations it provides minimal behavioral context. It does not disclose idempotency, side effects, or what happens to existing structures. The parameter 'update_existing' hints at update behavior but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but under-specified. It does not provide enough information to earn its place, as it omits critical details about parameters and usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not clarify the output structure or the tool's role among many siblings. It lacks completeness for a tool that likely has important dependencies and side effects, such as needing the latent skill to be approved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but fails entirely. Neither 'latent_skill_id' nor 'update_existing' are described, leaving the agent to infer from names alone. The description adds no value over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Generate' and the object 'physical Agent Skill structure', and conditions it on 'approved latent skill', which clearly distinguishes it from many sibling tools like 'create_skill', 'propose_skill', and 'track_latent_skill'. However, it does not explain what 'physical structure' entails, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as 'create_skill' or 'promote_skill_recommendation'. There is no mention of prerequisites (e.g., the latent skill must be approved) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skill_detailC
Inspect metadata and triggers for one registered skill.
| Name | Required | Description | Default |
|---|---|---|---|
| name_or_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'inspect', implying read-only behavior but does not disclose any additional behavioral traits such as authentication needs, error states, or safety implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words, but could be slightly more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a tool with no annotations and one parameter. It does not explain the output despite an output schema being present, nor does it address potential edge cases or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the parameter is 0% and the description adds no information about the 'name_or_id' parameter, such as format, examples, or meaning. The tool relies entirely on the schema which lacks descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'inspect' and identifies the resource as 'one registered skill', clearly distinguishing it from sibling tools that modify skills (e.g., activate_skill, update_skill) or list them (list_skills).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like list_skills or context. Lacks explicit when-to-use, when-not-to-use, or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
host_checkB
Validate an agent host manifest without mutating files.
| Name | Required | Description | Default |
|---|---|---|---|
| host_id | Yes | ||
| max_chars | No | ||
| max_lines | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description declares the tool does not mutate files, which is a key behavioral trait. However, with no annotations provided, it does not cover other aspects like authorization or side effects. It is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that gets straight to the point. However, it is slightly too sparse given the complexity of the tool and the number of parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits details about what the validation involves, what the output schema contains, and any error conditions. For a validation tool, more context is expected, especially with an output schema present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no explanation for the three input parameters (host_id, max_chars, max_lines). Since schema description coverage is 0%, the description should compensate but fails to do so, leaving the agent without guidance on how to use parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'validate' and resource 'agent host manifest', and adds a key behavioral distinction 'without mutating files'. This differentiates it from sibling tools like 'validate_skill' and 'host_setup'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to validate a host manifest vs. validate a skill. The description does not mention prerequisites or contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
host_setupC
Configure an agent host manifest through the safe mutation pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | ||
| host_id | Yes | ||
| max_chars | No | ||
| max_lines | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It mentions 'safe mutation pipeline' but fails to clarify whether this is a destructive or idempotent operation, what side effects occur, or required permissions. Critical safety context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it omits essential details that would make it valuable, balancing brevity with incomplete information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and 4 input parameters, the description covers none of them. It lacks essential context about how to use parameters, what the output represents, and how the tool fits into workflows. The description is sorely incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no meaning for any of the 4 parameters. Key parameters like 'force', 'max_chars', and 'max_lines' remain unexplained, leaving the agent without guidance on their use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Configure') and resource ('agent host manifest'), making the core action clear. However, it does not differentiate from sibling tools like 'host_check' or 'update_skill', missing a chance to clarify its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'host_check'). There are no prerequisites, conditions, or exclusions mentioned, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_skillC
Import an existing native or local Agent Skill directory into canonical UMEM storage.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| scope | No | project | |
| category | No | user-facing | |
| visibility | No | ||
| replace_native | No | ||
| sync_after_import | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states 'import' without explaining what that entails (e.g., side effects, permissions, conflict handling, source modification). Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise, but it's too brief for the tool's complexity. It sacrifices necessary detail for brevity, resulting in under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, many siblings, no annotations), the description is incomplete. It lacks usage context, parameter semantics, and behavioral details, making it inadequate for proper tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no parameter explanations. Six parameters exist (path, scope, category, etc.) with no context on their meaning or effect, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (import), the resource (existing native or local Agent Skill directory), and the target (canonical UMEM storage). It distinguishes the tool from creation or other operations, though it doesn't explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like create_skill or adopt_skill. The context signals and sibling list indicate many related tools, but the description offers no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initialize_projectC
Initialize the local Universal Memory project layout.
| Name | Required | Description | Default |
|---|---|---|---|
| layout | No | legacy |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only states 'Initialize' without explaining side effects (e.g., file creation, overwriting), required permissions, or whether the operation is reversible. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. However, it could be slightly more structured by including parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the output schema's existence (mitigating need to describe return values), the description lacks information about what initialization entails, the difference between 'legacy' and 'shared' layouts, and potential impacts on existing project state. This is incomplete for a setup operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'layout' with an enum and default, but the description does not mention it at all. With 0% schema description coverage, the description must compensate but fails to add any meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool initializes a local Universal Memory project layout, which is a specific verb+resource combination. It distinguishes itself from siblings like 'migrate_project_layout' and 'inspect_project_layout' by focusing on initialization rather than migration or inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'migrate_project_layout' or 'inspect_project_layout'. There is no mention of prerequisites, typical scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_project_layoutA
Report the active project layout without mutating files.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only discloses that the operation is non-mutating ('without mutating files'), but does not explain what 'project layout' includes, potential costs, or behavior when no active project exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of seven words, front-loaded with the verb 'Report'. Every word serves a purpose with no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no complexity), the description is nearly complete. However, it could briefly mention what the layout includes (e.g., folder structure, files) to avoid ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description does not need to add parameter meaning since the schema is complete. Baseline score of 4 applies as there is no additional value needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Report' and resource 'active project layout', and explicitly states it does not mutate files. This clearly distinguishes it from sibling tools like migrate_project_layout or create_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading the current project layout safely, but does not specify when to use it compared to other inspection tools like list_skills or get_skill_detail. No explicit context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_audit_eventsC
List audit events for a scope.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | project |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., pagination, read-only nature, permissions required, return format). The description essentially repeats the tool name, offering no additional behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At 6 words, the description is extremely concise, but it sacrifices necessary detail. It states the core purpose but omits useful context, making it minimally adequate but not optimally balanced.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has only one parameter and an output schema (though not shown), the description could be sufficient if it explained the parameter and behavior. However, it fails to elaborate on scope values or any side effects, leaving the agent underinformed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'scope' with two enum values and no description (0% schema coverage). The description adds the phrase 'for a scope', which loosely associates the parameter with the action but does not explain the meaning of the enum options ('project' vs 'global') or how they affect the results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List audit events for a scope.' clearly identifies the verb (list) and resource (audit events) and adds scoping context. However, it does not differentiate this tool from other list tools (list_facts, list_skills, list_snapshots) among the siblings, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, contextual triggers, or exclusion criteria. The phrase 'for a scope' hints at the parameter but does not convey usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_factsB
List memory facts with optional scope and status filters.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | ||
| status | No | active | |
| visibility | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'list' which implies a read operation, but lacks details on pagination, ordering, rate limits, or any side effects. This is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. Front-loads the purpose and filters. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no annotations, and an output schema, the description covers the basic purpose but lacks detail on filter semantics and return structure. It is minimally adequate for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should add meaning. It mentions 'optional scope and status filters' but does not explain the enum values (e.g., scope: project vs global; status: active, stale, archived, purged). The description adds minimal value beyond naming the filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'memory facts', along with optional filters. It distinguishes from sibling tools like remember_fact (create) and purge_fact (delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving facts with optional scope and status filters, but does not explicitly state when to use this tool versus alternatives like list_skills or context. No exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsA
List registered skills and candidates without mutating local state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It states the tool does not mutate local state, but it does not disclose any other behavioral aspects such as whether data is cached, performance characteristics, or potential side effects like network calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and resource, and contains no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool has no parameters and an output schema exists, the description does not provide any context about the nature of the return data, sorting, or filtering. For a simple list operation, it is minimally complete but could benefit from additional details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already conveys all parameter information. The description adds nothing about parameters, but given the baseline for 0 parameters is 4, and schema coverage is 100%, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and identifies the resources 'registered skills and candidates', clearly distinguishing it from sibling tools that mutate or create skills. It also explicitly states the non-mutating nature, adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It implies safe usage due to lack of mutation but lacks direct comparison to sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_snapshotsC
List created snapshots for a scope.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | project |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose any behavioral traits (e.g., read-only, effects, permissions) beyond the listing action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence, which is concise but not informative. It lacks necessary details without being verbose, so it is adequately concise but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The context (low parameter count, existence of output schema) reduces the burden, but the description still fails to define 'snapshots' or explain the 'scope', leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (description does not mention the single parameter 'scope'), and the description adds no semantic value beyond the schema's enum and default. For a low-coverage case, the description should compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool lists snapshots for a scope, which is a clear verb-resource pair. However, it does not differentiate from sibling list tools (e.g., list_audit_events, list_facts, list_skills) and omits what 'snapshots' are, but the core action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There are several sibling list tools, and the description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migrate_project_layoutC
Copy curated legacy project content into visible shared project storage.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| include | No | ||
| target_layout | No | shared | |
| private_fact_ids | No | ||
| private_skill_slugs | No | ||
| shared_operational_skill_slugs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose effects and side effects. It only states a copy action but omits details on whether it is destructive, reversible, or how it interacts with existing data. The default dry_run=true hints at safety but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (8 words), which is good for efficiency, but it sacrifices important details. It is front-loaded with the core action, but the lack of supporting information reduces its utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, zero schema descriptions, and no annotations, the description should provide substantial context. It fails to explain inputs, outputs, or behavior, making it highly incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does not mention any of the 6 parameters (dry_run, include, target_layout, etc.) or their purposes, leaving the agent to infer from schema alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Copy') and the resource ('curated legacy project content into visible shared project storage'). While it differentiates from some siblings (e.g., inspect_project_layout), it does not explicitly distinguish from all, but the action is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as inspect_project_layout or initialize_project. No scenario or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promote_skill_recommendationC
Promote an approved latent skill candidate into a canonical Agent Skill.
| Name | Required | Description | Default |
|---|---|---|---|
| edits | No | ||
| targets | No | ||
| recommendation_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the action without explaining side effects (e.g., what happens to the latent candidate after promotion), required permissions, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. However, it lacks necessary detail, making it under-specified rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no annotations, and an output schema, the description is incomplete. It does not explain the promotion process, how to get an approved candidate, or the effects of the 'edits' and 'targets' parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention any parameters. The meaning of 'edits' and 'targets' is left entirely to the schema names, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'promote' and the resource 'approved latent skill candidate into canonical Agent Skill'. It distinguishes from sibling tools like propose_skill, recommend_skills, and create_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus alternatives. The description implies the candidate must be 'approved' but does not explain prerequisites or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_skillB
Review or decide a latent skill proposal.
If decision is omitted, returns the suggested name, scope, purpose,
evidence, and explicit choices for a follow-up call.
| Name | Required | Description | Default |
|---|---|---|---|
| decision | No | ||
| latent_skill_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the two modes (review vs decide) but does not disclose side effects of deciding (e.g., does it create the skill?), required permissions, or potential consequences. This is insufficient for a mutation-like operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loads the core purpose and conditionally describes behavior. No unnecessary words, each sentence serves a clear function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two modes and an output schema, the description explains the core functionality but omits important context like prerequisites, side effects, or what happens after a decision. Could be more complete to match the complexity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It provides meaning for the 'decision' parameter (omitted vs provided behavior) but does not elaborate on 'latent_skill_id' beyond the name. Some value added, but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for reviewing or deciding a latent skill proposal, with distinct behaviors based on the decision parameter. It differentiates from sibling tools like create_skill or activate_skill by focusing on proposals, but could be more explicit about the nature of 'latent skill proposal'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reviewing or deciding proposals but does not explicitly state when to use this tool over alternatives like create_skill or recommend_skills. With many sibling tools, more guidance on context would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_skillC
Publish a validated draft as canonical and optionally sync native targets.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | ||
| sync | No | ||
| targets | No | ||
| category | No | user-facing | |
| visibility | No | ||
| draft_or_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal disclosure beyond the action. With no annotations, the description should cover side effects (e.g., overwriting canonical, sync behavior) but does not. It implies state change but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler. It is efficient but very brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, 0% schema coverage, and no annotations, the description is far from adequate. It does not explain output (despite output schema) or parameter usage, leaving the agent with minimal actionable guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet description adds no information about parameters like 'draft_or_path', 'slug', 'targets', or 'visibility'. The description fails to compensate for missing parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('publish') and the resource ('validated draft as canonical') with optional sync. It distinguishes from siblings like 'validate_skill' or 'update_canonical_skill' by focusing on the promotion step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., 'update_canonical_skill', 'rollback_scope'). It does not mention prerequisites like requiring a validated draft.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purge_factA
Purge one fact by id or all facts in a scope through the shared use case.
Requires confirm=True to execute.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| scope | No | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the destructive nature ('purge') and the confirmation flag, but lacks details on side effects, authorization needs, or what happens on failure. The confirm requirement is a positive transparency point.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences. The first states the purpose, the second adds a critical usage requirement. There is no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive nature, 3 parameters, and existence of an output schema, the description covers the core action and key requirement (confirm). However, it lacks details on parameter interactions, default behavior when no parameters are provided, and the meaning of scope values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It explains that 'id' is for a single fact and 'scope' for all facts in a scope, and highlights 'confirm'. However, it does not clarify behavior when both are provided, or explain the scope enum values ('project', 'global').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool purges facts either by id or by scope, using the verb 'purge' and specifying the resource. It distinguishes from siblings like remember_fact and list_facts, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a key guideline: 'Requires confirm=True to execute.' This is helpful for safe usage. However, it does not specify when to use this tool versus alternatives like remember_fact or list_facts, nor does it mention prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_skillsA
Review read-only latent skill recommendations captured by explicit skills.track evidence.
This never promotes, imports, syncs, creates, or mutates skills. dry_run is accepted
for API clarity; non-read-only behavior is not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | project | |
| dry_run | No | ||
| min_recurrence | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses critical behavioral traits: read-only, no mutations, and that dry_run is accepted for clarity but non-read-only behavior not supported. This fully informs the agent of safety boundaries. It could add details about return format or auth, but output schema exists to cover return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. First sentence states core purpose; second clarifies constraints. Front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters (0% schema coverage), no annotations, and an output schema, the description adequately covers the read-only behavior but fails to explain scope and min_recurrence. The output schema might document return values, so that gap is mitigated. However, for full completeness, parameter explanations are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It only explains dry_run's purpose ('accepted for API clarity'), but omits meaning for scope and min_recurrence. For a 3-parameter tool with no schema descriptions, this is insufficient. The agent cannot infer the role of scope or min_recurrence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool reviews read-only latent skill recommendations, using specific verb 'review' and resource. It explicitly distinguishes from siblings by listing actions it never performs (promotes, imports, syncs, creates, mutates), which is exceptional differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides clear context that the tool is read-only and never mutates, implying it should be used for viewing recommendations. However, it lacks explicit when-to-use vs alternatives, such as mentioning promote_skill_recommendation for promotion. The negative list ('never promotes...') serves as when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remember_factC
Persist a memory fact through the shared safe mutation pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| scope | No | project | |
| content | Yes | ||
| visibility | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a mutation operation ('persist'), but with no annotations, it carries the full burden of disclosure. It does not mention side effects, authorization needs, idempotency, or behavior on duplicate content. The phrase 'safe mutation pipeline' is vague and not backed by specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, achieving conciseness. However, it sacrifices completeness; a slightly longer description could improve value without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters, an output schema, and 1 required parameter, the description covers almost none of the necessary context. It fails to explain what a memory fact is, how parameters affect behavior, or what the output contains. This is severely incomplete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about any of the four parameters (content, scope, tags, visibility). The AI agent must rely solely on parameter names and types, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool persists a memory fact, using a specific verb and resource. Among siblings, it contrasts with 'list_facts' and 'purge_fact', showing distinct purpose. However, the term 'memory fact' is not elaborated, and the phrasing 'through the shared safe mutation pipeline' adds jargon without clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or context. Sibling tools like 'list_facts' or 'purge_fact' are not referenced, leaving the AI agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_skillA
Rename a canonical skill slug while blocking unmanaged destination conflicts.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| skill_id_or_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It discloses mutation and conflict blocking, but lacks detail on side effects (e.g., old slug invalidation, required permissions, reversibility). For a rename operation, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 10 words, front-loaded with action and key constraint. No wasted words; efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema (not provided), description need not explain return values. However, it lacks details on conflict behavior, error states, and what happens to the old slug. Adequate for a simple tool but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and 2 required params. Description mentions 'slug' and 'canonical skill slug' but does not explicitly explain each parameter's format or role. Partially compensates by context, but leaves ambiguity (e.g., whether slug is new name or identifier).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb ('Rename'), resource ('canonical skill slug'), and a distinctive behavior ('blocking unmanaged destination conflicts'). This differentiates it from siblings like update_skill or deactivate_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for renaming a skill slug while avoiding conflicts, but does not explicitly state when to use this tool over others (e.g., update_skill) or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repair_skillsC
Plan or apply managed-only repair for orphan native skill targets.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| remove_orphan_targets | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should fully disclose behavior. It mentions 'plan or apply' but does not explain destructive potential, required permissions, or side effects. The parameter 'remove_orphan_targets' suggests removal, but no warning is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At one sentence, it is concise but lacks structure. It could benefit from a second sentence or bullet points to clarify the two modes. It is not overly verbose, but the brevity sacrifices completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters and an output schema, the description should cover behavior, return details, and side effects. It only mentions 'repair' in an abstract sense, leaving the agent with many unknowns about input/output and state changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning parameters are not described. The description does not explain 'dry_run' or 'remove_orphan_targets' beyond what the names imply. The 'plan or apply' hint loosely connects to the parameters, but lacks explicit mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'repair for orphan native skill targets' with a clear verb ('repair') and resource. It differentiates from sibling tools like 'cleanup_skill' by focusing on orphan native skills and a planned/apply approach. However, the jargon 'managed-only' and 'orphan native skill targets' may reduce clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus alternatives like 'doctor' or 'cleanup_skill'. The description implies it is for orphan native skills but does not state prerequisites, exclusions, or when to prefer other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollback_scopeB
Rollback the latest created snapshot for a scope.
Requires confirm=True to execute.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | project | |
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions the confirm requirement but does not explain the consequences of rolling back (e.g., whether it's irreversible, what happens to the snapshot, or if it restores previous state). The destructive nature is implied but not clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, immediately states the primary action, and includes only necessary information. No extraneous content or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (two parameters, none required) and the existence of an output schema, the description covers the basic purpose and a key constraint. However, it lacks important behavioral context (destructiveness, scope implications) for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should compensate. It only covers the 'confirm' parameter by stating it must be true, but does not explain the 'scope' parameter's meaning (project vs. global) or how it affects the rollback operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Rollback the latest created snapshot for a scope.' It specifies the verb (rollback), resource (snapshot), and modifier (latest created), distinguishing it from sibling tools like 'list_snapshots' which only list snapshots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a prerequisite ('Requires confirm=True to execute'), but provides no guidance on when to use this tool versus alternatives, such as other snapshot operations. It lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statusA
Expose local cognitive persistence memory initialization and health check status.
Returns initialization state, fact counts, active rules, registered skills, approximate size, host validations, and recommended actions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It clearly states it is an 'expose' operation (read-only) and lists the returned data fields, implying no side effects. This is sufficient for a health check tool, though it could explicitly state it is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence defines the purpose, and the second lists the return fields. No redundant or missing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no side effects, and an output schema exists), the description is complete. It covers the purpose and the return values adequately for an agent to decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema provides full coverage. The description adds value by detailing the return values, which helps agents understand what the tool provides without needing to inspect the output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Expose' and the resource 'local cognitive persistence memory initialization and health check status'. It distinguishes itself from sibling tools which focus on skills, facts, and project management, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage by describing the output, but lacks explicit context or exclusions. With many sibling tools, explicit guidance would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_instructionsC
Synchronize approved active rules into supported instruction targets.
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | ||
| host_ids | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether synchronization is destructive, what the 'apply' parameter does, or required permissions. This leaves the agent uncertain about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise but at the cost of completeness. It is front-loaded but lacks structure needed to convey important details efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of synchronization, the lack of annotations, and the presence of an output schema, the description is woefully incomplete. It omits details about process, error conditions, and parameter behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the parameters (apply and host_ids) at all. The agent receives no guidance on parameter usage beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'synchronize' and identifies resources ('approved active rules', 'instruction targets'), making the purpose clear. However, it does not clarify what these terms mean, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings (e.g., sync_skills) or when not to use it. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_skillsC
Synchronize canonical Agent Skills into native targets with optional git warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| targets | No | ||
| drift_decision | No | keep | |
| check_gitignore | No | ||
| skill_id_or_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'optional git warnings' but does not elaborate on the sync behavior (e.g., whether it overwrites or merges), potential destructive actions, or reversibility. Given no annotations, the description should disclose more behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but overly terse. It lacks structural elements like bullet points or sections. While not verbose, it sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, 0% schema coverage, no annotations) and existence of an output schema, the description is too sparse. It does not mention return values, prerequisites, or side effects, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but fails to explain any of the four parameters (targets, drift_decision, check_gitignore, skill_id_or_name). The drift_decision enum is not explained. The agent lacks essential information to use the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'synchronize', the resource 'canonical Agent Skills', and the destination 'native targets'. This distinguishes it from siblings like sync_instructions and other skill manipulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not specify when to use sync_skills over sync_instructions or other skill-related tools, nor does it mention any preconditions or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_latent_skillD
Explicitly track or increment recurrence for a latent skill opportunity.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | ||
| scope | No | project | |
| description | Yes | ||
| evidence_summary | No | Manual user invocation via MCP. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully bears responsibility. It implies mutation ('increment recurrence') but does not disclose side effects, idempotency, or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (9 words) but severely underspecified. It is not concise in a helpful way; it lacks essential detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, an output schema, and many sibling tools, the description is far from complete. It fails to explain core behavior, state changes, or relationship to other skill tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of the 5 parameters (name, description, tags, scope, evidence_summary), leaving the agent with no semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('track or increment recurrence') and resource ('latent skill opportunity'), but is vague and does not differentiate from siblings like 'create_skill' or 'activate_skill'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_canonical_skillC
Update canonical skill content with validation and optional native sync.
| Name | Required | Description | Default |
|---|---|---|---|
| sync | No | ||
| raw_markdown | Yes | ||
| drift_decision | No | keep | |
| skill_id_or_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It mentions 'validation' and 'optional native sync' but does not describe side effects, permissions, error conditions, or what happens on sync failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence, but omits critical information about parameters and behavior, making it under-specified rather than effectively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of updating canonical skills (with sync and drift decisions), the description is too minimal. It lacks guidance on parameter usage, expected side effects, and output schema information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters. 'Optional native sync' hints at 'sync' parameter but is not explicit. The 'drift_decision' enum is not mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Update' and resource 'canonical skill content', with specifics like 'validation' and 'optional native sync'. The term 'canonical' distinguishes it from sibling 'update_skill'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Usage is implied from name and sibling context, but no alternatives or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_skillC
Update skill metadata or markdown through the shared safe mutation pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| triggers | No | ||
| description | No | ||
| raw_markdown | No | ||
| latent_skill_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'shared safe mutation pipeline' but doesn't disclose idempotency, permissions, or side effects. Output schema exists but is not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, but omits essential information. Could include more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no annotations, and an output schema, the description is insufficient. The phrase 'shared safe mutation pipeline' is vague and unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameter semantics. Parameters like name, triggers, description, raw_markdown, latent_skill_id are not described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates skill metadata or markdown, and mentions the mutation pipeline. It distinguishes from siblings like create_skill and activate_skill by specifying 'update' and 'metadata or markdown'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., rename_skill, update_canonical_skill). No when-not-to-use or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_skillA
Validate a draft, canonical skill, or local skill path without mutating files.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | ||
| skill_or_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the non-mutating behavior, which is a key safety trait, but omits details like validation failure responses, permissions, or potential side effects beyond file mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, action-first sentence efficiently conveys purpose and key constraint ('without mutating files'), with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimally sufficient for a simple validation tool with an output schema, but given the large set of sibling tools (35+), it could better contextualize when validation is appropriate vs other diagnostic or modification operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific meaning beyond the input schema; terms like 'draft, canonical skill, or local skill path' hint at the 'skill_or_path' parameter but do not explain 'scope' or provide format/constraints. With 0% coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Validate' specific types of skills/paths (draft, canonical, local) without mutating files, distinguishing it from many sibling tools that modify or create skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validation tasks and notes no file mutation, but does not explicitly state when to use this tool over alternatives like 'get_skill_detail' or 'repair_skills', nor provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.6.1- Added
bootstrap
37 tool updates
v0.4.0- First observed
activate_skill - First observed
adopt_skill - First observed
cleanup_skill - First observed
context - First observed
create_skill - First observed
create_skill_draft - First observed
deactivate_skill - First observed
doctor - First observed
generate_skill - First observed
get_skill_detail - First observed
host_check - First observed
host_setup - First observed
import_skill - First observed
initialize_project - First observed
inspect_project_layout - First observed
list_audit_events - First observed
list_facts - First observed
list_skills - First observed
list_snapshots - First observed
migrate_project_layout - First observed
promote_skill_recommendation - First observed
propose_skill - First observed
publish_skill - First observed
purge_fact - First observed
recommend_skills - First observed
remember_fact - First observed
rename_skill - First observed
repair_skills - First observed
rollback_scope - First observed
share_skill - First observed
status - First observed
sync_instructions - First observed
sync_skills - First observed
track_latent_skill - First observed
update_canonical_skill - First observed
update_skill - First observed
validate_skill
TDQS
Many tools have overlapping purposes, especially around skills (21 out of 37). For example, create_skill, generate_skill, promote_skill_recommendation, and publish_skill have subtle differences that could confuse an agent. Descriptions are detailed but boundaries are still fuzzy.
Most tool names follow a verb_noun pattern in snake_case (e.g., activate_skill, list_skills). However, there are outliers like 'doctor', 'context', and 'host_check' (noun-verb) that break the pattern. Overall, the convention is mostly consistent.
With 37 tools, the set is large and perhaps overloaded. While the domain is complex, many tools handle edge cases or separate concerns that could be combined (e.g., several skill creation/promotion steps). The count feels slightly excessive but not unreasonable given the scope.
The tool set covers many aspects: skill lifecycle, facts, project layout, audits, snapshots. However, there are notable gaps: no tool to delete a skill permanently, no update_fact (only remember/purge), and no explicit create_snapshot tool (rollback uses latest snapshot). These holes may cause agent failures.
Maintenance
Related MCP Connectors
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
11Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory for AI agents. EU-hosted, privacy-first, hybrid recall, contradiction detection.
AI memory layer — one shared, persistent memory across every AI tool you connect.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides a persistent, vendor-neutral memory layer that allows AI tools and agents to share context and knowledge across different platforms while maintaining local data ownership. It enables users to store, recall, and manage structured memories through hybrid semantic search and automated context assembly.16Apache 2.0

Mnemexa MCPofficial
AlicenseAqualityDmaintenanceProvides persistent, self-optimizing memory for AI agents, enabling them to remember preferences and context across sessions and share knowledge across multiple agents.415ISC- AlicenseAqualityAmaintenanceMulti-modal RAG engine for AI assistants. Stores conversation history, conclusions, diffs, error traces, and other development artifacts in LanceDB with vector search, multi-factor scoring, and an LLM-driven consolidation pipeline.10MIT
- AlicenseNot gradedqualityCmaintenanceProvides persistent, cross-session memory for AI agents, allowing them to store and automatically retrieve information across different conversations and sessions without repeating context.15175MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YanAmorelli/universal-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server