Skip to main content
Glama

scaffold_addon

Create a new CS2 or Deadlock addon workspace with starter scripts, maps, materials, Valve typings, tsconfig, and Hammer setup README; fails if the addon already exists.

Instructions

Create a new addon in the local workspace (content/csgo_addons// with scripts/, maps/, materials/, ...), a starter cs_script, Valve's point_script.d.ts + tsconfig.json, and a README with the Hammer setup steps. Fails if the addon already exists.

Input Schema

NameRequiredDescriptionDefault
gameNoGame id: one of cs2, deadlockcs2
nameYesAddon name: lowercase [a-z0-9_], e.g. 'jump_arena'
with_scriptNo

Output Schema

NameRequiredDescriptionDefault
gameYes
nameYes
rootYesLocal content root of the addon
filesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds behavior beyond annotations by disclosing the failure condition ('Fails if the addon already exists') and the local workspace scope, though it does not detail permissions, idempotency beyond the failure case, or whether any existing files could be touched.

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

Conciseness5/5

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

The description is tightly structured into two sentences: the first front-loads the creation action and artifact list, and the second states the failure condition. There is no filler, and every clause contributes operationally useful information.

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?

The tool has an output schema, so return values do not need explaining. For a 3-parameter creation tool, the description covers the main outcome and failure mode well, but it leaves the with_script parameter's behavior ambiguous and does not explain how the game parameter affects the output beyond what the schema already states.

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 description coverage is 67%, so the schema already explains the game and name parameters. The description does not clarify the with_script boolean, and its statement that the tool creates 'a starter cs_script, Valve's point_script.d.ts + tsconfig.json' may imply these artifacts are always generated regardless of with_script, which could confuse an agent about the parameter's effect.

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

Purpose5/5

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

The description states a specific verb and resource: 'Create a new addon in the local workspace.' It goes further by enumerating the generated artifacts (scripts/, maps/, materials/, starter cs_script, point_script.d.ts, tsconfig.json, README), so an agent knows exactly what the tool produces and can distinguish it from related tools like write_addon_file or get_addon.

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 when to use the tool by saying it creates a new addon and fails if the addon already exists. However, it does not explicitly name alternatives or state when not to use it (e.g., use write_addon_file to edit an existing addon). The usage context is present but not fully framed against sibling tools.

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