Skip to main content
Glama

write

Create or update Markdown-based rules, skills, workflows, or agents to build a knowledge base for AI agents to discover and install.

Instructions

Create or update a content item (rules, skills, workflows, agents)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath for the content (e.g. "rules/coding-standards"). Category is derived from the first path segment.
tagsNoTags (frontmatter)
titleNoTitle (frontmatter)
contentYesMarkdown body content (without frontmatter)
versionNoSemver version (frontmatter). Defaults to 1.0.0
requiresNoRequired MCP servers (frontmatter, e.g. ["mcp-local-rag"]). Used to gate installation.
appliesToNoTechnology stacks this content applies to (frontmatter, e.g. ["angular"], ["python"]). Used to gate installation.
overwriteNoSet to true to overwrite an existing file
descriptionNoShort description (frontmatter)
compatibilityNoCompatible AI agents (frontmatter). Defaults to ["opencode", "claude-code", "cline"]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.6.0
    • addedInput schema / properties / appliesTo
      Added value: +{
      +  "description": "Technology stacks this content applies to (frontmatter, e.g. [\"angular\"], [\"python\"]). Used to gate installation.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / compatibility
      Added value: +{
      +  "description": "Compatible AI agents (frontmatter). Defaults to [\"opencode\", \"claude-code\", \"cline\"]",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / requires
      Added value: +{
      +  "description": "Required MCP servers (frontmatter, e.g. [\"mcp-local-rag\"]). Used to gate installation.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / version
      Added value: +{
      +  "description": "Semver version (frontmatter). Defaults to 1.0.0",
      +  "pattern": "^\\d+\\.\\d+\\.\\d+$",
      +  "type": "string"
      +}
  2. Addedv0.1.1

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it discloses almost nothing beyond the mutation implied by 'Create or update'. It does not explain that writing over an existing path destroys prior content unless 'overwrite' is set, nor any permission or gating behavior around 'requires'/'appliesTo'.

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 efficient phrase with the action and resource front-loaded and zero waste. It is arguably too terse given the tool's complexity, but every word earns its place.

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

Completeness3/5

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

For a 10-parameter mutating tool with no annotations and no output schema, the description is thin but the schema covers every parameter thoroughly, so an agent can still call it correctly. The missing piece is routing logic against the 'update' sibling and overwrite risk disclosure.

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

Parameters3/5

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

Schema coverage is 100%, so all ten parameters are self-documented, establishing a baseline of 3. The description adds no parameter-level meaning (e.g. frontmatter vs body handling) beyond what the schema already states.

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

Purpose4/5

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

States a specific verb pair ('Create or update') and resource ('content item'), and even enumerates content categories (rules, skills, workflows, agents). However it does not differentiate from the sibling 'update' tool, which appears to overlap directly with the update half of its function.

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 guidance on when to use this tool versus the sibling 'update', nor any mention of prerequisites or when-not-to-use. The agent must infer the distinction from the overlapping name alone.

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