Skip to main content
Glama

Launchpad file rules

read_contract
Read-onlyIdempotent

Retrieve the exact rules a .cohors/repo.json must satisfy and the judgment calls that make a contribution good before writing one, so you avoid schema guesswork.

Instructions

The exact rules a .cohors/repo.json must satisfy, plus the judgement calls that make a contribution good rather than merely valid. Call this before write_repo_contribution so you do not guess the schema. Takes no arguments.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "read_contract"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so safety is covered. The description adds that the return is a rule set plus qualitative judgement criteria — useful beyond the annotations — but says nothing about size, format, or whether the rules are static or repo-dependent. With annotations carrying the safety profile, this is adequate but modest added value.

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?

Three short sentences, front-loaded with what the tool returns, then why it matters, then the zero-argument fact. Nothing is wasted and the call-to-action ordering is clear.

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?

There is no output schema, so the description must convey the return content, and it does so at a high level (exact rules plus judgement calls). It could be more complete by indicating whether the rules are repo-specific or globally fixed, which affects how the agent should use the result, but the essentials for correct invocation are present.

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

Parameters4/5

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

Zero parameters, so the baseline is 4; the schema already shows an empty object. The line 'Takes no arguments' is redundant with the schema rather than adding new meaning, so it neither helps nor hurts.

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 names the specific resource — the rules a .cohors/repo.json must satisfy — and adds that it covers judgement calls for quality, not just validity. The read verb is implicit rather than stated, so an agent infers the operation from the name plus 'Call this', but the content scope is precise and clearly different from write_repo_contribution.

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

Usage Guidelines4/5

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

Explicit sequencing guidance: 'Call this before write_repo_contribution so you do not guess the schema' tells the agent exactly when to invoke it and why. There is no when-not guidance or statement of what to do if rules change mid-session, which keeps it short of a 5.

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