Skip to main content
Glama
dialectforge

FlowState by DialectForge

Official

self_improve

Destructive

Manage Claude's learned skills and session state: record, confirm, and retrieve skills, save or load project state, and log metrics to track improvement.

Instructions

Manage Claude's learned skills and session state. Actions: learn_skill, get_skills, confirm_skill, save_state, get_state, log_metric, get_metrics Write: requires project="" (or project_id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoYour model name, if you know it (optional; never guessed)
skillNoWhat was learned
actionYes
contextNoWhen this applies
outcomeNo
projectNoProject name or id. Required for every write.
skill_idNo
key_factsNo
tool_nameNo
project_idNo
skill_typeNo
metric_typeNo
action_takenNo
focus_summaryNo
promoted_onlyNo
pending_decisionsNo
active_problem_idsNo
effectiveness_scoreNo0.0-1.0
active_component_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the batch has write/destructive potential, but the description never says which of the seven actions are reads versus writes or destructive (e.g. does save_state overwrite existing state?). It adds only the project requirement, leaving the actual destructive behavior undisclosed despite the annotation flagging it.

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

Conciseness4/5

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

Three compact sentences: purpose first, then the action list, then the write constraint. The action enumeration is dense but earns its place as the only routing information provided; nothing is wasted, though there is no structure grouping read vs write actions.

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

Completeness2/5

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

For a 19-parameter, 7-action dispatcher with no output schema and destructive potential, the description is far too thin. An agent cannot tell which actions mutate data, what each returns, or how the many optional parameters map to specific actions.

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

Parameters2/5

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

Schema coverage is only 26% across 19 parameters, so the schema does most of nothing here and the description must compensate. It clarifies the project/project_id alternation for writes, but says nothing about skill vs skill_id vs skill_type, metric_type, promoted_only, effectiveness_score, or how the per-action parameter subsets work.

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

Purpose4/5

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

The description states a clear domain (learned skills and session state) and enumerates the seven concrete actions, so an agent can see what the tool covers. However, it never distinguishes this tool from close siblings like log_learning, get_learnings, rules, or session, which also deal with learnings and session state, leaving real boundary ambiguity.

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

Usage Guidelines2/5

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

The only guidance is a prerequisite note ('Write: requires project=...'), which tells the agent how to call a write but not when to choose this tool over log_learning/get_learnings or which of the seven actions fits a given situation. There is no when-to-use, when-not-to-use, or alternative routing.

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