Skip to main content
Glama

extract_rule_template

extract_rule_template
Read-onlyIdempotent

Inspects a local git fix diff and generates Mako rule templates from removed TS/JS anti-pattern shapes, including related durable findings.

Instructions

Read-only Reef rule-pack mining tool: inspect a local git fix diff and propose .mako/rules YAML templates from removed TS/JS anti-pattern shapes, with related durable findings when available. Does not write files or mutate Reef state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdNo
projectRefNo
fixCommitYes
baseCommitNo
filePathNo
ruleIdPrefixNo
maxTemplatesNo
includeRelatedFindingsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolNameYes
projectIdYes
projectRootYes
fixCommitYes
baseCommitYes
templatesYes
draftYamlYes
suggestedPathYes
summaryYes
reefExecutionYes
warningsYes
_hintsYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds 'Does not write files or mutate Reef state' and explains the specific mining behavior, providing context beyond annotations.

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 a single, well-structured sentence that front-loads the purpose ('Read-only Reef rule-pack mining tool') and packs in key details without redundancy. Every word adds value.

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?

Given the tool's complexity (8 parameters, output schema exists), the description covers core inputs and outputs. However, it lacks context on prerequisites (e.g., project setup) and what 'related durable findings' entails. Almost complete.

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 0%, so the description must compensate. It mentions 'git fix diff' (implying fixCommit, baseCommit, filePath) and 'YAML templates' (relating to output), but does not systematically explain all 8 parameters. Partial compensation but not complete.

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 clearly states the tool's purpose: 'inspect a local git fix diff and propose .mako/rules YAML templates from removed TS/JS anti-pattern shapes'. It uses specific verbs and resources, and distinguishes from siblings like file editors or database tools.

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 for rule mining from diffs but does not explicitly state when to use this tool over alternatives like `reef_scout` or `reef_diff_impact`. No guidance on when not to use or how it compares to siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drhalto/agentmako'

If you have feedback or need assistance with the MCP directory API, please join our Discord server