Skip to main content
Glama

Save or Skip Matches

aiapplyd_triage_matches
Idempotent

Save or skip job matches to keep interesting roles or dismiss them with a reason, improving future match suggestions without contacting employers.

Instructions

Save or skip job matches: the answer to "want this one?". action "save" keeps matches in the user's saved list; action "skip" dismisses them so they stop showing, with an optional reason (not_interested, wrong_location, too_senior, too_junior, salary_too_low, wrong_role, company_mismatch, already_applied, other) that teaches the matcher. Pass up to 25 job_match_ids from aiapplyd_get_matches. Nothing is sent to any employer and nothing is spent. Do not use it to apply; use aiapplyd_apply. Next: aiapplyd_get_matches for the next matches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes"save" keeps the matches in the saved list. "skip" dismisses them.
reasonNoFor skip: why, so the matcher learns (e.g. "too_senior").
job_match_idsYesJob match ids from aiapplyd_get_matches, 1 to 25 (e.g. [48213, 48214]).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
resultsYes
attemptedYes
succeededYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.8.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations, the description adds important behavioral details: skipping makes matches stop showing, saving adds them to the user's saved list, the reason teaches the matcher, and nothing is sent to any employer or costs anything. This gives the agent a clear model of real-world side effects beyond the structured hints.

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 compact and front-loaded: it leads with the core action, explains the parameters inline, and then covers safety, exclusions, and next steps. Every sentence earns its place with no filler or repetition.

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

Completeness5/5

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

For a tool with three parameters, two enums, and an output schema, the description is complete enough to guide correct invocation. It covers what the tool does, what inputs to pass, the optional reason, the no-external-effect guarantee, the explicit non-application use case, and the natural next step.

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?

The schema already covers all parameters with 100% coverage, but the description adds meaningful context by explaining that 'skip' dismisses matches so they stop showing, the reason 'teaches the matcher,' and that job_match_ids come from aiapplyd_get_matches with a max of 25. This is more than a restatement of the schema.

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: 'Save or skip job matches' and explains the two actions 'save' and 'skip' in concrete terms. It also explicitly distinguishes itself from aiapplyd_apply, so an agent can tell this tool apart from the most similar sibling.

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

Usage Guidelines5/5

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

The description gives clear usage context: use this to save or skip matches, pass up to 25 IDs from aiapplyd_get_matches, and optionally provide a skip reason to teach the matcher. It explicitly says 'Do not use it to apply; use aiapplyd_apply' and points to aiapplyd_get_matches as the next step.

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