Skip to main content
Glama
dialectforge

FlowState by DialectForge

Official

log_work

Record decisions, changes, problems, learnings, and todos as you work, keeping each entry tied to a project and optionally queued for review.

Instructions

Record work as you go (write; project required). kind: decision (a choice made and why), change (something changed), problem (bug or blocker), learning (lesson or gotcha), todo (follow-up). summary: one short line. details: optional. component: optional component name (changes and problems default to 'General'). suggested=true: you are not sure the user wants this recorded, so it goes to the review queue instead of being saved. priority (todos; severity for problems): critical, urgent, normal (default), low. source: user_stated (the user said it), ai_inferred (your conclusion) or from_code (read in code or commits). Never include secrets (writes containing keys, tokens or passwords are refused).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
modelNoYour model name, if you know it (optional; never guessed)
sourceNoWhere it comes from: user_stated, ai_inferred, from_code
detailsNoOptional detail / reason / context
projectYesProject name or id. Required for every write.
summaryYesOne short line
categoryNoLearnings only
priorityNoTodos: priority. Problems: severity. critical, urgent, normal (default), low; older names high/medium also work.
replacesNoDecisions only: id of the earlier decision this one replaces
componentNoOptional component name (default 'General')
suggestedNotrue = put it in the review queue for the user instead of saving it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare this is a non-readonly, non-destructive, non-open-world write (readOnlyHint=false, destructiveHint=false, openWorldHint=false). The description goes further by explaining the suggested=true review-queue behavior, the secret-detection refusal, and the default component for changes and problems. These are useful behavioral details beyond the annotations. It does not cover permissions or rate limits, but that is acceptable given the annotations already establish the write profile.

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?

The description is a single dense paragraph but well-structured: it front-loads the core action and required parameter, then moves through the kind definitions, optional fields, and behavioral notes. Every sentence adds some information, though the density could make it harder to scan. It is appropriately sized for an 11-parameter tool.

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

Completeness4/5

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

With no output schema, the description carries the burden of explaining return behavior, and it does so partially by describing the review-queue outcome for suggested=true. It also covers secret refusal and defaults, which are important edge cases. However, it does not clarify what happens on success (e.g., an ID is returned) or how errors are surfaced, leaving a small gap for a write tool.

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

Parameters3/5

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

The input schema has 91% description coverage, so the schema already documents most parameters thoroughly. The description adds some meaning by explaining the kinds and the default for component on changes and problems, but it largely repeats what the schema already provides. For example, it lists priority and source values that are already enums in the schema. The value-add over the schema is minimal.

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 opens with 'Record work as you go (write; project required)' — a specific verb and resource with a clear write scope. It enumerates the five kinds (decision, change, problem, learning, todo), which helps an agent understand the broad purpose. However, it does not explicitly distinguish itself from siblings like log_change, log_learning, or problem; an agent might wonder whether to use those specialized tools instead.

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

Usage Guidelines3/5

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

The description implies usage by listing kinds and optional fields, but offers no explicit when-to-use or when-not-to-use guidance. It never says whether this is the preferred entry point over the more specific siblings (log_change, log_learning, problem). The agent must infer that this is a general-purpose alternative, but the toolset’s structure suggests otherwise.

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