Skip to main content
Glama

ass_save

Write an Aegisub/ASS subtitle document to disk and report exactly what was written (bytes, hash, encoding, change status). Optionally create a backup and adjust encoding, BOM, or newline.

Instructions

Write a document to disk and report exactly what was written.

Args: doc_id: document to save; the current one when omitted. path: destination; the document's known path when omitted. encoding: encoding override for this write. bom: force the UTF-8/UTF-16 BOM on/off (None keeps the current one). newline: "\n" / "\r\n" / "\r" override. create_backup: copy the previous file to <path>.bak first.

Returns {"doc_id", "path", "bytes_written", "sha256", "changed", "encoding", "has_bom", "newline", "backup"}. changed is true when the bytes written differ from whatever was on the destination beforehand (a brand new destination counts as changed); has_bom is derived from the bytes actually written. Line indices are 0-based.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bomNo
pathNo
doc_idNo
newlineNo
encodingNo
create_backupNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the exact return keys, defines 'changed' (including the new-destination case), explains that has_bom is derived from bytes actually written, and states that create_backup copies the previous file to <path>.bak. It still does not say whether the write is atomic, what permissions are required, or how failures are surfaced, so it falls just short of a 5.

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?

Purpose is front-loaded, followed by Args and then the return contract, so an agent can stop reading at any depth. The return-value enumeration is somewhat redundant given that an output schema exists, and the trailing 'Line indices are 0-based' note is irrelevant to a save operation and mildly confusing.

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

Completeness4/5

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

For a six-parameter mutation tool with zero annotation coverage, the definition supplies parameter docs, defaults, side effects, and return semantics, which is nearly everything needed to call it correctly. What is missing is error/failure behavior and a pointer to the related save tools; the return-value listing is redundant since an output schema already exists.

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

Parameters5/5

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 entirely, and it does: all six parameters are documented with meaning and defaults (doc_id/path default to the current document, bom=None preserves the current state, newline enumerates "\n"/"\r\n"/"\r", create_backup describes the .bak artifact). This is meaning the schema alone does not convey.

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 opening sentence gives a specific verb and resource ('Write a document to disk') plus the side effect of reporting what was written. It is unambiguous what the tool does, but it never distinguishes itself from siblings like ass_save_all or ass_export_text, which is the only thing keeping it from a 5.

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?

There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as ass_save_all (save every document) or ass_export_text. The only implicit usage hints are the parameter defaults ('the current one when omitted'), which describe invocation mechanics rather than tool selection.

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

Deploy Server

Other Tools