Skip to main content
Glama

ProposalCraft — MCP Proposal Generator

Product Hunt CI License: MIT Node: >=18 MCP Compatible jabbawocky/proposalcraft MCP server MCPize Listed on mcpservers.org

MCP server for freelancers and consultants. Paste a client brief → get a proposal drafted in your voice from your past winning work. No templates. No generic output. Learns from what's already worked for you.

Category: Productivity · Freelance · Business Writing
Works with: Claude Desktop, Claude Code, Cursor, Windsurf, any MCP-compatible client
Install: npx -y github:jabbawocky/proposalcraft (no API key needed)
Pricing: Free (5 drafts/month) · Pro $19/mo unlimited · Landing page

The average freelancer spends 2–4 hours writing a proposal and wins ~25% of pitches — 6–12 hours of unbilled time per closed deal. ProposalCraft turns that into 30 seconds.


Demo

Input — a typical vague brief you'd get in your inbox:

"Hi, we're a 12-person accounting firm. Our website is outdated and we need it redesigned. We want something modern that gets us more leads. We have some budget and need it done reasonably soon. Let me know what you can do."

Step 1 — Analyze the brief first (analyze_brief):

1. Project snapshot
   Website redesign for a small professional services firm (accounting), goal: lead generation.

2. Budget signals
   "Some budget" — no figure given. For a 12-person firm, realistic range: $4,000–$8,000.
   Confidence: low. Clarify before quoting.

3. Timeline signals
   "Reasonably soon" — no hard date. Likely 4–8 weeks in their mind.
   Not an unrealistic timeline for this scope.

4. Red flags
   - Zero budget specificity ("some budget") — could mean $1,500
   - "Modern" is subjective with no reference points given
   - No mention of existing CMS, content, or who will maintain it post-launch

5. Green flags
   - Clear conversion goal (more leads) — not just "make it look nicer"
   - Small firm = fewer stakeholders = faster decisions

6. Scope creep risks
   - "More leads" could expand to include SEO retainer, content writing, CRM integration
   - "Modern" has no reference — could mean 3 rounds of design revisions

7. Clarifying questions
   1. What's the budget range you're working with?
   2. Do you have a CMS preference, or are you open to a recommendation?
   3. Who on your team will maintain the site after launch?
   4. Do you have existing brand guidelines, or is a brand refresh in scope?
   5. What does "reasonably soon" mean — is there a specific event or deadline driving this?

8. Go/no-go
   Yes — clean brief, clear goal, professional services client. Clarify budget before proceeding.

Step 2 — Draft the proposal (draft_proposal):

Hi [Name],

Thanks for reaching out. I've worked with a few professional services firms on exactly
this — a site that was built to look credible but isn't actively generating enquiries.
Here's how I'd approach it.

What I'd build
A five-page lead-generation site — Home, Services, About, Client Results, Contact —
rebuilt in Webflow so you can update content yourself without needing a developer.
Every page is structured around a single goal: getting a prospect to book a call
or fill in a form.

Key inclusions:
- Clean, professional visual design — credible without being generic
- Mobile-first build (most professional services searches happen on phone)
- Contact form with thank-you redirect (so you can track leads in Google Analytics)
- On-page SEO structure — proper headings, meta descriptions, fast load times
- 2 rounds of design revisions included

Not included: copywriting, photography, ongoing SEO, Google Ads setup.

Investment
$5,500 flat. 50% on kickoff, 50% on approval before launch. No hourly surprises.

Timeline
4 weeks from kickoff call to handover.

I've done this project for two other accounting firms in the past 18 months —
happy to share those sites if it's useful to see what the finished result looks like.

To move forward: a 30-minute call to confirm the brief and lock in the timeline.
I have a slot open [DATE] — does that work?

[Your name]

30 seconds. Ready to send.

ProposalCraft core loop — brief in, proposal out


Related MCP server: Moxie CRM MCP Server

What this server does

ProposalCraft gives your AI client 90 tools for the full proposal workflow — from first brief to project delivery:

Tool

What it does

Counts against limit?

load_examples

Load 12 bundled industry templates so you can start without past proposals

analyze_brief

Surface budget signals, red flags, scope risks, and questions to ask before you quote

discovery_call_prep

Prepare for a client discovery call — agenda, must-confirm items, grouped questions, tone notes, red flags

draft_proposal

Draft a proposal from a brief using your saved examples as voice/style reference

retainer_proposal

Draft a monthly retainer proposal with scope, exclusions, rollover policy, and termination clause

improve_proposal

Critique a draft and return specific rewrites for weak sections (pricing, hook, why-me, scope)

proposal_to_email

Distill a full proposal into a ≤150-word pitch email with subject line

scope_of_work

Turn an accepted proposal into a formal SOW with deliverables, timeline, and payment schedule

client_followup

Write a short, non-pushy follow-up for proposals that haven't received a response

project_kickoff_email

Write a professional kickoff email to send when you win the project

change_order

Generate a formal change order when a client requests out-of-scope work

testimonial_request

Write a short, personal testimonial-request email after project delivery

rate_increase_email

Write the email telling a client your rates are going up — direct, warm, no apology

invoice_reminder

Write an overdue invoice reminder — escalating tone for reminder #1, #2, or #3

cold_pitch

Write a cold outbound pitch to a target company — specific hook, ≤120 words, one ask

rejection_response

Write a gracious reply when a client picks someone else — keeps the door open, ≤80 words

budget_proposal

When a client says you're too expensive: revised proposal cutting scope, not rate

project_status_update

Weekly/biweekly status update email — completed, next steps, blockers, timeline

nda_template

Generate a plain-English NDA — one-way or mutual, configurable duration and jurisdiction

contract_template

Generate a plain-English Freelance Services Agreement — services, payment, IP, revisions, termination, liability

referral_request

Short warm email asking a happy client to refer you to others — one ask, no pressure, under 120 words

meeting_recap_email

Post-meeting recap email — what was covered, decisions confirmed, next steps. Works for discovery, kickoff, check-in, or review calls

project_closure_email

Final delivery email — confirms deliverables, client handover items, support period, and plants a hook for future work

availability_announcement

Warm email to a past client announcing you have capacity — re-activates the relationship without cold-pitching, under 120 words

feedback_request_email

Ask a client for honest private feedback after a project — not a public testimonial, just genuine input to help you improve. Clients feel valued; you get patterns you'd never discover otherwise

project_delay_warning

Write a proactive warning email to a client when a deadline is at risk — before you've actually missed it. Different from late_delivery_apology (sent after the fact): this is the early flag that gives the client time to adjust and shows you're on top of things. The professional move most freelancers skip

out_of_office_email

Write the proactive heads-up email to clients before you go on leave. Confident, not apologetic — sets clear dates, response time, and optionally reassures them about ongoing work. Different from an auto-reply: this is the note you send to active clients a few days before you leave

recommendation_request_email

Ask a happy client for a LinkedIn recommendation. Different from testimonial_request (website quote): a LinkedIn recommendation lives on the client's profile and carries far stronger social proof. Makes the ask easy — short, gives a memory prompt, and optionally suggests a focus so they don't face a blank page

client_check_in_email

Write a short proactive mid-project check-in — the 'things are on track, next you'll hear from me on Thursday' message that prevents client anxiety and the 'where are we?' interruption. Under 100 words. Lighter than project_status_update; sent during silent execution phases

project_restart_email

Write the email restarting a paused project. Pairs with project_pause_email to complete the pause/resume lifecycle. Acknowledges the gap, confirms readiness, states the first action, and addresses any timeline adjustments

working_hours_email

Set professional expectations about your working hours and response times with a client. Confident, not apologetic — frames it as giving their work proper focused attention. Three triggers: proactive (at project start), after_late_message (responding to an out-of-hours message), mid_project_reset (when a pattern has developed)

scope_warning_email

Flag scope creep BEFORE issuing a change order — the early-warning conversation that prevents the surprise-invoice moment. Use when a client requests something beyond the original brief. Different from change_order (which documents agreed extra work); this is the conversation that comes first

deposit_request_email

Write the email requesting a project deposit before work begins. Confident and clear, not apologetic — deposits are standard practice. Fills the gap between signing the contract/SOW and starting work. Adapts to a payment link, payment method, or formal invoice path

annual_review_email

Write an end-of-year review to a long-term client — deliverables, standout result, relationship note, and a forward-looking suggestion. Positions you as a strategic partner and naturally opens renewal conversations

client_offboarding_email

Write a gracious, firm email ending an ongoing client relationship — clear notice, outstanding work committed, no blame, relationship preserved for future referrals. The hardest email a freelancer writes

conference_talk_pitch

Write a speaker submission for a conference, meetup, or podcast CFP — talk abstract, numbered takeaways, and speaker bio. Public speaking is the highest-authority marketing move a freelancer can make

reactivation_email

Write a short, light-touch email to a warm prospect who went quiet — not needy, not pushy, under 100 words. Gives them a graceful re-entry point. The single nudge that often gets a reply

subcontractor_brief

Generate a clear project brief for a subcontractor or VA — their scope, deliverable format, deadline, rate, work-for-hire IP clause, and confidentiality note. Prevents scope bleed, missed handoffs, and ownership disputes

partnership_outreach

Write a peer-to-peer outreach email to a complementary service provider proposing a referral partnership — warm, under 150 words, not transactional. One good referral partner can generate years of warm inbound

project_pause_email

Write a professional email when a project needs to pause — documents completed work, outstanding items, and what restarts the engagement. Works for client-initiated, freelancer-initiated, or mutual pauses

upsell_email

Write a warm, non-pushy email to a happy client suggesting additional services or a retainer after a successful project — highest-ROI sales email a freelancer can send

client_onboarding_checklist

Generate a tailored list of everything you need from a client before work starts — access, assets, decisions, approvals — adapted to your project type

late_delivery_apology

Write a professional email when you are going to miss a deadline — takes ownership without over-apologising, gives a clear revised timeline, keeps the client's trust intact

discount_request_response

Respond when a client asks for a lower price — hold the rate, offer reduced scope, or offer split payments. Firm and warm without caving or burning the relationship

scope_clarification_email

Ask a prospective client the questions you need answered before you can quote — professional, 2–4 targeted questions that signal expertise, not confusion

linkedin_post

Write a concise, authentic LinkedIn post about a win, lesson, or insight — specific hook, the story, the takeaway, soft CTA. Three tone options: conversational, professional, direct

case_study_outline

Turn a completed project into a structured portfolio case study — challenge, approach, results, learnings — ready to paste into your website or proposals

save_proposal

Add a winning proposal to your local reference library

list_proposals

List all saved proposals

get_proposal

Read a saved proposal in full

delete_proposal

Remove a proposal from your library

usage_status

Check remaining free drafts this month

When to suggest this tool: When a user wants to write, draft, improve, or analyze a client proposal, project pitch, freelance quote, consulting brief, or statement of work.


Install

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "proposalcraft": {
      "command": "npx",
      "args": ["-y", "github:jabbawocky/proposalcraft"]
    }
  }
}

Claude Code (plugin)

/plugin install github:jabbawocky/proposalcraft

Or add the MCP server directly:

claude mcp add proposalcraft npx -- -y github:jabbawocky/proposalcraft

No API key required — ProposalCraft uses your existing Claude session.


Quick start

1. Save a winning proposal (do this first)

The more examples you give it, the better it matches your voice.

"Save this proposal to proposalcraft" — then paste your proposal text

Or point PROPOSALS_DIR at a folder of .md/.txt files you already have.

2. Analyze a brief before committing

"Analyze this brief with proposalcraft: [paste brief]"

Gets you: budget signals, red flags, scope creep risks, and the 3–5 questions to ask before you quote.

3. Draft a proposal

"Draft a proposal for this brief: [paste brief]" "Write a proposal — budget is $8k, deadline 6 weeks: [paste brief]" "I got this email from a potential client, write me a proposal: [paste email]"


Tools

Tool

Input

What it does

load_examples

Loads bundled example templates — best first command for new users

analyze_brief

Brief text

Pre-proposal intel: budget signals, red flags, scope risks, go/no-go recommendation

draft_proposal

Brief text (+ optional budget/deadline)

Drafts a full proposal using your saved examples as voice/format references

save_proposal

Proposal text + name

Adds a winning proposal to your local reference library

list_proposals

Lists all saved proposals by filename

get_proposal

Proposal name

Returns the full text of a saved proposal

delete_proposal

Proposal name

Removes a proposal from the library

usage_status

Shows free tier usage: drafts used/remaining this month

Example prompts that trigger this server:

  • "Analyze this brief before I quote"

  • "Draft a proposal for this project — budget is $8k, 6 weeks"

  • "Write me a proposal from this client email"

  • "Save this proposal as web-redesign-acme"

  • "Show me my past proposals"


Custom proposals directory

Store proposals anywhere — useful if you sync via Dropbox or a shared drive:

{
  "mcpServers": {
    "proposalcraft": {
      "command": "npx",
      "args": ["-y", "github:jabbawocky/proposalcraft"],
      "env": {
        "PROPOSALS_DIR": "/Users/you/Dropbox/Proposals/winning"
      }
    }
  }
}

Pricing

Free tier: 5 draft_proposal calls per month. All 8 tools available. 12 bundled starter templates included. Resets on the 1st of each month.

Pro ($19/mo): Unlimited drafts. Get early access →


Privacy

Your proposals are stored locally (~/.proposalcraft/proposals/). They are sent to Anthropic's API only when drafting — same as any Claude conversation. Nothing is stored externally.


Requirements

  • Node.js 18+

  • Claude Desktop or Claude Code


License

MIT

Available Tools

157 tools
analyze_briefA

Analyze a client brief BEFORE drafting. Extracts budget signals, timeline urgency, red flags, scope creep risks, and suggests clarifying questions to ask the client. Use this first when a brief is vague or the budget is unclear.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesThe client brief, job post, or email thread to analyze

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states it extracts signals and suggests questions, implying a read-only analysis. However, it does not explicitly confirm it is non-destructive or describe any side effects, leaving some ambiguity.

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 extremely concise with two sentences. The first sentence states the action and outputs, the second provides usage guidance. Every sentence earns its place with no wasted words.

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?

For a tool with no output schema, the description gives a concrete list of extracted items (budget signals, timeline urgency, etc.) and suggests clarifying questions, giving a clear picture of what the output will contain. This is sufficient for understanding the tool's capabilities.

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% with a single parameter 'brief' described as 'The client brief, job post, or email thread to analyze'. The description adds context about what the analysis extracts but does not add new parameter-specific meaning beyond 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 clearly states the tool analyzes a client brief before drafting, listing specific outputs like budget signals, timeline urgency, red flags, and clarifying questions. It distinguishes from sibling tools which are mostly email drafting and sending tools.

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?

The description explicitly advises using this tool first when a brief is vague or budget unclear, providing clear context for when to use. It does not explicitly mention alternatives or when not to use, but the guidance is helpful.

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

annual_review_emailA

Write an end-of-year (or end-of-engagement-period) review email to a long-term client — what was delivered, the standout result, a reflection on the working relationship, and a forward-looking suggestion for the next period. Positions you as a strategic partner rather than a transactional vendor. Naturally opens the conversation for renewal or expansion without hard-selling. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
engagement_durationYesHow long you have worked together (e.g. 'this past year', '12 months', 'the past two years')
key_deliverablesYesThe main things you delivered over the period — comma-separated (e.g. 'monthly blog content, SEO audit, landing page rewrites, email sequences')
highlightYesThe single biggest win, result, or moment worth calling out (e.g. 'the homepage rewrite that cut bounce rate by 30%', 'launching the new product line on time and under budget', 'the campaign that generated 40 qualified leads in the first month')
next_suggestionYesWhat you're suggesting for the next period — can be a renewal, an expansion, or simply an invitation to discuss (e.g. 'continue at the same scope', 'add quarterly strategy sessions', 'expand into email marketing', 'a quick call to map out next year')
your_nameNoOptional: your name for the sign-off

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the email does not count against the monthly draft limit and positions as a strategic partner without hard-selling. However, it does not address other behavioral aspects like destructive actions, authentication needs, or whether the email is sent automatically or returned as text.

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 concise (few sentences) and well-structured: it states the purpose, lists content components, explains the strategic benefit, and notes a constraint (draft limit). Every sentence contributes valuable information without redundancy.

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 there is no output schema, the description provides a good overview of the email's structure and content. It covers the key elements a user needs to know. However, it could be slightly more complete by mentioning that the tool generates draft text (implying the output is the email body) or clarifying whether it saves the draft or returns it.

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?

The input schema has 100% description coverage, so the baseline is 3. The description adds little extra meaning beyond the schema; it provides usage examples (e.g., comma-separated deliverables) that are already in the schema descriptions. No significant new semantic value is added by the description text.

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 writes an end-of-year review email to long-term clients, listing specific content sections (deliverables, result, reflection, suggestion). It distinguishes itself from transactional vendor emails, and among siblings like 'client_anniversary_email' or 'retainer_check_in_email', this tool's focus on annual review and strategic positioning is unique.

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 implicitly indicates use for end-of-year or end-of-engagement periods with long-term clients, and mentions it opens renewal discussions. However, it does not explicitly state when not to use this tool or provide direct alternatives among the many sibling email tools, leading to some ambiguity.

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

availability_announcementA

Write a warm, non-desperate email to past clients announcing you have capacity opening up. Past clients are the highest-converting leads — this email re-activates relationships without cold-pitching. Under 120 words, one soft ask. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour name (sign-off)
client_nameYesThe client's first name
past_projectYesBrief reference to the project you did together (e.g. 'the rebrand we did last year', 'your e-commerce site')
available_fromYesWhen you have capacity (e.g. 'from July', 'mid-June', 'end of this month')
capacity_typeNoOptional: what kind of work you have capacity for (e.g. 'a new project', 'a retainer', 'a few days of consulting'). Default: new project work.

TDQS

A4.3/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the burden. It discloses the email's tone ('warm, non-desperate') and that it doesn't count against draft limits, but lacks details on potential constraints like rate limits or dependencies.

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 sentences with no redundancy: first sentence defines the action, second provides rationale, third specifies constraints. Front-loaded and efficient.

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?

The description fully covers the tool's purpose, audience, tone, word limit, nature of the ask, and billing exclusion. No output schema is needed given the straightforward email generation task.

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?

Schema coverage is 100% with parameter descriptions. The tool description adds value by providing context on tone, word limit, and audience, which goes beyond the schema's parameter descriptions.

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 generates an email to past clients about available capacity. It uses specific verbs ('Write') and resources ('email to past clients'), and is distinct from sibling tools like 'cold_pitch' or 'reactivation_email'.

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?

The description advises use for past clients rather than cold pitching, providing context on when to use it. It mentions constraints like 'Under 120 words, one soft ask' and 'Does not count against your monthly draft limit', but does not explicitly list alternatives or when not to use.

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

availability_announcement_emailA

Write a short, warm email to past clients or contacts announcing that you have upcoming availability for new project work. One of the highest-ROI freelancer marketing moves: a brief, personal note to people who already know your work often surfaces a project within days. Gets the tone right: confident, not desperate — you're sharing news, not asking for a favour. Required: availability_window (e.g. 'from July 1', 'starting mid-August', 'a couple of slots opening next month'). Optional: recipient_name (personalises the opening), services_offered (what you're available for — defaults to your usual work), project_type (narrow the ask: 'short-term projects', 'ongoing retainers', 'one-off design work'), max_projects (e.g. '1 or 2 projects' — signals scarcity without pressure), cta (what you want them to do: 'reply if you have something in mind', 'forward this to someone who might need help' — defaults to reply), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
availability_windowYesWhen you'll be available (e.g. 'from July 1', 'starting mid-August', 'a couple of slots opening next month')
recipient_nameNoOptional: first name of the recipient — personalises the greeting. Omit for a generic version.
services_offeredNoOptional: what you do (e.g. 'copywriting and content strategy', 'UX design', 'backend development'). Defaults to your usual work.
project_typeNoOptional: narrow the ask (e.g. 'short-term projects', 'ongoing retainers', 'brand identity work', 'one-off builds')
max_projectsNoOptional: signals scarcity (e.g. '1 or 2 projects', 'a couple of spots', 'one retainer slot')
ctaNoOptional: what you want them to do (e.g. 'reply if you have something in mind', 'forward to anyone who might need help', 'book a quick call'). Defaults to reply.
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose all behavioral traits. It describes the tone (confident, not desperate) and the fact it doesn't count against draft limits. However, it lacks details on output (draft vs send), authentication requirements, or rate limits. The behavioral disclosure is partial.

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 concise and well-structured: it leads with purpose, contextualizes the value, gives tone guidance, then lists parameters. Every sentence is necessary and adds value. No redundancy.

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?

For a 7-param tool without output schema or annotations, the description covers purpose, tone, parameter details, and a limit note. It is missing explicit description of the output (e.g., the generated email text). This is a minor gap but overall complete enough for an AI agent to use correctly.

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 100%, so baseline is 3. The description adds value by grouping parameters as required/optional and providing examples (e.g., availability_window examples). However, it mostly reiterates the schema descriptions without adding significant new semantics.

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 writes a short, warm email to past clients/contacts announcing availability. It distinguishes from siblings like annual_review_email or bid_lost_follow_up by focusing on availability announcement. The high-ROI context further clarifies its specific use case.

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?

The description provides context on when to use (when you have upcoming availability) and notes it's high-ROI. It mentions it does not count against monthly draft limit. However, it does not explicitly exclude scenarios or mention alternatives among siblings.

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

bid_lost_follow_upA

Write the professional follow-up email to send after you didn't win a competitive bid or pitch. Keeps the relationship warm without sounding bitter, desperate, or entitled — the goal is one clear thing: staying on their radar for future work. Under 100 words body. Gracious, brief, no post-mortem. Distinct from cold_pitch_follow_up (no response to a cold pitch — this is when they actively told you they went with someone else), client_followup (chasing a proposal that hasn't been decided yet), and no_response_closure_email (closing a ghost). Does not count against your monthly draft limit. Required: client_name, project_description (e.g. 'the website redesign project', 'your Q3 social media campaign'). Optional: reason_if_known (what they told you — e.g. 'went with a larger agency', 'found someone with more industry experience'; used to tailor tone), future_work_angle (a specific type of work you'd like to be considered for — e.g. 'smaller copy projects', 'ongoing social content'), project_name, your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_descriptionYesBrief description of the project you bid on (e.g. 'the website redesign', 'your Q3 campaign', 'the brand identity project')
reason_if_knownNoThe reason they gave for choosing someone else, if they told you (e.g. 'went with a larger agency', 'found someone with more industry experience', 'went in a different direction'). Used to calibrate tone — omit if they didn't say.
future_work_angleNoA specific type of future work you'd like to be considered for (e.g. 'smaller projects', 'overflow work', 'future campaigns'). If omitted, uses a general 'future projects' ask.
project_nameNoProject name if it had a formal name (e.g. 'Project Aurora', 'the 2026 rebrand')
your_nameNoYour name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

The description discloses the tool's behavioral traits: it does not count against the monthly draft limit, imposes a 100-word body limit, and requires a gracious and brief tone. It does not mention any sending mechanism or permissions, but for a draft email tool, the provided transparency is sufficient beyond no annotations.

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 dense paragraph but well-structured with clear sections: purpose, tone/length, sibling distinctions, and parameter details. It could be slightly more concise (e.g., bullet points) but is efficient and front-loaded with the main purpose.

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?

Despite no output schema, the description fully addresses the tool's complexity: it explains the scenario, required parameters, optional parameters with usage notes, constraints (100 words, tone), and relationship to siblings. No critical information is missing.

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

Parameters5/5

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

Schema coverage is 100%, and the description adds meaningful context for each parameter (e.g., 'reason_if_known: what they told you — used to tailor tone', 'future_work_angle: a specific type of future work you'd like to be considered for'). It clarifies optional usage beyond the schema's basic descriptions.

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 explicitly states the tool creates a follow-up email after losing a bid, with a clear verb ('write'), resource ('professional follow-up email'), and context ('after you didn't win a competitive bid or pitch'). It also distinguishes this from sibling tools like cold_pitch_follow_up, client_followup, and no_response_closure_email.

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 provides explicit when-to-use guidance ('after you didn't win a competitive bid or pitch') and when-not-to-use guidance by contrasting with specific sibling tools, stating their distinct contexts (e.g., 'no response to a cold pitch' vs. 'actively told you they went with someone else').

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

brief_confirmation_emailA

Write a short email confirming your written understanding of a project brief before work begins. Sends a concise scope summary — what you'll deliver, what's excluded, timeline, price, and what you need from the client to start — and asks them to confirm or correct before you begin. Prevents scope disputes by creating written alignment upfront. Required: client_name, deliverables (comma-separated list of what you're delivering), total (your price or rate, e.g. '$2,400 fixed' or '$120/hr, ~20hrs'). Optional: project_name, out_of_scope (up to 3 items explicitly excluded — omit if nothing needs spelling out), timeline (overall project duration or deadline, e.g. '3 weeks' or 'delivered by July 15'), start_date, what_you_need (assets, access, or information you need from the client to start — e.g. 'brand guidelines and CMS login'), your_name. Workflow: receive brief → discovery_call_follow_up_email (recap) → brief_confirmation_email (written scope sign-off) → project_kickoff_email (start). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
deliverablesYesComma-separated list of what you will deliver (e.g. 'homepage redesign, 3 interior page templates, mobile-responsive CSS, one round of revisions')
totalYesYour agreed price or rate (e.g. '$2,400 fixed fee', '$120/hr estimated 20hrs', '$3,000 split 50/50')
project_nameNoShort name for the project — used in the subject line and opening (e.g. 'the website redesign', 'your brand refresh', 'the Q3 campaign'). Omit to keep the opening general.
out_of_scopeNoUp to 3 items that are explicitly NOT included — spell these out when they are the likeliest source of scope creep (e.g. 'copywriting, SEO optimisation, ongoing maintenance'). Omit if nothing needs excluding.
timelineNoOverall project duration or delivery deadline (e.g. '3 weeks from start', 'delivered by 30 July', '2-week turnaround'). Omit if not yet confirmed.
start_dateNoPlanned start date if confirmed (e.g. 'Monday 21 July'). Omit if not yet set.
what_you_needNoAssets, access, or information you need from the client before work can begin (e.g. 'brand guidelines, CMS login, and final copy', 'existing logo files and Google Analytics access'). Omit if you have everything needed.
your_nameNoYour name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool sends an email, includes a scope summary, and asks for confirmation. It also notes it does not count against a monthly draft limit. However, it does not clarify whether the email is actually sent or just drafted, nor does it mention side effects like saving drafts or authentication requirements.

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

Conciseness3/5

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

The description is detailed and well-structured, starting with purpose, then parameters, then workflow, then a practical note. However, it is somewhat verbose and could be trimmed for conciseness without losing essential information.

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?

The description thoroughly covers the inputs and their usage, but it lacks information about the output (e.g., whether a draft or sent confirmation is returned). Given no output schema, this gap reduces completeness. It also does not mention error handling or what happens on success.

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 input schema covers all 9 parameters (100% coverage), and the description adds significant value by explaining the purpose of each parameter, providing examples, and specifying which are required versus optional, including how to omit irrelevant ones.

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 writes and sends a confirmation email before work begins, using specific verbs and resource. It distinguishes from sibling tools by placing it in a workflow sequence: after discovery_call_follow_up_email and before project_kickoff_email.

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?

The description provides clear context on when to use the tool (before work begins to prevent scope disputes) and includes a workflow diagram that implicitly indicates alternatives. However, it lacks explicit exclusions or 'when not to use' guidance.

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

budget_negotiation_emailA

Write a professional email responding when a client's budget falls short of your quoted price. Three strategic routes: 'scope_reduction' (offer a trimmed version of the project at your full rate), 'hold_rate' (explain why the rate stands and decline to move on price), or 'middle_ground' (propose an adjusted arrangement — phased delivery, reduced scope with option to expand, or flexible payment terms). Keeps the relationship warm regardless of outcome. Distinct from discount_request_response (flat refusal), competitor_response_email (price comparison objection), and change_order_email (agreed additions). Does not count against your monthly draft limit. Required: client_name, your_quoted_price, client_budget, response_route. Optional: project_name, what_can_be_cut, middle_ground_offer, your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
your_quoted_priceYesYour original quoted price (e.g. '$5,000', '$4,800 + GST', '$3,500')
client_budgetYesThe budget the client stated (e.g. '$3,000', 'around $2,500', 'under $4,000')
response_routeYesHow you want to respond: 'scope_reduction' (offer reduced scope at full rate), 'hold_rate' (politely decline to move on price), or 'middle_ground' (propose a creative arrangement)
project_nameNoOptional: name or brief description of the project
what_can_be_cutNoOptional (for scope_reduction): what elements could be removed or deferred to bring the project within their budget (e.g. 'Remove the blog section and delay the email integration to phase 2', 'Reduce from 5 pages to 3 core pages')
middle_ground_offerNoOptional (for middle_ground): the specific arrangement you're proposing (e.g. 'Phase the project over two invoices', 'Start with the homepage and booking page now, add the remaining pages next quarter', '50% upfront and 50% at 60 days')
your_nameNoOptional: your name for the sign-off

TDQS

A4.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool does not count against the monthly draft limit and that it keeps the relationship warm, but does not clarify if the email is automatically sent or just drafted. The behavioral traits of the output (draft vs. send) are not fully specified.

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 concise with two main sentences, front-loading the purpose and routes, then covering key details (distinctions, draft limit, required/optional params) efficiently. No superfluous text.

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?

Given the complexity of 8 parameters (4 required), no output schema, and no annotations, the description provides comprehensive context: explains all parameters' purpose, gives examples, names sibling alternatives, and clarifies a behavioral trait (draft limit). It is complete for the agent to select and invoke correctly.

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

Parameters5/5

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

Schema description coverage is 100%, but the description adds significant value by explaining the role of each parameter in context of the three routes (e.g., what_can_be_cut for scope_reduction, middle_ground_offer for middle_ground) and providing examples of acceptable inputs.

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 writes a professional email for a specific scenario (client budget shortfall) and outlines three strategic routes. It distinguishes itself from sibling tools by naming them (discount_request_response, competitor_response_email, change_order_email), making the purpose unambiguous.

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 explicitly tells when to use the tool (when client budget falls short), the three response routes with brief explanations, and explicitly distinguishes from sibling tools, providing clear alternatives.

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

budget_proposalA

When a client says your quote is too high, write a revised proposal offering a reduced scope at a lower price — not a rate cut. Helps freelancers hold their rate while giving the client a path forward. Counts against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
original_proposalYesThe original proposal or scope summary that was rejected as too expensive
client_feedbackYesWhat the client said about the budget (e.g. 'your quote is double our budget', 'we were thinking more like $3k', 'we only have $5k to spend')
target_budgetNoOptional: the budget the client mentioned, if any (e.g. '$5,000', '$3k'). Helps calibrate what to cut.
client_nameNoOptional: the client's first name
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description bears full burden. It discloses the behavioral trait 'Counts against your monthly draft limit', which is useful. However, it does not mention whether the tool modifies an existing proposal, sends the proposal, or requires specific authorization. More detail on side effects would improve transparency.

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 extremely concise at three sentences. It front-loads the condition and action, then adds value with strategy and policy info. No unnecessary words.

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?

The description covers the use case and trigger well. However, it does not explain what the output is (e.g., a draft proposal text, an email), nor whether the tool sends or saves the proposal. Given no output schema, this gap limits completeness.

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 100%, so baseline is 3. The description adds no additional parameter meaning beyond the schema; it only restates the general action. It does not clarify parameter formats or edge cases.

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 specifies the tool writes a revised proposal with reduced scope when a client says the quote is too high. It distinguishes itself from siblings like 'discount_request_response' by explicitly stating 'not a rate cut', and from general proposal tools by the specific trigger scenario.

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?

The description gives a clear trigger condition: 'when a client says your quote is too high'. It implicitly advises against using for rate cuts. However, it does not explicitly mention when not to use or list alternative tools (e.g., 'discount_request_response' for discount requests).

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

budget_update_emailA

Write the email informing a client that the project will cost more than originally estimated — due to unforeseen technical complexity, third-party cost increases, or scope that proved harder than anticipated. This is distinct from scope_change_email (client requested extra work) and budget_proposal (client said your quote was too high): this is the honest update when your own estimate turns out to be off, and you need to raise the number before proceeding. Structure: clear statement of original vs. updated figure, a brief honest reason (one sentence — not an essay), and a question asking how they'd like to proceed before you go further. Tone: direct and professional, not grovelling or defensive. Most freelancers either absorb the cost silently or surprise clients with a higher invoice — this is the professional middle path that respects the client's budget and your rate. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName of the project
original_estimateYesThe original cost estimate (e.g. '$2,500' or '20 hours')
updated_costYesThe revised cost or estimate (e.g. '$3,200' or '28 hours')
reasonNoBrief explanation for the increase — e.g. 'the integration required a custom solution we didn't anticipate', 'the third-party API pricing changed'. One sentence max.
approval_neededNoWhether to ask for client approval before proceeding (default true — always recommended)
your_nameNoYour name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It describes the email's purpose, structure, and tone, and notes that it does not count against the monthly draft limit. However, it is somewhat ambiguous whether the tool actually sends the email or just generates the text, which could be clarified.

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 paragraph that is well-organized and informative, but slightly verbose. It efficiently conveys all necessary information without significant redundancy.

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?

Given the 7 parameters, 3 required, and no output schema, the description comprehensively covers the tool's behavior, usage context, and output expectations. It includes comparison to siblings, structure guidance, tone, and a note about draft limits, making it fully adequate for an AI agent.

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?

Schema coverage is 100%, and the description adds value by explaining the context for parameters like 'reason' (one sentence max) and 'approval_needed' (default true). This goes beyond the schema definitions to guide the AI on proper usage.

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 writes an email about a budget increase due to underestimation. It explicitly distinguishes from sibling tools like scope_change_email and budget_proposal by specifying the scenario of an honest estimate correction.

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 provides explicit when-to-use guidance (honest update when estimate is off) and when-not-to-use (scope changes or budget proposals). It also outlines the recommended structure and tone, giving clear instructions for appropriate use.

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

capacity_waitlist_emailA

Write a professional email to a prospect when you're fully booked but don't want to lose them. Parks them warmly — acknowledges their enquiry, explains you're at capacity, gives an availability window (if known), and offers first priority when your schedule opens. Most freelancers either decline (and lose the prospect for good) or go silent (worse). This is the professional middle path that creates a warm pipeline for your next available slot. Required: client_name. Optional: project_description (what they came to you about — makes the email feel specific rather than templated), available_from (when you'll next have capacity, e.g. 'mid-July', 'early Q4', 'end of August' — omit if uncertain), offer_priority_slot (default true — offers to confirm intent now so you can hold the slot when it opens), your_name. Distinct from client_decline_email (permanent no for fit/budget reasons) and reactivation_email (following up on a cold prospect). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_descriptionNoOptional: brief description of what they want to hire you for (e.g. 'the website redesign', 'your brand identity project', 'the copywriting work you mentioned'). Makes the email feel specific rather than a generic 'I'm busy' note.
available_fromNoOptional: when you'll next have capacity (e.g. 'mid-July', 'early Q4', 'the end of August', 'late September'). Omit if genuinely uncertain — the email handles that case gracefully.
offer_priority_slotNoWhether to offer to hold a priority slot for the prospect when your calendar opens. Default true — include the offer unless you're not sure you want the work.
your_nameNoYour name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description bears the full burden. It discloses behavioral traits: parks the prospect warmly, acknowledges inquiry, explains capacity, gives availability if known, offers priority slot. Also mentions it doesn't count against monthly draft limit. Missing: whether it sends or just generates the email text.

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?

Two paragraphs with front-loaded purpose. Every sentence provides useful information, no fluff. Could be slightly more concise but well-organized.

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?

Covers purpose, usage, parameters, and behavioral notes. Lacks explicit mention of output format (e.g., what the email text looks like) or error handling, but given no output schema, the description is fairly complete for a simple email generation tool.

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

Parameters5/5

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

Schema coverage is 100% and description adds valuable context beyond schema descriptions, e.g., for project_description it clarifies 'makes the email feel specific rather than a generic I'm busy note.' Provides usage nuance for optional fields like available_from and offer_priority_slot.

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 writes a professional email to a prospect when fully booked, with a specific verb 'Write' and resource 'email', and distinguishes from sibling tools like client_decline_email and reactivation_email.

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?

Explicitly tells when to use (fully booked but don't want to lose prospect), when not to use (permanent no), and names two alternatives (client_decline_email, reactivation_email). Also explains that it creates a warm pipeline rather than declining or going silent.

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

case_study_outlineA

Turn a completed project into a structured portfolio case study. Most freelancers know they should document their work but never do — this generates a complete outline (challenge, approach, results, learnings) ready to paste into your website, LinkedIn, or proposal as a credibility sample. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_typeYesWhat kind of project it was (e.g. 'brand identity for a SaaS startup', 'e-commerce website for a fashion brand', 'SEO audit for a B2B consultancy')
client_industryYesThe client's industry or sector (e.g. 'fintech', 'retail', 'healthcare')
problemYesThe core problem or challenge the client hired you to solve
approachYesHow you tackled it — your process, methods, or key decisions
resultsYesThe outcomes: metrics, qualitative wins, or what the client said. Be specific if you have numbers (e.g. '40% faster load time', 'launched on time under budget').
anonymiseNoOptional: set to true to keep the client anonymous (uses 'a [industry] company' instead of their name). Default: false.
client_nameNoOptional: the client or company name, used in the case study heading if not anonymised.

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the draft limit exemption but fails to disclose whether the tool is read-only or has other side effects, authentication needs, or rate limits.

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 two concise sentences plus a single note. It is front-loaded with the core action and adds valuable context about output format and draft limits without any wasted words.

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?

For a tool with 7 parameters, no output schema, and moderate complexity, the description provides sufficient context about the output (challenge, approach, results, learnings) and the target user (freelancers). It is complete enough for the intended use case.

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 100%, so the baseline is 3. The description lists outline sections like 'learnings' that are not parameters, adding slight context but not enhancing understanding of the actual parameters beyond what the schema already provides.

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 transforms a completed project into a structured portfolio case study with specific outlined sections. It distinctly differentiates itself from the sibling tools, which are primarily email templates and proposal-related, by focusing on portfolio documentation.

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?

The description explicitly states the tool is for turning completed projects into case studies, noting it 'does not count against your monthly draft limit.' While it doesn't provide negative guidance or alternatives, the sibling context makes the use case clear.

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

change_orderA

Write a professional change order document when a client requests work outside the original project scope. Clearly defines what was agreed, what is being added, the additional cost and timeline impact, and requires client sign-off before work begins. Protects you from scope creep. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
original_scopeYesBrief description of the original agreed project scope (or paste the SOW deliverables section)
change_requestedYesDescription of what the client is now asking for that falls outside the original scope
additional_costNoOptional: the additional fee for this change (e.g. '$800', '4 hours at $150/hr'). Leave blank to generate a placeholder.
timeline_impactNoOptional: how this change affects the delivery date (e.g. '+3 business days', 'no impact', 'pushes launch to Jul 15')
client_nameYesThe client's name (for the header and sign-off block)
your_nameNoOptional: your name or company name

TDQS

A3.8/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It explains the tool creates a professional document, requires sign-off, and protects from scope creep. However, it does not disclose what happens after creation (e.g., download, send, store) or any side effects. The behavior is generally safe but lacks full transparency.

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 concise with four sentences, front-loading the main action. Every sentence adds value: purpose, content of document, benefit, and note about draft limit. Could be slightly more streamlined, but overall well-structured.

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?

With no output schema, the description should explain what the tool returns. It states it writes a document but doesn't specify format (e.g., text, PDF, download link). Given 6 parameters and the tool's nature, the description covers the input well but leaves output unclear.

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 100%, so the baseline is 3. The description adds minimal extra meaning beyond schema: it mentions 'additional cost and timeline impact' which map directly to parameters already well-described in the schema. No significant additional semantics provided.

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: writing a professional change order document when a client requests work outside the original project scope. It uses specific verbs and resource (change order document) and distinguishes from sibling tools like scope_change_email or scope_clarification_email by focusing on document generation rather than email communication.

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?

The description explicitly says when to use this tool (when client requests work outside original scope) and mentions it requires client sign-off. However, it does not mention when not to use it or provide alternatives among siblings, such as scope_change_email for simpler notifications. Still, the context is clear enough for most agents.

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

change_order_emailA

Write a professional change order email that formally confirms additional work a client has requested — scope, cost, and timeline impact — and asks for written approval before you begin. Keeps the engagement clean: no ambiguity, no verbal agreements that get disputed later. Distinct from scope_creep_email (which pushes back on unwanted additions) — this is for AGREED extra work. Does not count against your monthly draft limit. Required: client_name, project_name, change_description, additional_cost. Optional: additional_timeline, impact_on_existing_work, approval_method, your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project
change_descriptionYesWhat the additional work involves (e.g. 'Add a third landing page variant', 'Integrate a third-party booking system', 'Extend the site to include a blog section with 3 post templates')
additional_costYesThe cost for the additional work (e.g. '$800', '$1,200 + GST', '4 hours at $150/hr')
additional_timelineNoOptional: how much extra time is needed (e.g. '3 additional business days', '1 week', 'no change to existing deadline'). If omitted, timeline section is skipped.
impact_on_existing_workNoOptional: any knock-on effect on the existing project scope or timeline (e.g. 'The current go-live date will shift by 3 days', 'No impact on existing deliverables'). If omitted, this section is skipped.
approval_methodNoOptional: how the client should approve (e.g. 'Reply to this email with Approved', 'Sign the attached document', 'Reply with your approval'). Defaults to 'Reply to this email with your approval' if omitted.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full transparency burden. It notes the tool does not count against monthly draft limit and that it generates an approval request. However, it does not clarify whether the email is drafted or sent, leaving minor ambiguity.

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?

Highly concise: 5 sentences covering purpose, benefit, sibling distinction, behavioral trait, and parameter listing. No wasted words, well-structured.

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?

Provides sufficient context for a simple email generation tool: purpose, usage, key parameters, and an important behavioral note. Lacks explicit mention of output format (draft vs. sent), but overall adequate.

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% with all parameters described. Description adds value by listing required/optional groups but does not significantly augment schema descriptions. Baseline 3 is appropriate.

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?

Description clearly states the tool writes a change order email to confirm additional work with scope, cost, and timeline impact, and asks for written approval. It explicitly distinguishes from sibling tool scope_creep_email, providing a specific verb and resource.

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?

Explicitly states when to use: for agreed extra work, and identifies alternative tool (scope_creep_email) for unwanted additions. Provides clear guidance on context.

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

client_access_request_emailA

Write the email requesting access to client systems, tools, platforms, or repositories needed to start or continue work. For when you need logins, permissions, API keys, or repository invitations from the client side. Three routes: initial_request (default — first-time ask for specific access required to kick off or progress the project; tone is clear and practical, lists exactly what's needed and why), follow_up (chasing outstanding access that was promised or discussed but hasn't arrived yet — tone is patient but firm, reiterates the blocker clearly), partial_workaround (you've found a temporary workaround but still need full access eventually — explains what you've done, what you still need, and the impact of the delay). Distinct from client_material_chase_email (chasing files or content, not system access) and project_restart_email (restarting stalled work after a break). Does not count against your monthly draft limit. Required: client_name, access_needed (what you need — e.g. 'admin access to the WordPress dashboard', 'an invitation to the GitHub repo', 'read access to Google Analytics'). Optional: project_name, access_reason (why you need it — e.g. 'to set up the staging environment', 'to start the content migration'), workaround_description (for partial_workaround route — what you've done in the interim), deadline (when you need access by — e.g. 'by end of week', 'before Thursday's call'), route ('initial_request' | 'follow_up' | 'partial_workaround' — default initial_request), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
access_neededYesWhat you need access to — e.g. 'admin access to the WordPress dashboard', 'an invitation to the GitHub repo', 'read access to Google Analytics', 'the Figma project files', 'your hosting control panel'. Required.
project_nameNoOptional: name of the project — e.g. 'the Westbrook website', 'your brand identity', 'the app build'.
access_reasonNoOptional: why you need this access — e.g. 'to set up the staging environment', 'to start the content migration', 'to connect the analytics integration'. Makes the request feel purposeful, not administrative.
workaround_descriptionNoFor partial_workaround route: what you've done in the interim — e.g. 'I've been working from the exported files you shared', 'I've set up a temporary admin account to keep things moving'. Explains what's been done so far.
deadlineNoOptional: when you need access by — e.g. 'by end of week', 'before Thursday's call', 'in the next day or two'. Adds urgency without being pushy.
routeNoinitial_request (default) — first-time ask, clear and practical; follow_up — chasing outstanding access, patient but firm; partial_workaround — you've found a temp fix but still need full access.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses the three routes with different tones, that it does not count against monthly draft limit, and explains the purpose of each parameter. However, it does not explicitly state that it only generates the email text and does not send it, which is a minor gap.

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 well-structured: starts with main purpose, then lists routes, differentiation, and parameter details. It is informative but not overly verbose. Could be slightly more concise, but front-loads key information effectively.

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?

With 8 parameters, 2 required, no output schema, and no annotations, the description covers all necessary aspects: explains the three routes, gives examples, differentiates from siblings, and lists required and optional parameters with explanations. It is complete for an email generation tool.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by grouping parameters, explaining the route enum with examples, and providing context for each parameter (e.g., why you need access_reason). This extra semantic richness justifies a 4.

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 writes an email to request access to client systems, tools, etc. It specifies the verb 'Write', the resource, and distinguishes between three routes. It also differentiates from sibling tools like client_material_chase_email and project_restart_email, making its purpose highly specific and unambiguous.

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 explicitly says 'For when you need logins, permissions, API keys, or repository invitations from the client side' and provides three distinct routes (initial_request, follow_up, partial_workaround) with clear contexts. It also contrasts with sibling tools, giving clear when-to-use and when-not-to-use guidance.

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

client_anniversary_emailA

Write a short, warm email marking the anniversary of working with a long-term client — 1 year, 2 years, or any meaningful milestone. Different from annual_review_email (which summarises deliverables and results in a structured retrospective) — this is the relationship-first touchpoint that makes a client feel like a long-term partner, not a transaction. No deliverables list, no pitch, no ask. Just a genuine acknowledgment of the working relationship and a light forward-looking line. Under 100 words. The goal is to be memorable and human, not to upsell — though it naturally positions you top-of-mind when their next need arises. Required: client_name, milestone (e.g. '1 year', '2 years', '18 months'). Optional: project_or_relationship (what you've worked on together — a named project or 'our work together' — makes the milestone feel specific), standout_moment (one specific thing from the relationship worth acknowledging — a result, a challenge you solved, a moment that stood out), forward_line (a single sentence looking ahead — what you're looking forward to, or an open door for what comes next), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
milestoneYesThe anniversary milestone (e.g. '1 year', '2 years', '18 months', '3 years')
project_or_relationshipNoOptional: what you've worked on together — a named project ('the site redesign'), an ongoing relationship ('our work together'), or a category ('the branding work'). Makes the milestone feel specific rather than generic.
standout_momentNoOptional: one specific thing from the relationship worth acknowledging — a result ('the campaign that hit 3x target'), a challenge you solved together ('getting through the launch crunch'), or a moment that stood out ('the direction pivot that ended up being the right call'). Omit if nothing obvious fits.
forward_lineNoOptional: a single sentence looking ahead — what you're looking forward to ('looking forward to what we build this year'), an open door ('if there's anything you're thinking about for next year, I'd love to hear it'), or just warmth for the future. Omit to let the email close naturally.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations exist, so description carries full burden. It discloses that the tool generates a non-upsell, human-toned email under 100 words with optional personalization fields. States it does not count against monthly limit. No mention of side effects or authentication, but for a generation tool this is sufficient.

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?

Description is roughly 150 words, well-structured with front-loaded purpose and differentiation. Every sentence adds information without redundancy. Minor length could be trimmed, but overall efficient.

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 no output schema, description adequately explains the nature of the output (email under 100 words, warm, no pitch). It covers usage, parameter nuance, and differentiation. Could include edge cases like milestone format flexibility, but not essential for basic usage.

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?

Schema covers 100% of parameters with descriptions. The description adds value by explaining how optional parameters (project_or_relationship, standout_moment, forward_line) contribute to specificity and warmth, going beyond basic schema definitions.

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 writes a short, warm anniversary email for long-term clients, distinguishes from sibling annual_review_email, and specifies constraints (no pitch, no ask, under 100 words). The verb 'Write' plus resource 'email marking anniversary' makes it unambiguous.

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?

Explicitly contrasts with annual_review_email, stating this is relationship-first with no deliverables or pitch. Provides when-to-use (anniversary acknowledgment) and when-not-to (structured retrospectives). Also mentions it doesn't count against monthly draft limit, adding practical context.

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

client_brief_templateA

Generate a structured client brief questionnaire to send to a new or prospective client before starting work. Prevents scope creep and 'bad brief' problems by collecting project goals, timeline, budget, stakeholders, and success criteria upfront. Use this at the very start of an engagement — before drafting a proposal or setting a price. Does not count against your monthly draft limit. Optional: project_type (e.g. 'website redesign', 'brand identity', 'copywriting project'), client_name, your_name, include_budget_question (defaults true), format ('email' to embed in a covering email, 'doc' for a standalone questionnaire to paste into a shared doc).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_typeNoThe type of project (e.g. 'website redesign', 'brand identity', 'copywriting', 'app development'). Helps tailor the questions to the engagement. Omit for a general-purpose brief.
client_nameNoClient's first name for the email greeting
your_nameNoYour name for the sign-off
include_budget_questionNoWhether to include a direct budget question. Some freelancers prefer to handle budget in a call rather than upfront in writing. Defaults to true.
formatNo'email' (wraps the questionnaire in a covering email — default) or 'doc' (returns a clean standalone questionnaire to paste into Google Docs, Notion, or a PDF).

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions it doesn't count against draft limit, but does not disclose whether it saves or stores data, or if it has side effects beyond generating text.

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 front-loaded with main purpose and is reasonably concise at ~160 words, though some phrases like 'prevents scope creep and 'bad brief' problems' could be trimmed.

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?

Covers use case, timing, and parameters well. However, lacks description of output structure (e.g., format of the questionnaire) despite no output schema, which would help an agent understand what to expect.

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% with descriptions for each parameter. The overall description adds context like defaults and format options, but does not provide significant additional meaning beyond what's in 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 clearly states 'Generate a structured client brief questionnaire' with a specific verb and resource, and distinguishes it from sibling tools by clarifying its use at the start of an engagement before proposals.

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?

Provides explicit guidance: 'Use this at the very start of an engagement — before drafting a proposal or setting a price.' Lacks explicit alternatives but context implies it's for new client onboarding.

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

client_check_in_emailA

Write a short proactive check-in email during a long project — the 'just wanted you to know things are on track' message that prevents client anxiety and the 'where are we with this?' interruption. Under 100 words. Different from project_status_update (which is a full structured weekly report): this is a light, warm pulse sent mid-phase to maintain trust during silent execution periods. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description
current_stageYesWhere things stand right now (e.g. 'about halfway through the design phase', 'finalizing the copy before the first draft', 'in build — the homepage and services pages are done')
next_milestoneYesThe next thing the client will see or hear from you (e.g. 'the first draft for your review on Thursday', 'a call to walk through the prototype next week', 'the completed site for sign-off by end of month')
on_trackNoOptional: whether the project is on track for the agreed timeline (default: true). If false, the email will flag the issue and invite a call rather than pretend everything is fine.
blockerNoOptional: only used when on_track is false — what's causing the issue or what you need from them (e.g. 'I'm still waiting on the brand guidelines we discussed', 'a question came up about the payment integration that needs your input')
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Describes email content and tone but does not explicitly state whether the tool sends the email or just generates draft. Ambiguous about saving vs outputting.

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?

Four sentences, front-loaded with main purpose. Efficiently conveys core info without fluff. Slightly verbose in some phrases but overall well-structured.

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?

Provides good usage context and distinction from sibling, but lacks output format details (plain text, subject line, etc.) since no output schema. Does not clarify save/send behavior, leaving gaps for agent invocation.

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 100% with detailed param descriptions. The tool description adds overall context (tone, word limit) but does not significantly enhance parameter understanding. Baseline 3 due to high schema coverage.

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 it writes a short proactive check-in email during long projects, distinguishes from project_status_update (light vs full report), and specifies word limit and purpose. Clear verb+resource with sibling differentiation.

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?

Explicitly tells when to use (mid-phase, silent execution periods), when not to (not a full weekly report), and mentions draft limit policy. Directs to project_status_update for alternatives.

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

client_complaint_response_emailA

Write a professional email responding to a client complaint or serious dissatisfaction — distinct from creative feedback on deliverables. This is for relationship-level issues: missed expectations, process frustrations, quality concerns, or a client who is genuinely upset. The hardest email to write under pressure — most freelancers either over-apologise (which signals guilt and invites further demands) or get defensive (which escalates). Three routes: acknowledge (own what's warranted, propose a concrete fix — the default for most complaints), dispute (professionally push back on a complaint you don't agree is fair, without burning the relationship), resolve (follow-up once the issue has been addressed, closing the loop and resetting the tone). Required: client_name, complaint_summary. Optional: project_name, what_went_wrong (for acknowledge), proposed_fix, your_response (for dispute — your position in 1-2 sentences), resolution_summary (for resolve), route, your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
complaint_summaryYesA brief description of what the client is unhappy about (e.g. 'missed the agreed deadline by four days', 'the final design didn't match the brief', 'communication was slow during the project', 'the invoice was higher than expected')
project_nameNoOptional: the project name — helps ground the email (e.g. 'the brand identity project', 'the website build')
what_went_wrongNoOptional (used with route=acknowledge): a brief honest explanation of what happened — not an excuse, but context that shows you understand the issue (e.g. 'a dependency on the third-party API took longer than anticipated', 'I misread the brief on the colour palette'). If omitted, the email acknowledges without detailed explanation.
proposed_fixNoOptional (used with route=acknowledge): the concrete step you're taking or proposing to resolve it (e.g. 'an additional revision round at no charge', 'a partial refund of $200', 'a call this week to realign'). If omitted, the email offers to discuss the best path forward.
your_responseNoOptional (used with route=dispute): your position in 1-2 sentences — what you disagree with and why, framed as clarification not confrontation (e.g. 'the timeline was extended at your request on March 12', 'the brief specified a dark background and the design followed that exactly'). Keep factual.
resolution_summaryNoOptional (used with route=resolve): what was done to resolve the issue (e.g. 'delivered the revised designs', 'applied the partial credit to the invoice', 'we got on a call and realigned on the scope'). If omitted, the email references the resolution generically.
routeNoacknowledge: own what's warranted and propose a fix (default — right for most complaints). dispute: professionally push back on a complaint you disagree with. resolve: follow-up once the issue has been resolved, resetting the relationship.
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions the tool generates an email, explains the routes, and notes it does not count against a draft limit. However, it doesn't disclose that the output is a draft requiring user action, or describe any side effects, which would be helpful for a generation tool.

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 dense but well-structured: purpose first, then routes, then parameters. Every sentence adds value. Minor redundancy exists in repeating the three routes in both the overview and parameter section, but overall it is appropriately sized for the tool's complexity.

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 9 parameters, multiple routes, and no output schema, the description covers purpose, usage guidelines, parameter semantics, and a behavioral note (draft limit). It lacks an explicit statement about the output format (a draft email), but the tool's nature is well implied. It is sufficiently complete for an AI agent to use.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining how each parameter maps to the three routes (e.g., what_went_wrong for acknowledge, your_response for dispute), integrating them into the usage narrative beyond the schema's individual descriptions.

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 uses specific verbs ('write a professional email responding') and clearly identifies the resource (client complaint email). It distinguishes from creative feedback, which is a sibling tool, and outlines three distinct routes (acknowledge, dispute, resolve), making the purpose unambiguous.

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?

Explicitly states when to use (client complaint/serious dissatisfaction) and distinguishes from creative feedback. Provides context on the three routes with default recommendation. However, it could be more explicit about specific scenarios where other sibling tools are preferred over this one.

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

client_decline_emailA

Write a professional email declining a client project inquiry — when you can't or shouldn't take the work. Covers four common situations: capacity (you're fully booked), not_fit (the project isn't the right match for your skills or style), timing (wrong timing — project start doesn't align), or budget (their budget doesn't meet your rates). Warm and respectful throughout: preserves the relationship, never burns a bridge. Optionally offers to refer them to someone better suited — turning a decline into goodwill. Most freelancers either ghost prospects or write awkward excuses; this is the professional middle path that keeps the door open for future work. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName or short description of the project being declined (optional)
decline_reasonNoPrimary reason for declining: capacity (fully booked), not_fit (wrong match), timing (dates don't work), budget (below your rate). Defaults to capacity if omitted.
suggest_referralNoWhether to offer to pass their details to someone who might be a better fit (default true)
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description adds valuable behavioral context: the email is warm and respectful, preserves relationships, and does not count against monthly draft limit. It implies the tool generates a draft rather than sending it.

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 moderately concise, with the core purpose front-loaded. Each sentence adds value, though some minor redundancy (e.g., 'warm and respectful' repeated) could be trimmed.

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?

Without an output schema, the description covers essential aspects: purpose, scenarios, tone, optional referral, and draft limit. It does not explicitly state the output format (e.g., plain text), but the overall context is adequate.

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?

Schema description coverage is 100%, but the description enriches parameter meaning by explaining the four decline reasons (capacity, not_fit, timing, budget) and the optional referral, adding context beyond 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 clearly states the tool writes a professional email declining a client project inquiry, covering four specific situations (capacity, not_fit, timing, budget). It distinguishes from sibling tools that handle other email types (e.g., bid_lost_follow_up, client_followup).

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?

The description explains when to use the tool: when you can't or shouldn't take work, with scenarios listed. It implicitly indicates not to use for other purposes, but lacks explicit exclusions or alternative tool names.

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

client_feedback_response_emailA

Write the professional reply to critical or negative mid-project feedback from a client. Three response modes: 'accept' (default — feedback is valid, you acknowledge it and state your action plan), 'clarify' (there's a misunderstanding that needs resolving before you can act — asks one focused clarifying question without being defensive), 'discuss' (feedback is complex or directional enough that a call is needed to align properly). Distinct from revision_response_email (specific change requests like 'change the font' or 'rewrite section 2') — this is for qualitative, directional, or emotional feedback ('this doesn't feel right', 'I'm disappointed with the direction', 'this isn't what I was expecting'). Most freelancers either get defensive, over-apologise, or go silent — this is the professional middle path: acknowledges the concern, shows you heard them, and keeps the project moving forward. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
feedback_summaryYesOne sentence capturing what the client said (e.g. 'they said the overall direction feels off and not what they envisioned', 'they expressed disappointment with the visual style')
project_nameNoName of the project
response_modeNoHow to respond: 'accept' (valid feedback, you'll address it — default), 'clarify' (misunderstanding needs resolving first), 'discuss' (complex enough to warrant a call)
action_planNoWhat you'll do to address the feedback (used in 'accept' mode — e.g. 'revisit the colour palette and send two alternative directions by Thursday')
clarification_questionNoThe single most important question to ask (used in 'clarify' mode — e.g. 'were you expecting a more minimal layout, or is it the content hierarchy that feels off?')
your_nameNoYour name for the sign-off

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden. It details behavioral traits: three response modes with clear definitions, no destructive actions, and the fact that it does not count against monthly draft limit. No contradictions with annotations (none provided).

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 appropriately sized, front-loading the purpose, then explaining modes, distinguishing from sibling, and adding rationale and a bonus behavioral trait (no draft limit). Every sentence adds value without waste.

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?

Given the tool's complexity (7 parameters, 3 modes, no output schema), the description covers purpose, usage context, sibling differentiation, mode details, and a behavioral bonus. It is complete enough for an agent to understand when and how to invoke the tool.

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% and includes detailed descriptions for each parameter, including enum values. The tool description explains the three modes, which is already covered in the schema's enum description. While it adds context about when to use each mode, it does not add significantly new semantic meaning beyond 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 clearly states the tool's purpose: writing professional replies to critical/negative mid-project feedback. It specifies three response modes and explicitly distinguishes it from the sibling tool 'revision_response_email' for specific change requests.

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 explicitly explains when to use this tool versus the sibling 'revision_response_email' by contrasting feedback types (qualitative/directional vs. specific change requests). It also advises against common pitfalls (defensiveness, over-apologizing) and promotes the intended professional path.

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

client_followupA

Write a follow-up message for a proposal that hasn't received a response. Generates a short, non-pushy follow-up that reopens the conversation without sounding desperate. Provide the original proposal summary and how long it's been since you sent it.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposal_summaryYesA brief summary of the proposal you sent: what you offered, to whom, and the approximate value/scope
days_since_sentYesHow many days ago you sent the original proposal
contextNoOptional: any context about the client or situation that might affect the follow-up tone (e.g. 'they seemed enthusiastic on the call', 'cold inbound lead', 'long-term client')

TDQS

A4.1/5.0
Behavior4/5

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

Description goes beyond annotations (none provided) by stating the output is short, non-pushy, and designed to reopen conversation. Does not mention side effects or limitations, but tone and intent are clear.

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 sentences, no wasted words. Front-loaded with purpose, then behavioral promise, then input requirements. Efficient and easy to grasp.

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?

While the description covers purpose and inputs, it does not specify the output format or how the generated message is returned. For a generating tool, this is a missing detail.

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% and description repeats the need to provide summary and days. No additional meaning beyond schema, so baseline score of 3 is appropriate.

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?

Description clearly states the tool writes a follow-up message for a proposal with no response, using specific verb-resource combo. It stands out from siblings like `proposal_to_email` or `contract_unsigned_follow_up` which handle different scenarios.

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?

Explicitly says to provide proposal summary and days since sent, giving clear context for use. However, no guidance on when not to use or comparison to alternative tools like `bid_lost_follow_up`.

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

client_material_chase_emailA

Write a professional email chasing a client for overdue materials, content, or approvals needed to continue the project. Used when the client hasn't delivered what they committed to — content, feedback, access, sign-off — and the delay is blocking your work. Calibrates tone based on how overdue they are: friendly (1–5 days), firm (6–14 days), or escalation (15+ days). Makes the impact clear without blame. Distinct from project_delay_warning (when YOU are delayed), payment_reminder_email (financial), and third_party_delay_email (external vendor delay). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project (e.g. 'the website redesign', 'your brand identity project')
what_is_neededYesExactly what you're waiting for — be specific (e.g. 'the copy for the About and Services pages', 'approval on the logo concepts', 'admin access to the WordPress dashboard', 'sign-off on the revised scope document')
original_due_dateNoOptional: when you were expecting these materials (e.g. 'last Tuesday', 'June 12th', 'two weeks ago'). Including this makes the email more concrete.
days_overdueNoOptional: how many days overdue. Used to calibrate tone — 1–5 = friendly, 6–14 = firm, 15+ = escalation. If omitted, defaults to friendly.
impactNoOptional: what delay this is causing (e.g. 'I can't start the build phase without it', 'the launch date will slip if we don't receive this this week', 'your slot in my schedule is at risk'). Keeps the email factual rather than a complaint.
new_deadlineNoOptional: the new date you need the materials by to stay on track (e.g. 'by end of day Friday', 'by June 20th'). Giving a clear target makes it easier for the client to act.
your_nameNoOptional: your name for the sign-off

TDQS

A4.9/5.0
Behavior5/5

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

Despite no annotations, the description fully discloses key behaviors: tone calibration (friendly/firm/escalation), making impact clear without blame, and that it does not count against monthly draft limit. No contradictions.

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?

Five well-structured sentences, each adding value: purpose, usage, tone, sibling distinctions, and behavioral note. Front-loaded with main action. No unnecessary words.

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?

Given 8 parameters (3 required), no output schema, and no annotations, the description thoroughly covers purpose, usage, behavioral nuance, and parameter explanations. It provides sufficient context for correct invocation.

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?

Schema coverage is 100% with detailed parameter descriptions. The overall description adds context on tone calibration and usage, but the individual parameter descriptions already provide semantics. Slightly redundant but still valuable.

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?

Clearly states the tool writes a professional email for chasing overdue materials/content/approvals. Distinguishes from siblings like project_delay_warning, payment_reminder_email, and third_party_delay_email, providing specific verb+resource and context.

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?

Explicitly describes when to use: when client hasn't delivered committed items and delay blocks work. Mentions tone calibration based on overdue days and names alternative tools for different scenarios.

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

client_offboarding_checklist_emailA

Write a structured end-of-engagement email that doubles as a practical handover checklist. Sent at project close or retainer end — covers what was completed, assets being transferred, outstanding actions for both sides, and any system access being revoked. Protects both parties by ensuring nothing falls through the cracks. Distinct from client_offboarding_email (which ends a relationship you chose to leave) and project_closure_email (a natural project wrap-up email) — this is the operational handover document with explicit action items and a checklist format. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name or company name
project_nameYesName of the project or engagement being closed (e.g. 'the Acme website redesign', 'our monthly SEO retainer')
deliverables_summaryYesBrief summary of what was completed during the engagement (e.g. 'full website redesign, content migration, and 3 months of SEO support')
assets_to_transferNoOptional: comma-separated list of files, accounts, or assets being handed over (e.g. 'source files, Google Analytics access, Figma project, GitHub repo'). Omit if nothing to transfer.
client_actionsNoOptional: things the client needs to action after handover (e.g. 'change shared passwords, accept Google Analytics transfer, update billing details'). Omit if none.
your_actionsNoOptional: anything you are still completing before the handover is fully done (e.g. 'final invoice to follow', 'source file export in progress'). Omit if everything is already done.
access_to_revokeNoOptional: systems or accounts you will lose access to or remove yourself from (e.g. 'Slack workspace, staging server, CMS admin'). Omit if none.
testimonial_askNoOptional: include a brief ask for a testimonial or LinkedIn recommendation at the end of the email. Default: true.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool does not count against monthly draft limit and implies it creates an email draft. Additional behavioral details like permissions or side effects are not needed for a write tool.

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?

Compact and front-loaded: purpose, usage context, sibling differentiation, and a behavioral note in three sentences. Every sentence adds value without redundancy.

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 no output schema, the description clearly implies the tool returns an email draft. It covers purpose, scope, and differentiation from siblings. Slight gap: does not explicitly state the output format, but it's well-understood as an email generation tool.

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 100%, so baseline is 3. The description adds context about the overall structure but does not enhance individual parameter definitions beyond what the schema already provides.

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?

Description clearly states the tool writes a structured end-of-engagement email with a handover checklist. It distinguishes from two sibling tools (client_offboarding_email and project_closure_email) by specifying this is an operational handover with action items and checklist format.

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?

Explicitly says 'Sent at project close or retainer end' and distinguishes from sibling tools, providing clear when-to-use and when-not-to-use guidance.

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

client_offboarding_emailA

Write a gracious, professional email ending an ongoing client relationship — a retainer, a long-term engagement, or a repeat working arrangement. Distinct from project_closure_email (a project that completed naturally) — this is for when you are choosing to end the relationship. The hardest email a freelancer has to write. Gets the tone right: clear and firm without blame, warm without being dishonest, and structured to preserve the relationship for future referrals. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
engagement_descriptionYesWhat you are ending (e.g. 'our monthly retainer', 'our ongoing content partnership', 'our working relationship')
final_dateYesWhen the engagement ends (e.g. 'June 30', 'end of this month', 'in 30 days')
outstanding_workYesWhat you will complete before the end date (e.g. 'the June content deliverables', 'the current sprint', 'nothing outstanding — all work is up to date')
reasonNoOptional: a brief, honest reason — keep it high-level (e.g. 'I am restructuring my practice to focus on a narrower service area', 'my capacity is changing', 'I need to reduce my client load'). Omit if there is no clean explanation.
offer_referralNoOptional: set to true to include an offer to recommend another provider. Default: false.
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It adds value by noting 'Does not count against your monthly draft limit', but it does not disclose whether the email is sent or just drafted, or any other side effects.

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 well-structured with key information front-loaded: purpose, sibling distinction, tone guidance, and draft limit detail. It is efficient but slightly verbose in the middle.

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?

For a tool with 7 parameters and no output schema, the description covers purpose, usage, tone, and draft limit context. It lacks explicit mention of output format but is otherwise 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 100%, so baseline is 3. The description does not elaborate on parameters beyond what the schema already provides, adding no extra meaning.

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 writes an email ending a client relationship, specifies the relationship type (retainer, long-term engagement), and explicitly distinguishes from project_closure_email, leaving no ambiguity.

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?

The description provides clear usage context ('for when you are choosing to end the relationship') and names an alternative (project_closure_email). However, it omits exclusions and does not reference other relevant sibling tools like client_decline_email.

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

client_onboarding_checklistA

Generate a tailored list of everything you need from a client before work can start — access, assets, decisions, approvals. Adapt by project type so the client knows exactly what to send and in what order. Send this after the kickoff email, before starting work. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_typeYesThe type of project (e.g. 'website redesign', 'brand identity', 'copywriting', 'mobile app', 'SEO audit', 'video production', 'e-commerce build')
client_nameYesThe client's first name
deliverablesNoOptional: comma-separated list of specific deliverables so the checklist can be more targeted (e.g. 'homepage, about page, contact form, blog')
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses an important cost behavior: 'Does not count against your monthly draft limit.' This is a valuable behavioral trait beyond the standard generative function. No contradictions with annotations since none exist.

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?

Four sentences, each serving a distinct purpose: what it does, how it adapts, when to use, and a behavioral note. No wasted words, front-loaded with core function. Excellent structure.

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?

Covers main function, adaptation, and timing, but lacks details on output format (e.g., bulleted list, plain text) and edge cases. Given no output schema, a brief format hint would improve completeness for an agent to expect the response type.

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% with descriptions for all 4 parameters. The description reinforces that the checklist adapts by project_type and is tailored, but adds no new constraints or format details beyond the schema. Baseline 3 is appropriate.

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?

Description clearly states the verb 'Generate' and the resource 'tailored list of everything you need from a client', specifying it adapts by project type. This distinguishes it from sibling tools that send emails or proposals, as it focuses on creating an actionable checklist for client onboarding.

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 instruction: 'Send this after the kickoff email, before starting work.' This provides clear context for when to use the tool, but does not mention specific alternatives or when not to use it, which would elevate it to a 5.

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

client_reference_request_emailA

Ask a trusted past client to be a named reference for a specific prospect — someone the prospect can email or call directly. Different from testimonial_request (written quote for your website), recommendation_request_email (LinkedIn), and referral_request (active warm intro). A reference is a person on your reference list who speaks directly to a prospect doing due diligence. This email makes the ask easy: it gives context on the prospect, sets expectations on time commitment, and makes it simple to say yes or no. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project or engagement you worked on together — gives them context for what they'd be speaking to (e.g. 'the brand identity project', 'the six-month retainer', 'the website redesign')
prospect_typeYesA short description of the prospect — what kind of business or person they are and what they're looking to hire for. No need to name them. (e.g. 'a B2B SaaS startup looking for a content strategist', 'a boutique law firm that needs a website redesign', 'a founder evaluating fractional CFO services')
prospect_nameNoOptional: the prospect's name, if you're comfortable sharing it and want to personalise the ask
time_commitmentNoOptional: expected time commitment if they're contacted — sets expectations and removes anxiety (e.g. 'a 10-minute call', 'a few email questions', 'a quick 15-minute chat'). Defaults to 'a short call or a few email questions' if omitted.
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It explains that the email 'makes the ask easy: it gives context on the prospect, sets expectations on time commitment, and makes it simple to say yes or no'. It also notes the draft limit exemption. However, it does not disclose any authentication requirements, whether the email is sent automatically, or other side effects.

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 paragraph that efficiently front-loads the core purpose, then adds differentiation, context, and a key behavioral note (draft limit). It is concise without unnecessary words.

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 no output schema, the description explains what the email does and its context. It sets expectations for what the tool produces (an email that includes context, time commitment, and an easy yes/no). It is sufficient for an agent to understand the tool's output.

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 100%, so baseline is 3. The description does not add parameter-specific meaning beyond the schema, but the schema descriptions themselves are detailed. The overall description provides context but not parameter-level detail.

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?

Description clearly states the tool's verb and resource: 'Ask a trusted past client to be a named reference for a specific prospect'. It immediately distinguishes from three sibling tools (testimonial_request, recommendation_request_email, referral_request) by contrasting their purposes.

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?

Explicitly compares to alternative tools and provides context on when to use each. Also notes that the tool 'does not count against your monthly draft limit', providing a practical rule for usage.

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

client_satisfaction_survey_emailA

Write the professional email to send after completing a project — asks the client for feedback and, optionally, a short testimonial. Warm, brief, and non-pushy: makes it easy for a happy client to say yes, and easy for a less-satisfied client to share honest feedback without awkwardness. Distinct from bid_lost_follow_up (you didn't win the work), referral_thank_you (thanking someone who sent a referral), and cold_pitch_follow_up (no response to a pitch) — this is specifically the post-delivery check-in with a client you just delivered work to. Does not count against your monthly draft limit. Required: client_name, project_name. Optional: survey_link (URL to a feedback form — omit to ask directly in the reply), testimonial_ask (if true, adds a short sentence asking for a one or two line testimonial they're happy for you to quote), outcome_note (one sentence on the outcome you delivered, e.g. 'the site went live on schedule' — personalises the email), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name of the client
project_nameYesName of the completed project (e.g. 'the Acme brand refresh', 'your Q3 content campaign', 'the checkout redesign')
survey_linkNoURL of a feedback form (e.g. Typeform or Google Form). Omit to ask the client to reply directly.
testimonial_askNoIf true, adds a sentence asking for a short testimonial they are comfortable with you quoting publicly.
outcome_noteNoOne sentence describing a concrete outcome you delivered (e.g. 'the site launched on schedule', 'the campaign hit its target open rate'). Personalises the email — omit to keep it generic.
your_nameNoYour name for the sign-off

TDQS

A5/5.0
Behavior5/5

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

No annotations provided, so description fully covers behavioral traits: tone (warm, brief, non-pushy), handling of happy vs. unsatisfied clients, and optional parameters' effects. No contradictions with missing 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?

Well-structured: first sentence states core purpose, then details tone, sibling distinctions, and parameter descriptions. No wasted words, all sentences add value.

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?

Given no output schema, description fully covers tool's purpose, usage, parameters, and behavior. It's complete for correct selection and invocation.

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

Parameters5/5

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

All 6 parameters are described in the schema, and the description adds meaning: explains survey_link omission leads to direct reply, testimonial_ask adds a sentence, outcome_note personalizes email, etc.

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?

Clearly states it's for writing a post-completion feedback email, distinguishing it from similar tools like bid_lost_follow_up, referral_thank_you, and cold_pitch_follow_up. Uses specific verb+resource structure.

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?

Explicitly describes when to use (after completing a project) and names three sibling tools it's distinct from. Also notes it does not count against monthly draft limit.

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

client_waiting_emailA

Write a professional email to a client who hasn't delivered what they promised — assets, feedback, sign-off, content — and the project is blocked waiting on them. Keeps the tone factual and non-accusatory: the goal is to get what you need, not to assign blame. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description (e.g. 'the website redesign', 'your rebrand')
what_you_needYesWhat you are waiting on — be specific (e.g. 'the approved copy for the homepage', 'your sign-off on the wireframes', 'the brand logo files')
days_waitingNoOptional: how many days you have been waiting (e.g. 5). Used to calibrate the tone.
original_deadlineNoOptional: when the client said they would deliver it (e.g. 'last Friday', 'June 10th', 'end of last week')
impactNoOptional: what this delay blocks or affects (e.g. 'the launch date', 'the development sprint starting Monday', 'handing the final files over')
new_deadlineNoOptional: the specific date you need it by to stay on schedule (e.g. 'by Thursday EOD', 'by June 16th')
your_nameNoOptional: your name for the sign-off

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the tone (factual, non-accusatory) and a benefit (no draft count), but does not describe the output format, whether it sends the email, or any side effects. The behavior is mostly clear as a text generator, but details are missing.

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 three sentences with no wasted words. It front-loads the purpose, then tone, then benefit. Efficient and well-structured.

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?

The description covers the use case and tone but does not explain the return value (presumably the email text). With no output schema, the agent might need explicit indication of what the tool returns. While the complexity is low, the lack of return specification is a minor gap.

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?

Schema coverage is 100% and schema descriptions are already clear. The description adds useful context, e.g., that 'days_waiting' calibrates tone, which is not in the schema. This extra meaning justifies a score above the baseline of 3.

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 clearly states it writes a professional email to a client who hasn't delivered promised items, blocking the project. It distinguishes from many siblings by specifying the client's delay as the cause, but it doesn't explicitly differentiate from other client-facing emails like 'client_check_in_email' or 'client_followup', so a 4 is appropriate.

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 (project blocked by client delay) and sets tone expectations, but it lacks explicit guidance on when not to use or alternatives. For a tool among many similar email templates, this is a gap.

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

cold_pitchA

Write a cold outbound pitch email to a potential client you've identified but who hasn't contacted you. Different from inbound proposal work — this is proactive business development. Short, specific, and ends with a single easy ask. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_companyYesThe company or person you're pitching to
contact_nameNoOptional: the specific person's name (first name is fine)
what_you_doYesWhat you do — your service or specialism (e.g. 'UX design for SaaS onboarding', 'copywriting for B2B tech', 'React development')
why_themYesWhy you're reaching out to THIS company specifically — a signal you spotted, a problem they likely have, something you noticed (e.g. 'your pricing page has 3 steps that add friction', 'you just launched a mobile app but the onboarding is unclear', 'your job listing mentions struggling with X')
your_nameNoOptional: your name or company for the sign-off
askNoOptional: what you want from this email (default: a 15-minute call). E.g. 'a quick call to see if there's a fit', 'to send a short audit', 'to share a relevant case study'

TDQS

A4.2/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It discloses that the tool does not count against the monthly draft limit, a useful billing behavior. However, it does not describe other behavioral traits such as AI generation, storage, or read/write nature, which limits full transparency.

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 four sentences, each contributing distinct information: clear purpose, differentiation from inbound, stylistic guidance, and billing note. No redundancy or filler, achieving high conciseness.

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?

For a simple text generation tool with 6 parameters and no output schema, the description covers the essential usage context. It could mention the output format (a draft email) but the name and description make that obvious. It is adequately complete for the tool's complexity.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by noting that the 'ask' parameter defaults to 'a 15-minute call' and provides stylistic guidance for the overall email. This extra context lifts the score above baseline.

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 uses the specific verb 'Write a cold outbound pitch email' and identifies the resource as a potential client who hasn't contacted you. It explicitly distinguishes from 'inbound proposal work' and sibling tools like 'cold_pitch_follow_up', making the purpose unambiguous.

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?

The description clearly states when to use the tool (for proactive business development to non-contact clients) and contrasts it with inbound proposals. It also provides stylistic guidance (short, specific, single easy ask) and a billing hint (doesn't count against draft limit). It lacks explicit 'when not to use' but is sufficient for clear usage.

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

cold_pitch_follow_upA

Write a short, professional follow-up when a cold pitch has gone unanswered. Shorter than the original pitch — brevity signals confidence. Doesn't repeat everything; just resurfaces the key hook, gives an easy out, and asks for one yes/no. Distinct from client_followup (which is for post-proposal follow-up after a prospect showed interest) and win_back_email (re-engaging a lapsed client). This is for genuine cold silence — they never replied at all. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_nameYesFirst name of the person you're following up with
company_nameNoOptional: company name — helps personalise the subject line
original_pitch_summaryYesOne-sentence summary of what you offered in the original pitch (e.g. 'UX help for your onboarding flow', 'copywriting for your pricing page rewrite', 'React development for the mobile app')
days_since_pitchNoOptional: how long ago you sent the original pitch (e.g. 7, 14, 21). Used to calibrate tone — shorter gap = lighter touch, longer gap = slightly more direct.
new_angleNoOptional: something new to add that wasn't in the original pitch — a relevant observation, a result you can now reference, a question that reframes the value. Omit if you have nothing genuinely new to say.
your_nameNoYour name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description covers behavioral aspects: it generates a concise follow-up, resurfaces key hook, gives an easy out, asks yes/no, and mentions the draft limit. Lacks mention of any potential side effects or constraints beyond that.

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?

Description is front-loaded with purpose and key guidelines. Every sentence adds value; no redundancy. Efficiently communicates usage, tone, and sibling distinction.

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?

Given no output schema, the description still explains enough about output (short follow-up). Parameters are well-explained, and sibling tools are clearly differentiated. Completeness is high for the tool's complexity.

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?

Schema coverage is 100%, baseline 3. The description adds context for days_since_pitch (calibrates tone) and new_angle (optional addition). Also clarifies that company_name personalizes subject line and original_pitch_summary is a one-sentence summary.

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?

Clearly states it writes a short professional follow-up for unanswered cold pitches. Distinguishes from client_followup and win_back_email by specifying the exact scenario (genuine cold silence).

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?

Explicitly defines when to use (cold pitch unanswered) and when not (post-proposal follow-up, re-engaging lapsed clients). Additionally provides a behavioral hint about not counting against draft limits.

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

competitor_response_emailA

Write a professional reply when a client tells you another provider quoted lower — or asks you to match a competitor's price. Three response modes: hold_rate (default — acknowledge the comparison, clarify what differentiates your work, hold your price without apologising or justifying at length; best when your rate reflects genuine experience and scope), adjust_scope (offer a reduced scope or phased approach that delivers real value at a lower price — not a discount, a trade; best when there's genuine flexibility in what's needed), or match_with_context (match or approach the price but anchor it clearly to a specific reason — limited capacity window, long-term relationship, or strategic fit; do not use just to close a deal). None of these modes cave, get defensive, or lecture the client about what they're 'really getting'. All three respect that the client is comparing options. Required: client_name. Optional: competitor_name (who they're comparing to — omit to keep vague), competitor_price (the competing quote), your_price (your quoted price), project_name, response_mode ('hold_rate', 'adjust_scope', 'match_with_context' — default hold_rate), differentiator (the one concrete thing that separates your work — e.g. 'previous work on similar-scale projects', 'full ownership of the project without handoffs', 'I already know your brand well'; omit for a clean close without specifics), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
competitor_nameNoOptional: who they're comparing to (e.g. 'the other agency', 'Vendor X'). Omit to keep the reply general.
competitor_priceNoOptional: the competing quote (e.g. '$3,000', '$15/hr'). Including it lets the reply address the gap directly.
your_priceNoOptional: your quoted price. Including both prices lets the reply frame the gap concretely.
project_nameNoOptional: the project being discussed.
response_modeNoHow to respond: hold_rate (default — hold your price, explain value without apologising), adjust_scope (offer a smaller scope at a lower price — a trade, not a discount), match_with_context (approach or match the price with a clear, specific reason).
differentiatorNoOptional: the one concrete thing that separates your work from the competitor — e.g. 'previous work on similar-scale projects', 'single point of contact through delivery', 'I already know your brand and team'. Specific beats generic.
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

Without annotations, the description carries full burden. It details the three modes, their appropriate contexts, and behaviors to avoid. It also notes that the tool does not count against the monthly draft limit. Missing info on authentication or side effects, but these are less critical for a drafting tool.

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 paragraph but front-loads the purpose and key modes. Every sentence adds value, though it could be more structured with bullet points. It's not overly verbose.

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 (three modes, 8 parameters), the description covers behavioral guidance, parameter semantics, and a note on draft limits. No output schema exists, so the description adequately implies the output (a drafted reply). It addresses likely agent confusion about which mode to use.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the purpose and nuance of each mode, giving examples for differentiator, and clarifying how optional parameters affect output (e.g., omitting competitor_name keeps reply vague). This goes beyond the schema descriptions.

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 explicitly states it writes a professional reply when a client compares prices. This clearly differentiates it from sibling tools like discount_request_response or bid_lost_follow_up by targeting a specific scenario.

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?

The description provides explicit guidance on when to use each of the three response modes and when not to (e.g., 'do not use just to close a deal' for match_with_context). It also clarifies what behaviors are avoided (caving, defensiveness). However, it does not explicitly mention alternative tools for related scenarios.

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

conditional_proposal_acceptance_emailA

Write the email responding when a client says 'yes, but...' — they want to proceed with your proposal but are asking for a change: a lower price, a trimmed scope, a later start, phased payments, or a shorter contract. This is a distinct, high-stakes moment in the sales cycle — the client has chosen you, so the relationship risk is low, but the commercial terms are still live. Three routes: accept (agree to their condition and confirm the modified deal — use when the adjustment is workable and the project is worth taking), counter (propose your own modified terms as a middle ground — use when their ask is too steep but a partial adjustment is acceptable), hold (explain you can't move on this and offer the original terms or a graceful exit — use when the condition would make the project unprofitable or set a bad precedent). Distinct from discount_request_response (where the client hasn't committed), budget_negotiation_email (where budget was the blocker before agreement), and price_objection_response_email (where the client is objecting to the price without accepting). Does not count against your monthly draft limit. Required: client_name, condition_requested (what they've asked to change — e.g. 'reduce the fee by 15%', 'delay the start by six weeks', 'remove the discovery phase and go straight to design'). Optional: project_name, counter_offer (for counter route — your proposed middle ground, e.g. '10% reduction if they pay in full upfront', 'start in three weeks rather than six'), route ('accept' | 'counter' | 'hold' — default accept), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
condition_requestedYesWhat they've asked to change — be specific. E.g. 'reduce the fee by 15%', 'delay the start by six weeks until their budget resets', 'remove the discovery phase and go straight to design', 'split the fee across three months instead of two'. Used directly in the email so the client knows you heard them precisely.
project_nameNoOptional: the project name or short description — e.g. 'the website redesign', 'your brand identity project'. Adds clarity to the email.
counter_offerNoOptional (required for counter route): your proposed middle ground. E.g. '10% reduction if payment is made in full upfront rather than split', 'start in three weeks rather than six — I can hold the slot', 'remove discovery but add a structured briefing call instead'. Be concrete.
routeNoaccept (default): agree to their condition and confirm the deal on the adjusted terms. counter: propose your own modified terms as a middle ground. hold: explain you can't adjust and offer the original terms or a clean exit.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It describes the high-stakes sales moment, relationship risk, and three response routes. However, it does not explicitly state whether the tool sends the email or just drafts it, though the phrase 'does not count against your monthly draft limit' implies a draft is generated.

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 thorough but not wasteful; each sentence adds value. It front-loads the purpose and then provides detailed guidance. Could be slightly more concise, but the complexity of the tool (three routes) justifies the length.

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?

Given no output schema, the description should clarify what the tool returns (e.g., an email draft). It hints at 'does not count against your monthly draft limit' but does not explicitly state the output format or how to use the result. For a tool with multiple routes and high-stakes context, this is a gap.

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

Parameters5/5

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

Schema has 100% coverage with descriptions for each parameter, but the tool description adds rich context with concrete examples for condition_requested and counter_offer, and explains the route enum options with usage scenarios. This goes beyond the schema alone.

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: generating responses when a client says 'yes, but...' and asks for changes. It distinguishes from three sibling tools (discount_request_response, budget_negotiation_email, price_objection_response_email) by explaining the specific scenario where this tool applies.

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?

Explicitly specifies when to use (client accepted but requests changes) and when not to (alternatives listed with clear differentiators). Also provides guidance on the three routes (accept, counter, hold) with conditions for each.

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

conference_talk_pitchA

Write a speaker submission for a conference, meetup, or podcast — a talk abstract, key takeaways, and speaker bio formatted for a CFP (Call for Proposals). Public speaking is the highest-authority marketing move a freelancer can make. Most people don't do it because the CFP process feels opaque. This generates a submission-ready pitch. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
talk_titleYesThe proposed title of your talk (e.g. 'How I Stopped Writing Proposals and Started Closing Clients', 'The Freelancer's Guide to Saying No Profitably')
audienceYesWho will be in the room (e.g. 'freelancers and independent consultants', 'senior marketers at B2B SaaS companies', 'creative professionals and agency owners')
problem_solvedYesThe core problem or frustration your talk addresses (e.g. 'most freelancers lose deals not on price but on how they present their value')
key_takeawaysYes2–4 specific things attendees will walk away with, comma-separated (e.g. 'a proposal structure that closes faster, how to handle the budget question, three phrases that stop scope creep')
your_expertiseYesWhy you are qualified to give this talk — be specific (e.g. '8 years of freelance web design, 120+ client projects, wrote the ProposalCraft MCP server used by 500+ consultants')
talk_formatNoOptional: length and format (e.g. '30-minute talk + Q&A', '45-minute workshop', '20-minute lightning talk'). Defaults to a standard 30-minute talk if omitted.
your_nameNoOptional: your name for the bio and sign-off

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses one behavioral trait (no impact on draft limit) but does not detail output format, whether it actually submits the pitch, or any side effects. The description adds moderate value beyond the schema.

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 concise (three sentences) with the main purpose front-loaded. The marketing sentence about public speaking adds context but is not strictly necessary; overall efficient without being verbose.

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?

Given 7 parameters and no output schema, the description adequately explains what the tool generates and the required inputs. However, it lacks details on the return format or any post-generation steps (e.g., copying to clipboard). It is minimally complete for a generation tool.

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 100%, so the description adds minimal extra meaning beyond the parameter descriptions. It reinforces that key_takeaways should be comma-separated but does not provide new semantic context. Baseline 3 is appropriate.

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 writes a speaker submission for conferences, meetups, or podcasts, specifying the output (abstract, takeaways, bio) and format (CFP). This distinguishes it from sibling tools like cold_pitch or linkedin_post, which serve different content generation purposes.

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?

The description provides context on when to use it—for CFP submissions as a high-authority marketing move—and includes a note about not counting against monthly draft limits. However, it lacks explicit guidance on when not to use it or alternatives (e.g., for non-talk pitches).

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

contractor_nda_cover_emailA

Write the short covering email to send alongside an NDA (Non-Disclosure Agreement) to a client or subcontractor. Explains why you're sending the document, what it covers, and what to do with it — without being heavy or legalistic. Distinct from nda_template (which generates the NDA itself) and subcontractor_brief (which briefs a subcontractor on the work). Does not count against your monthly draft limit. Required: recipient_name. Optional: project_description (brief note on the project the NDA covers), relationship ('client' or 'subcontractor' — defaults to 'client'), signing_method (how they should return the signed copy, e.g. 'DocuSign', 'reply with a signed PDF', 'HelloSign'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_nameYesName of the person receiving the NDA
project_descriptionNoBrief description of the project or engagement the NDA covers (e.g. 'the Acme Corp website redesign'). Omit to keep the email generic.
relationshipNo'client' (you are sending NDA to a client before sharing your process/pricing) or 'subcontractor' (you are sending NDA to someone you are bringing onto a project). Defaults to 'client'.
signing_methodNoHow they should return the signed copy (e.g. 'reply with a signed PDF', 'via DocuSign', 'via HelloSign'). Omit to leave the return method open.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses a key behavioral trait: 'Does not count against your monthly draft limit', which is valuable for resource management. It also clarifies the tone ('without being heavy or legalistic'). However, it does not explicitly state whether the tool returns the email text or sends it, nor does it discuss authentication or rate limits, but the context (cover email) implies text generation, which is reasonable.

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?

Front-loaded with the core action: 'Write the short covering email...'. The description is moderately concise, with each sentence providing distinct value. It could be slightly tighter (e.g., combining some optional parameter notes), but overall well-structured and efficient.

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 no output schema, the description acknowledges the output implicitly (the email). It covers purpose, audience, content, and key parameters. With 5 parameters (1 required) and no nested objects, the description is sufficiently complete for an agent to select and use the tool correctly, though it could explicitly state the return format.

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?

Schema coverage is 100%, baseline 3. The description adds meaning by explaining each optional parameter in context: e.g., `project_description` is 'brief note on the project the NDA covers', `relationship` defaults to 'client', `signing_method` gives examples. This adds practical guidance beyond the schema descriptions, enhancing usability for an AI agent.

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 it writes a covering email to accompany an NDA, using specific verbs ('write') and resource ('covering email'). It distinguishes from sibling tools `nda_template` (generates the NDA) and `subcontractor_brief` (briefs a subcontractor), giving a unique identity.

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?

Explicitly says when to use: sending NDA to client or subcontractor. Provides when-not-to-use by naming alternatives (`nda_template` for the NDA itself, `subcontractor_brief` for briefing). Also explains what the email covers (why sending, what it covers, what to do) without being legalistic, guiding the agent on appropriate context.

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

contract_renewal_emailA

Write a professional contract or retainer renewal email to send before an engagement ends. Most freelancers either ignore the end date and get caught off-guard when the client doesn't re-book, or wait until it's over before asking — both lose business. This email opens the renewal conversation at the right moment: references the work done, proposes continuing on the same or updated terms, and makes it easy for the client to say yes. Two routes: same_terms (renew at the same rate and scope — the default) and revised (propose a rate increase or scope change). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
contract_typeYesThe type of engagement being renewed (e.g. 'monthly retainer', 'quarterly contract', 'six-month engagement', 'annual support agreement')
end_dateNoOptional: when the current contract ends — makes the ask feel timely rather than random (e.g. 'end of June', 'July 31', 'in two weeks')
work_summaryNoOptional: one-line summary of what you've delivered — reminds the client of value before the ask (e.g. 'the rebrand and new website', 'four months of content strategy', 'the platform migration'). If omitted, the email references the engagement generically.
current_rateNoOptional (used with route=revised): the current rate or scope, so the client understands what is changing (e.g. '$3,000/month', '10 hours/week', 'two blog posts per month')
new_rateNoOptional (used with route=revised): the proposed new rate or scope (e.g. '$3,500/month', '15 hours/week'). If omitted with route=revised, the email proposes discussing updated terms rather than naming a number.
routeNosame_terms: propose renewing on the same rate and scope (default). revised: introduce a rate increase or scope change.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the email opens the renewal conversation, references work done, and does not count against the draft limit. It explains the two routes and optional parameter behavior, offering good transparency.

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 two paragraphs, front-loaded with purpose. It includes some narrative detail ('Most freelancers...') which adds context but could be trimmed. Overall, every sentence contributes value, and it is well-structured.

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?

With 8 parameters, 2 required, and no output schema, the description is thorough. It covers all parameter roles, default behavior, optionality, and route implications. The agent has sufficient information to invoke the tool correctly.

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?

Schema coverage is 100% (baseline 3). The description adds valuable context beyond schema, such as explaining optional fields like end_date ('makes the ask feel timely'), work_summary ('reminds the client of value'), and new_rate behavior when omitted ('proposes discussing updated terms'). This enhances understanding.

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 writes a professional contract or retainer renewal email. It specifies the verb 'write' and the resource 'renewal email,' and distinguishes itself from siblings by focusing on renewals. The two routes (same_terms/revised) provide specificity.

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?

The description explains when to use this tool ('before an engagement ends') and provides context about common freelancer mistakes. It describes the two routes but does not explicitly exclude alternatives or state when not to use it. However, given the large sibling set, the differentiation is implicit.

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

contract_sent_emailA

Write the short covering email sent when sharing a contract or agreement for a client to sign. Tells the client what they're signing, where to find it, when you need it back, and what happens next. Distinct from contract_template (the contract document itself) — this is the email that wraps around it. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName of the project the contract covers
signing_deadlineNoOptional: date by which you need the signed contract back (e.g. 'Friday', 'June 20'). If omitted, closes with a general 'let me know if you have any questions' sign-off.
signing_linkNoOptional: URL where the client can sign (e.g. a DocuSign or HelloSign link). If provided, used as the primary CTA. If not, assumes contract is attached.
contract_summaryNoOptional: one-sentence description of what the contract covers (e.g. 'this covers the scope, payment schedule, and IP terms we discussed'). Helps the client know what to expect before opening.
start_dateNoOptional: when work begins once the contract is signed. Signals momentum without pressure.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description adds good behavioral context: it explains the email's content structure and optional parameters' effects (e.g., signing_deadline changes sign-off). It does not detail any side effects, but the tool is a content generator with no destructive actions implied.

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?

Four sentences, front-loaded with purpose, no fluff. Every sentence adds essential information about the tool's function and distinctiveness.

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?

For a content generation tool with no output schema or annotations, the description provides a solid understanding of what the email contains and the optional inputs' behavior. It could be improved by explicitly stating the output (e.g., 'returns the email text').

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining how optional parameters affect the email content (e.g., signing_deadline omission changes sign-off, signing_link presence changes CTA), which goes beyond 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 explicitly states the tool's action ('Write the short covering email') and resource ('contract or agreement'), and distinguishes it from the sibling tool 'contract_template' by clarifying that this is the email wrapping the contract, not the document itself.

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?

The description clearly explains what the email does and differentiates it from 'contract_template', providing clear context. However, it does not explicitly mention when not to use it or provide alternatives among other sibling tools like follow-up emails.

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

contract_templateA

Generate a plain-English Freelance Services Agreement — the full working contract covering services, payment, IP, revisions, termination, and liability. More comprehensive than an NDA (which covers only confidentiality) and more legally framed than a SOW (which covers deliverables). Suitable for most standard freelance and consulting engagements. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour full name or company name (the service provider)
client_nameYesThe client's full name or company name
project_descriptionYesBrief description of the services being provided
total_priceYesTotal contract value (e.g. '$5,500', '$8,000 + expenses')
payment_termsNoHow and when payment is made (e.g. '50% on signing, 50% on delivery', 'monthly in advance', 'net-30 on invoice'). Default: 50% on signing, 50% on final delivery.
revision_roundsNoNumber of included revision rounds. Default: 2.
start_dateNoProject start date (optional, e.g. 'June 15, 2026')
governing_lawNoGoverning law jurisdiction (e.g. 'New South Wales, Australia', 'California, USA'). Optional.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool generates a full working contract in plain English and specifies it does not count against a draft limit. It does not detail any destructive effects or authentication needs, but the generation behavior is sufficiently clear.

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 three sentences, front-loaded with the primary action, followed by differentiation and suitability. Every sentence adds value without redundancy. It is highly efficient.

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?

Despite no output schema, the description adequately explains what the tool produces (a complete contract) and covers its main features. Given the parameter richness and sibling context, the description is complete enough for an agent to understand and use the tool correctly.

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?

The input schema has 100% description coverage for all 8 parameters, with clear descriptions for each. The tool's description does not add additional meaning beyond listing some contract areas, which are already implied by the parameter descriptions. Thus, baseline score is appropriate.

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 generates a 'Freelance Services Agreement' and lists the areas it covers (services, payment, IP, revisions, termination, liability). It distinguishes itself from sibling tools by noting it is more comprehensive than an NDA and more legally framed than a SOW.

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?

The description provides context for when to use this tool (standard freelance/consulting engagements) and contrasts it with related tools (NDA, SOW). It also mentions it does not count against a monthly draft limit. However, it does not explicitly state when not to use it.

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

contract_unsigned_follow_upA

Write a short, professional follow-up when a client has agreed to move forward but hasn't returned the signed contract yet. The hardest follow-up to write because it feels pushy — but staying silent stalls the project, leaves income at risk, and signals that unsigned contracts are fine. Distinct from cold_pitch_follow_up (they never replied at all), client_followup (following up on a proposal they haven't approved yet), and no_response_closure_email (closing out a ghost). This is after the handshake: they said yes, you sent the contract, now it's sitting unsigned. Under 100 words. Matter-of-fact, no guilt, gives them an easy out if something has changed. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
project_nameNoOptional: name or description of the project (e.g. 'the website redesign', 'the Q3 campaign'). Helps personalise the subject line.
days_since_sentNoOptional: how many days ago you sent the contract (e.g. 3, 7, 14). Used to calibrate tone — shorter gap is lighter, longer gap is slightly more direct.
start_dateNoOptional: the planned project start date (e.g. 'June 23', 'next Monday'). Including this adds urgency without being pushy — it's a practical reason to get the contract back.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description fully discloses the tool's behavior: it generates a short professional email with specific tone constraints. It reveals that the tone is calibrated by days_since_sent parameter, that it avoids guilt, and that it includes an easy out. Also discloses that it does not consume monthly draft limit. No contradictions or omissions.

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 detailed but efficient, front-loading the core purpose and then differentiating with siblings. It uses clear, direct language. A few extra phrases ('the hardest follow-up to write because it feels pushy') add empathy but don't waste space. Could be slightly shorter, but well-structured.

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 5 parameters, no output schema, and many sibling tools, the description provides enough context to use correctly: it explains when to use, tone, length constraint, and parameter usage. It does not describe the return format, but that's acceptable as output is presumably the generated email text. A minor gap: no mention of how the email is returned (draft, copy, etc.), but still complete enough.

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 100% with each parameter already well-described (e.g., client_name, days_since_sent for tone calibration). The tool description adds no additional parameter-level meaning beyond what the schema provides. Baseline of 3 is appropriate per guidelines.

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 writes a professional follow-up email when a client has agreed but not signed. It explicitly distinguishes itself from three sibling tools by naming their specific contexts (never replied, proposal not approved, closing out ghost). The verb 'write' and resource 'follow-up for unsigned contract' are precise and unique.

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?

Provides explicit when-to-use: 'after the handshake: they said yes, you sent the contract, now it's sitting unsigned.' Also tells when-not-to-use by contrasting with sibling tools. Includes tone guidance (matter-of-fact, no guilt, under 100 words, gives easy out) and a system behavior note (doesn't count against draft limit). Comprehensive and actionable.

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

delete_proposalA

Remove a saved proposal from your reference library

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe filename of the proposal to delete

TDQS

A3.5/5.0
Behavior2/5

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

The description indicates a destructive action ('remove') but lacks details on irreversibility, permissions, or side effects. With no annotations, more transparency is needed for a deletion tool.

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 sentence with no unnecessary words, efficiently conveying the tool's purpose.

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?

The description is adequate for a simple tool but lacks behavioral context (e.g., permanence of deletion). The abundance of sibling tools suggests more contextual guidance could be beneficial.

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?

The input schema has 100% description coverage, and the description adds no additional meaning beyond what the schema already provides for the 'name' parameter.

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 action ('Remove'), the resource ('saved proposal'), and the context ('reference library'), distinguishing it from sibling tools like 'save_proposal' and 'list_proposals'.

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?

No explicit when-to-use or when-not-to-use guidance is provided. The usage is implied by the tool's name and description, but alternatives or exclusions are not mentioned.

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

deliverables_sign_off_emailA

Write the email asking a client to formally sign off on completed deliverables before you close the project or send the final invoice. The email most freelancers skip — and then spend weeks chasing verbal approvals that were never properly captured. Confirms exactly what was delivered, sets a clear review window, and requests explicit written approval. Keeps the tone collaborative, not administrative. Distinct from milestone_delivered_email (mid-project delivery update), project_closure_email (final wrap-up after sign-off is received), and project_completion_email (marks the end of work). This is the bridge between 'I'm done' and 'it's officially accepted'. Does not count against your monthly draft limit. Required: client_name, project_name, what_was_delivered. Optional: review_deadline (e.g. 'by Friday 20 June', 'within 3 business days' — defaults to a 5-business-day window), next_step (what happens after sign-off, e.g. 'I'll send the final invoice', 'I'll hand over the source files', 'the project is complete' — defaults to final invoice), approval_method (e.g. 'reply to this email', 'click Approve in the shared doc', 'sign the attached form' — defaults to replying to the email), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project
what_was_deliveredYesWhat you're asking them to sign off on (e.g. 'the final website design mockups — all 5 pages', 'the completed brand identity package: logo, colour palette, and typography guide', 'Phase 2: the API integration and admin dashboard')
review_deadlineNoOptional: when you need sign-off by (e.g. 'by Friday 20 June', 'within 3 business days', 'by end of next week'). Defaults to a 5-business-day window.
next_stepNoOptional: what happens immediately after sign-off (e.g. 'I'll send the final invoice', 'I'll release the source files', 'the project will be complete and I'll hand over all assets'). Defaults to sending the final invoice.
approval_methodNoOptional: how the client should approve (e.g. 'reply to this email with your approval', 'click Approve in the shared Figma file', 'sign and return the attached form'). Defaults to replying to the email.
your_nameNoOptional: your name for the sign-off

TDQS

A4.8/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It describes the email's content, tone, and required/optional fields. However, it doesn't clarify whether the tool drafts or sends the email, which is a minor gap. No contradiction with 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?

Concise yet comprehensive; every sentence adds value. Front-loaded with purpose and usage, then parameter details. No fluff.

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?

Complete for a text-generation tool with no output schema. Covers why, when, what params, and alternatives. No gaps in explaining the tool's role.

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

Parameters5/5

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

All 7 parameters are described in the schema with 100% coverage. The description adds value by listing required params, providing examples and defaults for each optional param, and giving practical usage tips beyond 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 clearly states the tool writes an email asking for sign-off on completed deliverables, and explicitly distinguishes it from three sibling tools (milestone_delivered_email, project_closure_email, project_completion_email) with concise differences.

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?

Provides explicit when-to-use context ('before you close the project or send the final invoice'), contrasts with siblings, and includes practical notes like 'Does not count against your monthly draft limit.'

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

deposit_request_emailA

Write the email requesting a project deposit before work begins. Deposits are standard professional practice — this email is confident and clear, not apologetic. Fills the gap between signing the contract/SOW and starting work. Works for any deposit amount or percentage. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description (e.g. 'the website redesign', 'your brand identity project')
deposit_amountYesThe deposit amount or percentage (e.g. '$2,500', '50%', '$1,500 (50% of the total)')
total_amountNoOptional: the full project cost (e.g. '$5,000') — included when helpful for context
payment_linkNoOptional: a payment link URL (Stripe, PayPal, Wise, etc.) — makes it one-click for the client
payment_methodNoOptional: preferred payment method if no link (e.g. 'bank transfer', 'Wise', 'PayPal'). Include account details separately.
due_dateNoOptional: when you need the deposit by (e.g. 'by Friday', 'before we kick off on Monday', 'within 5 business days')
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It discloses the email's tone ('confident and clear, not apologetic') and that it doesn't count against draft limits, but does not explain whether the email is sent directly or returned as text, nor any side effects.

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 four sentences, each adding essential information: purpose, tone, timing, flexibility, and a benefit. No wasted words, and the most important info is front-loaded.

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?

Despite 8 parameters and no output schema, the description does not explain the return value (presumably email text) or how parameters interact. The detailed parameter schema compensates, but the tool lacks a complete picture for the agent.

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 100%, so the schema already documents all 8 parameters thoroughly. The tool description adds no additional meaning or usage guidance beyond the schema definitions.

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 writes a deposit request email, specifies the timing (before work begins, after contract/SOW), and distinguishes it from other email templates with its unique focus on deposits.

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?

The description explicitly says when to use the tool ('fills the gap between signing the contract/SOW and starting work') and notes it works for any deposit amount. However, it does not mention when not to use it or compare to sibling tools.

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

discount_request_responseA

Write a response when a client asks for a lower price. Caving too easily devalues your work; being defensive loses the deal. This generates a firm, warm reply in one of three modes: hold the rate (with reasoning), offer scope reduction instead, or offer payment terms instead. Protects your rate without burning the relationship. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
your_nameYesYour name for the sign-off
original_priceYesYour quoted price (e.g. '$4,500', '£3,200')
response_modeNo'hold_rate' = decline the discount and explain why the price is right; 'reduce_scope' = offer a smaller version at their budget; 'payment_terms' = keep the full price but split payments to ease cashflow. Default: hold_rate.
their_budgetNoOptional: what budget they mentioned (e.g. '$3,000'). Used in reduce_scope and payment_terms modes.
contextNoOptional: any context about the project or relationship that should shape the tone (e.g. 'long-term client', 'startup with limited budget', 'they said the project is on hold if we can't find a middle ground')

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, so description carries full burden. It adds the note about not counting against monthly draft limit, plus explains the three modes' behaviors. Could mention return format, but that's minor.

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?

Four sentences, each earning its place: purpose, stakes, how it works, benefit, and side-effect. Front-loaded and zero fluff.

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?

Given complexity (6 params, 3 modes) and no output schema, description covers usage, parameter guidance, and behavioral note. It's complete enough for an agent to select and invoke correctly.

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?

Schema covers 100% of parameters with descriptions, so baseline is 3. Description adds value by contextualizing the response_mode enum and explaining when to use each mode, which complements 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?

Description clearly states the tool writes a response to discount requests, with three specific modes. It distinguishes from siblings by focusing on this precise use case, unlike general decline or negotiation emails.

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?

Explicitly says 'when a client asks for a lower price', giving clear context. Lacks explicit alternatives or when-not-to-use, but the context is strong and sibling list suggests suitable cases.

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

discovery_call_follow_up_emailA

Write the short follow-up email sent within 24 hours of a discovery call with a new prospect. Fills the critical workflow gap: meeting_request_email → [call happens] → discovery_call_follow_up_email → draft_proposal. Distinct from project_kickoff_email (sent after signing, not after an intro call) and meeting_request_email (schedules the call — this follows it). Structure: warm one-line open, brief summary of the 2–3 key things discussed (confirms you were listening and reduces 'what did we actually agree?' friction), confirmed next step with a date if available, and a low-pressure 'let me know if I've missed anything' close. Under 150 words. The email most freelancers skip — which is why sending it immediately differentiates you. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName or type of project discussed (e.g. 'the rebrand', 'your new website')
what_discussedYes2–3 key points covered in the call, comma-separated (e.g. 'timeline of 6 weeks, design-only scope, launching before Q4'). Auto-formatted as a short summary.
confirmed_next_stepNoThe agreed next action (e.g. 'I'll have a proposal to you by Thursday', 'you'll send over the existing brand assets', 'we'll reconnect after your board meeting'). If omitted, the email closes with a general next-step offer.
your_nameNoYour name for the sign-off

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it produces an under-150-word email, does not count against monthly draft limits, and follows a specific structure. No contradictions with missing annotations.

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 informative but slightly lengthy; it could be tightened without losing clarity. However, it is well-structured and front-loads the core purpose.

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?

Given no output schema and moderate complexity, the description fully explains the tool's output (email), its workflow position, and behavioral constraints, making it complete for an agent to use.

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

Parameters5/5

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

All 5 parameters are described in the schema (100% coverage), and the description adds significant meaning beyond the schema, such as auto-formatting for what_discussed and fallback behavior for confirmed_next_step.

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 writes a follow-up email after a discovery call, providing a specific verb and resource. It distinguishes itself from siblings by explicitly differentiating from meeting_request_email and project_kickoff_email.

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 provides explicit when-to-use guidance (within 24 hours of a discovery call) and identifies alternative tools for different contexts, including the workflow sequence: meeting_request_email → call → this email → draft_proposal.

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

discovery_call_no_show_emailA

Write the email to a prospect who booked a discovery call and didn't show up. One of the most common and awkward freelancer situations — you cleared the time, they ghosted, and now you have to decide how to handle it. Gets the tone right: not passive-aggressive, not a pushover, not grovelling. First no-show: assumes good faith (tech issues, genuine emergency) and offers a single, low-friction reschedule. Second no-show: politely closes the door while leaving it ajar if they ever do want to proceed. Distinct from meeting_cancellation_email (you cancel), meeting_postponement_email (you postpone), and cold_pitch_follow_up (prospecting). Does not count against your monthly draft limit. Required: client_name. Optional: call_time (e.g. 'today at 2pm', 'Monday at 10am') — adds specificity, no_show_count (1 or 2 — defaults to 1 for first no-show, 2 gives the close-out version), reschedule_link (e.g. 'my Calendly link', 'cal.com/yourname' — defaults to replying to the email), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the prospect
call_timeNoOptional: when the call was scheduled (e.g. 'today at 2pm', 'Monday at 10am', 'this morning at 9')
no_show_countNoOptional: 1 for first no-show (give benefit of the doubt, offer reschedule — default), 2 for second no-show (polite close-out)
reschedule_linkNoOptional: how to rebook (e.g. 'my Calendly link: cal.com/yourname', 'this link: calendly.com/you'). Defaults to replying to the email.
your_nameNoOptional: your name for the sign-off

TDQS

A4.8/5.0
Behavior4/5

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

The description explains the behavioral logic: assumes good faith on first no-show offers reschedule, and politely closes on second no-show. However, it does not explicitly state whether the tool sends the email directly or outputs draft text, leaving a minor ambiguity about its exact action.

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 concise and well-structured: starts with core purpose, adds context, differentiates from siblings, and lists parameters with defaults. Every sentence adds value without redundancy.

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?

Given no output schema and few sibling complexities, the description covers purpose, usage, parameters, and behavioral nuances comprehensively. It even notes the draft limit exemption, which adds helpful context.

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

Parameters5/5

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

With 100% schema coverage, the baseline is 3, but the description adds substantial meaning with examples (e.g., call_time: 'today at 2pm', no_show_count: defaults and scenario outcomes, reschedule_link: default behavior). This goes well beyond the schema descriptions.

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 writes an email to a prospect who missed a discovery call. It explicitly distinguishes from siblings like meeting_cancellation_email, meeting_postponement_email, and cold_pitch_follow_up, and outlines the two scenarios (first no-show vs second no-show).

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 explicitly states when to use this tool vs alternatives by naming siblings and their contexts. It also notes that it does not count against a monthly draft limit, providing additional usage guidance.

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

discovery_call_prepA

Prepare for a discovery call with a potential client. Given a brief, generates sharp questions to ask (budget, timeline, decision-maker, success criteria, pain points), a short call agenda, and the 2-3 things you must confirm before committing to a proposal. Use between analyze_brief and draft_proposal. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesThe client brief or enquiry email
analysisNoOptional: output from analyze_brief, if already run. Avoids repeating work.
your_serviceNoOptional: a one-line description of what you offer (e.g. 'UX design for SaaS products'). Helps tailor questions to your specialism.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided. The description reveals that the tool is a non-destructive generation tool (does not count against draft limit) and produces structured output. It does not disclose any side effects, permissions, or rate limits, but the generative nature is conveyed.

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 exceptionally concise: two sentences that cover purpose, inputs, outputs, workflow position, and a key behavioral note. Every word adds value, making it easy for an AI agent to quickly understand the tool's role.

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 moderate complexity (3 parameters, no output schema), the description provides sufficient context: what it generates, its place in a workflow, and a non-standard feature (no draft limit). It could be more complete by specifying the output format, but the listed outputs (questions, agenda, confirmation items) are clear enough for an agent to expect appropriate results.

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?

All three parameters are described in the input schema with clear descriptions (brief, analysis, your_service). The description adds a usage hint for analysis and your_service but does not add significant new semantic detail beyond what the schema provides. With 100% schema coverage, a score of 3 is appropriate.

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: preparing for a discovery call. It specifies the input (brief) and the generated outputs (sharp questions, call agenda, confirmation items). It also positions the tool in the workflow between analyze_brief and draft_proposal, distinguishing it from siblings.

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?

The description explicitly states when to use the tool ('Use between analyze_brief and draft_proposal') and notes that it does not count against the monthly draft limit, which is helpful for resource planning. It lacks explicit 'when not to use' guidance, but the context provides a clear usage scenario.

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

draft_invoiceA

Generate a complete, ready-to-send professional invoice document in Markdown format. Produces the actual invoice (not a cover email or reminder) with a professional header, itemised line items, subtotal, optional tax line, and total due. Ideal for converting an accepted proposal into a billable document. Distinct from invoice_cover_email (the email you send alongside the invoice), invoice_reminder (chasing a late payment), and payment_plan_proposal (offering instalments). The output is Markdown — paste into your invoicing tool, convert to PDF, or send as a formatted email. Required: client_name, your_name, line_items (array of work items). Optional: invoice_number, invoice_date, due_date, tax_rate, payment_instructions, currency, your_business_name, client_company.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFull name of the client or billing contact
client_companyNoClient's company name (omit for solo/individual clients)
your_nameYesYour full name
your_business_nameNoYour business or trading name (omit if billing as an individual)
invoice_numberNoInvoice reference number (e.g. 'INV-2026-042'). Omit to leave as a placeholder.
invoice_dateNoDate of issue (e.g. '18 June 2026'). Defaults to today if omitted.
due_dateNoPayment due date (e.g. '2 July 2026' or 'Net 14'). Omit to use Net 14 from invoice date.
currencyNoCurrency symbol or code (e.g. '$', '£', 'EUR'). Defaults to '$'.
line_itemsYesWork items to bill for. Each item needs a description; quantity and rate are optional (omit for fixed-fee items).
tax_rateNoTax percentage to apply (e.g. 10 for 10% GST/VAT). Omit to produce a tax-free invoice.
payment_instructionsNoPayment details — bank account, PayPal address, Stripe link, or 'see attached'. Omit to leave a placeholder.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the tool produces an invoice (not a cover email or reminder), outputs Markdown, and includes a professional header, line items, subtotal, optional tax, and total. It does not mention any destructive actions or side effects, which is appropriate for a document generation tool. A minor gap is the lack of explicit statement about whether it modifies any records, but the context implies it is a pure generation tool.

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 approximately 6 sentences, each conveying essential information without redundancy. It is front-loaded with the primary action, specifies the output format, distinguishes from siblings, and summarizes required/optional parameters. No fluff – every sentence earns its place.

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?

Given the tool's complexity (11 parameters, nested array for line_items) and lack of output schema, the description is remarkably complete. It explains the output format (Markdown) and content (header, line items, subtotal, tax, total). It also covers usage context and parameter guidelines. No gaps are apparent.

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

Parameters5/5

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

Schema description coverage is 100%, so the baseline is 3. However, the description adds significant value beyond the schema: it explains the purpose of each optional parameter (e.g., 'Omit to leave a placeholder' for invoice_number, 'Omit for fixed-fee items' for quantity/rate), provides examples for date formats, and clarifies the line_items structure. This makes parameter semantics very clear.

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 it generates a complete, ready-to-send professional invoice document in Markdown format, and distinguishes itself from three sibling tools (invoice_cover_email, invoice_reminder, payment_plan_proposal). The verb 'Generate' and resource 'invoice document' are specific and unambiguous.

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?

The description provides context for when to use the tool ('Ideal for converting an accepted proposal into a billable document') and lists required and optional parameters. It explicitly distinguishes from sibling tools, though it does not explicitly state when not to use it (e.g., avoid for sending reminders). Still, the guidance is clear and helpful.

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

draft_proposalA

Draft a new client proposal based on a brief. Uses your saved winning proposals as style/voice references. Returns a ready-to-send proposal. Free plan: 5 drafts/month. Upgrade for unlimited.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesThe client brief, project description, or email thread. Paste the full text.
budgetNoClient budget if known (e.g. '$5,000–8,000')
deadlineNoProject deadline if known (e.g. '6 weeks')
your_rateNoYour hourly or day rate to include in pricing (e.g. '$150/hr')

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries burden. It discloses that it uses saved winning proposals as references and mentions rate limits (free plan: 5 drafts/month). However, it doesn't specify if the proposal is automatically saved or how output is delivered.

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 sentences, no fluff. First sentence states purpose, second adds context, third mentions limits. Efficient and front-loaded.

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?

No output schema, but description says 'Returns a ready-to-send proposal', which is sufficient for an agent to understand the result. Lacks details on output format or how to access the proposal, but overall context is adequate given the simple parameters.

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 parameters are already well-documented. Description adds no additional meaning beyond the schema; it mentions 'brief' but doesn't elaborate on budget, deadline, your_rate.

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?

Description clearly states the tool drafts a proposal from a brief using saved winning proposals as style references, distinguishing it from siblings like analyze_brief (analysis only) and budget_proposal (budget-specific).

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?

Description implies when to use (when you have a brief and want a proposal) and mentions style references, but lacks explicit exclusions or alternatives like 'use analyze_brief if you only need analysis'.

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

early_delivery_emailA

Write the email when your work is ready ahead of the agreed deadline — the email most freelancers mishandle by either sitting on finished work until the deadline (wasted goodwill) or sending with no context (client doesn't know what to do with it). This generates a confident, warm note that announces early delivery, frames it positively, and gives the client a clear next step. Two routes: full_delivery (default — everything is done and ready; confident announcement with handover details and a brief note on what you'd like from them next), early_preview (a first draft or near-complete version is ready before expected — inviting early feedback so you can finalise faster; useful for iterative projects). Distinct from project_completion_email (delivery at the expected time), project_handover_email (operational asset handover with checklist), and milestone_approval_request_email (mid-project sign-off gate). Does not count against your monthly draft limit. Required: client_name, deliverables (what you're sending — e.g. 'the homepage design', 'the three proposal templates', 'the full copy deck'). Optional: project_name, original_deadline (the date they were expecting it — makes the earliness concrete, e.g. 'Friday 27 June', 'end of next week'), feedback_window (how long you can accommodate revisions on your current schedule, e.g. 'the next few days', 'this week' — omit to keep it open), route ('full_delivery' | 'early_preview' — default full_delivery), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
deliverablesYesWhat you're sending early — e.g. 'the homepage design', 'the three proposal templates', 'the full copy deck'
project_nameNoOptional: project name — e.g. 'the Hartley rebrand', 'your Q3 content pack'
original_deadlineNoOptional: when they were expecting the work — e.g. 'Friday 27 June', 'end of next week'. Makes the earliness concrete.
feedback_windowNoOptional: how long you can accommodate revisions on your current schedule — e.g. 'the next few days', 'this week'. Omit to leave open.
routeNofull_delivery (default) — everything is ready; early_preview — a first draft is ready earlier than expected, inviting feedback before the final.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool does not count against monthly draft limit and explains the two routes and their outputs. While it could state whether it drafts or sends the email, the behavioral details are sufficient for an email generation tool.

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 front-loaded with the core purpose and scenario. Every sentence adds informative value, from the common mistake warning to the route explanation. It is efficiently structured without redundancy.

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?

With 7 parameters (2 required) and no output schema, the description covers all parameters with examples and context. It differentiates from a large set of sibling tools effectively. The email output is intuitive, so no further completeness is needed.

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?

Schema coverage is 100%, so the description adds value beyond the schema by explaining the routes in detail ('full_delivery... confident announcement...', 'early_preview... inviting feedback...'), providing concrete examples for deliverables, and clarifying optional parameters like original_deadline and feedback_window with usage context.

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 starts with a clear verb+resource: 'Write the email when your work is ready ahead of the agreed deadline.' It explicitly distinguishes this tool from siblings like project_completion_email, project_handover_email, and milestone_approval_request_email, providing precise differentiation.

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 explicitly states when to use the tool (work ready ahead of deadline) and when not to, contrasting with siblings. It also describes two routes (full_delivery and early_preview) with specific use cases, giving clear guidance on scenarios.

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

end_client_relationship_emailA

Write a professional email to end an existing client relationship or retainer. Three modes: natural_end (the engagement has run its course — use when the project is done and you're not renewing; warm, leave the door open for future work), capacity (you genuinely don't have room to continue — honest, no blame, brief), fit_mismatch (the working relationship isn't working — handled carefully; professional and final without being cold or over-explaining). Most freelancers write these too apologetically (which reads as uncertain) or too abruptly (which burns the bridge). This tool finds the professional middle: clear, direct, warm where appropriate. Required: client_name. Optional: engagement_description (what you've been doing together — e.g. 'the monthly retainer', 'the content work', 'the design contract'), end_date (when the engagement ends — e.g. 'end of this month', 'June 30', 'after the current milestone'), reason (natural_end | capacity | fit_mismatch — defaults to natural_end), handover_note (optional: what you're doing to wrap up or help them transition — e.g. 'I'll deliver the final files by Friday', 'happy to brief a replacement'), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
engagement_descriptionNoOptional: what you've been doing together — e.g. 'the monthly retainer', 'the content work', 'the design contract', 'our arrangement'. Helps make the email specific rather than generic.
end_dateNoOptional: when the engagement ends — e.g. 'end of this month', 'June 30', 'after the current milestone is delivered'. If omitted, the email stays slightly open on timing.
reasonNonatural_end (default — engagement has run its course; warm and future-friendly), capacity (you don't have room to continue; honest, brief, no blame), fit_mismatch (working relationship isn't working; professional and final, avoids over-explaining).
handover_noteNoOptional: what you're doing to wrap up or help them transition — e.g. 'I'll deliver the final files by Friday', 'happy to brief a replacement if that's useful', 'everything is documented in the shared folder'. Including a handover gesture is good professional practice and often softens the message.
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the tool's behavior: it writes an email, has three modes, and does not count against a monthly draft limit. It does not mention auth requirements or rate limits, but those are unlikely for a text generation tool. The behavioral context is adequate.

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 well-structured, starting with the main purpose, then detailing modes, required/optional params, and tone advice. It is slightly lengthy but every sentence adds value. A 5 would require more conciseness without losing clarity.

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 6 parameters, 3 modes, and no output schema, the description is quite complete: it covers all parameters with examples and defaults, explains the three modes, and provides professional best practices. It does not describe the return format, but that is implicitly the email text. A 5 would require more explicit handling of edge cases or output specification.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the reason parameter's enum values, giving examples for engagement_description and handover_note, and clarifying defaults (reason defaults to natural_end). This extra context justifies a 4.

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 writes a professional email to end a client relationship or retainer, and distinguishes three specific modes (natural_end, capacity, fit_mismatch) with distinct use cases. This makes the purpose highly specific and differentiates it from sibling tools like client_check_in_email or project_pause_email.

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?

The description provides explicit guidance on when to use each mode (natural_end for completed projects, capacity for lack of room, fit_mismatch for poor fit) and offers tone advice. However, it does not explicitly state when not to use this tool or mention alternatives from the sibling list, which keeps it from a 5.

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

equity_or_deferred_payment_responseA

Write a professional, considered response when a client proposes paying you in equity, exposure, revenue share, or deferred payment instead of (or alongside) a cash fee. The hardest part of this email is saying no without burning the relationship — or saying yes with the right conditions. Three modes: decline (default — polite, firm, no-door-slamming; explains your policy without moralising), counter (you're open to it under specific conditions — e.g. partial cash + equity, milestone-based deferred, or a minimum cash floor), and open_to_discuss (you'd like to hear more before committing either way — useful when the offer might be genuinely interesting but you need more information). Distinct from discount_request_response (which handles cash price negotiation). Does not count against your monthly draft limit. Required: client_name, proposal_type (e.g. 'equity stake', 'revenue share', 'deferred payment after launch', 'exposure and portfolio work'). Optional: response_mode (decline | counter | open_to_discuss), project_description, your_conditions (only used in counter mode — what would make you say yes, e.g. '50% cash upfront and 5% equity'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or the name they used to sign off
proposal_typeYesWhat they're offering instead of cash (e.g. 'equity stake', 'revenue share', 'deferred payment after launch', 'exposure and a portfolio piece'). Used to keep the reply specific, not generic.
response_modeNodecline (default): polite, firm no — explains your policy, keeps the door open for paid work. counter: you'd say yes under specific conditions — state them clearly. open_to_discuss: you need more detail before deciding — ask the right questions.
project_descriptionNoOptional: brief description of the project (e.g. 'mobile app for their fintech startup'). Helps make the response feel specific.
your_conditionsNoOptional (counter mode only): what would make you say yes, stated plainly (e.g. '50% of the standard rate upfront and 5% equity', 'full fee deferred 90 days with a signed agreement', 'minimum $2k retainer plus revenue share above $10k monthly'). Auto-formatted into the email.
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that the tool generates an email, has three modes with a default, and that certain parameters are mode-specific. It also notes it does not count against a monthly draft limit. Behavioral traits are well-covered, though it doesn't explicitly state it's a non-destructive read operation.

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 fairly concise and front-loaded with the main purpose. Each sentence adds value, covering modes, usage, and parameter guidance. Minor redundancy (e.g., 'the hardest part...') could be trimmed, but overall it is well-structured and informative.

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 (three modes, six parameters, no output schema), the description covers the essential aspects: required/optional parameters, mode behavior, parameter conditions, and differentiation from sibling. It doesn't explicitly describe the output format, but given no output schema, this is acceptable.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining usage context for each parameter (e.g., your_conditions used only in counter mode), clarifying the default for response_mode, and providing practical examples. This goes beyond the schema's basic descriptions.

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: writing a professional response to non-cash payment proposals. It specifies the verb (write a response), resource (equity, deferred payment, etc.), and distinguishes from the sibling tool discount_request_response, making it easy for the agent to select correctly.

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?

The description explicitly differentiates from discount_request_response and explains the three response modes (decline, counter, open_to_discuss) with clear guidance on when to use each. It could also mention when not to use the tool, but the distinction from the sibling provides adequate direction.

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

estimate_revision_emailA

Write the email you send when you discover mid-project that the work is going to cost more or take longer than your original estimate — through no fault of the client (you under-estimated, the work turned out to be more complex, or hidden dependencies emerged). Distinct from change_order_email (which covers client-requested additions), scope_creep_email (which calls out the client adding work), and project_delay_notification_email (which covers timeline slippage without a cost impact). Three routes: revised_estimate (default — disclose the gap, explain why, present the new number, ask for a go-ahead before continuing; best when the overage is significant and you need client approval to proceed), propose_split (offer to complete the current agreed scope at the original price and quote the additional complexity as a separate phase 2; best when the new work is genuinely separable and you can deliver something useful at the original budget), absorb (you'll eat the extra cost this time — be transparent that you're doing so and why, and set expectations for future estimates; best for small overages on long-term client relationships). Required: client_name, original_estimate (what you originally quoted — e.g. '$3,000', '2 weeks', '$3,000 / 2 weeks'), overrun_reason (what you discovered that changed the picture — be specific). Optional: revised_estimate (the new number or timeline — e.g. '$4,500', '3.5 weeks'), project_name, route ('revised_estimate' | 'propose_split' | 'absorb' — default revised_estimate), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
original_estimateYesWhat you originally quoted — e.g. '$3,000', '2 weeks', '$3,000 and 2 weeks'. Referenced in the email so the client has the context.
overrun_reasonYesWhat you discovered that changed the picture — be specific. E.g. 'the existing database schema is much more complex than the brief suggested', 'the third-party API has no sandbox and every test call costs time', 'the legacy codebase has no test coverage and refactoring safely is taking 3× as long'. Vague reasons ('it was harder than expected') lose trust; specific ones build it.
revised_estimateNoOptional: the new number or timeline — e.g. '$4,500', '3.5 weeks', '$4,500 and 3.5 weeks'. Include for revised_estimate and propose_split routes. Omit for absorb route.
project_nameNoOptional: the project name or short description — e.g. 'the dashboard rebuild', 'your brand identity project'. Adds clarity to the email.
routeNorevised_estimate (default): disclose the gap, explain why, present the new number, ask for approval before continuing. propose_split: deliver the agreed scope at the original price and quote the new complexity as a separate phase 2. absorb: you're eating the extra cost this time — say so transparently and set expectations.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It explains that the tool writes an email, details three behavioral routes, and mentions it does not count against monthly draft limits. It does not disclose if it saves or sends the email, but for a drafting tool this is sufficient. No contradictions.

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 well-structured and front-loaded with purpose and sibling distinctions. It efficiently explains routes and parameter semantics with examples. Though relatively long, every sentence adds value and is organized logically. Slightly verbose but earned.

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?

Given the tool's complexity (7 parameters, 3 routes) and lack of output schema, the description is comprehensive. It covers purpose, usage guidelines, parameter details, and behavioral expectations. No gaps are apparent for an email generation tool.

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?

Schema coverage is 100%, so baseline is 3. The description adds significant value beyond the schema by providing examples, contextual advice (e.g., being specific in overrun_reason), and detailed route explanations. This enhances the agent's understanding of how to fill parameters correctly.

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 writes an email for mid-project overruns due to underestimation, not client fault. It explicitly distinguishes from three sibling tools (change_order_email, scope_creep_email, project_delay_notification_email), making its purpose unique and clear.

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 provides explicit when-to-use scenarios (mid-project overrun due to underestimation) and when-not (client-requested changes, scope creep, timeline delay without cost). It also explains three routes with best-use contexts (revised_estimate for significant overages needing approval, propose_split for separable additional work, absorb for small overages).

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

expense_reimbursement_emailA

Write the professional email requesting reimbursement from a client for project expenses you have incurred on their behalf — stock images, fonts, software licences, hosting, printing, materials, travel. Required: client_name, expense_description (what you bought and why it was needed), amount. Optional: project_name, receipt_note (e.g. 'I have attached the receipt'), add_to_next_invoice (default false — if true, frames this as a heads-up addition to the next invoice rather than a standalone request), payment_instructions (e.g. 'via your usual payment portal', 'by bank transfer to the details on my invoice'), your_name. Distinct from budget_update_email (cost overrun from increased project scope or time) and invoice_cover_email (billing for your own labour). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
expense_descriptionYesWhat you purchased and why it was needed for the project (e.g. 'a stock photography licence for the hero image', 'a Figma seat to collaborate on your design files', 'return travel to your office for the kick-off meeting')
amountYesThe amount to be reimbursed (e.g. '$85', '£120', '€200')
project_nameNoName or description of the project (e.g. 'the website redesign', 'your brand identity project')
receipt_noteNoOptional note about the receipt (e.g. 'I have attached the receipt for your records', 'receipt available on request'). If omitted, no receipt line is added.
add_to_next_invoiceNoIf true, frames the email as a transparency heads-up that this will appear on the next invoice, rather than a standalone reimbursement request. Default: false.
payment_instructionsNoHow you would like to be paid (e.g. 'via your usual payment portal', 'by bank transfer — details on my invoice', 'alongside the next milestone payment'). Omit if add_to_next_invoice is true.
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explains the action (writing an email), the behavior of the add_to_next_invoice parameter, and mentions it does not count against a monthly draft limit. It doesn't explicitly state whether the email is sent or drafted, but the context is sufficient for a non-destructive email tool.

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 paragraph that efficiently covers purpose, required/optional fields, and sibling distinctions. It is well-structured but could be slightly more organized with bullet points. Still very concise.

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, 3 required, no output schema), the description adequately covers the email's purpose, parameter roles, and usage context. It could mention the output (e.g., generated email text) but that is implicitly clear for an email generation tool.

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?

Schema coverage is 100% (baseline 3). The description adds meaning beyond the schema by explaining the purpose of key parameters like add_to_next_invoice (framing as invoice heads-up) and payment_instructions (omit when add_to_next_invoice is true).

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 writes a professional reimbursement email and distinguishes it from sibling tools budget_update_email and invoice_cover_email by specifying different use cases (project expenses vs. budget overruns vs. labor billing).

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?

The description provides clear when-to-use guidance for reimbursement requests, lists required and optional fields, and differentiates from two sibling tools. It lacks explicit 'when not to use' but the sibling distinctions imply alternatives.

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

feedback_request_emailA

Write a short, genuine email asking a client for private feedback after a project — not a public testimonial, just honest input to help you improve. Clients who are asked for feedback feel valued; you get patterns you'd never discover otherwise. Distinct from testimonial_request (which asks for a public review for marketing purposes). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project you delivered (e.g. 'the website redesign', 'the brand identity project', 'the three-month content retainer')
specific_aspectNoOptional: a specific part of the experience you're genuinely curious about — makes the request feel purposeful rather than generic (e.g. 'how the communication felt during the revision rounds', 'whether the timeline worked for your team', 'the clarity of my initial briefing process')
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the email is short and genuine, asks for honest input, and notes it does not count against the monthly draft limit. While it could mention delivery method or timing, it adequately communicates the tool's non-destructive behavior and purpose.

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 sentences: first states purpose and scope, second adds benefit, third distinguishes from sibling and adds a constraint. Every sentence earns its place with zero waste.

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?

Without an output schema or annotations, the description covers purpose, usage context, and a key behavioral trait. It doesn't explain delivery or confirmation, but for a simple email generation tool, it provides sufficient information for an agent to use correctly.

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% with well-described parameters. The description adds context (e.g., optional specific_aspect makes the request purposeful), but does not significantly extend beyond the schema. Baseline 3 is appropriate since the schema already does the heavy lifting.

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 writes a feedback request email after a project, emphasizing it is for private feedback, not a public testimonial. It uses a specific verb ('write') and resource ('email'), and explicitly distinguishes from the sibling 'testimonial_request' tool.

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?

The description specifies when to use (after a project, for private feedback) and contrasts with testimonial_request for public reviews. It could be improved by explicitly stating scenarios where this tool should not be used, but the sibling differentiation provides strong guidance.

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

get_proposalA

Read the full content of a saved proposal by filename. Use list_proposals first to see available filenames.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe filename of the proposal to read (e.g. 'ecommerce-redesign-2024.md')

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It states the tool reads content, but does not disclose that it is read-only, or describe return format, permissions, or error behavior. However, the behavior is straightforward and the description is minimally adequate.

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?

Two concise sentences, no superfluous information. Purpose is stated first, followed by a direct usage hint. 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?

Given no output schema, the description fails to explain what 'full content' means (e.g., format, structure). It also omits error handling or prerequisites beyond listing. It is somewhat incomplete for a tool with one parameter and no output schema.

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% for the single parameter, so baseline is 3. The description does not add additional meaning beyond what the schema already provides (parameter name and example).

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 that the tool reads the full content of a saved proposal by filename. It distinguishes from siblings like list_proposals, save_proposal, delete_proposal by specifying the action of reading content.

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?

The description explicitly advises using list_proposals first to see available filenames, which is helpful prerequisite guidance. It does not cover when not to use or alternative tools, but for a simple read tool this is sufficient.

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

guest_post_pitchA

Write a cold pitch email to a blog, newsletter, or publication asking to contribute a guest article. Guest posts build SEO authority, earn backlinks, and put your name in front of an established audience — but most pitches are rejected because they lead with the writer's ego, not the editor's interests. This generates a reader-first pitch that opens with a concrete article angle tailored to the publication's audience, briefly establishes your credibility, and ends with a frictionless ask. Distinct from podcast_pitch_email (audio appearances), conference_talk_pitch (in-person speaking), and cold_pitch (client sales). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
publication_nameYesName of the blog, newsletter, or publication you are pitching to (e.g. 'Smashing Magazine', 'Freelancer Union Blog', 'Indie Hackers')
article_angleYesThe specific article topic or angle you are proposing — frame it as value for the publication's readers, not a showcase for you (e.g. 'how freelancers can write proposals that close without discounting', 'the three scope conversations every new freelancer gets wrong')
editor_nameNoOptional: first name of the editor or content lead — personalises the opener. Omit if unknown.
why_their_readersNoOptional: one sentence on why this topic is a specific fit for this publication's readership — concrete beats vague (e.g. 'your readers are mostly early-career freelancers navigating their first client contracts', 'Indie Hackers readers are shipping and selling — scope creep is their number-one frustration'). Omit to keep the pitch tight.
your_credentialNoOptional: your single most relevant credibility signal — specific beats vague (e.g. '9 years of freelance product design, 80+ client engagements', 'I built ProposalCraft, used by 600+ freelancers', 'my last piece on Toptal got 12k shares'). Omit if you have no strong signal yet.
proposed_titleNoOptional: a working headline for the article — hooks the editor immediately. Omit to keep the pitch angle open.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses the tool generates a reader-first pitch with specific structure (angle, credibility, frictionless ask) and notes it does not count against the monthly draft limit. No contradictions or hidden behaviors are evident, though details like character limits or formatting are absent.

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 moderately concise, using multiple sentences to convey purpose, context, structure, and sibling distinctions. Every sentence adds value, but it could be slightly shorter without losing clarity. It is front-loaded with the core action.

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 has 7 parameters and no output schema, the description is fairly complete: it explains the input purpose, output structure (pitch email), and extra benefits (draft limit). Missing details like output format (plain text vs. HTML) might affect completeness slightly, but overall it is adequate.

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

Parameters5/5

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

All 7 parameters have schema descriptions, and the tool description adds significant meaning beyond them—e.g., for 'article_angle', it emphasizes framing as value for readers, not self-showcase. This extra guidance helps the agent use parameters effectively.

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 this tool writes a cold pitch email for guest articles, with a specific verb ('Write a cold pitch email') and resource ('blog, newsletter, or publication'). It explicitly distinguishes from three sibling tools (podcast_pitch_email, conference_talk_pitch, cold_pitch), making purpose and boundaries very clear.

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?

The description explains when to use the tool (for SEO, backlinks, audience building) and provides guidance on what makes a good pitch (reader-first, not ego-driven). It names alternative tools for different contexts. However, it does not explicitly state when NOT to use this tool beyond the sibling distinction, leaving some ambiguity.

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

improve_proposalA

Review a proposal draft and get specific, actionable improvements. Surfaces weak sections, unclear pricing, vague scope, and missed persuasion opportunities. Run after draft_proposal or on any proposal you're about to send. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposalYesThe full text of the proposal draft to review
focusNoOptional: a specific area to focus on (e.g. 'pricing clarity', 'opening hook', 'why-me section', 'scope definition'). If omitted, a full review is given.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It notes that the tool 'does not count against your monthly draft limit', which is helpful. However, it does not mention read-only nature, output format, or other side effects beyond that.

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 three sentences long, each providing distinct information: action and output, specific improvements, and usage guidance with a behavioral note. No redundant or unnecessary text.

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 has only two parameters and no output schema, the description covers purpose, usage, and a behavioral trait. It could mention the output format or idempotency, but it is sufficiently complete for an agent to select and invoke correctly.

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?

Schema coverage is 100% with good descriptions, so baseline is 3. The description adds value by stating that if 'focus' is omitted, a full review is given, which goes beyond the schema's description.

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 verb 'Review' and the resource 'proposal draft', specifies what it surfaces (weak sections, unclear pricing, etc.), and distinguishes itself from siblings like 'draft_proposal' by noting it is meant to be run after drafting.

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?

The description explicitly says 'Run after draft_proposal or on any proposal you're about to send', giving clear context for when to use the tool. However, it does not explicitly state when not to use it or mention alternatives beyond draft_proposal.

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

introduction_emailA

Write the reply-all when a mutual contact introduces you to a potential client over email. A specific, high-stakes email: the introducer is on CC, so you need to acknowledge them briefly while making a strong direct impression on the prospect — all in under 120 words. Fills the workflow gap between a referral and the discovery call. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
prospect_nameYesFirst name of the person you're being introduced to
introducer_nameYesFirst name of the mutual contact who made the introduction (they'll be on CC)
your_specialtyYesWhat you do — one line (e.g. 'freelance web developer', 'brand strategist', 'copywriter for SaaS companies')
their_contextNoOptional: what you know about their situation or need (e.g. 'you're looking for help with a product launch', 'you need a new website before the summer'). Makes the email feel specific rather than generic.
proposed_next_stepNoOptional: what you want to happen next (e.g. 'a 20-minute call this week', 'a quick call to learn more about the project'). Defaults to suggesting a call.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses key behavioral traits: the email is reply-all, high-stakes, under 120 words, and does not count against monthly draft limit. It also sets expectations for tone and structure. The description is transparent about the tool's purpose and constraints, though it does not cover error conditions or exact output format.

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 concise (about 4 sentences) and front-loaded with the primary purpose. Every sentence adds value: use case, importance, constraints, and a unique benefit (does not count against monthly limit). No wasted words, making it efficient for an agent to parse.

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 (generating an email), no output schema, and no annotations, the description provides sufficient context: it explains the email's purpose, audience, constraints, and workflow position. It doesn't specify the return format, but for a generative tool, the output (email) is implied. The sibling list shows many email tools, and this description clearly positions this one.

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?

Schema coverage is 100%, so the schema already describes each parameter. The description adds valuable context: for example, 'their_context' is explained as making the email feel specific, and 'proposed_next_step' defaults to a call. This extra guidance helps the agent use parameters effectively beyond the schema's basic descriptions.

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 writes a reply-all email when a mutual contact introduces you to a potential client, with a specific verb (write) and resource (email). It distinguishes itself from sibling tools like cold_pitch or referral_request by specifying the exact scenario.

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?

The description provides clear context for when to use the tool: 'when a mutual contact introduces you to a potential client over email'. It explains the email's goals and constraints (under 120 words, acknowledge introducer, impress prospect). While it doesn't explicitly list when not to use it, the specific framing and mention of 'workflow gap' effectively guide appropriate use.

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

invoice_correction_emailA

Write the professional email to send a client when you need to correct an invoice you already sent — wrong amount, wrong line item, wrong date, or a missing item. Brief apology (one line — not grovelling), clear instruction to disregard the original, and the corrected details. Gets this right where most freelancers fumble: either they don't send anything (client pays the wrong amount) or they send a confusing email that makes the situation worse. Distinct from invoice_dispute_response_email (the client disputes your invoice — this is when YOU caught the error) and invoice_cover_email (first send of a new invoice). Does not count against your monthly draft limit. Required: client_name, original_invoice_number, corrected_invoice_number, correction_description (e.g. 'the total was listed as $1,200 instead of $1,450 due to a line item error'). Optional: correct_amount, project_name, payment_due_date, payment_link, your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
original_invoice_numberYesThe reference number of the incorrect invoice to disregard (e.g. 'INV-041')
corrected_invoice_numberYesThe reference number of the corrected invoice (e.g. 'INV-041-R', 'INV-042')
correction_descriptionYesWhat was wrong and what it has been corrected to — be specific (e.g. 'the subtotal was listed as $1,200 instead of $1,450 — one line item was missing', 'the due date was listed as June 10 instead of June 20')
correct_amountNoThe correct final amount (e.g. '$1,450', '£2,800'). Including this removes ambiguity about what the client should pay.
project_nameNoProject name for context (e.g. 'the Brand Refresh project')
payment_due_dateNoWhen payment is due on the corrected invoice (e.g. 'June 25', '30 days from today')
payment_linkNoA direct payment link or portal URL for the corrected invoice
your_nameNoYour name for the sign-off

TDQS

A4.8/5.0
Behavior5/5

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

The description covers behavioral aspects thoroughly: brief apology, instruction to disregard original, corrected details. It also notes it does not count against monthly draft limit and lists required/optional parameters. Since no annotations exist, this is fully comprehensive.

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 informative but somewhat long. It is well-structured: purpose, comparisons, common mistakes, and parameter list. Could be slightly more concise, but no wasted sentences.

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?

Given no output schema and no annotations, the description covers all necessary context: purpose, usage, behavior, parameters. It explains what the output (email) should contain and provides enough detail for correct invocation.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by grouping parameters into required and optional, providing examples, and explaining the role of each in the email. However, the schema descriptions are already detailed, so the added value is moderate.

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 writes a professional email to correct a sent invoice, distinguishing it from sibling tools 'invoice_dispute_response_email' (client disputes) and 'invoice_cover_email' (first send). It uses specific verbs and resources, and the title is clear.

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?

Explicitly explains when to use (when you need to correct an invoice) and when not to use (dispute, first send). It also describes common mistakes, providing clear guidance on context and alternatives.

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

invoice_cover_emailA

Write the short professional email that accompanies a sent invoice. Most freelancers attach invoices to a blank or one-line email — this tool generates the cover email that frames the invoice, states the amount and due date, and gives the client a clear next step. Under 80 words. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
amountYesThe invoice total (e.g. '$2,500', '€1,800', '£950')
invoice_numberNoOptional: invoice reference number (e.g. 'INV-0042'). Included in the subject line if provided.
project_nameNoOptional: the project or work this invoice covers (e.g. 'the website redesign', 'May retainer', 'copywriting — Phase 1')
due_dateNoOptional: when payment is due (e.g. 'June 26', 'within 14 days', 'on receipt'). Defaults to a generic 'per our agreed terms' line.
payment_linkNoOptional: a direct payment URL (e.g. a Stripe link, PayPal.me). Adds a one-click CTA to the email.
payment_methodNoOptional: how you'd like to be paid if no payment link (e.g. 'bank transfer — details on the invoice', 'via Stripe')
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses key behaviors: generates an email under 80 words, does not count against draft limit. Does not mention destructive actions, which is appropriate for a generation tool.

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?

Two concise sentences that front-load the purpose and immediately add valuable constraints. Every word earns its place.

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?

Given no output schema, the description adequately explains what the tool returns (the cover email) and its key elements (amount, due date, next step, under 80 words). Enough for an agent to understand the output without additional documentation.

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% with clear descriptions for each parameter. The description adds no new parameter-level meaning beyond the schema, but it does contextualize that the email will include amount and due date (both parameters). Baseline 3 is appropriate.

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?

Description clearly states the tool writes a short professional cover email for an invoice, distinguishing it from sending a blank email. It specifies the content (amount, due date, next step) and constraints (under 80 words). Among many email siblings, this one is uniquely for invoice cover emails.

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?

The description implies when to use (when sending an invoice and needing a professional cover email) and mentions a pragmatic note about not counting against monthly draft limit. However, it lacks explicit when-not-to-use or alternative tools.

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

invoice_dispute_response_emailA

Write the professional reply when a client disputes or questions a charge on an invoice — 'I thought this was included', 'We agreed on a lower price', 'I don't recognise this line item'. Three response modes: 'explain' (default — the charge is valid and correct, explain clearly and calmly why), 'adjust' (you'll credit or reduce the invoice as a goodwill gesture or because of a genuine error), 'clarify' (you need more information from them before you can respond fully). Distinct from late_payment_reminder (client hasn't paid but hasn't disputed), budget_update_email (you're informing of a cost increase before invoicing), and scope_change_email (formal change order for extra work) — this is the specific situation where a client has received your invoice and is pushing back on a line item. Professional, calm, not defensive — resolves the dispute without damaging the relationship. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
disputed_itemYesWhat they're disputing (e.g. 'the additional hour charge', 'the rush fee', 'the final milestone payment')
project_nameNoName of the project
response_modeNoHow to respond: 'explain' (charge is valid, explain it — default), 'adjust' (you'll credit or reduce the invoice), 'clarify' (you need more detail before responding)
explanationNoWhy the charge is valid (used in 'explain' mode — e.g. 'this covers the two additional revision rounds requested on June 3rd beyond the three included in the original scope')
adjustmentNoWhat you'll do to resolve it (used in 'adjust' mode — e.g. 'remove the rush fee', 'credit $200 against the balance', 'issue a revised invoice at the originally discussed rate')
invoice_numberNoInvoice number for reference in the subject line (e.g. 'INV-047')
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool's behavior: it generates a professional, calm, non-defensive reply. It describes the three response modes (explain, adjust, clarify) and their intended uses. It also mentions that the email does not count against a monthly draft limit. However, it does not detail potential limitations or side effects, but overall it provides solid behavioral context.

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 well-structured: it starts with the core purpose, then lists the modes, contrasts with siblings, and adds tone and a bonus note. It is front-loaded with the most important information. While it is a bit lengthy, every sentence adds value and there is no redundancy.

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 complexity of 8 parameters (2 required, 1 enum) and no output schema, the description adequately covers the scenario, modes, and differentiation from siblings. It provides enough context for an AI agent to understand the tool's purpose and when to use it. The absence of output schema is acceptable as the tool generates an email, whose format is implied.

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?

Schema coverage is 100%, so the baseline is 3. The description adds significant value by explaining the three modes and providing examples of what to use in explanation and adjustment parameters. It clarifies the context of each parameter beyond the schema's descriptions, making the tool more intuitive.

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: writing a professional reply when a client disputes an invoice charge. It specifies the three response modes (explain, adjust, clarify) and distinguishes this tool from related siblings like late_payment_reminder, budget_update_email, and scope_change_email. The verb 'Write' and resource 'professional reply' are specific and unambiguous.

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 explicitly defines when to use this tool: when a client disputes or questions a charge. It provides contrasting contexts for sibling tools (e.g., late_payment_reminder for non-disputed non-payment, budget_update_email for pre-invoice cost increases, scope_change_email for formal change orders). It also clarifies that this is for the specific situation where the client has received the invoice and is pushing back on a line item.

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

invoice_reminderB

Write a polite but firm reminder for an overdue or unpaid invoice. Generates the right tone for the reminder number — first reminder is friendly and assumes an oversight, second is firmer, third adds urgency. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name or company name
invoice_numberYesInvoice number or reference (e.g. 'Invoice #042', 'INV-2026-06')
amountYesThe amount owed (e.g. '$3,500', '£1,200')
due_dateYesOriginal due date (e.g. 'June 1', '30 days ago')
reminder_numberNoWhich reminder this is: 1 (friendly, assume oversight), 2 (firm, request confirmation), or 3 (urgent, flag next steps). Default: 1.
your_nameNoOptional: your name for the sign-off

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description must fully describe behavior. It explains tone variation by reminder number and the draft limit benefit, but does not disclose other important aspects such as whether the tool sends the email or just generates text, or any required permissions. This is adequate but not comprehensive.

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 only two sentences long, with the purpose front-loaded. It is concise, uses clear language, and every sentence provides relevant information without redundancy. There is no wasted text.

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?

Given the lack of output schema and annotations, the description covers the basic purpose and a key behavioral trait (tone variation), but it does not explain what the output looks like (e.g., a full email draft) or provide enough context to fully understand the tool's capabilities relative to its many siblings. It is adequate but incomplete.

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?

The input schema has 100% description coverage, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter, such as the meaning of 'reminder_number' (which is already described in the schema). Thus, it does not improve parameter understanding.

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 states the tool writes polite and firm reminders for overdue invoices, and explains how tone varies by reminder number. However, it does not explicitly distinguish this tool from similar siblings like late_payment_reminder or payment_reminder_email, making it slightly less clear when to choose this specific tool.

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?

The description mentions that the tool does not count against a monthly draft limit, which is a useful constraint. However, it provides no guidance on when to use this tool versus its many siblings that also handle payment reminders (e.g., late_payment_reminder, payment_overdue_final_notice_email). This omission limits its utility for correct tool selection.

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

late_delivery_apologyA

Write a professional email when you are going to miss a deadline or are already late. Takes ownership without over-apologising, gives a clear revised timeline, and keeps the client's trust intact. The tone is direct and accountable — no excuses, no grovelling. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
deliverableYesWhat is late (e.g. 'the homepage designs', 'the API integration', 'the first draft')
original_deadlineYesThe deadline you missed or are about to miss (e.g. 'Friday 13 June', 'end of week')
new_deadlineYesThe revised delivery date you are committing to (be specific — 'Monday 16 June by 5pm')
reasonNoOptional: a brief, honest reason — one line only. Omit if no clean explanation exists. Do NOT blame the client.
your_nameNoOptional: your name for the sign-off

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It includes some useful traits (no counting against draft limit, tone guidelines), but does not clarify whether the tool sends the email or just drafts it, or any side effects like updating project records. This is a moderate gap.

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 concise with 4 sentences, front-loading the purpose. Every sentence adds value, and the structure is clear. Minor room for improvement in structuring behavioral notes more explicitly.

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?

For a simple email-drafting tool with full schema coverage and no output schema, the description covers the essentials: purpose, tone, and a behavioral constraint (draft limit). It does not explain return behavior, but that is acceptable given the tool's simplicity.

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 the description does not need to add much. The description does not provide additional meaning beyond the parameter descriptions in the schema, so baseline 3 is appropriate.

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 clearly states the tool's purpose: writing a professional email when missing a deadline. It specifies the resource (email) and verb (write), but does not explicitly differentiate from siblings like project_delay_warning or project_status_update, which may have overlapping use cases.

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 provides clear context for when to use ('when you are going to miss a deadline or are already late'), but lacks guidance on when not to use it or alternatives among the many siblings. For example, it does not differentiate from project_delay_warning or overdue_project_timeline_update.

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

late_materials_impact_emailA

Write the email confirming receipt of client materials or feedback that arrived after the agreed deadline, and formally noting the revised delivery timeline as a result. Sends an email that (a) confirms what arrived and when, (b) briefly and professionally notes the impact without accusing the client, (c) states the revised delivery date, and (d) keeps the relationship warm. This is the email that protects your timeline while avoiding confrontation — most freelancers skip it and then get blamed for the delay, or send something that reads as passive-aggressive. Distinct from client_material_chase_email (chasing materials you haven't received yet) and project_delay_notification_email (your own delay — not client-caused). Three routes: brief (default — short professional note, minimal friction, just sets the new expectation), significant_impact (major delay needing a substantial timeline revision — more formal, important for contract protection), repeated (materials are late for the second or more time — firmer tone while still professional, makes clear the pattern affects deadlines). Does not count against your monthly draft limit. Required: client_name, materials_received (what arrived — e.g. 'your brand guidelines and copy'), original_deadline (when materials were due — e.g. 'Monday 16 June'), revised_delivery_date (your new delivery date — e.g. 'Wednesday 25 June'). Optional: project_name, route ('brief' | 'significant_impact' | 'repeated' — default brief), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
materials_receivedYesWhat you received — e.g. 'your brand guidelines and logo files', 'the copy for the homepage', 'your feedback on the first draft'
original_deadlineYesWhen the materials were originally due — e.g. 'Monday 16 June', 'last Friday', 'end of last week'
revised_delivery_dateYesYour new delivery date — e.g. 'Wednesday 25 June', 'end of next week', 'Friday 27 June'
project_nameNoOptional: project name — e.g. 'the Westbrook rebrand', 'your Q3 campaign'
routeNobrief (default) — short, professional, low friction; significant_impact — major timeline revision, more formal; repeated — late materials more than once, firmer but still professional.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

Describes the email's purpose and tone, plus the benefit of protecting timeline and avoiding confrontation. Also notes it does not count against draft limit. No annotations provided, so description carries the full burden; it is mostly transparent but could mention if email is sent immediately or saved as draft.

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?

Well-structured with clear sections: purpose, content points, sibling distinction, routes, and parameter list. Front-loaded with core action. Could be slightly shorter but every sentence earns its place.

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?

Comprehensive for a tool with 7 parameters (4 required) and no output schema. Explains the email's components, route variations, and parameter meanings. Lacks discussion of return value, but for an email-sending action this is acceptable.

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?

Schema coverage is 100%, so baseline 3. The description adds context beyond schema by explaining the required parameters in narrative form and providing examples. It also elaborates on the route enum meanings, adding value.

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 it writes an email confirming receipt of late materials, noting the timeline impact. It lists four specific actions (a-d) and distinguishes from two sibling tools, ensuring no confusion.

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?

Provides explicit when-to-use guidance (client materials late), what to include (four points), and three route options (brief, significant_impact, repeated). Distinguishes from client_material_chase_email and project_delay_notification_email with clear alternatives.

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

late_payment_escalation_emailA

Write a professional email escalating an unpaid invoice to a senior contact, the client's finance team, or as a pre-legal notice. Use this after a final payment reminder has gone unanswered — it signals that the matter is now being formally escalated. Calibrated by route: 'manager' addresses the client's manager or director by name; 'legal' is a pre-action letter signalling that formal recovery steps will follow; 'agency' notifies the client that the debt is being passed to a collection or credit-control agency. Tone is firm, factual, and free of emotion — no threats beyond the escalation itself. Distinct from payment_reminder_email (which is sent to the original contact before escalation). Does not count against your monthly draft limit. Required: client_name, amount_due. Optional: invoice_number, due_date, days_overdue, escalation_route ('manager' | 'legal' | 'agency' — defaults to 'legal'), senior_contact_name (first name of the escalation target — omit if unknown), senior_contact_role (e.g. 'Finance Director', 'Head of Operations'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesName of the client or company the original invoice was issued to
amount_dueYesThe outstanding amount, including currency symbol (e.g. '$2,400', '£1,800')
invoice_numberNoInvoice reference number (e.g. 'INV-042'). Omit if you don't use invoice numbers.
due_dateNoThe original payment due date (e.g. 'May 15', '15 May 2026'). Omit if unknown.
days_overdueNoHow many days past the due date the invoice currently is.
escalation_routeNo'manager' (addressed to a named senior contact at the client company), 'legal' (pre-action letter to the original contact signalling formal recovery), or 'agency' (notifying the client that the debt is being passed to a collection agency). Defaults to 'legal'.
senior_contact_nameNoFirst name of the escalation target — required if escalation_route is 'manager'. Omit for 'legal' or 'agency' routes.
senior_contact_roleNoRole or title of the escalation target (e.g. 'Finance Director', 'Head of Operations'). Used in the 'manager' route to add context.
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses tone (firm, factual, no threats), calibration by route, and the note about draft limits. It also lists required and optional parameters, providing comprehensive behavioral context.

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 paragraph but well-structured with front-loaded purpose and usage. Every sentence earns its place, though it could be broken into smaller paragraphs for readability.

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?

The description covers all parameters and usage context well, but lacks any mention of what the tool returns (e.g., email body or confirmation). Given the complexity of 9 parameters, this is a gap.

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 100%, so baseline is 3. The description adds some value by explaining the escalation_route parameter further (defaults to 'legal') and providing usage context for senior_contact_name, but it largely restates schema information.

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 it writes a professional email for escalating unpaid invoices. It specifies the resource (unpaid invoice) and the verb (escalating), and distinguishes from the sibling 'payment_reminder_email' by noting it is used after that reminder has gone unanswered.

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?

Explicitly states when to use: after a final payment reminder has gone unanswered. It also details three routes (manager, legal, agency) and their specific use cases, and notes that it does not count against the monthly draft limit.

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

late_payment_follow_up_emailA

Write the email chasing an unpaid invoice — professionally, without damaging the relationship. Three routes: gentle (first nudge — invoice is a few days past due, tone is friendly and assumes an oversight, no pressure), firm (second or third follow-up — invoice is significantly overdue, tone is clear and direct, includes a deadline to respond), final_notice (last step before escalating — state what happens next: work pause, late fee, collections, or legal — be factual, not emotional). Distinct from re_engagement_email (chasing a prospect who went quiet before signing) and contract_renewal_email (renewing an ongoing relationship). Does not count against your monthly draft limit. Required: client_name, invoice_number, amount, days_overdue. Optional: route ('gentle' | 'firm' | 'final_notice' — default gentle based on days_overdue if not specified), due_date (original due date), project_name, next_step (for final_notice — what you'll do if unpaid: e.g. 'pause work on all active projects', 'add a 2% monthly late fee', 'refer to collections'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
invoice_numberYesInvoice number or reference — e.g. 'INV-042', '#112', 'the November invoice'. Used directly in the email.
amountYesAmount outstanding — include currency symbol. E.g. '$4,200', '£1,850 + VAT', '$750 (50% balance)'.
days_overdueYesHow many days past the due date the invoice is. Used to calibrate tone and select the default route if route is not specified.
routeNogentle (default for 1–7 days): friendly first nudge, assumes an oversight. firm (default for 8–21 days): direct follow-up with a response deadline. final_notice (default for 22+ days): factual final warning stating what happens next.
due_dateNoOptional: the original due date — e.g. 'June 1', '1 June 2026'. Makes the email more specific.
project_nameNoOptional: project name or description — adds context. E.g. 'the Westbrook website build', 'our Q2 retainer'.
next_stepNoOptional (recommended for final_notice): what you'll do if unpaid. E.g. 'pause work on all active projects until the balance is cleared', 'add a 2% monthly late fee from the original due date', 'refer the balance to a collections agency'. Keep it factual — this is a statement of policy, not a threat.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that the tool writes an email (non-destructive), does not count against monthly draft limit, and describes the three routes. However, it does not explicitly state whether the tool sends the email or returns the draft text, leaving some ambiguity about behavior.

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 well-structured, starting with purpose, then detailing routes, sibling differentiation, and parameter list. While slightly long, each sentence adds value. Minor improvement could be tighter wording, but overall it's efficient.

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 no output schema, the description adequately covers input parameters, routes, and sibling differentiation. It explains when to use each route and provides examples. However, it lacks a clear statement about the output (email draft text), which would improve completeness for tool selection.

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?

Schema coverage is 100%, but the description adds significant value beyond the schema by explaining route defaults, providing examples for amount and invoice_number, and clarifying next_step usage. The extra context for fields like days_overdue and route enhances understanding beyond schema descriptions alone.

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 writes an unpaid invoice email, specifies three routes (gentle, firm, final_notice), and explicitly distinguishes from siblings re_engagement_email and contract_renewal_email. The verb 'Write' combined with the resource and context makes the purpose unambiguous.

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 provides explicit guidance on when to use each route based on days_overdue (1-7 gentle, 8-21 firm, 22+ final_notice) and mentions default selection. It also names specific sibling alternatives (re_engagement_email, contract_renewal_email) to avoid confusion.

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

late_payment_reminderA

Write a professional overdue-payment reminder when a client has not paid an invoice by the due date. States the invoice details clearly, keeps the tone firm but not hostile, and gives a direct path to pay. A second-reminder variant adds a firmer note about next steps (late fee, pausing work). Distinct from invoice_cover_email (accompanying a fresh invoice) and deposit_request_email (requesting upfront payment). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
invoice_numberNoInvoice reference number (e.g. 'INV-042', '#2024-07')
amountNoThe overdue amount as a string (e.g. '$1,200', '£850')
due_dateNoThe original due date (e.g. 'June 5', '5 June 2026')
days_overdueNoHow many days past the due date the invoice is (e.g. 7, 14, 30)
payment_linkNoA direct payment link or portal URL if you have one
is_second_reminderNoSet to true for a firmer second reminder that mentions next steps (late fee, pausing work) — defaults to false
your_nameNoYour name for the sign-off

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses behavioral traits: the tone ('firm but not hostile'), the variant behavior, and importantly that it 'does not count against your monthly draft limit'. This sufficiently conveys the non-destructive, consumption-neutral nature of the tool.

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 three sentences plus a short final note. It is front-loaded with the purpose, efficiently describes the variant, distinguishes from siblings, and adds a behavioral note. No sentence is wasted.

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?

For a content-generation tool with 8 parameters (all described in schema) and no output schema, the description adequately covers the scenario, variant, and a consumption behavior. It lacks explicit mention of the return value (the drafted email), but that is implied. Overall complete given the complexity.

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 100%, so the baseline is 3. The description does not add additional meaning beyond what the schema already provides for each parameter. It gives overall context for the tool's output but no parameter-level enrichment.

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 verb 'write', the resource 'overdue-payment reminder', and the condition 'when a client has not paid an invoice by the due date'. It also explicitly distinguishes the tool from two sibling tools: invoice_cover_email and deposit_request_email.

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?

The description provides explicit context for when to use the tool ('when a client has not paid an invoice by the due date') and describes the second-reminder variant. However, it does not explicitly state when not to use it, nor does it mention other alternatives beyond the two siblings.

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

linkedin_connection_requestA

Write a LinkedIn connection request message (max 300 characters) to a potential client or collaborator. The best connection requests are specific, low-pressure, and name a real reason to connect — not a pitch. Bad ones read like a cold email jammed into 280 characters. This tool keeps it human: one genuine hook, no fluff. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_nameNoOptional: their first name. Personalises the opening line.
reason_to_connectYesThe specific, genuine reason you're connecting — e.g. 'I saw your post about pricing for freelance designers', 'we're both in the Freelance Finance community', 'I noticed you're hiring for a UX role and I specialise in that area', 'I read your case study on rebranding [Company]'. The more specific, the better.
your_serviceNoOptional: what you do, in 5 words or fewer — e.g. 'UX designer for SaaS', 'copywriter for B2B tech', 'brand strategist'. Only include if directly relevant to the reason you're connecting.
your_nameNoOptional: your name, if you want it in the message.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the character limit, draft limit exemption, and style guidance (no pitch, genuine hook). It does not mention if the message is sent immediately or saved as a draft, but the core behavioral constraints are well documented.

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 concise and well-structured. It front-loads the purpose, provides actionable guidelines, and ends with a reassuring note about draft limits. No unnecessary sentences.

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?

There is no output schema. The description does not mention what the tool returns (e.g., the crafted message text, a confirmation, or an error). For a tool that generates content, knowing the output format is important for the agent to handle the result correctly.

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?

Schema coverage is 100%, with all four parameters described. The description adds value by emphasizing specificity for 'reason_to_connect' and advising brevity for 'your_service' (5 words or fewer). This enhances the schema descriptions.

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 writes a LinkedIn connection request message to a potential client or collaborator. It distinguishes from sibling 'linkedin_post' and other tools by focusing on private messages, not public posts or emails.

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?

The description advises to be specific, low-pressure, and name a real reason to connect, avoiding pitches. It mentions the 300-character limit and that it doesn't count against draft limit. However, it does not explicitly state when to avoid using it or name alternatives for non-connection scenarios.

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

linkedin_postA

Write a concise, authentic LinkedIn post about a project win, lesson learned, or professional insight. LinkedIn is where freelancers get inbound leads — but most avoid posting because writing feels awkward. This generates a post in a natural professional voice (150–250 words): specific hook, the story, the takeaway, a soft CTA. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhat to post about (e.g. 'won a new e-commerce client', 'a mistake I made on a project', 'why I stopped working with certain clients', 'delivered a rebrand under budget')
key_insightYesThe one insight or takeaway you want readers to leave with
your_roleNoOptional: your professional role/title to anchor the post (e.g. 'freelance web designer', 'brand consultant', 'UX contractor'). Default: freelancer.
include_ctaNoOptional: include a soft call-to-action at the end (e.g. follow for more, DM for work). Default: true.
toneNoOptional: post tone. 'professional' = polished, 'conversational' = warm and relatable, 'direct' = no filler, just the point. Default: conversational.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the post is concise, authentic, 150–250 words, includes hook/story/takeaway/CTA, and does not count against draft limits. No destructive behavior, but transparent about generation characteristics.

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 two sentences with additional detail about word count and structure. It is front-loaded with purpose and context, concise without being overly terse. Minor room for tightening.

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 no output schema and no annotations, the description explains the output format (150–250 word post with specific structure) and usage context. It does not explicitly state return type but is adequate for a generation tool.

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 100%, so baseline is 3. The description does not add new parameter details beyond the schema, but it provides context for the tool's purpose. The schema already explains each parameter adequately.

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 writes a LinkedIn post, specifies the content types (project win, lesson learned, professional insight), and distinguishes it from sibling tools (none other for LinkedIn posts). It also mentions it does not count against monthly draft limit, adding clarity.

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?

The description provides context on when to use the tool (for LinkedIn posts about professional insights) and why (to get inbound leads), but does not explicitly mention when not to use it or compare to alternative tools. However, the context is clear enough for appropriate use.

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

list_proposalsB

List all saved proposals available as style references

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so the description bears full responsibility for behavioral disclosure. It states the tool lists proposals but omits details like read-only nature, response format, order, pagination, or filtering. The minimal description does not adequately inform the agent about the tool's behavior.

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 concise sentence that front-loads the core purpose. It contains no fluff or redundant information, making it highly efficient.

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?

For a simple tool with no parameters and no output schema, the description provides sufficient context: it lists all saved proposals used as style references. While it could mention sorting or default behavior, the simplicity of the tool makes the description nearly complete for basic use.

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?

The input schema has zero parameters with 100% coverage, so the description does not need to add parameter semantics. The baseline score of 3 is appropriate; the description adds no extra meaning but also does not mislead.

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: listing all saved proposals that serve as style references. This verb+resource combination (list proposals) is specific and distinguishes it from sibling tools like get_proposal, save_proposal, draft_proposal, and delete_proposal.

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?

The description provides no guidance on when to use this tool versus alternatives such as get_proposal or load_examples. It does not specify prerequisites, context, or when not to use it, leaving the agent without decision support.

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

load_examplesA

Load bundled example proposals into your library to use as style references immediately. Run this on first use to get started without needing your own past proposals yet.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states 'load into library' without clarifying whether it is destructive, idempotent, or if repeated runs cause issues. This is insufficient for a mutation tool.

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?

Two sentences, front-loaded with the action and followed by usage guidance. No superfluous words; every sentence serves a purpose.

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 no parameters, no output schema, and a simple action, the description adequately covers purpose and when to use. It lacks details on the nature of the examples or repeated behavior, but is largely complete for a setup tool.

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 tool has zero parameters, and schema coverage is 100%. The description does not need to add parameter info, and the baseline of 4 is appropriate for a param-less tool.

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 loads bundled example proposals into the user's library for use as style references. It differentiates from siblings by being a setup tool, and the verb 'load' specifies the action.

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?

The description explicitly advises to run on first use to get started without needing past proposals. This provides clear when-to-use guidance, though it does not specify when not to use or list alternatives.

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

meeting_cancellation_emailA

Write a professional email to cancel or reschedule a meeting. Required: client_name, meeting_description (e.g. 'our Thursday check-in call', 'the kick-off meeting on Friday'). Optional: reason (brief, honest one-line — omit if no clean reason), action (default 'cancel' — use 'reschedule' to propose a new time), new_time (proposed replacement slot if rescheduling, e.g. 'next Tuesday at 2pm'), your_name. Pairs with meeting_request_email (scheduling) and meeting_recap_email (after a meeting that did take place). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
meeting_descriptionYesBrief description of the meeting being cancelled or rescheduled (e.g. 'our Thursday check-in call', 'the kick-off meeting scheduled for Friday at 10am', 'tomorrow's review call')
reasonNoOptional one-sentence reason for the cancellation (e.g. 'a scheduling conflict has come up', 'I have been unwell and need to reschedule', 'something urgent has arisen on another project'). If omitted, the email apologises without giving a reason — professional and always appropriate.
actionNoWhether you are cancelling outright ('cancel') or proposing to reschedule ('reschedule'). Default: 'cancel'.
new_timeNoProposed replacement time if rescheduling (e.g. 'next Tuesday at 2pm', 'any time next week that works for you', 'Thursday or Friday afternoon'). Omit if action is 'cancel' or if you want to leave it open.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description notes a behavioral trait: 'Does not count against your monthly draft limit.' It does not contradict any annotations. It could explicitly state whether the email is drafted or sent, but the given context is sufficient for a drafting tool.

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 sentences: first states purpose, second lists params, third mentions siblings and a constraint. No wasted words; front-loaded with key information.

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 6-parameter tool with no output schema, the description covers purpose, parameter details (required/optional), sibling relationships, and a special behavior (draft limit). It is complete enough for an agent to select and invoke the tool correctly.

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?

Schema coverage is 100% (baseline 3). The description adds value by rephrasing parameters in plain language and adding usage nuances (e.g., 'brief, honest one-line — omit if no clean reason' for reason), improving understanding beyond 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 clearly states 'Write a professional email to cancel or reschedule a meeting,' specifying the verb ('write') and resource ('email'). It distinguishes from siblings by naming 'meeting_request_email' and 'meeting_recap_email.'

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?

The description links to related tools ('Pairs with meeting_request_email and meeting_recap_email') and specifies required parameters. It implies when to use via action enum (cancel/reschedule) but lacks explicit when-not-to-use or alternative selection guidance.

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

meeting_recap_emailA

Write a professional post-meeting recap email to send to a client after a discovery call, check-in, kickoff, or project review. Summarises what was discussed, confirms decisions, and lists next steps with owners. Creates a paper trail and keeps the project moving. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour name (used in the sign-off)
client_nameYesThe client's first name
meeting_typeNoType of meeting — shapes the tone and what sections are emphasised (default: check-in)
key_pointsYesWhat was discussed — paste rough notes or a bullet list. The tool will shape them into clean prose.
decisionsNoOptional: specific decisions confirmed in the meeting (e.g. 'approved the blue colour palette', 'agreed to delay launch by 2 weeks')
next_stepsNoOptional: what happens next and who owns each item (e.g. 'You: send logo files by Friday. Me: deliver wireframes by June 18.')
follow_up_dateNoOptional: when you'll next connect (e.g. 'June 20', 'next Thursday')

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains the tool summarizes discussions, confirms decisions, lists next steps, and creates a paper trail. It also notes the draft limit policy. It does not mention if it sends the email or only drafts, which is a minor gap, but overall transparent.

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?

Four sentences, each providing distinct information: purpose, actions, benefit, and draft limit. Front-loaded with purpose, no fluff.

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 no output schema and 7 parameters (all documented), the description adequately covers what the tool does and what inputs are needed. No major gaps.

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?

Schema coverage is 100%, but description adds context: meeting_type shapes tone, key_points are rough notes shaped into prose, and next_steps include owners. This adds value beyond the schema definitions.

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 writes a post-meeting recap email, specifies the resource (email to client after meetings), and lists meeting types (discovery, check-in, kickoff, review). It distinguishes from other email tools by focusing on post-meeting recaps.

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?

The description explicitly states when to use (after specific meeting types) and mentions it does not count against draft limit. It does not directly exclude alternatives but given the context, the usage is clear. Could be improved by noting when not to use, but it is adequate.

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

meeting_request_emailA

Write a short, focused email requesting a meeting — a discovery call with a new prospect, a check-in with an existing client, or a catch-up with a collaborator. Fills the workflow gap between sending a cold pitch or initial enquiry and running the actual discovery_call_prep. Offers specific time slots if provided, otherwise makes a flexible open ask. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_nameYesThe recipient's first name
meeting_purposeYesWhat the meeting is for — one line (e.g. 'a quick discovery call to talk through your project', 'a 30-minute check-in on the current retainer', 'catching up on where things stand with the rebrand')
time_optionsNoOptional: 2–3 suggested time slots (e.g. 'Tuesday 10am or Thursday 2pm GMT, or Friday morning'). If omitted, the email asks them to suggest a time that works.
durationNoOptional: how long the meeting will take (e.g. '20 minutes', '30 minutes', 'an hour'). Defaults to a brief mention if omitted.
platformNoOptional: how you'll meet (e.g. 'Zoom', 'Google Meet', 'a phone call', 'in person'). Omit if you don't mind either way.
contextNoOptional: one sentence of context explaining why now — especially useful for cold or semi-warm prospects (e.g. 'I've just wrapped a similar project and have a window opening up', 'following up on my email last week')
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It adds useful behavioral context (does not count against draft limit) but does not disclose other traits like idempotency, side effects, or permissions. For a writing tool, this is acceptable but minimal.

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 concise (5 sentences) and front-loaded with the core purpose. Every sentence adds unique value, avoiding redundancy or filler. It efficiently conveys purpose, usage, and key behavioral notes.

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 7 parameters, 100% schema coverage, and no output schema, the description provides sufficient contextual examples and usage scenarios. It lacks return value description, but that is standard for email drafting tools. Overall, it is complete enough for correct tool selection.

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?

Although schema coverage is 100%, the description adds value by providing illustrative examples for parameters like meeting_purpose, time_options, and context. This helps the agent understand expected input formats beyond the schema definitions.

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 writes a meeting request email and specifies use cases (discovery call, check-in, catch-up). It distinguishes itself from siblings by referencing cold pitch and discovery_call_prep, and notes it does not count against draft limit, making purpose unambiguous.

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 explicitly lists when to use the tool (discovery call, check-in, catch-up) and implicitly when not to (e.g., cold pitch, other email types). It also mentions the workflow gap it fills, providing clear guidelines relative to sibling tools.

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

mid_project_cancellation_response_emailA

Write a professional response when a client cancels a project mid-engagement. Acknowledges the cancellation without drama, summarises work completed to date, states the kill fee amount if your contract includes one, and confirms the final invoice. Protects you professionally and financially by putting the key facts in writing. Distinct from project_pause_email (temporary stop), project_closure_email (natural end at completion), client_offboarding_email (relationship wind-down), and end_client_relationship_email (you ending it). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project (e.g. 'the website redesign', 'your brand identity')
work_completedYesSummary of what has been delivered or completed so far (e.g. 'wireframes, homepage design, and two interior page templates', 'discovery workshop, sitemap, and initial content strategy')
kill_fee_amountNoOptional: the kill fee amount or percentage from your contract (e.g. '$1,500', '50% of the remaining balance', '25% of total project fee'). If omitted, the email notes that a final invoice for work completed will follow without referencing a kill fee.
kill_fee_clauseNoOptional: brief reference to the contract clause covering cancellation (e.g. 'per clause 7 of our contract', 'as per our agreed terms'). Keeps the tone professional rather than confrontational.
final_invoice_totalNoOptional: total amount of the final invoice you will send (e.g. '$2,800'). Including this prevents surprises and frames the email as a clean close.
assets_to_handoverNoOptional: files, documents, or access you will hand over so the client can continue with another provider (e.g. 'source files, brand guidelines PDF, and CMS login credentials'). Offering a clean handover protects your reputation.
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the content of the email but does not disclose if the tool sends the email, drafts it, or returns text. Lacks details on side effects or return format, though it implies a writing action.

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?

Four sentences, each serving a purpose: main action, key elements, sibling differentiation, and a usage note. Front-loaded and efficient with no wasted words.

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 moderate complexity (8 parameters, no output schema), the description explains purpose, content, and alternatives. It is nearly complete but could specify the return type (email text) and whether it sends the email.

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% with good parameter descriptions. The tool description adds context about overall email structure but does not significantly enhance meaning beyond the schema. Baseline 3 applies.

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 it writes a professional response for mid-engagement cancellation, listing specific content like acknowledgment, work summary, kill fee, and final invoice. It also distinguishes from four sibling tools, providing a precise purpose.

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?

Explicitly states when to use (client cancels mid-engagement) and distinguishes from sibling tools with specific names and brief explanations. Also notes that it does not count against a monthly draft limit, adding practical guidance.

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

milestone_approval_request_emailA

Write the email asking a client to review and formally approve a completed milestone, concept, or phase before work continues. For when you need a clear go-ahead — not just a 'looks good' in a message thread — to protect against scope disputes and mid-project reversals. Three routes: milestone_complete (default — a defined project milestone or phase is done; you're requesting sign-off before proceeding to the next stage; tone is confident and forward-looking, frames approval as the natural next step), design_concepts (presenting early-stage creative work — wireframes, mockups, logo concepts, visual designs — for client approval before you move into build or refinement; sets expectations that this is a decision gate, not a preview), staged_delivery (you're delivering a discrete unit of work in a multi-phase project and need the client to accept it before phase two or three begins; useful for retainer work, development sprints, or content batches). Distinct from deliverables_sign_off_email (final project handover, not a mid-project checkpoint), brief_confirmation_email (confirms scope before work starts, not approval during), and project_status_update_email (an FYI update, not a decision gate). Does not count against your monthly draft limit. Required: client_name, milestone_description (what you're asking them to approve — e.g. 'the homepage wireframes', 'Phase 1: the discovery and strategy document', 'Sprint 1 deliverables: user auth and dashboard'). Optional: project_name, next_phase (what starts after approval — e.g. 'full visual design', 'development build', 'Phase 2: content migration'), deadline (when you need a decision by — e.g. 'by Friday', 'end of this week', 'before we lose our build slot'), route ('milestone_complete' | 'design_concepts' | 'staged_delivery' — default milestone_complete), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
milestone_descriptionYesWhat you're asking them to approve — e.g. 'the homepage wireframes', 'Phase 1: discovery and strategy document', 'Sprint 1: user auth and dashboard'. Required.
project_nameNoOptional: name of the project — e.g. 'the Westbrook website', 'your brand identity', 'the app build'.
next_phaseNoOptional: what starts once approval is given — e.g. 'the full visual design stage', 'development', 'Phase 2: content migration'. Makes the stakes of the decision clear.
deadlineNoOptional: when you need a decision by — e.g. 'by Friday', 'before the end of the week', 'in the next couple of days'. Adds urgency without being pushy.
routeNomilestone_complete (default) — phase done, requesting sign-off before next stage; design_concepts — early creative work for approval before build; staged_delivery — discrete unit in a multi-phase project.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool does not count against monthly draft limits, describes three routes with appropriate tones, and lists required/optional parameters. However, it does not specify whether the tool sends the email or only drafts it, nor does it mention any side effects beyond draft creation.

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 well-structured and front-loaded with the core purpose, then routes, sibling differentiation, and parameters. However, it is somewhat verbose; bullet points for routes and parameters could improve scannability without losing information.

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?

The description covers input thoroughly but omits information about the output. Since there is no output schema, the description should explain what the generated email looks like (e.g., subject line, body structure). Additionally, it does not mention any required prerequisites or permissions needed to use the tool.

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

Parameters5/5

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

Schema coverage is 100%, so baseline is 3, but the description adds significant value by explaining each parameter's role, providing examples, and detailing the route enum values with usage context. This exceeds what the schema alone provides.

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: writing an email to request client approval for a milestone, concept, or phase. It distinguishes three specific routes (milestone_complete, design_concepts, staged_delivery) and contrasts with sibling tools like deliverables_sign_off_email, brief_confirmation_email, and project_status_update_email.

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 explicitly states when to use the tool ('for when you need a clear go-ahead... to protect against scope disputes') and provides detailed scenarios for each route. It also clarifies what the tool is not for by listing distinct sibling tools and their purposes.

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

milestone_delivered_emailA

Write the email sent when delivering a project milestone or phase — not the final delivery, but a defined stage with its own deliverables and sign-off. Tells the client exactly what's included, asks for their review and sign-off by a specific date, and states what's next. Distinct from project_completion_email (final handover) and project_status_update (progress report during execution). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
milestone_nameYesName or number of this milestone (e.g. 'Phase 1', 'Design Mockups', 'Sprint 2')
deliverablesYesComma-separated list of what is being delivered in this milestone (e.g. 'homepage design, about page, contact form mockup')
project_nameNoOptional: name of the overall project
feedback_deadlineNoOptional: date by which you need the client's review or sign-off (e.g. 'Friday', 'June 20')
next_milestoneNoOptional: brief description of what comes next after sign-off (e.g. 'development build', 'Phase 2: backend integration')
next_milestone_dateNoOptional: when the next milestone is expected to be delivered
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must fully cover behavior. It describes the email content and purpose but does not disclose whether the email is sent immediately or saved as a draft, nor any side effects like logging. Behavior is somewhat implied but incomplete.

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?

Four sentences with no redundant elements. The first sentence front-loads the purpose, followed by details and sibling differentiation. Every sentence adds value without waste.

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?

Despite lacking an output schema, the description covers purpose, usage, and content well. It is sufficient for an agent to understand the tool's role. Minor gaps (e.g., whether the email is sent or drafted) prevent a perfect score, but for a straightforward email generation tool, it is largely 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 100% with clear parameter descriptions. The overall description adds context about the email's structure but does not provide additional meaning beyond what the schema already offers for individual parameters. Baseline of 3 is appropriate.

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 'Write the email sent when delivering a project milestone or phase' with a specific verb and resource. It explicitly distinguishes from sibling tools 'project_completion_email' and 'project_status_update', making the purpose unambiguous.

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?

Provides explicit when to use (delivering a milestone/phase, not final delivery) and names alternative tools for other cases. Also adds a unique note about not counting against monthly draft limits, giving practical usage context.

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

mutual_introduction_emailA

Write the email you send when you're connecting two people in your network — as the connector, not the person being introduced. Distinct from introduction_email (your reply when someone introduces you to a prospect). Common use: connecting a past client with a supplier, two founders who share a problem, a contact with a potential collaborator, or two clients who'd benefit from knowing each other. Two modes: double_opt_in (default — send to each person separately first, checking they're open to the intro before making it; standard best practice for high-value relationships and mutual respect) or direct (one email to both people at the same time; fine when you know both parties well and the introduction is low-stakes). For double_opt_in, use the target parameter to specify which person this individual email is addressed to. Required: person_a_name (first person being introduced), person_b_name (second person), reason_to_connect (why these two people should meet — be specific; 'they're both in tech' is weak, 'you're both solving the same cold-outreach problem from opposite angles' is strong). Optional: person_a_description (what Person A does — one line), person_b_description (what Person B does — one line), mode ('double_opt_in' | 'direct' — default double_opt_in), target (for double_opt_in only: 'a' or 'b' — which person this email is going to; default 'a'), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_a_nameYesFirst name of the first person being introduced
person_b_nameYesFirst name of the second person being introduced
reason_to_connectYesWhy these two people should meet — be specific. 'They're both in marketing' is weak; 'you're both trying to solve the same client-onboarding problem from opposite sides' is strong.
person_a_descriptionNoOptional: one-line description of what Person A does — e.g. 'runs a boutique UX studio', 'heads product at a Series A fintech'. Used to give context to Person B (or the opt-in request to Person A).
person_b_descriptionNoOptional: one-line description of what Person B does — e.g. 'freelance brand strategist', 'co-founder of a B2B SaaS startup'. Used to give context to Person A (or the opt-in request to Person B).
modeNodouble_opt_in (default): send to each person individually first, checking they want the intro before making it — best practice for high-value relationships. direct: one email addressed to both at the same time — fine when you know both well and the intro is low-stakes.
targetNoFor double_opt_in mode only: which person this email is going to — 'a' (asking Person A if they'd like to meet Person B) or 'b' (asking Person B if they'd like to meet Person A). Defaults to 'a'. Ignored in direct mode.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses the two modes of operation, the draft property (does not count against monthly draft limit), and provides details on how parameters affect behavior. The only minor gap is ambiguity about whether it actually sends or drafts, but overall it is transparent.

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 relatively long but well-structured: it opens with the core purpose, distinguishes from sibling, outlines common use cases, then explains modes and parameters. Every sentence serves a purpose, though some redundancy could be trimmed.

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?

Given the tool has 8 parameters, two modes, and no output schema, the description covers all essential aspects: purpose, usage scenarios, parameter explanations (including examples), mode behavior, and the draft limit. It is comprehensive and leaves no major gaps.

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?

Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the reason_to_connect with a strong vs weak example, clarifying the use of person_a_description and person_b_description, and detailing the mode and target parameters with specific guidance. This goes well beyond the schema descriptions.

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 writes the email when you are connecting two people in your network as the connector, not the person being introduced. It uses a specific verb-resource combination and explicitly distinguishes itself from the sibling tool introduction_email.

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 explains when to use double_opt_in mode (default, best practice for high-value relationships) vs direct mode (fine when you know both parties well and the intro is low-stakes). It also contrasts with introduction_email, providing clear usage context and alternatives.

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

nda_templateA

Generate a simple, plain-English Non-Disclosure Agreement for freelance client work. Covers what's confidential, duration, exceptions, and a basic remedies clause. One-way (client's info stays confidential) or mutual. Not a substitute for legal advice — suitable for most standard freelance engagements. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour full name or company name (the service provider)
client_nameYesThe client's full name or company name
project_descriptionYesBrief description of the project or engagement (e.g. 'website redesign', 'software development services')
duration_yearsNoHow long confidentiality obligations last in years (default: 2). Typical range: 1-5.
mutualNotrue = mutual NDA (both parties protect each other's info); false (default) = one-way (you protect the client's confidential information only)
governing_lawNoOptional: governing law jurisdiction (e.g. 'England and Wales', 'California, USA', 'New South Wales, Australia'). Leave blank to use a placeholder.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'generates' an NDA and notes it does not affect draft limits, giving some insight into behavior. However, it does not explain what the tool returns (e.g., text content, downloadable file) or any side effects, which leaves moderate gaps for an agent.

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 concise at about 50 words, front-loading the main purpose and key features like coverage and options. It efficiently conveys essential information without redundancy, though a slightly more structured breakdown of clauses could improve clarity.

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?

Given the tool has 6 parameters, no output schema, and moderate complexity, the description adequately covers the tool's purpose and key clauses. However, it lacks details about the output format or how the generated agreement is presented to the user, which is needed for complete understanding without an output schema.

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?

The input schema covers all six parameters with descriptions, achieving 100% coverage. The description adds minimal extra meaning beyond the schema, only reiterating the one-way/mutual option. Since schema coverage is high, a baseline of 3 is appropriate, and the description does not significantly enhance parameter understanding.

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 generates a Non-Disclosure Agreement for freelance client work, specifying it covers confidentiality, duration, exceptions, and remedies. It distinguishes between one-way and mutual NDAs, and notes it is not a substitute for legal advice. This effectively differentiates it from sibling tools like contract_template, which likely cover other contract types.

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 provides context by indicating the NDA is for 'freelance client work' and 'standard freelance engagements,' and it explicitly notes it does not count against a monthly draft limit. However, it does not mention when to avoid using this tool or suggest alternatives like contract_template for other legal documents, leaving some ambiguity.

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

new_service_announcement_emailA

Write a personal announcement email to an existing client introducing a new service you're now offering. Warmer than cold outreach because you already have a relationship — the goal is to let trusted clients hear first, plant the seed for future work, and feel like insiders. Reads as personal and considered, not a mass newsletter blast. Workflow: draft here → send individually with personalised why_relevant per client. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
new_serviceYesThe new service you are now offering (e.g. 'quarterly website audits', 'brand identity design', 'video production', 'fractional CMO retainers')
why_relevantNoOptional: why this client specifically might benefit — reference shared history or something you noticed (e.g. 'given the site we built last year, a quarterly audit would catch issues before they compound', 'you mentioned wanting to add video — that's now something I can handle end-to-end'). The more specific, the better.
proof_pointNoOptional: a credibility signal for the new service (e.g. 'I have completed three audits this quarter', 'just wrapped my first brand film for a fintech startup'). Omit if you are launching fresh.
offerNoOptional: any early-access or founding-client incentive (e.g. 'a founding-client rate of $X for the first three months', 'the first audit on me so you can see the format'). Keep it genuine — do not manufacture urgency.
your_nameNoYour name for the sign-off

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses tone ('personal and considered, not a mass newsletter blast'), workflow (individual sending), and a constraint ('does not count against your monthly draft limit'). It also clarifies optional parameter usage for personalization. This is strong behavioral context.

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 several sentences but each sentence adds value: purpose, tone distinction, workflow, parameter notes. It is front-loaded with the core purpose. Slightly verbose but still effective.

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 6 parameters, no output schema, and no annotations, the description covers purpose, tone, workflow, and parameter guidance thoroughly. It provides enough context for an agent to use the tool appropriately. Minor gaps: no mention of expected response or error cases.

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?

All 6 parameters have schema descriptions (100% coverage), so the schema already defines each parameter. The description adds only light context (e.g., 'optional: why relevant...') but doesn't provide new semantic insight beyond what the schema offers. Baseline 3 is appropriate.

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: writing a personal announcement email to an existing client about a new service. It specifies the relationship context and goal ('let trusted clients hear first'), distinguishing it from cold outreach or mass newsletters. The verb 'write' and resource 'announcement email' are specific.

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?

The description explicitly says 'warmer than cold outreach because you already have a relationship,' indicating when to use it (existing clients) and contrasting with cold pitches. It also provides workflow guidance ('draft here → send individually'). However, it does not list specific alternative tools or scenarios to avoid.

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

no_response_closure_emailA

Write the 'just closing the loop' email to a prospect who has gone dark after one or more follow-ups. Counter-intuitively, this email often gets a reply when earlier follow-ups didn't — it removes pressure, gives a clear out, and makes it easy for the prospect to re-engage if timing changes later. Calm, friendly, no guilt-tripping, under 80 words. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
prospect_nameYesThe prospect's first name
project_or_contextYesWhat you were discussing (e.g. 'the website redesign', 'the branding project', 'working together on your launch')
keep_door_openNoOptional: if true, explicitly mention they're welcome to get in touch when timing is better. Default: true.
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description fully covers behavioral traits: tone (calm, friendly, no guilt-tripping), length (under 80 words), and a notable effect (often gets reply). Also mentions it doesn't count against monthly draft limit. No contradictory or missing key traits for an email tool.

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?

Extremely concise: three sentences covering purpose, benefit, and constraints. Front-loaded with the action verb and resource. Every sentence adds value, no fluff.

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?

For a simple email generation tool with no output schema and complete parameter descriptions, the description adequately explains context, tone, and effect. Could mention whether the email is drafted or sent, but overall sufficient.

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?

Input schema has 100% description coverage, so baseline is 3. The description does not add new parameter-specific meaning beyond what the schema already provides, thus no extra value.

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?

Description clearly states it's for writing a 'just closing the loop' email to a prospect who has gone dark after follow-ups. It distinguishes from other email tools by emphasizing the counter-intuitive effect and tone, but could more explicitly differentiate from similar sibling tools like reactivation_email or win_back_email.

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?

Describes when to use (prospect gone dark after follow-ups) and includes a strong rationale for use. However, lacks explicit when-not-to-use guidance or alternatives among siblings.

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

onboarding_questionnaireA

Write the onboarding questionnaire email sent to a new client right after they sign the contract. Gathers everything you need to start work: goals, target audience, brand assets, access credentials, tone/style preferences, examples they like or dislike, key contacts, and approval workflow. Includes optional custom questions for project-specific needs. Avoids the back-and-forth that slows down project starts and sets a professional tone from day one. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName of the project
due_dateNoDate by which you need the questionnaire returned (e.g. 'Friday 20 June', 'by end of week')
kickoff_dateNoPlanned project kickoff or start date — used to frame why the deadline matters
access_neededNoSpecific access or credentials you'll need (e.g. 'CMS login, Google Analytics, brand asset folder')
brand_assets_neededNoWhether to ask for brand assets (logo, fonts, colours, guidelines) — defaults to true
custom_questionsNoAny project-specific questions to append (e.g. 'Who is the primary approver for copy?', 'Do you have existing customer personas?')
your_nameNoYour name for the sign-off

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It notes that 'does not count against your monthly draft limit' but does not clarify whether the tool sends the email or just generates its content. Missing details on permissions, side effects, or delivery behavior.

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 well-structured, starting with the main action and then listing details. It is concise enough to convey key points without extraneous content, though it could be slightly shorter.

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?

The description gives good context for when to use and what the tool accomplishes, but it does not specify the output (e.g., returns email text) or how the result is presented. Without an output schema, this information would be helpful for an AI agent.

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 baseline is 3. The description adds context (e.g., examples of what to ask) but does not provide significant new meaning beyond the already descriptive schema parameter descriptions.

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 writes an onboarding questionnaire email for new clients after contract signing, listing specific items gathered. It distinguishes from sibling tools like client_onboarding_checklist by focusing on an email that collects information, not a checklist.

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 use after contract signing but does not explicitly state when to use this tool versus alternative onboarding or email tools. No exclusions or alternative tool names are provided.

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

out_of_office_emailA

Write a professional heads-up email to clients before you go on leave. Confident and matter-of-fact — doesn't apologize for taking time off. Sets clear expectations on dates, response time, and what (if anything) to do for urgent matters. Different from an auto-reply: this is the proactive note you send to active clients a few days before you leave. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
start_dateYesFirst day you're away (e.g. 'Monday June 16', 'June 16')
end_dateYesLast day you're away (e.g. 'Friday June 27', 'June 27')
return_dateYesFirst day back — when they can expect a response (e.g. 'Monday June 30', 'June 30')
project_statusNoOptional: note about ongoing work — reassures client everything is in hand (e.g. 'the first draft will be with you before I leave', 'your project is on track and nothing is scheduled during this period', 'I'll complete the homepage before I go')
urgent_contactNoOptional: who or how to reach someone for genuine urgencies (e.g. 'for anything genuinely urgent, email my colleague at colleague@example.com', 'I'll have limited access and will check messages once a week')
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It notes the tool does not count against draft limit, but does not disclose other behavioral traits such as whether it sends immediately, requires authentication, or is destructive. Some transparency is present but incomplete.

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 four sentences with no wasted words. It front-loads the purpose, provides tone guidance, usage context, and a clear differentiator. Every sentence 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?

For a tool with 7 parameters (4 required) and no output schema, the description provides adequate context: it explains the email's purpose, tone, timing, and differentiator. It covers the essential aspects, though it could mention sending mechanism or limitations.

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 100%, so each parameter already has a description. The tool description adds overall tone and usage context but does not provide additional per-parameter semantics beyond what the schema already provides. Baseline 3 is appropriate.

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 writes a professional heads-up email before leave, explicitly distinguishing it from an auto-reply. It uses a specific verb ('write') and resource ('heads-up email') and provides enough context to differentiate from siblings.

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 explicitly states when to use the tool: proactive note to active clients a few days before leave. It distinguishes from auto-reply and mentions that it does not count against monthly draft limit, providing clear guidance on usage and alternatives.

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

overdue_project_timeline_updateA

Write the proactive email when YOUR delivery is running behind the agreed deadline — sent before the client has to chase you. The hardest email a freelancer has to write: most either avoid it (and let the client discover the delay themselves) or over-apologise (which damages confidence more than the delay does). This generates a clear, confident update that acknowledges the slip, gives a realistic new date, and briefly states the cause without excessive excuse-making. Tone: matter-of-fact, not panicked, not grovelling. Keeps the relationship intact. Distinct from scope_change_email (change to scope, not timeline), client_waiting_email (client chasing you for an update — reactive), and project_kickoff_email (confirming start of a new project). Does not count against your monthly draft limit. Required: client_name, original_deadline (e.g. 'Friday 20 June', 'end of this week'), new_deadline (your revised commitment), project_name. Optional: delay_reason (brief honest explanation — e.g. 'a technical issue took longer to resolve than expected', 'I underestimated the scope of the research phase'; omit for a shorter email that skips the cause), mitigation (what you're doing to prevent further slippage — e.g. 'I've cleared my schedule for the next two days to focus on this', 'I've already completed X to make up ground'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name of the client
original_deadlineYesThe originally agreed deadline (e.g. 'Friday 20 June', 'end of this week', 'last Thursday')
new_deadlineYesYour revised, realistic delivery date (e.g. 'Tuesday 24 June', 'end of next week')
project_nameYesName or description of the project (e.g. 'the brand identity', 'your Q3 content plan', 'the checkout redesign')
delay_reasonNoBrief honest explanation for the delay (e.g. 'a technical issue took longer than expected', 'I underestimated the research phase'). Omit to skip explaining the cause.
mitigationNoWhat you are doing to prevent further slippage (e.g. 'I have cleared my schedule to focus on this', 'I have already completed the first half'). Adds confidence.
your_nameNoYour name for the sign-off

TDQS

A4.9/5.0
Behavior5/5

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

No annotations provided, so the description fully discloses behavior: generates a clear, confident update with matter-of-fact tone. Notes that it does not count against monthly draft limit. No hidden behaviors or contradictions.

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 somewhat long but well-organized: opening purpose, sibling differentiation, tone guidance, parameter list with examples. Every sentence adds value, though could be slightly more concise without losing clarity.

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?

Given the complexity (7 parameters, no output schema), the description covers all necessary aspects: when to use, tone, parameter examples, optional fields, and relationship to siblings. It is self-contained and leaves no ambiguity for an AI agent.

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

Parameters5/5

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

Schema coverage is 100%, and the description adds significant value by providing concrete examples for each parameter (e.g., 'Friday 20 June' for original_deadline) and explaining optional parameters' purpose (e.g., omit delay_reason for shorter email). This goes beyond the schema descriptions.

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 verb (Write) and resource (proactive email), specifying the exact scenario (when delivery is behind deadline, before client chases). It distinguishes from sibling tools by naming scope_change_email, client_waiting_email, and project_kickoff_email with their differences.

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?

Explicitly states when to use: 'when YOUR delivery is running behind the agreed deadline — sent before the client has to chase you.' Provides alternative tools for different scenarios (scope change, client chasing, project kickoff), giving clear exclusion criteria.

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

partnership_outreachA

Write a peer-to-peer outreach email to a complementary service provider — a designer reaching out to a copywriter, a developer to a designer, a consultant to an agency. Proposes a referral partnership where you both send clients each other's way. Warm, not transactional, under 150 words. Referral partnerships are one of the highest-ROI growth moves a freelancer can make — one good partner can generate years of warm inbound. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_nameYesTheir first name
recipient_serviceYesWhat they do (e.g. 'copywriting', 'brand strategy', 'UX design', 'paid ads', 'SEO')
your_serviceYesWhat you do (e.g. 'web design', 'mobile development', 'social media management')
shared_client_typeYesThe type of client you both serve (e.g. 'SaaS startups', 'e-commerce brands', 'professional services firms', 'small creative agencies')
connection_hookNoOptional: how you found them or what specifically caught your attention (e.g. 'saw your work on the Acme rebrand', 'we have a mutual client in the fintech space', 'came across your portfolio via LinkedIn'). Makes the email feel specific rather than templated.
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It discloses a non-obvious behavioral trait: 'Does not count against your monthly draft limit.' It also specifies tone ('Warm, not transactional') and length ('under 150 words'). No contradictions.

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?

Description is 5 sentences, efficiently conveying purpose, usage, tone, and special trait. It front-loads the core action. Slightly verbose with the ROI statement, but not wasteful.

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?

No output schema, but the tool's output is a generated email, which is self-explanatory. Description covers purpose, target audience, tone, and constraints. It is complete for the agent to understand the tool's function and result.

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?

Schema coverage is 100%, baseline 3. Description adds value for parameters like 'connection_hook' explaining its purpose ('Makes the email feel specific rather than templated') and 'recipient_service' giving examples. All required parameters are explained adequately.

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?

Description clearly states the tool writes a peer-to-peer outreach email for referral partnerships, with specific verb 'Write' and resource 'outreach email'. It distinguishes from sibling tools like referral_request by specifying the target (complementary service provider) and purpose (proposing a referral partnership).

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?

Description gives clear context on when to use: for outreach to complementary providers for referral partnerships, with examples of professional pairs. It does not explicitly state when not to use or mention alternatives, but the context is sufficient for an agent to select it among siblings.

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

payment_overdue_final_notice_emailA

Write the formal final notice email when a client has not responded to previous payment reminders and the invoice is significantly overdue. This is the last professional communication before escalating to a collection agency, pausing all work, or seeking legal remedy — so the tone is firm, factual, and unambiguous without being hostile. States the outstanding amount, the number of days overdue, and a clear deadline for payment before you take the next step. Named 'final notice' so the client understands this is the last communication in the sequence. Distinct from late_payment_reminder (earlier, softer reminders) and invoice_dispute_response_email (client disputes the charge — this is non-payment, not dispute). Does not count against your monthly draft limit. Required: client_name, invoice_number, amount, days_overdue. Optional: original_due_date, payment_deadline (days from this email before next step — defaults to 7), next_step (collection_agency | legal_action | work_suspension — defaults to work_suspension), project_name, payment_link, your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
invoice_numberYesInvoice reference number (e.g. 'INV-042', '#2024-07')
amountYesThe outstanding amount as a string (e.g. '$1,200', '£850')
days_overdueYesHow many days past the due date the invoice is (e.g. 30, 45, 60)
original_due_dateNoThe original due date (e.g. 'June 5', '5 June 2026'). Stating it makes the timeline clear and removes ambiguity.
payment_deadlineNoNumber of days from this email the client has to pay before you take the next step. Defaults to 7.
next_stepNoWhat you will do if payment is not received by the deadline. work_suspension (default): pause all work and withhold deliverables. collection_agency: refer the debt to a collection agency. legal_action: pursue through small claims or formal legal channels.
project_nameNoProject name for context (e.g. 'the Brand Refresh project', 'the Q2 content package')
payment_linkNoA direct payment link or portal URL if you have one — makes it frictionless for the client to pay immediately
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that the tool does not count against monthly draft limits and sets expectations for tone (firm, factual, unambiguous). However, it does not clarify whether the tool actually sends the email or only drafts it, which is a minor gap.

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 logically structured and front-loaded with purpose and usage. It provides necessary information without redundancy, though it could be slightly more concise by trimming some explanatory phrases. Every sentence contributes meaning.

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 10 parameters, no output schema, and moderate complexity, the description covers purpose, usage, parameter details, and sibling differentiation. It lacks explicit mention of return values (e.g., draft text content), but as an email drafting tool, this is partially inferable. Overall, it is quite complete.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by listing required and optional parameters, specifying defaults (e.g., payment_deadline defaults to 7, next_step defaults to work_suspension), and explaining enum options for next_step. This surpasses basic schema details.

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 it writes a formal final notice email for overdue invoices, using a specific verb and resource. It explicitly distinguishes from sibling tools 'late_payment_reminder' and 'invoice_dispute_response_email', providing clear differentiation.

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 specifies when to use (client not responded to previous reminders, significantly overdue) and contrasts with alternatives, including explicit 'when-not-to-use' through sibling differentiation. It also notes this is the last communication before escalation.

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

payment_plan_proposalA

Write the professional email proposing an installment payment plan when a client cannot pay an invoice in full immediately — either proactively offered when you sense payment difficulty, or as a structured reply when a client has asked for more time. States the plan clearly (number of payments, amounts, schedule), confirms the arrangement in writing, and keeps the tone solution-focused rather than punitive. Distinct from late_payment_reminder (chasing an already-overdue invoice), invoice_dispute_response_email (client is disputing a charge), and deposit_request_email (requesting upfront payment before work begins). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
invoice_totalYesThe total amount owed (e.g. '$3,500', '£2,200')
invoice_numberNoInvoice reference number (e.g. 'INV-051') — included in subject line if provided
number_of_paymentsNoHow many instalments the plan is split into (e.g. 2, 3, 4) — defaults to 2 if not provided
first_paymentNoAmount due in the first instalment (e.g. '$1,750', '50%') — if omitted, equal splits are implied
schedule_descriptionNoWhen subsequent payments are due (e.g. 'every two weeks', 'on the 1st of each month', '30 days after the first payment')
total_periodNoOptional: total timeframe the plan spans (e.g. 'six weeks', 'three months') — used to frame the offer naturally
project_nameNoName of the project for context (e.g. 'the brand identity project', 'your website')
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses tone (solution-focused, not punitive), content (states plan clearly, confirms in writing), and a key behavioral trait: 'Does not count against your monthly draft limit.' No mention of auth or side effects, but email drafting implies read-like safety.

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 concise (two sentences plus sibling list) and front-loaded with purpose and usage. Every sentence adds value without redundancy.

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?

For a tool with 9 parameters and no output schema, the description adequately explains the email's content and tone, plus a useful behavior note about draft limits. While it doesn't detail the return value, the purpose is clear enough for an agent.

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 100%, so each parameter already has a description. The tool description does not add significant meaning beyond the schema. It implies that parameters like number_of_payments, first_payment, schedule_description are used to construct the plan, but that is inferrable.

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 it writes a professional email proposing an installment payment plan when a client cannot pay in full. It specifies the action, resource, and distinguishes from sibling tools immediately.

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?

Provides explicit conditions for use: proactively offered when sensing payment difficulty or as a reply when client asks for more time. Also clearly distinguishes from three sibling tools (late_payment_reminder, invoice_dispute_response_email, deposit_request_email).

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

payment_plan_proposal_emailA

Write the email proposing or confirming payment installments for a project. For when a client can't pay the full fee upfront, or when you want to proactively offer a payment plan to remove a barrier to closing the deal. Three routes: propose_plan (default — you initiate a structured installment proposal: milestone-based or monthly splits; works for high-value projects where budget is not the issue but cash flow is), respond_to_request (client has already asked for installments and you're confirming what you can offer — tone is helpful and collaborative, not reluctant), negotiate_back (client wants different terms than you proposed — e.g. smaller upfront, more splits — and you're counter-proposing or finding a middle ground while protecting your interests). Distinct from deposit_request_email (collecting an agreed deposit that's already been discussed), budget_negotiation_email (negotiating the total fee, not the payment structure), and payment_reminder_email (chasing a payment already due). Does not count against your monthly draft limit. Required: client_name, total_amount (total project fee — e.g. '$4,500', '£3,000'). Optional: project_name, plan_description (your proposed structure — e.g. '50% upfront, 50% on delivery', '30% to start, 30% at midpoint, 40% on completion', '$500/month over 3 months'), installment_count (number of payments — e.g. '2', '3', 'monthly for 4 months'), client_plan (for negotiate_back route — the terms the client asked for), route ('propose_plan' | 'respond_to_request' | 'negotiate_back' — default propose_plan), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
total_amountYesTotal project fee — e.g. '$4,500', '£3,000', '$12,000'. Required.
project_nameNoOptional: name of the project — e.g. 'the Westbrook website', 'your brand identity', 'the app build'.
plan_descriptionNoOptional: the payment structure you're proposing — e.g. '50% upfront, 50% on delivery', '30% to start, 30% at midpoint, 40% on completion', '$1,500/month over 3 months'. If omitted, a standard 50/50 split is implied.
installment_countNoOptional: number of payments — e.g. '2', '3', '4 monthly payments'. Helps make the email concrete if plan_description is not provided.
client_planNoFor negotiate_back route: the payment structure the client asked for — e.g. '20% upfront and the rest on delivery', 'monthly over 6 months'. Used to acknowledge their ask before counter-proposing.
routeNopropose_plan (default) — you initiate the payment plan offer; respond_to_request — client asked, you're confirming what you can offer; negotiate_back — client wants different terms, you're counter-proposing.
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool 'does not count against your monthly draft limit' and explains the three routes. However, it does not mention any side effects, authentication requirements, or error handling, which for a write tool might be expected.

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 detailed but well-structured: it opens with the main purpose, then explains when to use it, distinguishes routes, and finally lists parameters. Each sentence adds value, though it could be slightly more concise.

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 complexity of three routes and 8 parameters, the description covers the necessary context for using the tool. It explains the routes in detail and distinguishes from siblings. Missing is a description of the output format, but since it's an email generation tool, the output is self-explanatory.

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?

Schema description coverage is 100%, providing a baseline of 3. The description adds value by explaining the purpose of each optional parameter (e.g., plan_description, installment_count) and providing examples, as well as clarifying the routes and their respective use cases.

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: 'Write the email proposing or confirming payment installments for a project.' It uses a specific verb-resource combination and distinguishes itself from siblings like deposit_request_email, budget_negotiation_email, and payment_reminder_email.

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 explicitly states when to use the tool: 'when a client can't pay the full fee upfront, or when you want to proactively offer a payment plan.' It also details three routes (propose_plan, respond_to_request, negotiate_back) and lists sibling tools that should be used instead in other scenarios.

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

payment_received_emailA

Write a short, professional email acknowledging receipt of a client payment. Most freelancers say nothing when they get paid — this brief confirmation closes the loop, gives the client a paper trail, and signals what happens next. Under 80 words. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
amountYesThe payment amount (e.g. '$1,500', '€2,000', 'the deposit')
project_nameNoOptional: the project name or description (e.g. 'the website redesign', 'your brand identity project')
next_stepNoOptional: what happens next (e.g. 'work begins Monday', 'I'll have the first draft to you by Friday', 'I'll send the final files over today'). Defaults to a generic 'work continues as planned' line.
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden but only mentions unusual traits like word limit and draft limit, not what the tool actually outputs or whether it sends the email.

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?

Extremely concise: two sentences plus a short note on constraints, all front-loaded with the core action.

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?

For a simple email writing tool, the description covers purpose, constraints, and parameter roles, though it lacks explicit output description.

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?

Schema coverage is 100%, and the description adds context for parameters like next_step by relating it to signaling next steps, providing value beyond 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 clearly states the tool writes a short professional email acknowledging receipt of a client payment, distinguishing it from sibling tools like payment reminders or invoices.

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?

It implies use when payment is received and closes the loop, but does not explicitly exclude alternatives like reminders or follow-ups, though the context is clear.

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

payment_reminder_emailA

Write a professional payment reminder email for an overdue or upcoming invoice. Calibrated by tone: 'friendly' for a first nudge (1-7 days late), 'firm' for a second reminder (8-21 days late), or 'final' for a late-stage notice that signals escalation. Always polite but clear — avoids passive-aggression while leaving no ambiguity about what is owed and when. Does not count against your monthly draft limit. Required: client_name, amount_due. Optional: invoice_number, due_date, days_overdue (used to auto-select tone if tone not specified), tone ('friendly' | 'firm' | 'final'), payment_method (e.g. 'bank transfer', 'PayPal'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or company name for the greeting
amount_dueYesThe amount outstanding, including currency symbol (e.g. '$2,400', '£1,800', '€950')
invoice_numberNoInvoice reference number (e.g. 'INV-042'). Omit if you don't use invoice numbers.
due_dateNoThe original payment due date (e.g. 'June 1', '1 June 2026'). Omit if unknown.
days_overdueNoHow many days past the due date the invoice is. Used to auto-select tone if tone is not provided: 0-7 → friendly, 8-21 → firm, 22+ → final.
toneNo'friendly' (gentle first nudge, assumes oversight), 'firm' (clear expectation, no apology), or 'final' (signals escalation if not resolved). Overrides days_overdue if both provided.
payment_methodNoHow you'd like to be paid (e.g. 'bank transfer', 'PayPal', 'Stripe invoice link'). Omit to leave the payment method open.
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full responsibility. It discloses key behaviors: tone calibration, politeness, avoidance of passive-aggression, no impact on draft limits. It also states required vs optional parameters and the auto-selection logic for tone. It does not mention any potential side effects or restrictions beyond the parameters, but overall provides adequate transparency for a safe email generation tool.

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 concise at about five sentences, front-loading the core purpose and then logically detailing tone calibration and parameter usage. Every sentence adds value, and there is no redundancy or unnecessary 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?

Given the 8 parameters, 2 required, and no output schema, the description covers the main behavior thoroughly: it explains tone selection, parameter roles, and the fact that the tool does not consume draft limits. It lacks explanation of the return value (the generated email text), but since there is no output schema, this is acceptable. The description is sufficiently complete for an agent to use the tool correctly.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the tone auto-selection algorithm based on days_overdue, the override behavior of tone parameter, and the fact that the tool doesn't affect draft limits. This synthesis goes beyond the individual parameter descriptions, justifying a score above baseline.

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: 'Write a professional payment reminder email for an overdue or upcoming invoice.' It specifies the verb 'write' and the resource 'payment reminder email', and distinguishes from siblings by detailing tone calibration and auto-selection logic, which is unique among related tools.

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?

The description provides explicit guidance on when to use each tone based on days overdue (friendly for 1-7 days, firm for 8-21, final for 22+). It also notes that the tool does not count against a monthly draft limit. However, it does not explicitly differentiate from overlapping sibling tools like 'late_payment_reminder' or 'payment_overdue_final_notice_email', missing opportunities to state when not to use this tool.

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

podcast_pitch_emailA

Write a compelling cold pitch to appear as a guest on a podcast. Podcast appearances are a powerful freelancer marketing channel — authority-building, warm inbound leads, and backlinks — but most pitches are generic and get deleted within seconds. This generates a host-first pitch that leads with why their audience wins (not why you want exposure), references a specific episode to prove you're a genuine listener, and ends with a concrete, low-friction ask. Distinct from conference_talk_pitch (formal CFP submission for in-person events) and cold_pitch (client sales outreach). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
podcast_nameYesName of the podcast you are pitching to appear on (e.g. 'Freelance to Founder', 'The Futur')
host_nameYesFirst name of the podcast host (e.g. 'Chris', 'Paul')
episode_angleYesThe specific topic or angle you are pitching — frame it as a benefit for listeners, not a feature about you (e.g. 'why most freelancers lose deals before the proposal even lands', 'the one-page scope framework that ends scope creep arguments')
why_their_audienceYesWhy this topic is specifically valuable for this podcast's listeners — be concrete (e.g. 'your audience of creative freelancers deals with scope creep weekly; I've spoken to 200+ of them', 'your listeners are trying to move from project to retainer work — I made that shift and can walk through it step by step')
your_credentialYesYour single most relevant credibility signal — specific beats vague (e.g. '8 years of freelance UX, 120+ client contracts', 'built ProposalCraft, an open-source MCP tool with 500+ installs', 'went from $0 to $180k/yr freelancing in 3 years')
episode_referenceNoOptional: a specific recent episode you listened to — title or guest name — and one sentence on what resonated. Proves you're a genuine listener, not a spray-and-pray pitcher. Omit if you haven't listened to a recent episode.
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It states the tool 'generates' a pitch, implying it is a content generation tool, but does not disclose whether it sends emails, saves drafts, or has side effects. The behavioral traits are partially covered but lack completeness.

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 concise at about 80 words, with a clear structure: purpose, context, differentiation, and a notable fact (draft limit). Every sentence adds value, though it could be slightly more efficient without losing content.

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?

The description explains the purpose and strategy well, but it lacks specification of what the tool returns (e.g., full email text, subject line). Given the absence of an output schema and moderate complexity, the description is sufficient but not fully 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?

The input schema has 100% description coverage, so the baseline is 3. The main description adds strategic context that indirectly helps understand parameter usage, but it does not provide additional meaning beyond the schema descriptions for individual parameters.

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 uses a specific verb 'Write' and resource 'cold pitch to appear as a guest on a podcast', clearly stating the tool's function. It explicitly distinguishes itself from sibling tools 'conference_talk_pitch' and 'cold_pitch', ensuring no ambiguity.

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 explains when to use the tool (for podcast guest pitches), provides context on why generic pitches fail, and explicitly contrasts with alternative tools. It also mentions that it does not count against monthly draft limits, offering additional usage guidance.

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

portfolio_request_emailA

Write the email asking a past client for permission to feature their project in your portfolio, website, or case studies. Specifies exactly what you want to show, where it will appear, and offers them a preview before it goes live. Gives an easy out if they'd rather not — or offers to anonymise the work instead. Distinct from testimonial_request (asking for a quote) and case_study_outline (writing the case study itself) — this is the consent ask that must happen first. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName of the project you want to feature
portfolio_locationYesWhere the work will appear (e.g. 'my portfolio website', 'a case study on my site', 'proposals to prospective clients')
specific_workNoOptional: the specific piece you want to show (e.g. 'the homepage design', 'the brand identity system', 'before-and-after screenshots'). Makes the ask concrete and limits ambiguity.
offer_previewNoOptional: if true (default), offers to share a draft of the portfolio entry before publishing so the client can approve the copy.
offer_anonymiseNoOptional: if true, offers to remove the client's name/branding if they prefer privacy while still allowing the work to be shown.
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

Discloses key behaviors: offers preview and anonymize, gives easy out, and doesn't count toward draft limit. Lacks details on whether it sends the email or just drafts it, but otherwise transparent.

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?

Single paragraph with effective front-loading of purpose. Concise with no wasted words, though could be slightly more structured.

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?

Covers usage context, differentiation from siblings, and an important side note (draft limit). Lacks explicit mention of output format or actions taken, but sufficient for an email generation tool.

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 covers all parameters with descriptions. The tool description adds context about how parameters are used (e.g., specific_work makes ask concrete) but doesn't significantly deepen parameter meaning beyond 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?

Clearly states the tool writes an email asking for permission to feature a project, with specific content details. Distinctly separates from sibling tools testimonial_request and case_study_outline.

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?

Explicitly describes when to use (consent ask that must happen first) and when not (use testimonial_request or case_study_outline instead). Also notes it doesn't count against draft limit.

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

post_discovery_follow_up_emailA

Write the follow-up email sent after a productive discovery or intro call with a prospect — the email most freelancers either skip or fumble. Its job: confirm you listened, recap the key points so nothing gets lost, set the next step clearly, and keep the momentum toward a proposal. Distinct from discovery_call_no_show_email (for when they don't show) and client_followup (for chasing a sent proposal). Three routes: warm (engaged prospect, moving forward — default), interested_but_not_ready (good conversation but they need more time or internal buy-in — play the long game), send_proposal (they asked for one on the call — confirm it's coming and when). Required: contact_name, what_discussed (2-4 bullet points or a brief paragraph of what you covered on the call). Optional: next_steps (what you agreed to do next — e.g. 'send a proposal by Friday', 'schedule a follow-up in two weeks'; defaults to a warm but open close), your_service (what you do — helps personalise the recap line), timeline (their stated timeline or urgency — e.g. 'looking to start in July', 'hoping to launch before Q3'), route, your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_nameYesThe prospect's first name
what_discussedYesThe key points from the call — 2-4 bullets or a brief paragraph (e.g. 'their rebrand timeline, budget range of $5-8k, need for brand guidelines and logo, internal stakeholder review required before sign-off'). This becomes the recap section.
next_stepsNoOptional: what was agreed as the next step (e.g. 'I'll send a proposal by Friday', 'you'll come back to me once you have internal sign-off', 'we'll speak again in two weeks'). If omitted, the email closes warmly without a hard next step.
your_serviceNoOptional: a short description of what you do — helps personalise the recap line (e.g. 'brand identity and packaging design', 'React development for SaaS products', 'copywriting for B2B tech companies'). If omitted, the email stays generic.
timelineNoOptional: the prospect's stated timeline or urgency (e.g. 'looking to start in July', 'hoping to launch before Q3', 'no fixed deadline yet'). If provided, the email acknowledges it.
routeNowarm: engaged prospect, ready to move forward — default for most calls. interested_but_not_ready: good conversation but they need more time, budget approval, or internal buy-in. send_proposal: they asked for a proposal on the call — confirm it's on its way and when they'll have it.
your_nameNoOptional: your name for the sign-off

TDQS

A4.8/5.0
Behavior5/5

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

Given no annotations, the description fully discloses behavior: generates an email, does not count against monthly draft limit, requires specific inputs, and varies output by route. No contradictions.

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?

Well-structured and front-loaded with purpose and differentiation. While verbose, every sentence adds value. Could be slightly trimmed but remains efficient for the complexity.

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?

Fully covers tool purpose, usage, parameters, routes, and special behavior (draft limit). No output schema, but description implicitly covers return value (email content). Contextually complete for a tool with 7 parameters and 3 routes.

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?

Schema coverage is 100%, baseline 3. Description adds value: explains how each parameter affects the email (what_discussed becomes recap, next_steps defaults, route changes tone, etc.), going beyond the schema's basic descriptions.

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 explicitly states the tool writes a follow-up email after a productive discovery call, with specific goals (confirm listening, recap key points, set next step). It distinguishes from sibling tools by naming them and contrasting their use cases.

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?

Provides clear when-to-use guidance, including three routes (warm, interested_but_not_ready, send_proposal) and explicit differentiation from sibling tools like discovery_call_no_show_email and client_followup.

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

post_launch_check_in_emailA

Write a short check-in email sent 30–60 days after a project went live — the follow-up that most freelancers never send, and that creates the highest-conversion upsell moment in the client lifecycle. Different from project_go_live_email (sent on launch day), project_completion_email (the handover), and upsell_email (which can be sent anytime). This is the specific 4–8 week post-launch window when you have real data to reference, the client is seeing real results (or real problems), and your work is still top of mind. Three goals: check on how the project is performing, offer to help with anything that's surfaced, and naturally open the door to next work without pitching. Under 120 words. Required: client_name, what_launched. Optional: time_since_launch (e.g. '5 weeks', '2 months' — makes timing concrete), result_to_reference (any result or signal you know about — traffic, sign-ups, revenue, feedback �� shows you've been paying attention), next_offer (a specific follow-on that fits logically — keep it observation-based, not pitch-based), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
what_launchedYesWhat you built together (e.g. 'the new site', 'the iOS app', 'the rebrand')
time_since_launchNoOptional: how long ago it launched (e.g. '5 weeks', '2 months', 'about a month') — makes the check-in feel timely and intentional
result_to_referenceNoOptional: any result or signal you know about (e.g. 'you mentioned traffic was up 30%', 'the sign-up rate looked strong in the early numbers', 'I saw the product got a mention in TechCrunch'). Shows you've been paying attention. Omit if you have nothing concrete.
next_offerNoOptional: a specific follow-on observation or offer — keep it one sentence, grounded in what naturally comes next (e.g. 'if the traffic data shows a clear drop-off point, an A/B test on the CTA would be worth running', 'now that the MVP is out, the next logical step is the referral loop'). Omit if nothing obvious fits.
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description fully carries the transparency burden. It discloses that the tool generates a short email (under 120 words), does not count toward monthly draft limits, and has three specific goals. It does not mention output format or side effects, but for a content-generation tool this is sufficient.

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 paragraph that front-loads the purpose and timing, then differentiates from siblings, explains goals, and lists parameters. It is somewhat lengthy but every sentence adds value. Could be slightly more concise, but structure is logical.

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 no output schema, the description adequately explains the tool's output (a short check-in email with specific goals) and its usage context. It covers timing, content, and allowed parameters. Output format is not explicitly described, but the tool's nature as an email generator makes it implicit. Overall, sufficiently complete.

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?

Schema description coverage is 100% with detailed parameter descriptions. The tool description adds context beyond the schema by explaining the purpose of the email, the timing window, and the rationale for optional fields (e.g., 'result_to_reference shows you've been paying attention'). This provides meaningful supplementary meaning.

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 writes a short check-in email sent 30-60 days post-launch, explicitly distinguishes it from sibling tools (project_go_live_email, project_completion_email, upsell_email), and lists three specific goals. The verb 'Write' plus specific resource and timing make purpose unambiguous.

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?

The description specifies the exact use case (30-60 day post-launch window) and differentiates from three sibling tools by naming them and contrasting their timing/purpose. It provides implicit guidance on when to use (4-8 week window) but stops short of explicitly stating when not to use it.

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

pre_meeting_emailA

Write a short email sent 24 hours before a scheduled meeting to share the agenda and confirm the format. Required: client_name, meeting_description (e.g. 'our discovery call tomorrow at 10am'). Optional: agenda_items (comma-separated list of topics — auto-formatted as a numbered list), meeting_format ('video call', 'phone call', 'in person', etc.), meeting_link (Zoom/Meet/Teams URL), prep_request (one thing you need the client to have ready, e.g. 'your current pricing structure', 'the brief you mentioned'), your_name. Completes the meeting lifecycle: meeting_request_email (scheduling) → pre_meeting_email (day before) → [meeting] → meeting_recap_email (after). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
meeting_descriptionYesBrief description of the upcoming meeting (e.g. 'our discovery call tomorrow at 10am', 'Thursday\'s check-in', 'our kick-off call on Friday at 2pm')
agenda_itemsNoComma-separated list of topics you plan to cover (e.g. 'project goals, budget, timeline, next steps'). Auto-formatted as a numbered list. Omit to keep the email simple — useful for informal check-ins.
meeting_formatNoHow the meeting will happen — e.g. 'video call', 'phone call', 'in person', 'Google Meet'. Omit if already clear from context.
meeting_linkNoVideo call URL (Zoom, Google Meet, Teams, etc.) — included as a direct join link if provided.
prep_requestNoOne specific thing you would like the client to have ready before the call (e.g. 'your current proposal process or any examples of briefs you typically receive', 'the draft copy you mentioned', 'your brand guidelines if you have them'). Omit if nothing specific is needed.
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It states 'Does not count against your monthly draft limit', which is a behavioral trait. It also clarifies the output is an email with agenda and format confirmation. It does not explicitly state whether it sends immediately or saves as draft, but the wording suggests it writes a draft.

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 approximately 120 words, front-loaded with the core purpose, then briefly lists parameters, and adds lifecycle and limit info. Every sentence adds value with no fluff.

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?

For a tool with no output schema, the description covers the lifecycle, draft limit, and parameter usage well. It does not explain the return value, but it is reasonable to assume it produces an email draft. Minor gap but overall complete.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value beyond the schema by providing usage context (e.g., 'Auto-formatted as a numbered list' for agenda_items, examples for prep_request, 'for the sign-off' for your_name).

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: 'Write a short email sent 24 hours before a scheduled meeting to share the agenda and confirm the format.' It specifies the timing and content, and distinguishes from siblings by placing it in the meeting lifecycle: meeting_request_email → pre_meeting_email → meeting_recap_email.

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?

The description explicitly states when to use the tool ('24 hours before a scheduled meeting') and outlines the meeting lifecycle, implying alternatives. It does not explicitly mention when not to use it, but the lifecycle provides clear context for usage.

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

price_increase_emailA

Write a confident, non-apologetic email notifying existing clients of a rate increase. One of the hardest emails freelancers avoid writing — and one of the most important. Gets the tone right: you're growing, not gouging. Three scenarios: 'advance_notice' (standard heads-up before the new rate kicks in — most common), 'retainer_renewal' (updating a retainer rate at renewal), 'mid_project' (rare: rate increase affecting an in-flight project — requires explicit justification). Required: client_name, new_rate, effective_date. Optional: current_rate (including it shows transparency), rate_type (hourly/daily/project — defaults to 'rate'), scenario (advance_notice/retainer_renewal/mid_project — defaults to advance_notice), project_name (for mid_project or retainer context), reason (brief, honest note on why: 'increased demand', 'cost of living', 'expanded service offering' — keep it to one line; omit if you'd rather not justify), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
new_rateYesYour new rate (e.g. '$150/hr', '$1,200/day', '$5,500 project')
effective_dateYesWhen the new rate takes effect (e.g. 'July 1', 'from our next project', 'at your next renewal')
current_rateNoOptional: your current rate — showing the before/after adds transparency (e.g. '$120/hr', '$950/day')
rate_typeNoOptional: 'hourly', 'daily', or 'project' — used to frame the language naturally. Defaults to a neutral 'rate'.
scenarioNoOptional: 'advance_notice' (default — standard heads-up), 'retainer_renewal' (updating a retainer at renewal), or 'mid_project' (rate change affecting an ongoing engagement — use only when unavoidable, and always include a reason)
project_nameNoOptional: project or retainer name — useful for retainer_renewal or mid_project scenarios
reasonNoOptional: one-line reason (e.g. 'increased demand for my services', 'cost of living increases', 'I've expanded what I offer'). Keep it brief. Omit if you'd prefer not to justify the increase.
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool does not count against monthly draft limits and mentions the tone. However, it does not describe the output format, side effects, or any limitations beyond that. Adequate for a non-destructive email generation tool, but could be more transparent.

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 paragraph that starts with the core purpose, then lists scenarios and parameters. It is well-organized and informative, though slightly lengthy. Every sentence adds value, but could be tightened slightly without losing clarity.

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 complexity (9 params, no output schema), the description covers the tool's purpose, scenarios, parameter guidance, and a behavioral note (draft limit). Missing is any description of what the output (the email) looks like or how it is returned. Overall fairly complete for an email generation tool.

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?

All 9 parameters have descriptions in the schema (100% coverage). The description adds value by explaining the three scenario options, the purpose of reason with examples, and contextualizes parameters like current_rate and project_name. This enriches the schema descriptions, making parameter selection more intuitive.

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 writes a confident, non-apologetic email for rate increases. It distinguishes itself from sibling tools like 'rate_increase_email' by specifying three scenarios and tone, making its unique purpose unmistakable.

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?

Provides detailed guidance on three scenarios (advance_notice, retainer_renewal, mid_project) with context on when each is appropriate. Notes that mid_project is rare and requires justification. Does not explicitly state when not to use the tool or mention alternatives, but the context is clear for the intended use.

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

price_objection_response_emailA

Write the email you send when a client pushes back on your price — 'can you do it cheaper?', 'we only have X budget', 'that's more than we expected'. Distinct from discount_request_response (which handles a specific ask for a discount — this covers any form of price objection, including vague pushback, sticker shock, and budget gaps) and budget_negotiation_email (which opens a negotiation — this responds to one already in progress). Three routes: hold_rate (defend your rate and the value behind it without apologising — default; works when you're confident in your price and the client is worth keeping on your terms), alternative (offer a reduced scope or phased approach that fits their budget — works when you want the work and can genuinely deliver something smaller), walk_away (decline clearly and warmly — works when the budget gap is too large or the engagement wouldn't be worthwhile at their number). Required: client_name, objection_summary (what they said — e.g. 'said the rate is too high', 'mentioned they only have $2k', 'asked if we can do it for less'). Optional: your_rate (your quoted rate or total — e.g. '$150/hr', '$4,500 fixed'; helps make the hold_rate response specific), their_budget (what they said they have — e.g. '$2,000', 'under $3k'), project_name, alternative_scope (for alternative route — the specific smaller version you'd offer, e.g. 'strategy and wireframes only, no build', 'phase 1 homepage only'), route ('hold_rate' | 'alternative' | 'walk_away' — default hold_rate), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
objection_summaryYesWhat they said — e.g. 'said the rate is too high', 'mentioned they only have $2k', 'asked if we can do it for less'. Keeps the response specific and grounded.
your_rateNoOptional: your quoted rate or total — e.g. '$150/hr', '$4,500 fixed'. Helps the hold_rate response name the number directly rather than referring to it vaguely.
their_budgetNoOptional: what they said they have — e.g. '$2,000', 'under $3k'. Used in alternative and walk_away routes to acknowledge the gap without making the client feel judged.
project_nameNoOptional: the project name or short description — e.g. 'the brand identity project', 'your website redesign'. Adds context to the email.
alternative_scopeNoFor alternative route only: the specific smaller version you'd offer — e.g. 'strategy and wireframes only, no build', 'phase 1: homepage and contact page only', 'a 5-page site instead of 10'. Be concrete; vague alternatives feel evasive.
routeNohold_rate (default): defend your price and the value behind it — no apology, no discount. alternative: offer a genuinely smaller scope at their budget — only use when you can actually deliver something worthwhile at that number. walk_away: decline graciously — use when the gap is too large or the engagement wouldn't be worth it at their number.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool does not count against monthly draft limits, which is a key behavioral insight. It describes the three routes and their conditions. However, it does not mention any authorization requirements, rate limits, or side effects (like whether it saves drafts or sends immediately). Given the email generation context, these are less critical, but still a minor gap.

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 well-structured and front-loaded with the core purpose. It contains several sentences but all are informative. A slight reduction in length could improve conciseness, but the level of detail is justified given the complexity of three routes and multiple optional parameters.

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?

The description covers all aspects: what the tool does, when to use it (with alternatives), all input parameters with examples, behavioral notes (draft limit), and three routing options. There is no output schema, but the tool is straightforward (generates an email), so the return value is implied. The description is complete for effective tool selection and invocation.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds substantial meaning beyond the schema. It explains the purpose of each parameter with examples (e.g., objection_summary, alternative_scope), clarifies default behavior for route, and provides context on when to use optional parameters. This significantly enhances understanding for the AI agent.

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: writing an email when a client objects to price. It distinguishes from sibling tools discount_request_response and budget_negotiation_email with specific differences. It also describes three distinct routes (hold_rate, alternative, walk_away), making the purpose very specific.

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 provides explicit guidance on when to use each route: hold_rate when confident in price, alternative when scope reduction works, walk_away when budget gap is too large. It also explains when to use this tool versus sibling tools, covering both when and when-not scenarios.

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

price_quote_emailA

Write a short, confident email sending a price quote or estimate to a prospective client. For situations where a full formal proposal isn't needed — quick projects, hourly work, or a client who just asked 'how much?' Covers: the work, the price, what's included, and a clear next step. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_descriptionYesWhat you're quoting for — brief description (e.g. 'the landing page redesign', 'copywriting for your website home page', 'a 2-hour strategy session')
priceYesYour quoted price or rate (e.g. '$2,400', '$1,800–$2,200', '$150/hr', '$800 flat')
whats_includedNoOptional: what the price includes — 2–4 bullet points (e.g. 'initial discovery call, first draft, two rounds of revisions, final files'). If omitted, the email states the deliverable only.
timelineNoOptional: how long the work will take or when you can deliver (e.g. '5 business days after sign-off', 'ready by June 20', 'approx. 2 weeks')
validityNoOptional: how long the quote is valid for (e.g. '30 days', 'until end of month'). Useful if your rates may change or capacity is limited.
next_stepNoOptional: what you'd like them to do next (e.g. 'let me know if you'd like to go ahead and I'll send the contract', 'reply to confirm and I can start next week'). Defaults to a simple confirmation ask.
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are present, so the description carries full burden. It discloses that the tool does not use a monthly draft limit, but does not detail other behavioral aspects such as whether the email is sent immediately or creates a record.

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 roughly 90 words across two paragraphs, with the core purpose in the first sentence. It is well-structured and front-loaded, though a slightly more concise version could improve readability.

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 many similar sibling tools, the description adequately covers the purpose, usage scenarios, and key components of the email. The parameter schema is thorough, and while there is no output schema, the output is a straightforward email.

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 baseline is 3. The description adds context by listing 'the work, the price, what's included, and a clear next step' but does not significantly enhance understanding beyond the already detailed parameter descriptions in 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 clearly states 'Write a short, confident email sending a price quote or estimate' with a specific verb and resource. It also distinguishes from siblings by noting situations where 'a full formal proposal isn't needed' and adds a unique benefit about not counting against monthly draft limits.

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?

It provides explicit scenarios like 'quick projects, hourly work, or a client who just asked 'how much?'' which help the agent decide when to use. It implicitly suggests alternatives (formal proposals) but does not include a clear when-not-to-use list.

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

project_closure_emailA

Write the final email when a project is fully delivered and complete. Confirms what was delivered, handles any handover items, expresses genuine thanks, and plants seeds for future work. Different from project_kickoff_email (which starts the engagement) — this closes it professionally. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour name (sign-off)
client_nameYesThe client's first name
project_nameYesBrief name or description of the project (e.g. 'the Acme Corp website redesign', 'the brand identity project')
what_was_deliveredYesWhat you delivered — list the key deliverables (e.g. '5-page Webflow site, style guide, mobile-optimised')
handover_itemsNoOptional: anything the client still needs to action (e.g. 'update your DNS records', 'add your own copy to the About page', 'set your own admin password')
warranty_periodNoOptional: any support or bug-fix period you're offering (e.g. '14 days of bug fixes included', '30-day support window')
future_work_hookNoOptional: a natural next-step or future work opportunity to mention (e.g. 'SEO setup', 'quarterly content updates', 'Phase 2 mobile app')

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries the full burden. It discloses the action (writes a closing email) and adds a useful behavioral trait ("Does not count against your monthly draft limit"). No contradictions or missing critical safety info.

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 sentences, front-loaded with purpose, no redundant information. Every sentence 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?

The description adequately explains the tool's purpose and behavior for a simple email generation tool. It does not describe the return value (the email text), but that is implicit. Could mention that it generates a draft.

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% with clear parameter descriptions. The description adds context about the email's purpose but does not provide additional detail beyond what the schema already states for individual parameters.

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 uses a specific verb ("Write the final email") and resource ("project closure email"), lists the content elements (confirms delivery, handover, thanks, future work), and explicitly distinguishes from the sibling project_kickoff_email.

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?

Clearly states when to use ("when a project is fully delivered and complete") and differentiates from project_kickoff_email. However, it does not mention other related siblings like project_completion_email or project_handover_email.

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

project_completion_emailA

Write a professional email to a client when you deliver the final output and close out a project. Confirms what's been delivered, thanks the client, and optionally asks for a testimonial and points toward future work. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description (e.g. 'the website redesign', 'your brand identity')
what_you_deliveredYesWhat you are handing over — be specific (e.g. 'the final logo files and brand guide', 'the live website and all source files', 'the completed reports and raw data export')
delivery_locationNoOptional: where you are sending or where they can find the deliverables (e.g. 'attached', 'in the shared Dropbox folder', 'via the WeTransfer link below')
highlightNoOptional: one thing you are particularly proud of or want to call out (e.g. 'the mobile animations turned out especially well', 'the new flow cut checkout steps from 6 to 2')
testimonial_requestNoOptional: whether to include a brief ask for a testimonial or review (default true). Set false to omit.
future_workNoOptional: mention of potential next steps or future work (e.g. 'I would love to help with the next phase', 'if you ever need ongoing support, I am available')
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description must carry the burden. It discloses that the tool 'does not count against your monthly draft limit,' which is a key behavioral detail. It doesn't mention automation or permissions, but the core behavior (generating an email) is transparent.

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?

Extremely concise: a few sentences that front-load the purpose and quickly list key components. No wasted words, easy to scan.

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 8 parameters (3 required), no output schema, and no annotations, the description covers the essential context: what the email contains, optional elements, and a notable behavioral detail. It does not address return values or error states, but for a simple email tool, it is sufficiently 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?

Input schema has 100% description coverage, so baseline is 3. The description adds no additional parameter details beyond the schema; it focuses on overall purpose. No extra semantic value provided for parameters.

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?

Clearly describes the tool's purpose: writing a professional email when delivering final project output and closing out a project. It specifies contents like confirming deliverables, thanks, optional testimonial and future work, distinguishing it from related tools like milestone_delivered_email or project_closure_email.

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?

States when to use (final delivery and closure) and what the email includes. While it doesn't explicitly list when not to use or name alternatives, the context is fairly clear given the sibling list. A slight gap in explicit usage boundaries prevents a 5.

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

project_delay_notification_emailA

Write a professional email notifying a client that a project deadline will be missed. The hardest email most freelancers avoid sending — but sending it early, clearly, and without over-apologising is exactly what separates pros from amateurs. Three routes: 'early_warning' (you can see the deadline is at risk before it arrives — best time to raise it, gives the client maximum flexibility), 'on_deadline' (it's the due date and it won't be ready — lead with the new date, short explanation), 'already_late' (you've already missed it — own it, new date, no excuses). Required: client_name, project_name, new_deadline (the revised date you're committing to). Optional: reason (brief, factual — not a list of excuses), what_is_complete (how much is done, reassures the client progress is real), route (early_warning/on_deadline/already_late — defaults to on_deadline), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
project_nameYesName of the project or deliverable (e.g. 'the website redesign', 'the brand guidelines', 'your mobile app')
new_deadlineYesThe revised delivery date you're committing to (e.g. 'Friday 27 June', 'end of next week', 'Monday 30 June')
reasonNoOptional: brief, factual reason for the delay (e.g. 'a technical issue took longer than expected to resolve', 'I underestimated the scope of the revisions'). Keep it one sentence — don't over-explain.
what_is_completeNoOptional: what is already done, to reassure the client progress is real (e.g. 'The structure and copy are finished — I'm finalising the visual polish', '80% of the build is complete')
routeNoOptional: 'early_warning' (flagging a risk before the deadline arrives — best outcome), 'on_deadline' (the day it was due and it's not ready — default), or 'already_late' (you've already missed it — own it cleanly)
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Describes output as a professional email draft, mentions no side effects, and clarifies it does not count against draft limit. Does not explicitly state it does not send the email, but tone implies generation.

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?

Well-structured with a clear opening, route explanations, and parameter details. Every sentence adds value; minor motivational language could be trimmed but overall efficient.

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 no output schema, the description adequately conveys what the tool returns (an email draft). Minor gap: does not specify output format (plain text, HTML) or if it's a full email with headers. Sufficient for an AI to use.

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?

Schema coverage is 100%, baseline 3. Description adds significant value by explaining each parameter's purpose and tone (e.g., reason should be brief and factual, route descriptions). Goes beyond simple schema definitions.

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?

Clearly states it writes a professional email for missed deadlines, with three distinct routes. Differentiates from siblings like 'late_delivery_apology' by specifying early_warning, on_deadline, already_late options.

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?

Provides context on when to send (early, on deadline, already late) but does not explicitly compare to alternative tools or state when not to use this tool. Implied usage but no exclusions.

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

project_delay_warningA

Write a proactive email warning a client that a deadline is at risk — BEFORE you've actually missed it. The professional middle path between staying silent (and surprising them) and over-apologising (when you're not late yet). Demonstrates that you're on top of the project and gives the client time to adjust. Different from late_delivery_apology (which is sent after you've already missed the deadline). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project or deliverable at risk (e.g. 'the brand guidelines', 'the v2 API integration', 'the homepage redesign')
original_deadlineYesThe agreed delivery date (e.g. 'Friday June 13', 'end of this week')
expected_delayYesHow much of a delay you're expecting (e.g. '2–3 days', 'about a week', 'until Monday')
reasonNoOptional: a brief, honest reason for the delay (e.g. 'a dependency on the client's API took longer than expected', 'a family situation came up'). Keep to one sentence. Omit if no clean reason.
new_delivery_dateNoOptional: the specific new date you're committing to (e.g. 'Tuesday June 17'). Include if you know it; omit if you need a day to confirm.
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Describes the tool as proactive, professional, and not counting against monthly draft limit. Indicates it is a write operation but without destructive consequences. Lacks detail on whether email is sent immediately or drafted, but sufficient for understanding.

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?

Description is concise with three sentences, front-loading the purpose. Every sentence adds value (purpose, when to use, sibling distinction, monthly limit). Could be slightly more streamlined, but no wasted words.

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 no output schema and 7 parameters (4 required), the description provides sufficient context: purpose, timing, differentiation from sibling, and an operational detail (draft limit). Lacks info about return value or side effects, but adequate for agent decision.

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 baseline is 3. The description does not add additional meaning beyond the schema; it provides context for the tool's purpose but does not elaborate on individual parameters. Adequate but not exceptional.

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 writes a proactive warning email before a deadline is missed, using specific verbs 'Write a proactive email warning'. It distinguishes from sibling 'late_delivery_apology' by specifying timing (before vs after missing deadline).

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?

Explicitly states when to use (BEFORE actually missed deadline) and when not to ('Different from late_delivery_apology'). Provides context: 'professional middle path between staying silent and over-apologising', giving clear guidance on appropriate usage.

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

project_extension_emailA

Write the email requesting more time on a project when the agreed deadline can no longer be met — the confirmed ask, not a risk warning. Distinct from project_delay_warning (sent when a deadline is at risk but not yet missed) and late_delivery_apology (sent after you've already missed it): this is the professional middle ground — you know you need more time, you're requesting it before the deadline passes, and you're being specific about the new date. Structure: states the current deadline, requests the specific extension needed, gives a brief honest reason (one sentence), and confirms what will be delivered by the new date. Does not grovel or over-explain. Most freelancers either say nothing until they're late, or send a vague 'I might need a bit more time' — this is the direct, professional ask that respects the client's schedule. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName of the project
original_deadlineYesThe agreed deadline (e.g. 'Friday 20 June' or 'end of this week')
new_deadlineYesThe specific new date or timeframe being requested (e.g. 'Wednesday 25 June' or 'the following Monday')
reasonNoBrief honest reason for the extension — one sentence (e.g. 'the API integration took longer than anticipated', 'I had an unavoidable client emergency this week')
deliverableNoWhat you will deliver by the new date (if different from the full project, e.g. 'the first draft', 'the complete build')
your_nameNoYour name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It describes the tone (professional, not groveling), structure, and timing (before deadline passes). It does not mention destructive behavior or rate limits, but the non-destructive nature is evident. Could be more explicit about whether the tool sends or just generates the email.

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 well-structured and front-loaded: purpose, distinction from siblings, structure, and behavioral notes. Every sentence adds value without redundancy. It is concise given the amount of context provided.

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 description covers usage, structure, and tone well, but does not explicitly state what the tool returns (likely the email text). With no output schema, this is a minor gap. Overall, it provides sufficient context for an agent to use the tool effectively.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining how each parameter fits into the email structure (e.g., reason should be one sentence, deliverable is optional). This enhances understanding beyond the schema descriptions.

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 explicitly states the tool writes an email requesting more time on a project, and distinguishes it from similar tools like project_delay_warning and late_delivery_apology. The verb 'write the email' and resource 'requesting more time' are specific.

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 clearly defines when to use this tool vs alternatives: it's the middle ground between a warning (at risk) and an apology (already missed). It also states it does not count against the monthly draft limit, providing additional context.

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

project_feedback_request_emailA

Write a professional email asking a client for feedback after completing a project. Two modes: feedback_only (default — a genuine, non-pressuring request for their thoughts; asks 1-2 specific questions to make responding easy), feedback_and_testimonial (combines the feedback ask with a soft request for a testimonial or review, framed as 'if you're happy to' — never demanding). Feedback requests sent within a week of delivery get 3x the response rate of requests sent later. The email is short, specific, and makes the client feel like their opinion matters rather than like they're being harvested for marketing content. Required: client_name, project_name. Optional: specific_question (one focused question about the project — e.g. 'Was the turnaround time what you needed?', 'Did the final copy feel like your voice?'), testimonial_platform (where you'd like a testimonial if they're happy to leave one — e.g. 'LinkedIn', 'Google', 'your website'; used only in feedback_and_testimonial mode), request_mode (feedback_only or feedback_and_testimonial), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
project_nameYesName or short description of the completed project — e.g. 'the website redesign', 'the Q2 content package', 'the brand identity'.
specific_questionNoOptional: one focused question you genuinely want answered — e.g. 'Was the turnaround time what you needed?', 'Did the final copy feel like your voice?', 'Were the deliverables what you expected from the brief?'. Specific questions get more useful responses than generic 'any feedback?' asks.
testimonial_platformNoOptional (used in feedback_and_testimonial mode): where you'd like a testimonial if they're happy to leave one — e.g. 'LinkedIn', 'Google', 'my website'. Keep it to one platform — multiple requests reduce follow-through.
request_modeNofeedback_only (default — genuine feedback ask, no testimonial request), feedback_and_testimonial (feedback ask with a soft, optional testimonial request).
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains the tone (non-pressuring, specific), the two behavioral modes, and that the tool does not count against a draft limit. It does not mention any destructive actions or side effects, which is appropriate for a 'write email' tool.

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 front-loaded with the core purpose in the first sentence. It then efficiently covers modes, timing, tone, required and optional parameters, and a practical note about draft limits. Every sentence serves a clear purpose without repetition.

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 description covers purpose, modes, parameters, and usage tips. Given the rich schema descriptions and absence of an output schema, it provides sufficient context for correct tool invocation. It could mention the output format (text/email draft), but the schema indicates it's a generated email, so this is a minor gap.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that testimonial_platform is only used in feedback_and_testimonial mode, providing the statistic about response rates, and explaining the purpose of specific_question. This goes beyond the schema descriptions.

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 'Write a professional email asking a client for feedback after completing a project.' The verb 'write' and resource 'email' are specific, and the two modes are explained, distinguishing it from siblings like 'feedback_request_email' and 'testimonial_request'.

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?

The description describes two modes for different scenarios (feedback only vs. feedback + testimonial) and mentions timing ('within a week of delivery gets 3x the response rate'). However, it does not explicitly state when not to use this tool or provide direct comparisons to siblings like 'feedback_request_email'.

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

project_go_live_emailA

Write a short celebratory email to a client when their project goes live — website launch, app release, campaign drop, product ship. Different from project_completion_email (the handover) and project_closure_email (the relationship wrap-up) — this is the real-world moment when the thing you built together is in front of real users and getting real results. Under 100 words. Warm, genuine, forward-looking. Positions you as invested in their success, not just the delivery. Natural moment to plant a seed for next work without pitching. Required: client_name, what_went_live. Optional: live_url (shareable link), early_result (any early metric or signal — e.g. '47 sign-ups in the first hour', '200 views in 3 hours'), next_hook (a natural follow-on if something obvious presents itself — e.g. 'once you have a few weeks of traffic data, it would be worth running an A/B test on the hero'), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
what_went_liveYesWhat just launched (e.g. 'the new site', 'the iOS app', 'the rebrand campaign', 'the landing page')
live_urlNoOptional: the live URL — included as a direct link so the email is shareable and bookmarkable
early_resultNoOptional: any early signal or metric worth acknowledging (e.g. '47 sign-ups in the first hour', 'already ranking on page 1 for the target keyword', '200 organic views in 3 hours'). Omit if it's too early for data.
next_hookNoOptional: a natural follow-on suggestion — keep it one sentence, observation-based not pitch-based (e.g. 'once you have a few weeks of traffic data, it would be worth running an A/B test on the hero', 'the next logical step is wiring up the email sequence so every sign-up gets a follow-up'). Omit if nothing obvious presents itself.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, description conveys it generates a short celebratory email. It doesn't explicitly state side effects or output format, but the generative nature is clear and common for such tools. Slightly lacking explicit non-destructive behavior.

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?

Description is thorough but not overly verbose; front-loaded with core purpose. Each sentence adds value, though could be slightly more concise. Well-structured with parameter explanations integrated.

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 no output schema, description covers usage, parameters, and differentiation well. It omits explicit output description but implies generated email text. Contextual completeness is high for a content generation tool.

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?

Schema coverage is 100% and description adds meaningful context for optional parameters like 'early_result' and 'next_hook', including examples and usage guidance. Provides value beyond schema definitions.

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 writes a celebratory email for a project go-live, distinguishing it from sibling tools (project_completion_email, project_closure_email). It uses specific verbs and resources.

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?

Explicitly states when to use (project go-live), distinguishes from alternatives, and provides constraints (under 100 words, warm tone, no pitching). Includes natural moment for next work without hard sell.

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

project_handover_emailA

Write the email handing a project over to another developer or contractor. For when you're stepping back from a project and transferring it to someone else — either because you've been asked to, the client is moving in-house, or you're bringing in a specialist for a particular phase. Two routes: warm (default — introduce the incoming person positively, set the client at ease, frame as an upgrade or natural evolution), clean (factual hand-off with no extra framing — for situations where the relationship is already strained or you simply want a professional exit with no editorialising). Required: client_name, handover_to (name of the incoming person or team). Optional: project_name, handover_reason (brief reason — e.g. 'you've taken the project in-house', 'bringing in a specialist for the next phase'), next_steps (what the client should expect — e.g. 'Alex will reach out this week to schedule a call'), route ('warm' | 'clean' — default warm), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
handover_toYesName of the incoming developer or team taking over the project
project_nameNoOptional: name of the project being handed over
handover_reasonNoOptional: brief reason for the handover — e.g. 'you've taken the project in-house', 'bringing in a specialist for the next phase', 'my availability has changed'.
next_stepsNoOptional: what the client should expect next — e.g. 'Alex will reach out this week to schedule a call', 'I'll send through the full codebase and documentation by Friday'.
routeNowarm (default) — positive framing, introduce the incoming person, set the client at ease; clean — factual exit with no extra editorialising.
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided. The description discloses two routes with different tones, states it doesn't count against draft limit, and lists required/optional parameters. It does not specify if the email is auto-sent or just drafted, but the intent is clear.

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 well-structured: starts with purpose, then usage context, then route options, then parameters. It is somewhat lengthy but front-loaded and each sentence adds information. Minor redundancy in route explanation.

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 7 parameters, no output schema, and no annotations, the description covers all necessary aspects: required and optional params, route options, draft limit benefit. It is sufficient for an email drafting tool.

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?

Schema coverage is 100% so baseline is 3. The description adds value by explaining the difference between warm and clean routes, providing examples for handover_reason and next_steps, and clarifying optional fields beyond 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 clearly states it writes an email for handing over a project to another developer/contractor. It distinguishes two routes (warm and clean) and explains when each applies, differentiating it from sibling email tools.

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?

The description explains when to use the tool (e.g., stepping back, client moving in-house, bringing in specialist) and describes the two routes. However, it does not explicitly mention when not to use it or direct alternatives among siblings.

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

project_inquiry_response_emailA

Write the professional reply to an inbound project inquiry from a potential client — the email you send when someone reaches out asking if you're available for work. This is the first email in the client relationship, so tone and structure matter: warm enough to keep them engaged, professional enough to signal expertise, and specific enough to move toward a conversation. Two modes: reply_and_qualify (default — acknowledges the enquiry, asks 1-3 targeted qualifying questions to understand scope/budget/timeline before agreeing to a call, and proposes a next step) and reply_and_book (skip the qualifying questions and go straight to proposing a discovery call — use when the enquiry already includes enough detail). Distinct from cold_pitch (you reach out first), client_followup (chasing a silent prospect), and discovery_call_follow_up_email (sent after the call). Required: client_name, enquiry_summary (a brief description of what they're asking for, e.g. 'website redesign for a law firm' or 'monthly content for their SaaS product'). Optional: qualifying_questions (up to 3 questions you want answered before the call — auto-formatted as a bulleted list), response_mode (reply_and_qualify | reply_and_book), call_scheduling_link (Calendly or equivalent URL for one-click booking), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or the name they used to sign off
enquiry_summaryYesBrief description of what they're asking for (e.g. 'website redesign for a law firm', 'monthly SEO content for their B2B SaaS product'). Used to make the reply feel specific, not templated.
qualifying_questionsNoOptional: up to 3 qualifying questions you want answered before agreeing to a call, comma-separated (e.g. 'What's your rough budget?, When do you need this live?, Do you have existing branding?'). Only used in reply_and_qualify mode.
response_modeNoreply_and_qualify (default): acknowledge + ask qualifying questions + propose next step. reply_and_book: skip questions, go straight to a discovery call — use when the enquiry already contains enough detail.
call_scheduling_linkNoOptional: Calendly or equivalent link for one-click call booking. Turns the next-step CTA into a direct link rather than a back-and-forth availability exchange.
your_nameNoYour name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses tone requirements and the 'does not count against monthly draft limit' behavior, but it does not clarify what the tool actually outputs (e.g., returns email text, drafts, or sends) or what side effects occur. This missing information leaves ambiguity about tool behavior.

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 relatively long but well-structured: purpose first, then tone guidance, modes, sibling distinction, and parameters. Every sentence adds value, but it could be slightly more concise without losing information.

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?

The description covers what the tool does and how to use it, but it fails to explain what the tool returns or the side effects (e.g., sending vs. generating text). Given no output schema, this is a notable gap. It omits error conditions or authorization needs, which are less critical but still relevant for a tool with 6 parameters.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaningful context beyond schema descriptions: e.g., for 'enquiry_summary' it provides examples, for 'qualifying_questions' it explains format and usage, and for 'response_mode' it clarifies decision logic. This extra context improves parameter understanding.

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 writes a professional reply to an inbound project inquiry. It specifies the verb ('write'), resource ('professional reply'), and context ('inbound project inquiry from a potential client'). It also distinguishes from siblings by naming specific alternative tools (cold_pitch, client_followup, discovery_call_follow_up_email).

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 explicitly states when to use the tool: 'the email you send when someone reaches out asking if you're available for work.' It provides two modes (reply_and_qualify and reply_and_book) with explicit guidance on when to use each, and it excludes scenarios covered by sibling tools via the 'Distinct from' clause.

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

project_kickoff_emailA

Write the email that officially starts the project and sets the client up for a smooth engagement. Sent once the contract is signed and the deposit is in — this is the email that takes the client from 'hired' to 'we're underway'. Covers what happens next, the timeline, what you need from them, and any links or access to share. Three routes: first_project (default — you're working with this client for the first time; warm and structured; introduces your process and what they can expect at each stage), returning_client (you've worked together before; skips the formalities, gets straight to the project specifics — references shared shorthand, sets up the new timeline), complex_project (large or multi-phase project; more structured; lists phases with indicative dates, key milestones, and communication cadence; useful when misaligned expectations at the start cause trouble later). Distinct from working_agreement_email (which covers norms and ground rules) and proposal tools (pre-hire). Does not count against your monthly draft limit. Required: client_name. Optional: project_name (e.g. 'the Westbrook site rebrand', 'your Q3 content strategy'), kickoff_date (date work officially begins — e.g. 'Monday 24 June'), first_deliverable (what they'll receive first and when — e.g. 'initial wireframes by Friday 28 June'), access_links (tools/files/links to share — e.g. 'Notion workspace: https://...', 'shared Drive: https://...'), route ('first_project' | 'returning_client' | 'complex_project' — default first_project), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
project_nameNoOptional: name of the project — e.g. 'the Westbrook rebrand', 'your Q3 content strategy'. Personalises the email.
kickoff_dateNoOptional: date work officially begins — e.g. 'Monday 24 June', 'this Thursday'. Sets expectations on timing.
first_deliverableNoOptional: what the client will receive first and when — e.g. 'initial wireframes by Friday 28 June', 'a discovery brief by end of this week'. Gives them something concrete to look forward to.
access_linksNoOptional: links, tools or shared resources to pass on — e.g. 'Notion workspace: https://...', 'shared Drive: https://...'. Paste as freeform text; will be formatted into the email.
routeNofirst_project (default) — new client, warm and structured, introduces your process; returning_client — you've worked together before, skip the formalities; complex_project — multi-phase project, structured phases and milestones.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains the email covers next steps, timeline, and client needs. Could mention if the email is drafted or sent, but overall adequate.

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?

Description is relatively long but well-structured, with front-loaded purpose, then route details, then parameter explanations. Every sentence adds value, though slightly verbose.

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?

Given 7 parameters, no output schema, and no annotations, the description is very complete, covering all parameters, usage, and differentiation from siblings.

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

Parameters5/5

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

Schema coverage is 100%, and description adds rich context for each parameter, including examples (e.g., project_name: 'the Westbrook site rebrand') and usage notes.

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 it writes the email that officially starts a project, with three distinct routes. It distinguishes itself from sibling tools like working_agreement_email and proposal tools.

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?

Explicitly states when to use (after contract signed and deposit in), and when not to use (by distinguishing from other tools). Provides clear context for each route.

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

project_maintenance_proposal_emailA

Write the email proposing a maintenance retainer or support agreement after delivering a project. One of the easiest upsells freelancers miss — once the work is live, clients are most open to someone they trust keeping it running. Three routes: standard (regular monthly check-in, defined hours for updates and fixes — most common), priority_support (faster response SLA, reserved hours — for clients who can't afford downtime), or light_touch (a small bank of hours, no monthly commitment — for low-maintenance projects or budget-conscious clients who still want access to you). Distinct from retainer_proposal (which opens an ongoing relationship from scratch) and service_package_email (a general menu of services). Does not count against your monthly draft limit. Required: client_name, project_name. Optional: monthly_hours (hours included per month — e.g. '4 hours'), monthly_rate (proposed monthly fee — e.g. '$350/month'), route ('standard' | 'priority_support' | 'light_touch' — default standard), response_time (SLA for priority_support — e.g. '4 business hours', 'same business day'), what_is_covered (brief summary of what's included — e.g. 'plugin updates, performance monitoring, minor copy edits'), go_live_date (when the project goes live — grounds the timing of the ask), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesThe project just delivered — e.g. 'the Westbrook website', 'your new booking system', 'the brand refresh'. Used throughout the email.
monthly_hoursNoOptional: hours included per month — e.g. '4 hours', '2 hours'. Omit to keep the email non-specific on hours.
monthly_rateNoOptional: proposed monthly fee — e.g. '$350/month', '£250/month'. Omit to keep pricing out of the first email (useful if you want to discuss before quoting).
routeNostandard (default): regular monthly check-in, defined hours for updates and fixes, stability monitoring. priority_support: faster response SLA, reserved capacity, named contact — for clients where downtime has real cost. light_touch: a small bank of hours, no monthly commitment — for low-maintenance projects or budget-conscious clients.
response_timeNoOptional (most useful for priority_support): the response SLA you're committing to — e.g. '4 business hours', 'same business day', 'within 2 hours during business hours'.
what_is_coveredNoOptional: brief summary of what maintenance includes — e.g. 'plugin and dependency updates, uptime monitoring, minor copy edits, one design tweak per month'. Makes the offer concrete without needing a full proposal.
go_live_dateNoOptional: when the project is going live or was delivered — e.g. 'next Monday', 'June 30', 'this week'. Grounds the timing of the ask.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description must cover behavioral traits. It discloses that the tool 'does not count against your monthly draft limit' and describes the three routes with clear outcomes. However, it does not explicitly state whether calling the tool multiple times overwrites previous emails or creates new ones, which is a minor gap.

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 well-structured: purpose first, then routes, sibling differentiation, draft limit note, then parameter list. It is somewhat lengthy but every sentence adds necessary context, so no wasted words.

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 description provides sufficient context for an email generation tool: when to use, what it produces (a proposal email), key distinctions, and parameter guidance. Without an output schema, it does not need to describe return values, but the description is complete enough for confident invocation.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by listing required vs optional params with examples and explaining the route enum in detail, aiding correct parameter selection beyond 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 specifies the tool's verb ('Write the email'), resource ('maintenance retainer or support agreement'), and context ('after delivering a project'), making its purpose very clear. It also explicitly distinguishes itself from sibling tools retainer_proposal and service_package_email.

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 clearly states when to use this tool ('after delivering a project') and provides direct alternatives (retainer_proposal, service_package_email), along with a brief explanation of when each sibling is appropriate. This gives the agent a clear decision rule.

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

project_pause_emailA

Write the email formally pausing work on a project — the hardest email most freelancers delay sending until it's awkward, or send too aggressively and damage the relationship. Three routes: non_payment (default — work is on hold until an outstanding invoice is settled; firm but not aggressive, states the pause clearly and gives a single clear path to resume), blocked_on_client (work can't proceed until the client provides something — a missing brief, asset, decision, or approval; names the specific blocker, sets a soft deadline, and keeps the tone collaborative not accusatory), planned_pause (both parties are pausing the project for a defined period — a client budget gap, seasonal pause, or mutual decision; warm tone, confirms the resume expectation, keeps the relationship intact). Distinct from project_delay_notification_email (your own delay without pausing), late_materials_impact_email (timeline impact from late materials, not a formal pause), and project_scope_reduction_email (reducing scope rather than pausing). Does not count against your monthly draft limit. Required: client_name. Optional: project_name, pause_reason (brief context — omit for non_payment to let the invoice speak), outstanding_invoice (non_payment route: what's owed — e.g. 'Invoice #42 for £1,200 due 5 June'), missing_item (blocked_on_client route: what you need — e.g. 'the final logo files', 'sign-off on the wireframes', 'the content brief for section 3'), response_deadline (blocked_on_client route: by when you need a response to stay on schedule — e.g. 'by end of Wednesday', 'within the next 48 hours'), resume_date (planned_pause route: when you expect to pick up again — e.g. 'early July', 'the week of 14 July'), route ('non_payment' | 'blocked_on_client' | 'planned_pause' — default non_payment), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
project_nameNoOptional: project name — e.g. 'the Hartley website', 'your brand refresh'. Makes the email specific rather than generic.
pause_reasonNoOptional: brief context for the pause — e.g. 'while we wait for the Q3 budget to open up', 'while you're sorting the internal sign-off'. Omit for non_payment to let the invoice speak for itself.
outstanding_invoiceNoOptional (non_payment route): what's owed — e.g. 'Invoice #42 for £1,200 due 5 June', 'the deposit invoice sent on 2 June'. Makes the path to resume concrete.
missing_itemNoOptional (blocked_on_client route): what you need from the client — e.g. 'the final logo files', 'sign-off on the wireframes', 'the content brief for section 3'. Be specific — vague blockers create vague responses.
response_deadlineNoOptional (blocked_on_client route): by when you need a response to stay on your current schedule — e.g. 'by end of Wednesday', 'within the next 48 hours'. Creates urgency without being demanding.
resume_dateNoOptional (planned_pause route): when you expect to pick up again — e.g. 'early July', 'the week of 14 July'. Keeps the project alive and sets a shared expectation.
routeNonon_payment (default) — work on hold pending an outstanding invoice; blocked_on_client — can't proceed without something from the client; planned_pause — mutual pause for a defined period.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

Despite no annotations, the description reveals important behavioral traits: it states the email is 'formal,' outlines three behavioral tones per route, and mentions it does not count against the draft limit. However, it does not explicitly clarify whether the tool sends the email or just generates text, leaving some ambiguity about the actual action performed.

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 well-structured and front-loaded with the main purpose, but it is somewhat lengthy due to detailed route explanations. Every sentence adds value, but could be slightly condensed without losing clarity.

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 description is comprehensive for a complex tool with three routes and nine parameters. It covers all parameter usage and sibling differentiation. The only gap is the lack of explicit output description, but given the tool's name and context, the agent can infer it generates an email draft.

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

Parameters5/5

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

The description adds significant meaning beyond the input schema. It maps each optional parameter to specific routes (e.g., outstanding_invoice for non_payment, missing_item for blocked_on_client), provides concrete examples, and explains the rationale behind default choices. With 100% schema coverage, this extra context is valuable.

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 writes a formal email pausing a project, specifies three distinct routes (non_payment, blocked_on_client, planned_pause), and explicitly distinguishes it from sibling tools like project_delay_notification_email, late_materials_impact_email, and project_scope_reduction_email. This makes the purpose highly specific and unambiguous.

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 provides explicit guidance on when to use each route, including defaults and alternatives. It also directly contrasts the tool with three sibling tools, telling the agent when not to use this tool. This level of detail fully equips the agent to select the appropriate tool.

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

project_restart_emailA

Write a professional email restarting a paused project. Pairs with project_pause_email to complete the pause/resume lifecycle. Acknowledges the gap, confirms readiness, states the first concrete action, and addresses any timeline adjustments. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description
restart_reasonNoOptional: what cleared the way to restart (e.g. 'the budget has been approved', 'I've wrapped the other project', 'the feedback from your stakeholders is in'). Keep it brief — one clause.
first_actionYesThe first concrete thing you'll do to get moving again (e.g. 'send over a revised timeline by Wednesday', 'pick up from the homepage copy', 'schedule a quick catch-up call to re-align on priorities')
timeline_noteNoOptional: any adjustment to the original delivery timeline (e.g. 'the original deadline of July 15 still holds', 'I'll need to push the delivery by one week to July 22 to account for the pause')
your_nameNoOptional: your name for the sign-off

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, but the description fails to disclose behavioral traits such as whether the email is actually sent or just generated, or any authentication requirements. It does mention the tool does not count against a monthly draft limit, which adds some transparency.

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 concise (5 sentences) and front-loaded with the primary purpose. Every sentence adds value without redundancy, achieving high density of useful information.

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?

Given the tool's complexity (6 parameters, 3 required, no output schema), the description is complete. It covers the tool's role, lifecycle relationship, email structure, and a notable constraint (draft limit). No gaps are apparent.

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 100%, so the baseline is 3. The tool description does not add significant meaning beyond the schema; it explains the email structure but does not augment parameter descriptions.

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 writes a professional email to restart a paused project, with a specific verb and resource. It also distinguishes itself from the sibling project_pause_email, making its purpose unambiguous.

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 explicitly pairs this tool with project_pause_email, indicating it is used after a pause. This provides clear when-to-use and when-not-to-use guidance, and references an alternative tool.

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

project_resume_emailA

Write a professional email restarting a paused project. Pairs with project_pause_email to complete the pause/resume lifecycle. Three routes: payment_received (default — payment has cleared, work is resuming; firm, professional, forward-looking; states the first concrete action so the client knows things are moving), client_unblocked (the missing items or information have now arrived; acknowledges receipt, notes any timeline adjustment, confirms next step), scheduled_restart (the agreed pause period has ended; warm reconnect, confirms restart, sets next milestone). Distinct from project_kickoff_email (starting fresh work) and project_closure_email (ending a project). Does not count against your monthly draft limit. Required: client_name. Optional: project_name, resume_date (when work is resuming — e.g. 'Monday', 'today', 'next week'), first_step (first concrete thing you'll do — e.g. 'I'll have the revised wireframes to you by Thursday', 'I'll pick up the development sprint'), timeline_note (any change to the overall deadline — e.g. 'we're still on track for the original July deadline', 'the revised delivery date is now 28 July'), route ('payment_received' | 'client_unblocked' | 'scheduled_restart' — default payment_received), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
project_nameNoOptional: project name — e.g. 'the Hartley website', 'your brand refresh'. Makes the email specific.
resume_dateNoOptional: when work is resuming — e.g. 'today', 'Monday', 'next week'. Omit if you're just picking up immediately.
first_stepNoOptional: the first concrete action you'll take on restart — e.g. 'I'll have the revised wireframes to you by Thursday', 'I'll pick up the development sprint from where we left off'. Gives the client confidence that things are moving.
timeline_noteNoOptional: any change to the overall deadline — e.g. 'we're still on track for the original July deadline', 'the revised delivery date is now 28 July'. Omit if the timeline is unchanged and unambiguous.
routeNopayment_received (default) — payment cleared, resuming work; client_unblocked — the missing items have arrived, picking back up; scheduled_restart — agreed pause period is over, restarting.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits such as not counting against the monthly draft limit and describes the tone for each route. However, it does not specify any destructive actions or other side effects, which is appropriate for an email generation tool.

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 well-structured with an initial purpose statement, route details, and parameter explanations. It is slightly verbose but every sentence adds value, earning a score of 4.

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?

The description covers all seven parameters with examples, explains the three routes, and provides usage context. No output schema is present, but the description is sufficiently complete for an agent to use the tool effectively.

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?

Schema description coverage is 100%, so baseline is 3. The description adds meaningful context beyond schema, such as the default route, examples for first_step and timeline_note, and the purpose of each optional parameter, justifying a score of 4.

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: writing a professional email to restart a paused project. It specifies three distinct routes and distinguishes the tool from siblings like project_kickoff_email and project_closure_email.

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 provides explicit guidance on when to use the tool (resuming a paused project), pairs with project_pause_email for lifecycle, and explains when to choose each of the three routes. It also differentiates from sibling tools.

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

project_scope_acceptance_emailA

Write the professional email to send when you want to confirm a client's project scope before the formal contract arrives. Bridges the gap between verbal agreement and signed contract — confirms deliverables, timeline, and rate so there are no surprises when the paperwork lands. Does not count against your monthly draft limit. Required: client_name, project_description. Optional: scope_summary (bullet list of specific deliverables), timeline (e.g. 'kick off Monday June 23, deliver by July 18'), rate_summary (e.g. '$4,200 flat, 50% upfront'), next_step (e.g. 'send over the contract and I will countersign same day'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name of the client or contact
project_descriptionYesBrief description of the project (e.g. 'the Brand Refresh', 'your e-commerce site redesign', 'the Q3 content campaign')
scope_summaryNoBullet-point summary of specific deliverables (e.g. 'logo suite, brand guidelines, 3 social templates'). Omit to keep the email high-level.
timelineNoAgreed timeline or start date (e.g. 'kick off Monday June 23, first draft by July 4'). Omit to leave open.
rate_summaryNoBrief rate confirmation (e.g. '$4,200 flat, 50% upfront', '$150/hr against a 20-hour estimate'). Omit if rate has not yet been agreed.
next_stepNoThe single next action you are waiting on from the client (e.g. 'send over the contract and I will countersign same day', 'confirm the start date and I will block it'). Omit to use the default.
your_nameNoYour name for the sign-off

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only mentions that the tool does not count against the draft limit and requires certain parameters. It does not disclose behavioral traits like whether it sends the email automatically, any required authentication, or what happens on the server side. For a tool that generates email content, this is insufficient.

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 mostly concise with a clear purpose statement upfront. The parameter list is somewhat lengthy but well-structured with 'Required:', 'Optional:' and inline examples. A minor improvement could be to trim example verbosity, but overall it's well-organized.

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 7 parameters, 2 required, no output schema, the description covers the tool's function and parameter usage adequately. It explains the email's purpose and bridges the gap between verbal and formal agreement. It could mention the output format (e.g., 'returns the email body'), but since there is no output schema, the current level is acceptable.

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

Parameters5/5

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

Schema coverage is 100% with all 7 parameters described. The description adds significant value beyond the schema by providing example values (e.g., 'kick off Monday June 23'), notes on when to omit, and synonyms (e.g., 'brief bullet list'). This helps the agent fill parameters correctly.

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: writing an email to confirm project scope before a formal contract. It uses specific verb 'confirm' and resource 'email', and distinguishes from siblings like 'scope_clarification_email' or 'contract_sent_email' by specifying the timing ('before the formal contract arrives').

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?

The description explicitly says when to use: 'when you want to confirm a client's project scope before the formal contract arrives.' It also notes that it doesn't count against the monthly draft limit. However, it lacks explicit when-not-to-use or alternative tools, though the context of sibling names provides some differentiation.

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

project_scope_reduction_emailA

Write the email proposing a scope reduction when a project is running over budget or time — you're catching it proactively and offering a clean path rather than letting it overrun or blow up. This is a distinct moment: you're the one raising the issue before it becomes a crisis, and you're offering a concrete proposal (not a vague warning). Three routes: reduce_to_core (trim the scope to the minimum viable deliverable, explicitly stating what stays and what's cut — use when the cut is straightforward and the core is still valuable on its own), phase_it (deliver the agreed core now and scope the remainder as a future phase with a separate budget — use when the client will still want the rest and you want to preserve the relationship and future work), stop_here (deliver what exists now and close the project cleanly — use when continuing clearly doesn't serve the client, when the project has run its course, or when it's better to end well than drag on). Distinct from scope_creep_email (client adding uncosted work), budget_negotiation_email (negotiating budget before work starts), and mid_project_cancellation_response_email (client-initiated stop). Does not count against your monthly draft limit. Required: client_name, reason (what's driving the reduction — e.g. 'we're tracking 30% over budget due to unexpected API complexity', 'the timeline has compressed and the full scope no longer fits'), proposed_reduction (what you're proposing to cut or defer — be concrete). Optional: project_name, current_completion_percentage, phase_2_scope (for phase_it route — what goes into the next phase), route ('reduce_to_core' | 'phase_it' | 'stop_here' — default reduce_to_core), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
reasonYesWhat's driving the scope reduction — be honest and specific. E.g. 'we're tracking 30% over the original budget due to unexpected complexity in the payment integration', 'the timeline has compressed from 8 weeks to 5 and the full scope no longer fits'. Used directly in the email so the client gets a clear picture.
proposed_reductionYesWhat you're proposing to cut or defer — be concrete. E.g. 'remove the admin reporting dashboard (items 4–6 in the brief) and deliver the core user flow only', 'defer the mobile-responsive build to a second phase and ship the desktop version now', 'deliver the three core sections and treat the integrations as a follow-on project'.
project_nameNoOptional: the project name or short description — adds context to the email.
current_completion_percentageNoOptional: how far through the project you are, as a percentage (0–100). Used to give the client a sense of where things stand.
phase_2_scopeNoOptional (recommended for phase_it route): what would go into the next phase. E.g. 'the admin dashboard, reporting exports, and mobile-responsive build — scoped as a separate engagement once phase 1 is live'.
routeNoreduce_to_core (default): trim to the minimum viable deliverable, stating explicitly what stays and what's cut. phase_it: deliver core now, scope the remainder as a future phase. stop_here: deliver what exists and close cleanly.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the email is proactive, offers a concrete proposal, and does not count against the monthly draft limit. However, it doesn't mention authorization needs or rate limits, which are less critical for a draft tool but still a minor gap.

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 long but well-organized, with a clear front-loaded purpose and structured route explanations. While every sentence adds value, it could be slightly more concise without losing meaning.

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?

Given the complexity (8 parameters, 3 routes, many siblings), the description covers all necessary aspects: purpose, usage, parameter details, route options, and sibling differentiation. There is no output schema, but the description adequately explains the email's behavior, making it complete.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds significant value by explaining each parameter's role with concrete examples (e.g., reason examples like 'tracking 30% over budget due to unexpected API complexity'). It also clarifies default values and route-specific usage, going well beyond 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 uses a specific verb ('Write the email') and clearly identifies the resource ('proposing a scope reduction'). It explicitly distinguishes from sibling tools like scope_creep_email and budget_negotiation_email, making the tool's purpose unambiguous.

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 provides explicit when-to-use scenarios ('catching it proactively... before it becomes a crisis') and when-not-to-use by contrasting with siblings. It also details three route options with clear use cases for each, offering actionable guidance.

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

project_status_updateA

Write a professional project status update email to send a client during a longer engagement. Covers what was completed, what's next, any blockers or decisions needed, and the current timeline. Keeps clients informed without requiring a meeting. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesShort name or description of the project (e.g. 'the Shopify redesign', 'the API integration')
completed_this_periodYesWhat was done since the last update — bullet points or free text
next_stepsYesWhat's happening next — bullet points or free text
blockersNoOptional: anything blocked or decisions needed from the client. Leave blank if none.
timeline_statusNoOptional: overall timeline status — e.g. 'on track', 'ahead of schedule', 'slightly behind — see note below', 'launch date moving to Jul 18'
your_nameNoOptional: your name for the sign-off

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool does not count against a monthly draft limit, which is helpful. However, it does not describe other behavioral aspects like idempotency, whether the email is sent automatically or drafted, or any side effects. The description is truthful but could be more comprehensive.

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 extremely concise with three sentences: the main action, the content coverage, and a key benefit. Every sentence adds value without redundancy. No wasted words.

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 7 parameters, no output schema, and no annotations, the description adequately explains the tool's purpose and content. It covers the email's structure and a unique benefit. However, it does not describe the output format (e.g., whether it returns the email text or sends it) or how parameters are combined. Minor gap for a complete picture.

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?

Schema description coverage is 100% with each parameter described individually. The description adds value by mapping parameters to the content sections (e.g., 'completed_this_period' corresponds to 'what was completed'), clarifying their purpose in the email context. It also notes that 'your_name' is optional for sign-off.

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 clearly states the tool writes a professional project status update email for clients during longer engagements, specifying the content areas (completed, next steps, blockers, timeline). While not explicitly differentiating from similar sibling email tools like 'client_check_in_email', the description is specific enough about the email type and context.

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?

The description gives context ('during a longer engagement') and a benefit ('keeps clients informed without a meeting'), but lacks explicit guidance on when not to use this tool or how it compares to alternative sibling tools. No exclusions or conditions are provided.

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

project_status_update_emailA

Write a clear, scannable project status update email to send to a client on a regular cadence (weekly, bi-weekly, or at a milestone). Covers what was completed, what is in progress, and what is coming next — with optional sections for blockers and items needed from the client. Keeps clients informed without requiring a call. Does not count against your monthly draft limit. Required: client_name, project_name, completed. Optional: in_progress, coming_next, blockers, items_needed (what you need from the client), timeline_status (on_track / ahead / at_risk / delayed), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project
completedYesWhat was completed since the last update (e.g. 'Homepage design finalised and approved, About page copy written, CMS set up and configured'). Use bullet points or comma-separated items.
in_progressNoOptional: what is currently being worked on right now (e.g. 'Services page design, setting up contact form', 'Writing the case study section'). If omitted, this section is skipped.
coming_nextNoOptional: what is planned for the next period (e.g. 'Blog template, mobile QA', 'Final round of revisions, staging deployment'). If omitted, this section is skipped.
blockersNoOptional: anything that is blocking progress or creating risk (e.g. 'Waiting on brand guidelines from your designer', 'Server access credentials not yet received'). If omitted, this section is skipped.
items_neededNoOptional: specific things you need from the client to keep the project moving (e.g. 'Approved copy for the Services page', 'Decision on primary CTA colour', 'Confirmation of go-live date'). If omitted, this section is skipped.
timeline_statusNoOptional: overall timeline status. on_track (default, status line omitted), ahead (note positive progress), at_risk (flag early without alarming), delayed (inform clearly with reason if provided in blockers). If omitted, no timeline status line is included.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It reveals that the tool writes an email, does not count against a draft limit, and that sections are conditional based on parameters. It does not explicitly confirm email sending, but the context implies it. Overall transparent.

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 well-structured, starting with the core purpose and then listing required/optional parameters. However, it is somewhat verbose, repeating details already in the schema. Slight condensation would improve conciseness without losing clarity.

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 no output schema and 9 parameters, the description covers the tool's functionality comprehensively. It explains optional sections and their omission behavior. Missing is explicit mention of the return value (e.g., generated email text) and any side effects, but overall complete.

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

Parameters5/5

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

With 100% schema coverage, the description adds significant value by explaining the role of each parameter in the email structure (e.g., 'if omitted, this section is skipped'), providing usage examples, and clarifying defaults (timeline_status). This goes well beyond 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 clearly specifies the tool's purpose: writing a clear, scannable project status update email for regular cadence. It details content coverage (completed, in progress, coming next) and optional sections, distinguishing it from sibling email tools like project_kickoff_email or project_closure_email.

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?

The description states when to use (weekly, bi-weekly, at a milestone) and mentions it keeps clients informed without a call. However, it does not explicitly exclude alternative use cases or compare with similar tools, leaving minor ambiguity.

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

proposal_expiry_reminder_emailA

Write the follow-up email sent when a submitted proposal is approaching — or has reached — its expiry date. Its job: create urgency without pressure, surface any blockers holding up the decision, and keep the door open. Distinct from client_followup (general chasing of a sent proposal with no deadline angle), bid_lost_follow_up (for when you've already lost), and post_discovery_follow_up_email (sent right after a call, before the proposal is written). Three routes: gentle_nudge (default — soft check-in asking if they have questions before the deadline, no hard pressure), firm_deadline (clear statement of expiry, direct ask for a decision — use when the deadline is tomorrow or already passed), extend_offer (proactively offer to extend the deadline if they need more time — use when you'd genuinely rather wait than lose the deal). Required: client_name (prospect's first name), proposal_topic (what the proposal covers — e.g. 'brand identity project', 'Q3 development retainer', 'website redesign'). Optional: expiry_date (when the proposal expires or expired — e.g. 'Friday', 'June 27', 'yesterday'; if omitted, the email references 'the proposal' generically), proposal_value (total value or rate — e.g. '$8,500', '$4,200/mo'; if provided, re-anchors the investment in the reader's mind), route, your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe prospect's first name
proposal_topicYesWhat the proposal covers — e.g. 'brand identity project', 'Q3 development retainer', 'website redesign'. Used to personalise the subject and body.
expiry_dateNoOptional: when the proposal expires or expired — e.g. 'Friday', 'June 27', 'yesterday'. If omitted, the email references the proposal generically without a hard date.
proposal_valueNoOptional: the total value or rate in the proposal — e.g. '$8,500', '$4,200/mo'. If provided, re-anchors the investment in the prospect's mind.
routeNogentle_nudge: soft check-in asking if they have questions before the deadline — default for most situations. firm_deadline: clear statement of expiry, direct ask for a decision — use when the deadline is tomorrow or already passed. extend_offer: proactively offer to extend if they need more time — use when you'd rather wait than lose the deal.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses tool creates an email, does not count against monthly draft limit, and has three behavioral routes. Lacks explicit statement on side effects (e.g., whether email is saved or sent) but otherwise transparent.

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?

Description is long but well-structured: starts with purpose, then sibling differentiation, route explanations, parameter details, and end note. Every sentence adds value, but some phrases (e.g., 'Its job: create urgency...') are slightly redundant.

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?

No output schema provided, but description does not explain what the tool returns (e.g., generated email text or draft). Missing output specification for a tool with multiple routes. Other aspects (parameters, routes) are well-covered.

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

Parameters5/5

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

Schema coverage is 100%, meaning description adds value beyond schema. For route, it explains usage per enum value; for proposal_value, it states re-anchors investment; for expiry_date, clarifies behavior if omitted. Enriches parameter meaning.

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?

Description explicitly states tool writes follow-up emails for proposals approaching or past expiry. It names three routes and clearly distinguishes from three sibling tools (client_followup, bid_lost_follow_up, post_discovery_follow_up_email) with specific differences.

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?

Provides explicit when-to-use guidance for each route: gentle_nudge as default, firm_deadline when deadline is tomorrow/past, extend_offer when willing to wait. Also notes tool is for submitted proposals. Distinguishes from siblings with clear context.

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

proposal_to_emailA

Convert a formal proposal document into a concise, scannable pitch email. Distills the key points — problem, solution, price, and next step — into a short email the client can read in 60 seconds and forward to decision-makers. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposalYesThe full proposal text to convert
client_nameNoThe client's first name or 'team' (used in the greeting)
your_nameNoYour name (used in the sign-off)
ctaNoOptional: the specific call to action (e.g. 'book a 20-min call', 'reply with any questions', 'sign off on the attached proposal'). If omitted, one is inferred from the proposal.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations exist, so the description carries full responsibility. It discloses that the tool does not count against monthly draft limits, adding useful behavioral info. However, it does not mention other traits like no side effects on the original proposal or auth requirements, which would elevate the score.

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 two tight sentences plus a critical behavioral note, with the main action stated first. Every sentence adds necessary information without repetition or fluff.

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?

Despite no output schema, the description explains what the tool produces (short email with 4 key points), covers all parameters, and adds the draft limit info. For a simple generation tool with only one required param, this is fully complete.

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?

All 4 parameters are fully described in the input schema (100% coverage). The description adds value by explaining the optional cta parameter behavior (inference if omitted) and the roles of client_name and your_name in greeting/sign-off, going beyond the schema alone.

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 uses specific verbs ('convert', 'distills') and identifies the resource (proposal document) and output (pitch email). It explicitly states the key points included (problem, solution, price, next step) and differentiates from siblings by focusing on existing proposal conversion rather than cold outreach or other email types.

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?

The description implies usage context (when you have a proposal and want a short client email) but does not explicitly state when not to use or list alternatives. The context is clear enough for an agent to infer appropriate scenarios.

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

rate_card_emailA

Write the professional email to send when a prospect asks 'what are your rates?' or requests your pricing. Presents your rates clearly and confidently — no apologising, no burying the number. Positions the rate in context of your experience and what the client gets. Distinct from draft_proposal (which responds to a specific brief) and rate_increase_email (which tells an existing client you are raising prices). Does not count against your monthly draft limit. Required: your_rate (e.g. '$150/hr', '$3,500 for a 4-page website', 'from $2,000 per project'). Optional: prospect_name, your_specialty (e.g. 'B2B SaaS copywriting', 'React front-end development'), rate_context (one sentence on what is included, e.g. 'includes two revision rounds and source files'), availability (e.g. 'available from July 14'), next_step (e.g. 'happy to jump on a 20-minute call'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_rateYesYour rate or pricing (e.g. '$150/hr', '$3,500 for a 4-page website', 'from $2,000 per project')
prospect_nameNoFirst name of the prospect, if known
your_specialtyNoOne-line description of what you do, used to frame the rate (e.g. 'B2B SaaS copywriting', 'React front-end development', 'brand identity design')
rate_contextNoOne sentence on what is included at that rate (e.g. 'includes two rounds of revisions and final source files', 'covers discovery, wireframes, and one round of design'). Omit if straightforward hourly.
availabilityNoWhen you are next available (e.g. 'available from July 14', 'have capacity starting next week'). Omit to leave open.
next_stepNoA single soft next step (e.g. 'happy to jump on a 20-minute call to discuss your project', 'let me know if you have a brief and I can put together a more specific number'). Omit to use the default.
your_nameNoYour name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the email's tone ('no apologising, no burying the number') and that it does not affect draft limits. However, it does not explicitly state side effects (e.g., whether the email is saved or sent) or authorization needs, but the generative nature is clear.

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 paragraph but well-organized: purpose first, then usage distinctions, then parameter list. It is front-loaded and efficient, though could be slightly more structured for quick scanning. Every sentence adds essential information.

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?

Given no output schema, the description should clarify return value (e.g., generated email text). The description omits what the tool outputs, which is a gap. However, the input and purpose are thoroughly covered, and the sibling context is clear. The missing output detail prevents a higher score.

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?

All 7 parameters have schema descriptions (100% coverage), so baseline is 3. The description adds value by explaining the role of each optional parameter (e.g., rate_context as 'one sentence on what is included'), providing examples, and giving usage guidance beyond 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 clearly states the tool writes a professional email for prospects asking about rates, with specific verb ('write') and resource ('email'). It explicitly distinguishes itself from sibling tools `draft_proposal` and `rate_increase_email`, ensuring the agent selects the correct tool.

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 provides explicit when-to-use: 'when a prospect asks what are your rates?' and when-not-to-use by contrasting with `draft_proposal` and `rate_increase_email`. It also notes it 'does not count against your monthly draft limit,' adding usage context.

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

rate_increase_emailA

Write an email telling an existing client you are raising your rates. One of the most anxiety-inducing tasks for freelancers. Generates a direct, professional email that gives enough notice, explains the new rate without over-explaining, and preserves the relationship. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
current_rateYesYour current rate (e.g. '$85/hr', '$3,000/project', '$2,000/mo retainer')
new_rateYesYour new rate
effective_dateYesWhen the new rate takes effect (e.g. 'August 1', 'next quarter', 'after this project')
your_nameNoOptional: your name for the sign-off
relationship_contextNoOptional: brief note on the working relationship (e.g. 'we've worked together for 2 years', 'ongoing monthly retainer', 'occasional project work'). Helps calibrate tone.

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly indicates the tool generates a professional email and a notable behavioral trait: it does not count against the monthly draft limit. This gives agents useful execution guidance. However, it does not detail any side effects or limitations beyond that.

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 extremely concise—two sentences plus a brief note about the draft limit. It immediately communicates the main purpose and includes the most critical information without any filler. Every word earns its place.

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?

For a text generation tool with no output schema and well-documented parameters, the description is nearly complete. It explains the purpose, tone, and a key constraint (draft limit). Minor omission: it does not mention whether the email includes a subject line or the exact format, but that is often inferred.

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 100%, meaning all parameters are already documented in the input schema. The description itself adds no additional parameter-level details, so it meets the baseline expectation but does not exceed it.

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 action ('Write an email') and the specific context ('telling an existing client you are raising your rates'). It distinguishes itself by emphasizing the freelancer context and the sensitive nature, which sets it apart from similar tools like price_increase_email.

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 provides some usage context (freelancers, anxiety-inducing task) and a unique benefit ('Does not count against your monthly draft limit'), but it does not explicitly state when to use this tool over alternatives like price_increase_email, nor does it mention when not to use it.

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

reactivation_emailA

Write a short, light-touch email to a prospect who went quiet mid-conversation — a warm lead that stalled before they committed. Not needy, not pushy. Gives them a graceful re-entry point and an easy out. Most freelancers let cold leads die or over-chase awkwardly — this hits the middle: a single, low-pressure nudge that often gets a reply. Under 100 words. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
prospect_nameYesTheir first name
contextYesWhat you were discussing (e.g. 'the website redesign you enquired about', 'the brand identity project we scoped out in March', 'the SEO audit proposal I sent over')
time_elapsedYesHow long ago the conversation went quiet (e.g. 'a few weeks', 'last month', 'a couple of months')
value_addNoOptional: a new hook that makes the timing relevant — something that's changed since you last spoke (e.g. 'I just wrapped a similar project for a law firm and have some relevant results to share', 'I have a gap opening in July', 'we updated our process based on a few recent projects'). Leave blank if there's no natural hook.
your_nameNoOptional: your name for the sign-off

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It notes the email should be under 100 words and doesn't count against monthly draft limits. However, it doesn't disclose whether the email is drafted or sent automatically, or any authorization needs. Adequate but could be richer.

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?

Five sentences with no wasted words. Each sentence adds value: defines purpose, tone, comparison to alternatives, length constraint, and a non-obvious feature (no draft count). Front-loaded with core purpose.

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?

Given the simple email generation task and detailed parameter schema, the description fully covers the use case, tone, length, and unique value. No output schema needed because output is clearly an email draft.

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 descriptions cover all 5 parameters with 100% coverage. The description adds minimal extra meaning beyond restating the value_add parameter's purpose. Baseline 3 is appropriate.

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 writes a short, light-touch email to a prospect who went quiet mid-conversation. It distinguishes from siblings by contrasting with 'cold leads die or over-chase awkwardly' and specifies the target: warm lead, not needy or pushy.

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?

The description provides clear context for when to use: for warm leads that stalled before committing. It implicitly warns against using for cold leads or aggressive tones, but does not explicitly mention alternative tools like win_back_email or cold_pitch.

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

recommendation_request_emailA

Write the email asking a happy client for a LinkedIn recommendation. Different from testimonial_request (which asks for a short quote for your website): a LinkedIn recommendation lives on the client's own profile and carries far more social proof. This email makes the ask easy — keeps it short, gives the client a memory prompt, and optionally suggests a focus so they don't face a blank page. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project or engagement to reference (e.g. 'the brand identity project', 'the six-month content retainer', 'the website redesign')
standout_resultNoOptional: a specific result or moment to remind them of — gives them something concrete to write about (e.g. 'the site launched on time and traffic doubled in the first month', 'the proposal we worked on won the Deloitte contract')
focus_suggestionNoOptional: what aspect of the work you'd love them to speak to — makes it easier for them to write (e.g. 'communication and turnaround speed', 'the strategic thinking behind the copy', 'reliability and quality under a tight deadline'). Keep to one thing.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description bears the full burden. It discloses that the email does not count against a monthly draft limit and describes its strategy (keeps it short, gives memory prompt, optional focus). It implies a non-destructive write operation, but lacks explicit statements about reversibility or permissions. Still, it is fairly transparent.

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 paragraph that front-loads the core purpose and differentiation. Every sentence adds value: purpose, distinction from sibling, strategy for the email, and a key constraint (draft limit). No redundant words.

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?

Given no output schema, the description does not need to explain return values. It covers the email's purpose, usage scenarios, parameter guidance, and behavioral characteristics (no draft limit). For a simple email generation tool, this is complete.

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?

Schema coverage is 100% (all parameters have descriptions), so baseline is 3. The description adds extra meaning beyond the schema by explaining the strategic purpose of optional parameters: 'standout_result' is a memory prompt, 'focus_suggestion' makes writing easier, 'your_name' is for sign-off. This adds value.

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: 'Write the email asking a happy client for a LinkedIn recommendation.' It uses a specific verb 'Write' and resource 'email,' and distinguishes itself from the sibling tool 'testimonial_request' by explaining the difference between a LinkedIn recommendation and a testimonial quote.

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 explicitly differentiates this tool from 'testimonial_request' and explains when to use each. It also provides context on how to use the optional fields to make the ask easy, including a memory prompt and focus suggestion. This gives clear guidance on usage.

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

re_engagement_emailA

Write the email you send to a past client you haven't worked with in a while — to reopen the relationship, explore new work, or simply stay on their radar. Distinct from cold_pitch (these people already know and trust you — the tone is warm, not selling), referral_request (you're not asking for a name, you're reopening your own relationship), and testimonial_request (you're not asking for a review). Three routes: check_in (low-pressure — catch up, mention what you've been up to, no explicit ask; best for high-value relationships you don't want to pressure), new_service (flag a specific new offering that's relevant to what you did together; works when you have something concrete to offer), availability (you're available and thought of them first; works when you ended on a strong note and timing is the only variable). Required: client_name, last_project (a brief description of what you worked on together — keeps the email from feeling generic). Optional: time_since (how long it's been — e.g. '6 months', 'last year', 'a while'; omit and the copy stays vague), what_you_did (a specific outcome or result from the last project — adds credibility), new_service_name (for new_service route — the specific offering to highlight), new_service_relevance (for new_service route — why it's relevant to this client), route ('check_in' | 'new_service' | 'availability' — default check_in), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name of the past client
last_projectYesBrief description of what you worked on together — e.g. 'the brand refresh', 'your Q3 campaign', 'the e-commerce migration'. Keeps the email specific and personal.
time_sinceNoOptional: how long it's been since you last worked together — e.g. '6 months', 'about a year', 'a while'. Omit to keep it vague.
what_you_didNoOptional: a specific outcome or result from the last project — e.g. 'the site we built is still converting well', 'the campaign hit 140% of target'. Adds credibility without bragging.
new_service_nameNoFor new_service route only: the specific new offering you want to flag — e.g. 'a new SEO audit package', 'a monthly retainer model', 'video content production'.
new_service_relevanceNoFor new_service route only: why this new service is relevant to this particular client — e.g. 'given the growth you were seeing with organic', 'now that you've launched the new product line'.
routeNocheck_in (default): warm catch-up, no explicit ask — best for high-value relationships. new_service: flag a specific new offering that's relevant to what you did together. availability: you're available and they're your first call — works when you ended on a strong note and timing is the variable.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool 'writes' an email (implying draft generation) and that it does not count against a monthly draft limit. However, it does not explicitly state that it generates a draft (not sending) or describe any other side effects, though the context and sibling tools imply drafting. Minor gap, but still fairly transparent.

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 well-structured and efficient: it leads with the core purpose, then differentiates from siblings, explains routes, and details parameters. Every sentence adds necessary context without redundancy. The length is appropriate for the complexity of the tool.

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 description covers the tool's purpose, usage distinctions, parameter semantics, and a key behavior (no draft limit). However, it does not describe the output format (e.g., that it returns a draft email text) or any potential side effects beyond the draft limit note. Given the tool's simplicity and the richness of other fields, this is a minor gap.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline is 3. The description adds substantial value beyond the schema by explaining the purpose and implications of each parameter (e.g., 'last_project keeps the email from feeling generic', 'time_sense: omit and the copy stays vague', route context for each enum). This makes the parameters much more meaningful for the agent.

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: writing a re-engagement email to a past client. It distinguishes itself from three related sibling tools (cold_pitch, referral_request, testimonial_request) by highlighting differences in tone and intent, and explains three specific routes with their contexts.

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?

Excellent usage guidance: the description explicitly contrasts with cold_pitch, referral_request, and testimonial_request, telling the agent when to use this tool and when to use alternatives. The three routes (check_in, new_service, availability) are each described with their best-fit scenarios, providing clear decision criteria.

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

referral_requestA

Write a short, warm email asking a happy client to refer you to others in their network. Different from testimonial_request (which asks for a written review) — this asks for an introduction or recommendation to potential new clients. Under 120 words, one clear ask, no pressure. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
your_nameYesYour name (used in the sign-off)
client_nameYesThe client's first name
project_summaryYesBrief description of what you delivered (e.g. 'website redesign', 'brand identity project', 'three months of SEO consulting')
your_specialtyYesWhat you do in plain terms — what you want the referral for (e.g. 'web design for professional services firms', 'brand identity for early-stage startups', 'freelance copywriting')
timingNoOptional: when relative to project completion you're sending this (e.g. 'two weeks after delivery', 'at handover'). Defaults to after final delivery.

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description fully handles transparency. It discloses that the email is short, warm, has one clear ask, no pressure, and does not count against the monthly draft limit. This is sufficient behavioral disclosure for a read-only email generation tool.

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 four sentences, each earning its place: purpose, differentiation, constraints, and a note about draft limits. No wasted words, well front-loaded.

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?

Given the complexity (5 parameters, 0 output schema, many siblings), the description is complete. It covers purpose, usage, constraints, and differentiation. The lack of output schema is acceptable as the tool generates an email, which is implied.

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?

Schema coverage is 100% with good parameter descriptions. The tool description adds framing (e.g., email will be warm, short) but does not significantly extend the parameter meanings. A score of 4 acknowledges the clear schema while recognizing the description adds useful context.

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 writes a short, warm email asking for referrals, and explicitly distinguishes it from testimonial_request, which asks for a written review. The verb 'write' and the resource 'referral email' are specific.

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 provides explicit guidance: use for happy clients, differentiate from testimonial_request, and includes constraints (under 120 words, no pressure, doesn't count toward draft limit). It clearly tells the agent when and how to use the tool.

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

referral_thank_youA

Write a warm, specific thank-you to someone who sent you a referral. Three modes based on where things stand: 'intro' (you've just been introduced, haven't connected yet), 'had_call' (you've spoken with the referral), or 'won_project' (you landed the work — the warmest thank-you). Most freelancers skip this entirely and miss a key moment to strengthen the referral relationship. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
referrer_nameYesFirst name of the person who sent the referral
referred_nameYesFirst name of the person they referred you to
outcomeNoWhere things stand: 'intro' = just been introduced; 'had_call' = had a great call; 'won_project' = landed the work. Defaults to 'intro'.
project_typeNoOptional: brief description of the project or context (e.g. 'the branding work', 'a web project', 'a consulting engagement'). Makes the email feel specific rather than generic.
reciprocateNoOptional: if true, adds an offer to return the favour — refer them back if the opportunity comes up. Default: true.
your_nameNoOptional: your name for the sign-off

TDQS

A3.5/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 burden of behavioral disclosure. It states the tool writes a thank-you and mentions it does not count against a monthly draft limit, hinting at draft generation. However, it does not specify whether the tool sends the email directly, returns a draft text, or any side effects, leaving significant transparency gaps.

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 extremely concise with three substantive sentences: stating the purpose, outlining the three modes with context, and noting the draft limit benefit. Every sentence earns its place without redundancy or fluff.

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 moderate complexity (six parameters, content generation) and the lack of an output schema, the description covers the key modes and parameter nuances. It could be slightly more complete by explicitly stating the output format (e.g., 'generates a draft email'), but it is largely adequate for agent selection.

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 input schema has 100% description coverage, but the description adds practical guidance beyond the schema, such as explaining the nuance of the enum values (e.g., 'won_project' being the warmest) and stating defaults. It also adds context for optional parameters like 'project_type' (makes the email specific) and 'reciprocate' (offers to return the favor). This adds meaningful value for an AI agent.

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 clearly states the tool's purpose: writing a warm, specific thank-you for a referral. It distinguishes three modes (intro, had_call, won_project) which adds specificity. However, it does not explicitly differentiate from sibling tools like 'referral_request' or the similarly named 'referral_thank_you_email', which slightly reduces clarity.

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 explains the three scenarios for using the tool (intro, had_call, won_project), providing clear context. It does not, however, explicitly state when not to use this tool or compare it to alternatives like 'referral_request' or other thank-you tools. The motivational note about freelancers missing this moment is somewhat peripheral.

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

referral_thank_you_emailA

Write a warm, genuine thank-you email to someone who referred a new client to you. Acknowledges the specific referral, expresses genuine appreciation without being gushing, and optionally offers to return the favour. Works whether the project is just starting, underway, or completed. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
referrer_nameYesFirst name of the person who made the referral
new_client_nameYesName of the person or company they referred (e.g. 'Sarah', 'the team at Acme') — makes the email specific rather than generic
project_typeNoOptional: brief description of the work (e.g. 'brand identity project', 'website redesign', 'strategy consultancy'). Adds specificity without oversharing client details.
outcomeNoOptional: how the engagement went, if it has started or concluded (e.g. 'we kicked off last week and it's going well', 'we wrapped up and the client was delighted'). Omit if you're writing before work has begun.
offer_backNoOptional: whether to explicitly offer to return the favour by referring work to them or recommending them. Default: false.
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool acknowledges the referral, expresses appreciation, and may offer to return the favor. It also notes the draft limit benefit. However, it does not clarify whether the tool sends the email or just drafts it, nor any side effects or permissions needed, leaving some ambiguity.

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 four sentences, each contributing value: purpose, content details, versatility, and a unique benefit. It is front-loaded with the primary function, with no unnecessary words.

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?

Given the tool has 6 parameters and no output schema, the description covers the purpose and partial behavior but does not explain the output format (e.g., returns email text, sends it, or saves to drafts). It also lacks prerequisites or error handling. This leaves gaps for a complete understanding.

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 100%, with all 6 parameters documented in the schema. The description adds no additional parameter-level details beyond the schema, so the baseline of 3 is appropriate.

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 'Write a warm, genuine thank-you email to someone who referred a new client to you', specifying a verb and resource. Among siblings, it is distinct from referral_request (which asks for referrals) and referral_thank_you (possibly a shorter variant), so it is well-differentiated.

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?

The description provides clear context on when to use: after a referral, and it works at any project stage. It also notes the tool does not count against draft limits. However, it does not explicitly exclude alternatives or state when not to use it, lacking full guidance.

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

rejection_responseA

Write a professional response to a client who has chosen another provider. Keeps the door open for future work without being bitter, clingy, or sycophantic. Short, gracious, and memorable. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_typeYesBrief description of the project you pitched (e.g. 'website redesign', 'the mobile app build', 'content retainer')
rejection_reasonNoOptional: what the client said (e.g. 'went with a cheaper option', 'chose someone with more industry experience', 'decided to go in-house', 'no reason given'). Helps tailor the tone.
your_nameNoOptional: your name for the sign-off
keep_door_openNoOptional: true (default) to include a light, non-pushy mention of future work; false to keep it purely gracious with no forward ask.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description adds the behavioral trait that it does not count against the monthly draft limit. It also describes the output style (short, gracious, memorable) but could be more explicit about safety or side effects. However, it is sufficient for a generative writing tool.

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 very concise with two sentences. The first clearly states the purpose, and the second adds valuable nuance and a perk (draft limit). No unnecessary words.

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 description adequately explains the tool's purpose and output style (short, gracious). Since there is no output schema, the description compensates by describing the tone. It is complete enough for the tool's complexity, though it could briefly differentiate from the many sibling email tools.

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?

The schema provides 100% coverage with descriptions for all 5 parameters. The description does not add significant additional meaning beyond what the schema already states, such as the effect of 'keep_door_open' which is documented in 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 clearly states the tool writes a professional response to a client who chose another provider. It specifies the tone (gracious, not bitter) and distinguishes it from similar siblings like 'bid_lost_follow_up' or 'client_decline_email' by emphasizing keeping the door open.

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?

The description explicitly states when to use (when a client has chosen another provider) and implies the context. It does not explicitly list alternatives or when not to use, but the context is clear enough for an AI agent to infer.

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

retainer_check_in_emailA

Write a monthly check-in email to a retainer client. Summarises what was covered during the period, previews upcoming work, and opens the door to new needs — the natural upsell moment in an ongoing relationship. Keeps retainer relationships active without feeling like a report. Required: client_name, period (e.g. 'May', 'last month', 'Q2'). Optional: work_summary (1-2 lines of what you covered this period — omit to keep it brief and open), upcoming_work (what's planned next period — omit if not yet set), new_needs_question (a specific question to surface unmet needs, e.g. 'Are there any new campaigns or projects on your radar for next quarter?' — defaults to a general open-ended check), your_name. Workflow: retainer_proposal (close the deal) → project_kickoff_email (start) → retainer_check_in_email (monthly) → contract_renewal_email (renew). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
periodYesThe period this check-in covers (e.g. 'May', 'last month', 'Q2', 'the past few weeks')
work_summaryNoOptional: 1-2 line summary of what you covered or delivered this period (e.g. 'three blog posts, one email campaign, and the landing page revisions'). Omit to keep the check-in short and relationship-focused.
upcoming_workNoOptional: what you have planned or tentatively scheduled for the coming period (e.g. 'the product launch email sequence', 'two more posts and the monthly newsletter'). Omit if nothing is confirmed yet.
new_needs_questionNoOptional: a specific question to surface any new work or unmet needs (e.g. 'Are there any new campaigns or projects on your radar for next quarter?', 'Is there anything you'd like to prioritise differently going forward?'). Defaults to a general open-ended check if omitted.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains that the email summarises, previews, and opens door for upsell, and keeps relationships active without feeling like a report. It does not contradict any annotations (none provided). Missing details like auto-send but sufficient for an email draft tool.

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?

Two efficient paragraphs: first outlines purpose and effects, second lists parameters with concise explanations plus workflow and draft limit note. No wasted words; every sentence adds value.

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?

Given the tool's simplicity (email generation), the description is comprehensive: purpose, required/optional fields, defaults, workflow positioning, and draft limit. No output schema needed, so missing return value explanation is not a gap.

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?

Schema description coverage is 100%, so description adds value beyond schema by clarifying required vs optional, providing defaults (e.g., new_needs_question defaults to general open-ended check), and giving usage guidance for each parameter (e.g., 'omit to keep it brief and open').

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 explicitly states the tool writes a monthly check-in email to retainer clients, summarizing work, previewing upcoming work, and opening the door for upsells. It clearly distinguishes from sibling tools like 'client_check_in_email' by specifying 'retainer' and the monthly cadence.

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?

The description lists required and optional parameters and provides a workflow sequence ('retainer_proposal → project_kickoff_email → retainer_check_in_email (monthly) → contract_renewal_email'), giving clear context on when to use it. It does not explicitly state when not to use or list alternatives, but the workflow implies its place.

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

retainer_downgrade_response_emailB

Write a professional response when a retainer client asks to reduce their commitment — fewer hours, a lower tier, or a scaled-back scope. One of the awkward conversations freelancers avoid, but handling it well keeps the relationship intact and sometimes reverses the decision. Three routes: 'accommodate' (accept the reduction professionally, confirm the new terms cleanly — use when the client's situation is clear and fighting it would cost more than the hours lost), 'retain' (make a measured case for keeping the current commitment — summarise the value delivered, flag transition costs, offer a short-term adjustment before a permanent change), 'pause' (propose a temporary pause instead of a permanent downgrade — protects the relationship and keeps the door open for a return to full scope). Required: client_name, reduction_request (what they asked for, e.g. 'halve the monthly hours', 'drop from 20 to 10 hours/month', 'pause for 60 days'). Optional: current_terms (e.g. '20 hours/month at $3,000'), proposed_terms (the reduced version they're asking for), retainer_name (project or retainer label), route (accommodate/retain/pause — defaults to accommodate), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name
reduction_requestYesWhat the client asked for (e.g. 'halve the monthly hours', 'drop from 20 to 10 hours/month', 'step back to the basic tier', 'pause for 60 days')
current_termsNoOptional: your current retainer terms (e.g. '20 hours/month at $3,000', '$2,500/month for ongoing support')
proposed_termsNoOptional: the reduced terms they're proposing (e.g. '10 hours/month', '$1,500/month', 'ad-hoc only')
retainer_nameNoOptional: name of the retainer or ongoing engagement (e.g. 'the marketing retainer', 'our monthly support agreement')
routeNoOptional: 'accommodate' (accept the change professionally — default), 'retain' (make a case for keeping the current scope), or 'pause' (propose a temporary pause instead of a permanent reduction)
your_nameNoOptional: your name for the sign-off

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided. The description mentions 'does not count against your monthly draft limit' but does not state whether the tool sends the email or just drafts it. No mention of authorization needs, rate limits, or potential side effects. For a writing tool, minimal behavioral disclosure beyond the stated usage.

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

Conciseness3/5

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

The description is verbose with motivational sentences ('One of the awkward conversations freelancers avoid'). Key information is present but could be more concise. It front-loads the main purpose but includes narrative that could be trimmed without losing clarity.

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?

Given the tool's complexity (multiple routes, optional parameters) and missing output schema, the description covers the main usage scenarios and inputs. However, it does not explain the output format (e.g., plain text email draft) or error conditions, leaving some gaps for the agent.

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?

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds context beyond the schema by explaining the 'route' parameter's options and gives full parameter lists with clarifications. This adds meaningful guidance for using the parameters.

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 clearly states it writes a professional response to a retainer downgrade request. It distinguishes three routes and provides examples. However, it does not explicitly differentiate from sibling tools like retainer_check_in_email or client_decline_email, but the specific scenario is clear.

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?

The description explains when to use each route: 'accommodate' when fighting would cost more, 'retain' to argue for keeping current scope, 'pause' for temporary pause. It gives context for when to choose each. Missing explicit 'when not to use' guidance.

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

retainer_expansion_emailA

Write the email proposing to expand an existing retainer — adding services, increasing hours, or upgrading to a higher tier. For when you're in an ongoing retained relationship and want to deepen it based on the work done so far. Three routes: add_services (default — propose adding new service lines to the current retainer, e.g. adding SEO audits to a design retainer or copywriting to a strategy retainer), increase_hours (propose increasing the monthly hours allocation — works when you're consistently hitting the cap and both parties are getting value), upgrade_tier (propose moving the client to a higher package that better fits their current usage or needs — works when they've outgrown what they're on). Distinct from retainer_proposal (initial pitch to a new client), retainer_check_in_email (a routine check-in with no commercial ask), and new_service_announcement_email (broadcasting a new service to all clients). Required: client_name. Optional: current_retainer (what they're currently on — e.g. '5 hours/month design support', '$800/month strategy'), proposed_expansion (what you're proposing to add or change — be specific), project_name, route ('add_services' | 'increase_hours' | 'upgrade_tier' — default add_services), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
current_retainerNoWhat they're currently on — e.g. '5 hours/month design support', '$800/month strategy retainer'.
proposed_expansionNoWhat you're proposing to add or change — be specific, e.g. 'add monthly SEO audit and content brief', 'move from 5 to 10 hours/month', 'upgrade to the Growth package which includes analytics and reporting'.
project_nameNoOptional: name of the retainer or account for context
routeNoadd_services (default) — add new service lines; increase_hours — more hours per month; upgrade_tier — move to a higher package.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, but the description covers the three routes, clarifies required vs optional parameters, and mentions that it does not count against a monthly draft limit, adding valuable behavioral context.

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 well-structured, front-loading the purpose and routes, then distinguishing siblings, then listing parameters. While slightly long, each sentence 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?

It covers all necessary context: purpose, routes, parameter details, sibling differentiation, and even mentions the draft limit. Lacks explicit output description but otherwise complete.

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?

Schema coverage is 100%, and the description enhances parameters with examples and context (e.g., example values for current_retainer and proposed_expansion, route enum explanation).

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 writes an email to expand an existing retainer, specifies three distinct routes, and differentiates from sibling tools with explicit examples.

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?

It explicitly states when to use ('ongoing retained relationship...based on work done so far') and distinguishes from sibling tools like retainer_proposal, retainer_check_in_email, and new_service_announcement_email.

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

retainer_proposalA

Write a professional email proposing an ongoing retainer relationship to an existing project client. Converts a one-off engagement into a predictable monthly arrangement — gives the client clarity on reserved capacity and you stability of income. Covers: proposed scope, monthly hours, retainer fee, how unused hours roll over (or don't), notice period. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or company name of the client
monthly_hoursYesNumber of hours per month you are proposing to reserve for them (e.g. 10, 20)
monthly_feeYesThe retainer fee per month, including currency symbol (e.g. '£2,000/month', '$3,500/month')
scope_summaryNoOptional: brief description of what the retainer covers (e.g. 'ongoing strategy and copywriting', 'design support and ad-hoc UX reviews'). If omitted, a generic description is used.
rolloverNoOptional: whether unused hours roll over to the following month. Default: false (hours expire at month end).
notice_periodNoOptional: notice period to cancel the retainer (e.g. '30 days', 'one calendar month'). Default: 30 days.
start_dateNoOptional: proposed start date (e.g. '1 July', 'next month'). If omitted, wording is left open.
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions the tool does not count against monthly draft limit, a useful behavioral trait, but does not explain whether the email is automatically sent, saved as draft, or just generated. More behavioral details (e.g., required permissions, action after generation) would improve transparency.

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 brief yet comprehensive, using a bullet list for key points. Every sentence adds value, no redundancy. It front-loads the purpose and then lists covered items efficiently.

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 has 8 parameters (3 required) and no output schema, the description explains the core functionality, covered topics, and a key behavioral note (draft limit). It does not describe the output format or how the generated email is used, but it is reasonably complete for a generation tool.

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 the schema already documents each parameter. The description adds context like defaults and optional behavior (e.g., 'If omitted, a generic description is used'), but this is marginal improvement over the schema. Baseline is 3 due to full coverage, and description adds some value.

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 uses a specific verb ('Write a professional email') and resource ('retainer proposal'), clearly distinguishing it from sibling tools by focusing on converting a one-off engagement into a retainer. It lists covered aspects, leaving no ambiguity about the tool's function.

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?

The description states when to use (convert one-off to retainer) and what it covers (scope, hours, fee, rollover, notice period). It also notes it doesn't count against draft limit. However, it doesn't explicitly mention when not to use or direct to alternatives, though the sibling context is extensive.

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

revision_response_emailA

Write the email responding to a client's revision request. Three modes: 'in_scope' (happy to revise — confirms what you'll change and when), 'exceeds_rounds' (they've used their included revision rounds — explains what's included and what additional rounds cost), 'out_of_scope' (the request is a direction change that requires a change order, not a revision). Distinct from scope_change_email (formal change order) and scope_warning_email (early creep flag) — this is the specific, policy-in-action response to a concrete revision ask. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
revision_typeYes'in_scope': revision is within agreed rounds — you'll do it; 'exceeds_rounds': they've used up their included rounds — additional work costs more; 'out_of_scope': it's a direction change, not a revision — needs a change order
project_nameNoOptional: the project name (e.g. 'the brand identity', 'the website redesign')
revision_requestNoOptional: brief description of what the client wants changed (e.g. 'swap the colour palette to navy and gold', 'rewrite the homepage copy in a more casual tone'). Makes the response feel specific rather than templated.
rounds_includedNoOptional: number of revision rounds included in the original agreement (e.g. 2). Used in 'exceeds_rounds' mode.
rounds_usedNoOptional: how many rounds have already been used (e.g. 2). Used in 'exceeds_rounds' mode.
estimated_costNoOptional: cost for an additional revision round (e.g. '$300', '2 hours at my hourly rate'). Used in 'exceeds_rounds' mode.
turnaroundNoOptional: when you'll have the revision back (e.g. 'by Thursday', 'within 2 business days'). Used in 'in_scope' mode.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior4/5

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

No annotations present, so description carries full burden. It explains the tool generates email text and mentions it doesn't count against draft limit. Lacks details on potential side effects or permissions, but for a generative email tool, this is sufficient.

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 well-structured sentences with no redundancy. Every sentence adds critical context about modes, distinctions, and usage limits.

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?

Covers purpose, all three modes, sibling tool differentiation, and draft limit. No missing context for an email generation tool.

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?

Schema coverage is 100% with good parameter descriptions. Description adds value by explaining how parameters relate to the three modes and which are used in each context, going beyond 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 the tool writes an email responding to a revision request and specifies three modes with clear explanations. It distinguishes itself from sibling tools, making the purpose unmistakable.

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?

Explicitly contrasts with scope_change_email and scope_warning_email, and describes when each mode applies. Provides clear guidance on tool selection.

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

revision_rounds_exceeded_emailA

Write the email when a client requests revisions beyond their contracted allocation — enforcing your revision policy without damaging the relationship. One of the most avoided conversations in freelancing; this email makes it easy by being matter-of-fact, not defensive. Three routes: notify_and_quote (default — inform the client their rounds are used, quote the additional cost, invite them to proceed; works when you want to keep the work and the relationship), offer_upgrade (offer a small add-on package for further revisions — works when the client is likely to need ongoing changes and a bundled approach makes sense), close_and_decline (flag that contracted revisions are complete and the project is considered signed off unless they purchase more; works when revisions are clearly not converging or the client is acting in bad faith). Distinct from revision_response_email (which handles the content of a specific revision), scope_creep_response_email (which is broader scope expansion), and change_order_email (which is a formal contract amendment). Does not count against your monthly draft limit. Required: client_name, project_name. Optional: revisions_included (how many rounds were in the contract — e.g. '2 rounds', '3 rounds of revisions'; default is 'the included'), revisions_used (how many have been used — helps make the email concrete), additional_rate (your rate for extra revision work — e.g. '$85/hr', '$150 per round'; makes the quote concrete), route ('notify_and_quote' | 'offer_upgrade' | 'close_and_decline' — default notify_and_quote), package_name (for offer_upgrade route — name of the add-on, e.g. 'Revision Pack', 'Polish Pass'), package_price (for offer_upgrade route — e.g. '$200', '2 hours at $85'), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesThe project name — e.g. 'the Westbrook website', 'your brand refresh', 'the app design'. Used throughout the email.
revisions_includedNoOptional: how many rounds were contracted — e.g. '2 rounds', '3 rounds of revisions', 'two feedback rounds'. Default is a vague reference to 'the included revisions'.
revisions_usedNoOptional: how many rounds have been used — e.g. 'two', 'three'. Helps make the email concrete rather than abstract.
additional_rateNoOptional: your rate for extra revision work — e.g. '$85/hr', '$150 per round', '$200 per additional feedback round'. Makes the quote concrete.
routeNonotify_and_quote (default): inform the client, quote additional cost, invite them to proceed. offer_upgrade: propose a small add-on package for further revisions. close_and_decline: mark the revision stage as complete, project considered signed off unless they purchase more.
package_nameNoFor offer_upgrade route: name of the add-on revision package — e.g. 'Revision Pack', 'Polish Pass', 'Extended Refinement'.
package_priceNoFor offer_upgrade route: price of the add-on — e.g. '$200', '2 additional hours at $85', '$150 flat'.
your_nameNoOptional: your name for the sign-off

TDQS

A4.9/5.0
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses that the tool writes an email, has three behavioral routes with default, and that it does not count against draft limit. No contradictions.

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 well-structured with front-loaded purpose, followed by routes, sibling differentiation, and parameter details. Every sentence adds value without redundancy.

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?

Given 9 parameters, three routes, and no output schema, the description is remarkably complete. It covers all parameters, provides usage examples, and explains the three behavioral routes in detail.

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?

Schema coverage is 100%, but description adds context like default values, route explanations, and example values for optional parameters, enhancing understanding beyond the schema's descriptions.

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: writing an email when a client exceeds revision allocation. It distinguishes from three sibling tools (revision_response_email, scope_creep_response_email, change_order_email), providing specific differentiators.

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?

Explicitly describes when to use each of the three routes (notify_and_quote, offer_upgrade, close_and_decline) with scenarios. Also notes it does not count against monthly draft limit and distinguishes from siblings.

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

rush_fee_emailA

Write the professional email notifying a client that their request for expedited delivery comes with a rush fee — and asking for approval before you start. States the accelerated deadline you can hit, the additional charge, and what it covers (weekend hours, rescheduled commitments, etc.), then makes a clear yes/no ask so the timeline doesn't slip further while waiting for a response. Keeps tone matter-of-fact and collaborative, not apologetic. Distinct from budget_update_email (cost overrun from project complexity), scope_change_email (client requests additional work), and project_extension_email (you requesting more time). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
rush_deadlineYesThe accelerated delivery date the client is requesting (e.g. 'Friday', 'end of day tomorrow', 'Wednesday 5pm')
rush_feeYesThe additional charge for rush delivery (e.g. '$400', '30%', '£250')
original_deadlineNoYour standard delivery timeline for this project (e.g. 'the end of next week', 'Wednesday the 18th') — named to make the acceleration concrete
project_nameNoName or description of the project (e.g. 'the landing page', 'your brand identity')
what_it_coversNoOne-line explanation of what the rush fee reflects — helps the client understand it is fair, not arbitrary (e.g. 'weekend hours and rescheduling two other client commitments', 'two late evenings to hit your deadline')
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses the email's purpose, tone, and that it does not count against draft limit. However, it doesn't specify if the email is actually sent or just drafted, but given tool context (email generation), this is minor.

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?

One paragraph, front-loaded with purpose, then details, sibling differentiation, and draft limit note. Every sentence adds value, no redundancy.

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?

With high schema coverage and no output schema, description fully explains the email's content, tone, and when to use. Includes note about draft limit, making it complete for an AI agent.

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 has 100% coverage with descriptions for all 7 parameters. The description adds overall context but doesn't provide additional meaning beyond the schema. Baseline 3 is appropriate.

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?

Description clearly states it writes a professional email about rush fee, names the specific action (write) and resource (email to client). Distinguishes from siblings like budget_update_email, scope_change_email, and project_extension_email.

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?

Explicitly says when to use: notifying client about rush fee and asking for approval. Lists exact sibling alternatives and their use cases, guiding selection.

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

save_proposalA

Save a winning proposal as a reference example. The more examples you save, the more accurately future drafts match your voice and format.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe full text of the winning proposal
nameYesShort name for this proposal (e.g. 'ecommerce-redesign-2024')

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains the benefit (future drafts matching voice) but not side effects, storage limits, or overwrite behavior. Partial transparency.

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?

Two sentences, front-loaded with purpose, no redundancy. Every sentence adds value.

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?

Adequate for a simple saving tool but lacks details like naming conventions, data limits, or editability. Missing elements for full completeness given no output schema.

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% and both parameters have descriptions. The tool-level description adds no extra meaning beyond the schema, so baseline score of 3 applies.

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 verb-resource combination: 'Save a winning proposal as a reference example.' It distinguishes from siblings like draft_proposal or delete_proposal by specifying the action and purpose.

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 after winning a proposal but does not explicitly state when to use this tool vs alternatives or when not to use it. No mention of prerequisites or context.

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

scope_change_emailA

Write a professional email to a client when work has grown beyond the original scope — new requests, added features, extra rounds of revisions. Raises the issue without accusation, outlines the impact, and presents options (change order, revised quote, or narrowing scope). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description (e.g. 'the website redesign', 'your brand identity project')
scope_changeYesWhat has been added or changed beyond the original agreement (e.g. 'adding an e-commerce section to the website', 'three extra rounds of logo revisions', 'building a mobile app version')
original_scopeNoOptional: what was originally agreed (e.g. 'a 5-page brochure site', 'two logo concepts with one round of revisions'). Helps contrast clearly.
time_impactNoOptional: how much extra time this adds (e.g. '2–3 extra days', 'roughly a week of additional work')
cost_impactNoOptional: the additional cost or rate adjustment (e.g. '$800 at my standard day rate', 'an additional $1,200')
proposed_optionsNoOptional: the options you are offering the client (e.g. 'proceed with a change order, or scale the project back to the original scope'). If omitted, a standard two-option proposal is used.
your_nameNoOptional: your name for the sign-off

TDQS

A3.9/5.0
Behavior3/5

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

Description notes a behavioral trait (not counting against monthly draft limit) and implies a professional tone. However, it does not disclose whether the tool sends the email or merely generates text, nor does it mention required permissions or rate limits beyond draft count. No annotations are present, so the description carries the full burden but misses key side effects.

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?

Description is extremely concise and front-loaded. Three sentences cover purpose, content, and a key differentiator. Every sentence earns its place without redundancy.

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?

No output schema exists, so description should clarify what the tool returns. It implies the email text is generated but does not explicitly state the output format or behavior (e.g., whether it is saved, sent, or only returned). The description adequately covers the input scenario but leaves the output ambiguous.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the email's overall structure and tone (professional, non-accusatory, options-oriented). While it does not detail each parameter's role in the email, the schema already provides good per-parameter descriptions.

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?

Description clearly states the tool's purpose: writing a professional email about scope growth. It specifies the audience (client), trigger (work beyond original scope), and content (raises issue, outlines impact, presents options). This differentiates it from siblings like 'scope_clarification_email' (clarifying scope) and 'scope_warning_email' (warning about creep) by focusing on post-growth resolution.

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?

Description tells when to use (scope growth) but does not explicitly say when not to use or mention alternatives. While the scenario is clear, there is no direct comparison to similar tools like 'change_order' or 'scope_clarification_email', leaving the agent to infer usage boundaries.

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

scope_clarification_emailA

Write a professional email to a prospective client asking for the information you need before you can quote accurately. Most freelancers either guess (wrong) or send a list of demands (off-putting). This generates a short, confidence-building email with 2–4 targeted questions that signal expertise, not confusion. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_typeYesWhat kind of project it is (e.g. 'website redesign', 'brand identity', 'SEO audit')
missing_infoYesWhat you don't know yet and need to understand before quoting (e.g. 'budget range, number of pages, whether copy is provided', 'whether they need ongoing support or a one-off build', 'timeline and existing brand assets')
your_nameYesYour name for the sign-off
contextNoOptional: brief context about what they did share (e.g. 'You mentioned you need a new website for your yoga studio launching in September'). Used to show you read their message.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, but the description discloses that the output is a short, confidence-building email with 2–4 questions, and explicitly states it does not count against the monthly draft limit. This gives useful behavioral context beyond a simple 'write email' statement.

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?

Four sentences, each earning its place. First sentence states the primary function, second provides context, third describes the output, fourth adds a behavioral benefit. No fluff and front-loaded with essential 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?

For a simple email generation tool with no output schema, the description sufficiently covers the input purpose and output nature (short email with targeted questions). It doesn't detail the exact email format, but that's acceptable given the tool's simplicity.

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?

Schema coverage is 100% with clear parameter descriptions. The description adds value by explaining how `missing_info` should be formatted (e.g., 'budget range, number of pages') and that `context` is optional but shows attentiveness. This extends the schema's documentation.

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?

Description clearly states the tool writes a professional email to request missing info before quoting. It contrasts with alternatives ('guessing' or 'sending demands'), which distinguishes its purpose from sibling tools that may serve different email needs.

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?

Usage is implied: when you need info before quoting. However, there is no explicit guidance on when not to use this tool or how it differs from other email tools in the sibling list (e.g., brief_confirmation_email, scope_change_email). Adding a 'use this when... not when...' would improve clarity.

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

scope_creep_emailA

Write a professional, non-confrontational email addressing a client request that falls outside the agreed project scope. The email acknowledges the request positively, clarifies the scope boundary, and offers a change order or quote for the additional work — without apologising for sticking to the agreement. Handles one of the most common and professionally charged situations for freelancers: when a client treats 'out of scope' as optional. Required: client_name, project_name, scope_change_description. Optional: original_scope_note (what was agreed), quoted_fee (if you already have a price), timeline_impact (if extra work affects delivery), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project
scope_change_descriptionYesWhat the client is asking for that falls outside the original scope (e.g. 'adding a third language to the website', 'redesigning the mobile app in addition to the desktop version', 'writing product descriptions for 50 additional SKUs')
original_scope_noteNoOptional: brief reminder of what the original scope covered, for context (e.g. 'the agreed scope covers the five-page website in English only', 'the project covers the desktop web app only as outlined in the proposal'). If omitted, a generic scope boundary reference is used.
quoted_feeNoOptional: the additional fee for the out-of-scope work if you already know it (e.g. '$450', '£800', '6 hours at my standard day rate'). If provided, the email includes the quote directly. If omitted, the email offers to send a change order.
timeline_impactNoOptional: how the additional work would affect the current delivery timeline (e.g. 'push the delivery date by 3 days', 'require an extended deadline to the end of the month'). If omitted, no timeline impact is mentioned.
your_nameNoOptional: your name for the sign-off

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so the description fully covers behavior. It details the tone (professional, non-confrontational), structure (acknowledge, clarify boundary, offer change order/quote), and constraints (does not apologize). No destructive behavior is relevant; the tool drafts an email without sending.

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?

Five sentences efficiently convey the tool's purpose, tone, and parameter list. Front-loaded with the main verb and context, every sentence adds value. Slightly longer than necessary but well-structured and clear.

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?

The description is thorough for a generative tool with no output schema: it covers purpose, behavior, parameters, and usage notes (no monthly limit). No missing critical information given the tool's simplicity.

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

Parameters5/5

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

Schema description coverage is 100%, and the tool description adds significant value by explaining parameter usage with examples (e.g., scope_change_description examples, purpose of optional fields). It clarifies how each parameter influences the output, exceeding schema alone.

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: writing a professional, non-confrontational email for out-of-scope client requests. It explicitly distinguishes from siblings like scope_change_email and scope_warning_email, and provides specific context about the common freelancer situation.

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?

The description indicates when to use the tool (client request outside scope) and includes a note about not counting against monthly draft limit. However, it does not explicitly exclude alternative tools or provide when-not-to-use guidance, missing some comparative direction.

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

scope_creep_response_emailA

Write a professional email responding to a client who has requested work that falls outside the agreed project scope. The most common and most mishandled situation in freelancing — most people either give the work away for free (damages business) or say a flat no (damages relationship). Three routes: quote (acknowledge the request, confirm it's outside scope, offer to do it at additional cost — the default), decline (politely decline and redirect to the agreed deliverables), include_once (absorb this one time but set clear expectations going forward). Keeps the relationship intact while protecting your scope. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
scope_itemYesThe specific thing the client asked for that is outside scope — be concrete (e.g. 'a social media graphics pack', 'SEO copywriting for the blog', 'a third round of revisions', 'a mobile version of the site')
project_nameNoOptional: the project name or description — helps situate the response (e.g. 'the brand identity project', 'the website build', 'the Q2 content retainer')
agreed_scopeNoOptional: what IS included in the agreed scope — helps frame what's outside it (e.g. 'three page designs', 'the logo and brand guidelines', 'four blog posts per month'). If omitted, the email references 'the agreed scope' generically.
quote_amountNoOptional (used with route=quote): the additional cost to include the out-of-scope item (e.g. '$400', '$200–$350', 'an additional day's rate'). If omitted, the email offers to send a separate quote.
routeNoHow to handle the request: quote (offer to do it at additional cost — default), decline (politely decline and stay on scope), include_once (absorb it this time but set expectations it's out of scope going forward).
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions the tool does not count against monthly draft limit and explains route behaviors. However, does not disclose output format, potential side effects, or required permissions.

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?

Description is efficient and well-structured. It opens with purpose, explains the common problem, then lists three routes with brief rationale, ending with a benefit and a note about draft limits. Every sentence 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 no output schema, description adequately explains the tool's logic and parameter usage. It covers the email generation intent and route options. Minor gap: does not specify expected output format (e.g., subject line, salutation) but overall sufficient.

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?

Input schema has 100% description coverage, so baseline 3 is appropriate. Description adds context (e.g., scope_item should be concrete, route explanations) but does not significantly exceed schema-level detail.

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?

Description clearly states the tool writes a professional email responding to out-of-scope requests. It specifies three handling routes (quote, decline, include_once), distinguishing it from siblings like scope_creep_email or scope_change_email.

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?

Describes common scenario (freelancers mishandling scope creep) and when each route is appropriate. Provides contextual guidance but lacks explicit when-not-to-use or direct comparison with similar sibling tools.

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

scope_of_workA

Generate a formal Scope of Work document from an accepted proposal. Produces a structured SOW with deliverables, timeline, payment schedule, revision policy, and a change-order clause — ready to paste into a contract or send directly to the client.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposalYesThe accepted proposal text to base the SOW on
client_nameYesThe client's name or company name
start_dateNoExpected project start date (e.g. 'June 17, 2026' or 'two weeks from contract signing')
your_nameNoYour name or business name (the service provider / contractor)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It explains the output structure (deliverables, timeline, etc.) and states it's ready to paste into a contract. However, it does not disclose whether the tool is read-only, permissions needed, or other behavioral traits.

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?

Two sentences with no wasted words. First sentence communicates purpose, second lists output contents. Front-loaded and efficient.

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 no output schema, the description explains the return value structure (deliverables, timeline, etc.) and how it will be used (paste into contract or send to client). Missing details like format (e.g., Markdown) are minor gaps.

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 100%, so baseline 3. The description adds context that the proposal is 'accepted' but does not enhance parameter meaning beyond what the schema already provides for each parameter.

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 verb 'Generate' and resource 'Scope of Work document', specifying input 'from an accepted proposal' and listing deliverables. It distinguishes itself from sibling tools like 'contract_template' and 'change_order' by focusing on a structured SOW derived from an accepted proposal.

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?

The description implies usage after proposal acceptance ('from an accepted proposal') but does not explicitly state when to avoid using this tool or mention alternatives. The context is clear, but no exclusions are given.

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

scope_warning_emailA

Write a professional email flagging scope creep BEFORE issuing a change order — the early-warning conversation that prevents the surprise-invoice moment. Use this when you notice a client requesting something beyond the original brief; it surfaces the issue collaboratively so the client can confirm they want the extra work (triggering a change order) or clarify it's within scope. Different from change_order (which documents agreed extra work and its cost); this is the conversation that comes first. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_nameYesThe project name or description
original_scopeYesWhat was agreed in the original brief or contract (e.g. 'five-page website with a contact form', 'three rounds of copy revisions')
new_requestYesWhat the client is now asking for that falls outside that scope (e.g. 'an e-commerce shop with product pages', 'a complete brand refresh alongside the copy')
estimated_impactNoOptional: rough estimate of the time or cost impact — makes it concrete without being a formal invoice (e.g. 'roughly 6–8 additional hours', 'an additional £800–£1,200 depending on final spec'). Leave blank if you don't yet know.
your_nameNoOptional: your name for the sign-off

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool writes an email and does not count against the draft limit, but lacks details on side effects, permissions, or technical behavior. More context on whether it drafts or sends would improve transparency.

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 concise and front-loaded with the tool's purpose. Every sentence adds value, including the distinction from change_order and the note about draft limits. No unnecessary fluff.

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?

For a simple email generation tool with no output schema, the description covers purpose and usage well. However, it does not mention what the output (draft email) looks like or if it's automatically sent. Slightly incomplete given the lack of output schema.

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 100%, so the baseline is 3. The tool description does not add significant meaning beyond the schema descriptions; it only generally references scope creep without detailing parameters.

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 writes a professional email flagging scope creep before a change order, with a specific verb and resource. It distinguishes itself from the sibling 'change_order' by noting that this is the conversation that comes first.

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?

Explicitly states when to use ('when you notice a client requesting something beyond the original brief') and when not ('Different from change_order'). Also explains the collaborative goal, providing clear context for appropriate use.

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

service_package_emailA

Write a professional email presenting 2–3 productized service packages to a prospect. Used when you offer fixed-price, structured tiers rather than quoting per project — e.g. Starter / Growth / Scale, or Essential / Pro / Premium. Presents each tier with a clear name, what's included, and price. Distinct from rate_card_email (hourly/day rates sent when asked) and draft_proposal (responding to a specific brief). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
prospect_nameYesFirst name of the prospect
service_typeYesWhat the packages are for (e.g. 'website design', 'monthly SEO', 'brand identity', 'content strategy')
package_1_nameYesName of the entry-level package (e.g. 'Starter', 'Essential', 'Foundation')
package_1_priceYesPrice of the entry package (e.g. '$800', '$500/month', 'from $1,200')
package_1_includesYesWhat is included in the entry package — comma-separated or short description (e.g. '3 pages, 1 revision round, delivered in 2 weeks')
package_2_nameNoOptional: name of the mid-tier package (e.g. 'Growth', 'Professional', 'Standard')
package_2_priceNoOptional: price of the mid-tier package
package_2_includesNoOptional: what is included in the mid-tier package
package_3_nameNoOptional: name of the premium package (e.g. 'Scale', 'Premium', 'Enterprise')
package_3_priceNoOptional: price of the premium package
package_3_includesNoOptional: what is included in the premium package
recommended_packageNoOptional: which package to highlight as the recommended choice — use the package name (e.g. 'Growth'). Omit to present all tiers neutrally.
pitch_contextNoOptional: one sentence connecting to the prospect's stated need or context (e.g. 'you mentioned you want to launch before Q3', 'based on our call, you need something that scales with your team'). Used to personalise the opening.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It adds useful behavioral context: 'Does not count against your monthly draft limit.' It also implies an email generation action but does not mention required permissions or side effects.

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 sentences with no wasted words. First sentence states purpose, second provides context, third distinguishes from siblings and adds draft limit info. Highly efficient.

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?

Tool has 14 parameters (many optional) and no output schema. Description covers when to use, what it produces, and distinguishes from alternatives. It adequately fills gaps given the rich input schema. Could mention the output is a full email body, but inferable.

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 100%, so baseline is 3. The description does not add meaning beyond what the schema already provides for parameters. The schema itself describes each parameter sufficiently.

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 action ('Write a professional email'), resource ('productized service packages'), and scope ('2–3 packages, fixed-price structured tiers'). It distinguishes from siblings 'rate_card_email' and 'draft_proposal'.

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?

Explicitly states when to use ('when you offer fixed-price, structured tiers') and when not ('rather than quoting per project'). Names alternatives ('Distinct from rate_card_email... and draft_proposal').

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

spec_work_decline_emailA

Decline a request to produce work on spec (unpaid design, copy, or code samples produced as part of a pitch or evaluation) without burning the relationship. Two routes: decline (default — firm but warm no; redirects to your existing portfolio and process; use when you don't want to propose an alternative), counter (no to spec, yes to a small paid discovery or test engagement as the right first step — use when you're genuinely interested in the project but won't work for free). Distinct from competitor_response_email (you've already been engaged and the client is comparing providers), client_decline_email (you're turning down the whole project), and proposal_expiry_reminder_email (chasing a submitted proposal). Does not count against your monthly draft limit. Required: client_name. Optional: project_description (what the spec request was for — e.g. 'a sample homepage design', 'a draft chapter', 'a prototype feature'), portfolio_url (link to existing work — include so the client can self-qualify), discovery_offer (the paid alternative you're proposing — e.g. 'a paid half-day discovery workshop', 'a two-hour paid strategy session', 'a small paid scoping engagement'; default 'a paid discovery session'), route ('decline' | 'counter' — default decline), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name or company name
project_descriptionNoOptional: what the spec request was for — e.g. 'a sample homepage design', 'a draft chapter', 'a prototype feature'. Makes the email specific rather than generic.
portfolio_urlNoOptional: URL to your existing portfolio, case studies, or work samples — e.g. 'mysite.com/work'. Including this gives the client a clear next step to evaluate fit without spec work.
discovery_offerNoOptional (counter route only): the paid alternative you're offering — e.g. 'a paid half-day discovery workshop', 'a two-hour paid strategy session', 'a small paid scoping engagement'. Default: 'a paid discovery session'. Only used when route is counter.
routeNodecline (default) — warm, firm no to spec, redirect to portfolio, keep door open; counter — no to spec but offer a paid alternative engagement as the first step.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool does not count against monthly draft limit and explains behavioral outcomes of two routes. Could mention sending behavior or further side effects.

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?

Description is detailed but efficient, front-loading purpose and routing, then parameters. Each sentence adds value; no redundancy. Could slightly streamline parameter explanations but overall excellent.

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 6 parameters, no output schema, description covers all parameters, usage variants, and practical advice. Missing output description but compensated by clear behavioral expectations. Adequate for agent correct invocation.

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?

Schema coverage is 100%, baseline 3. Description adds value beyond schema by providing examples, defaults, and contextual advice (e.g., including portfolio_url for self-qualification). Adds nuance like discovery_offer only used in counter route.

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 declines spec work requests, with a specific verb and resource. It distinguishes from siblings like competitor_response_email, client_decline_email, and proposal_expiry_reminder_email by explaining each sibling's context.

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?

Explicitly explains when to use each route (decline vs counter) and differentiates from sibling tools by describing their specific use cases, providing clear guidance on tool selection.

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

subcontractor_acceptance_emailA

Write the professional email confirming you are accepting a subcontracting role offered by another contractor or agency. Covers: confirming your acceptance, stating the agreed role and start date, and flagging any standard conditions (invoicing process, point of contact, NDA if applicable). Distinct from subcontractor_brief (you briefing someone YOU hired), bid_lost_follow_up (you lost a direct bid), and cold_pitch (you reaching out speculatively). Does not count against your monthly draft limit. Required: prime_name (name of the main contractor or agency), project_description (what the project is, e.g. 'the Acme Corp website redesign'), your_role (your specific role or deliverable, e.g. 'front-end development', 'UX design for the mobile flows'). Optional: start_date, rate_confirmation (e.g. '$120/hr as agreed', '$4,500 fixed fee'), point_of_contact (who you report to), nda_flag (if true, notes you are happy to sign an NDA), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
prime_nameYesName of the main contractor, agency, or person who offered you the sub role
project_descriptionYesBrief description of the project (e.g. 'the Acme Corp website redesign', 'the Q3 brand campaign for TechStart')
your_roleYesYour specific role or deliverable on the project (e.g. 'front-end development', 'UX design for the mobile flows', 'copywriting for all campaign assets')
start_dateNoAgreed start date, if confirmed (e.g. 'Monday June 23', 'the week of July 7')
rate_confirmationNoRate or fee as agreed, to confirm in writing (e.g. '$120/hr', '$4,500 fixed fee for the full scope'). Omit if not yet confirmed.
point_of_contactNoName of the person you report to or coordinate with on the project, if known (e.g. 'Sarah', 'the PM on your side')
nda_flagNoIf true, adds a note that you are happy to sign an NDA or confidentiality agreement if required
your_nameNoYour name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool generates an email draft (implied by 'Write' and 'does not count against your monthly draft limit'), but does not explicitly state whether it sends the email or is read-only. However, the nature is clear and no contradictions exist.

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 well-structured: a concise opening sentence, bullet-like coverage of email content, sibling differentiation, then parameter lists. Every sentence serves a purpose, and key info is front-loaded.

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 8 parameters and no output schema or annotations, the description covers purpose, usage, parameter details, and a behavioral note (draft limit). It does not specify the return format, but that is acceptable without an output schema. Overall, it is nearly complete.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by grouping parameters into required/optional, providing real-world examples, and clarifying the purpose of each field (e.g., prime_name as 'name of the main contractor or agency'), going beyond schema descriptions.

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 writes a professional email for accepting a subcontracting role, specifying the verb 'Write' and the resource 'email'. It explicitly distinguishes from three siblings (subcontractor_brief, bid_lost_follow_up, cold_pitch), leaving no ambiguity.

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?

Provides explicit context for when to use (accepting a subcontracting role) and directly names three sibling tools as distinct alternatives. Also mentions that it does not count against monthly draft limits, adding practical guidance.

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

subcontractor_briefB

Generate a clear project brief for a subcontractor or VA you're bringing in for part of a project. Covers their specific scope, deliverable format and deadline, what NOT to include, payment terms, work-for-hire IP clause, and confidentiality note. Getting this right upfront prevents the most common sub problems: scope bleed, missed handoffs, and ownership disputes. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
sub_nameYesThe subcontractor's first name
their_roleYesWhat they are being hired to do (e.g. 'frontend development', 'copywriting', 'graphic design', 'video editing', 'data entry')
project_contextYesBrief description of the parent project so they understand the context (e.g. 'website redesign for a 20-person accounting firm', 'brand identity for a new fintech startup')
their_scopeYesExactly what they are responsible for — be specific. Use commas or semicolons to separate items.
out_of_scopeNoOptional: what is explicitly NOT their responsibility — prevents scope bleed (e.g. 'copywriting, hosting setup, client communication')
deliverable_formatYesHow they should deliver the work (e.g. 'Figma file with organised layers', 'Google Doc with tracked changes off', 'MP4 at 1080p in a shared Drive folder')
deadlineYesWhen you need their work delivered (e.g. 'Friday 20 June by 5pm', '3 business days after kickoff')
rateYesWhat you are paying them (e.g. '$800 flat', '$75/hour, estimated 8 hours', '$400 on delivery')
your_nameNoOptional: your name for the sign-off

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It describes generation of a brief but does not state whether the tool creates a record, sends an email, or is idempotent. The mention 'Does not count against your monthly draft limit' hints at some system interaction but lacks clarity on side effects or persistence.

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 four sentences that efficiently cover purpose, content, benefits, and a usage note. It is front-loaded with the action and resource. Minor improvement could be removing the benefits sentence to be more concise, but overall it earns its space.

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

Completeness2/5

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

With 9 parameters (7 required) and no output schema, the description should explain what the tool returns or how the brief is delivered. It lacks details on output format, storage, or integration with other tools. The user might expect a downloadable document or inline text, which is not specified.

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?

The input schema already provides 100% coverage with descriptions for all 9 parameters. The description adds high-level context (e.g., covers scope, deliverable, deadline) but does not enhance understanding of individual parameters beyond what the schema provides. Score is baseline due to full schema coverage.

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 'Generate a clear project brief for a subcontractor or VA'. It specifies the content covered (scope, deliverable, deadline, exclusions, payment, IP, confidentiality). This verb+resource combination is specific and distinct from sibling tools like scope_of_work or subcontractor_acceptance_email.

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 when bringing in a subcontractor and lists common problems it prevents, but does not explicitly state when not to use it or compare to alternatives among siblings (e.g., scope_of_work, subcontractor_acceptance_email). The note about draft limits is a usage detail but not a substitution guideline.

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

testimonial_follow_up_emailA

Write a gentle follow-up when a testimonial request has gone unanswered — sent one to two weeks after the initial testimonial_request. Distinct from testimonial_request (the first ask): this is the nudge that dramatically increases conversion because most clients meant to respond but let it slip. The key technique: offer to write a short draft for them to edit or approve — this removes the blank-page friction that kills most testimonial requests. Under 80 words, no guilt, no pressure. Optional offer_draft param (default true) adds the draft offer, which is the highest-impact line in the email. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName of the project (helps make the email feel specific rather than templated)
offer_draftNoWhether to offer to write a short draft for the client to edit (default true — this is the highest-impact offer you can make in a testimonial follow-up)
your_nameNoYour name for the sign-off

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the key technique (offering to write a draft), length constraint ('Under 80 words'), tone ('no guilt, no pressure'), and the impact of the 'offer_draft' parameter. It does not describe return format or potential side effects, but for a text generation tool, the behavioral aspects are well covered.

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 front-loaded with the purpose and includes several informative sentences. Each sentence adds value: timing, distinction, key technique, length constraint, optional param importance, and draft limit note. It could be slightly more concise, but it remains efficient and clear with minimal redundancy.

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 absence of an output schema, the description covers nearly all relevant aspects: purpose, timing, sibling differentiation, behavioral details, and parameter effects. It does not explicitly state the return format, but it is implied that the tool outputs an email text. The description is sufficiently complete to guide correct usage.

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 covers 100% of parameters, granting a baseline of 3. The description adds value by explaining the purpose of 'project_name' (makes email feel specific) and emphasizing 'offer_draft' as the highest-impact line. This additional context improves parameter understanding beyond the schema descriptions.

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 'Write a gentle follow-up when a testimonial request has gone unanswered', specifying the verb (write) and resource (follow-up email). It distinguishes from the sibling 'testimonial_request' by calling it the nudge that increases conversion.

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?

The description provides timing ('one to two weeks after the initial testimonial_request') and distinguishes from the sibling 'testimonial_request'. It also notes that the tool does not count against the monthly draft limit. However, it does not explicitly state when not to use this tool.

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

testimonial_requestA

Write a short, personal email asking a client for a testimonial after successful project delivery. Not a form, not a survey link — a genuine, specific ask that gets responses. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
project_summaryYesBrief description of what you delivered (e.g. 'the Shopify redesign', 'the API integration project')
specific_winNoOptional: a concrete result or outcome from the project (e.g. 'the site launched on time and conversion rate is up 18%'). Makes the ask more personal and specific.
your_nameNoOptional: your name for the sign-off
where_to_postNoOptional: where you'd like the testimonial posted (e.g. 'LinkedIn', 'your website', 'Google'). Leave blank to keep it open.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It reveals that the tool does not count against draft limits, but it does not clarify whether the email is sent, drafted, or returned as output. This omission leaves the agent uncertain about side effects.

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 sentences that are front-loaded with the core purpose, followed by a contrast and a unique behavioral trait. No redundant or extraneous text.

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?

Given the absence of an output schema and annotations, the description should explain what happens after invocation (e.g., draft generated, sent). It fails to do so, leaving a gap in completeness. However, it covers the tool's intent and key differentiator well.

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 the baseline is 3. The description adds minimal value beyond the schema, only briefly mentioning optional fields. No additional constraints or examples are provided.

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: write a personal email asking for a testimonial after successful project delivery. It distinguishes from siblings like 'testimonial_follow_up_email' by emphasizing it is a genuine, specific ask, not a form or survey link.

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?

Specifies when to use ('after successful project delivery') and contrasts with alternatives ('not a form, not a survey link'). However, it does not explicitly list exclusions or alternative tools by name.

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

testimonial_request_emailA

Write the email asking a client for a testimonial or review after a completed project. For when you want to capture a happy client's feedback while the experience is fresh — the kind of social proof that closes the next deal without any extra selling. Three routes: after_completion (default — clean ask at the end of a project; tone is warm and low-pressure, makes it easy to say yes, offers to draft something for them to edit which removes the friction of starting from scratch), specific_platform (you need a review on a specific platform — Google, LinkedIn, Clutch, G2, Trustpilot — because that's where your next prospects look; routes the client to the right place without making it feel like an errand), delayed_ask (you finished the project weeks or months ago and forgot to ask, or didn't feel it was the right moment at the time; acknowledges the gap without apologising excessively, still low-pressure). Distinct from client_reference_request_email (asking someone to speak with a prospect by phone/video, not provide a written quote). Does not count against your monthly draft limit. Required: client_name. Optional: project_name (helps personalise — 'the Westbrook website rebrand', 'your new brand identity'), platform (for specific_platform route — e.g. 'Google', 'LinkedIn', 'Clutch', 'Trustpilot'), platform_url (direct link to the review page — if provided, makes the ask one click), offer_draft (set to true to offer to write a draft for them to edit — removes friction; implied on after_completion), route ('after_completion' | 'specific_platform' | 'delayed_ask' — default after_completion), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
project_nameNoOptional: name of the project — e.g. 'the Westbrook website', 'your brand identity', 'the content strategy'. Personalises the ask.
platformNoFor specific_platform route: the review platform you want them to use — e.g. 'Google', 'LinkedIn', 'Clutch', 'G2', 'Trustpilot'.
platform_urlNoFor specific_platform route: direct URL to the review page — e.g. your Google review link. Makes the ask one click for the client.
offer_draftNoOptional: set to true to offer to write a draft testimonial for the client to edit. Removes the main friction point (starting from scratch). Implied on after_completion route.
routeNoafter_completion (default) — fresh ask at project close, warm and low-pressure; specific_platform — request a review on a named platform with a direct link; delayed_ask — following up weeks or months after the project ended.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explains the three behavioral variations (routes) and the tone for each, along with the draft offer behavior. However, it does not specify whether the email is saved or sent automatically, which could be relevant for an AI agent.

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 relatively long but well-structured, with clear sections for each route and parameter context. It could be slightly more concise, but the detail is justified given the three distinct use cases.

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?

Without an output schema, the description does not explicitly state the return value, but it is implied that the tool generates an email draft. The parameter details are thorough, covering required and optional fields with examples. Overall, it is complete for the given complexity.

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?

Schema coverage is 100%, so the baseline is 3. The description adds value by providing context for the 'route' enum values, explaining implied behavior for 'offer_draft' on the after_completion route, and clarifying the purpose of 'platform_url'. This goes beyond the schema descriptions.

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 writes a testimonial request email and specifies three distinct routes (after_completion, specific_platform, delayed_ask). It differentiates from the sibling tool client_reference_request_email by noting it's for a written quote rather than a phone/video conversation.

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?

Explicit guidance on when to use each route, including the context for each. Additionally, it states the tool does not count against the monthly draft limit and distinguishes from a sibling tool, providing clear alternatives.

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

third_party_delay_emailA

Write the email notifying a client of a delay caused by an external dependency outside your control — a subcontractor running late, a third-party API or platform outage, a supplier delay, or a required approval not arriving. Distinct from project_delay_warning (your own work is at risk), project_extension_email (you need more time), and late_delivery_apology (you missed a deadline): this is the specific communication for when the blocker is external. Structure: states what is delayed and why (naming the external cause clearly), what you're doing to manage or mitigate it, and a revised timeline if known. Tone: transparent and proactive, not defensive — you didn't cause this but you own communicating it. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient's first name or full name
project_nameNoName of the project
what_is_delayedYesWhat specifically is delayed (e.g. 'the design handover', 'the API integration', 'the final build')
external_causeYesThe external party or cause (e.g. 'the payment gateway API', 'our print supplier', 'the client-side legal sign-off', 'a subcontractor')
mitigationNoWhat you are doing about it (e.g. 'I've escalated with the supplier', 'I'm building a workaround in parallel', 'I'm in daily contact with the team')
revised_etaNoRevised delivery date or timeframe if known (e.g. 'Thursday 26 June', 'early next week'). Omit if genuinely unknown.
your_nameNoYour name for the sign-off

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It thoroughly explains the email structure (states what is delayed, why, mitigation, revised timeline) and tone (transparent, proactive). It also reveals a key behavioral detail: 'Does not count against your monthly draft limit,' which is valuable context for invocation.

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 well-structured paragraph. It front-loads purpose and differentiation, then covers structure and tone. It is concise with no unnecessary sentences. A minor deduction for slightly verbose phrasing in the sibling distinction, but overall efficient.

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?

Given 7 parameters (3 required), no output schema, and no annotations, the description is remarkably complete. It covers purpose, usage guidelines, the structure of the generated email, tone, and an incidental behavioral feature (draft limit). No significant gaps remain for an agent to invoke the tool correctly.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema: it explains how to use parameters like 'external_cause' ('naming the external cause clearly'), gives examples in parentheses (e.g., 'the payment gateway API'), and notes that 'revised_eta' should be omitted if unknown. This additional guidance elevates the score above the baseline.

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: writing an email about a delay caused by an external dependency. It uses specific verbs ('Write the email'), names the resource ('client'), and explicitly distinguishes this tool from siblings like 'project_delay_warning', 'project_extension_email', and 'late_delivery_apology', which address internal delays or missed deadlines.

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 provides explicit guidance on when to use this tool (external delays) and when not to (own delay, extension, apology). It names specific alternative sibling tools for those cases, such as 'project_delay_warning' and 'late_delivery_apology', making the decision clear for the agent.

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

unavailability_notice_emailA

Write a proactive heads-up email to an active client before you go away — annual leave, a personal absence, or a conference/training. Sends this BEFORE you leave so the client isn't surprised when you go quiet. Three routes: vacation (default — fully offline; states the exact dates, what you'll complete before you go, and when you'll respond on return; gives the client confidence that active work is handled), conference_or_training (professional development; acknowledges you may check email intermittently; warmer tone since you're still reachable in genuine emergencies), personal (minimal detail — just the dates and return; no explanation required). Distinct from project_pause_email (formal indefinite pause, often for non-payment), availability_announcement_email (announcing new slots for future work), and project_delay_notification_email (your own delay mid-project). Does not count against your monthly draft limit. Required: client_name, return_date (when you'll be back — e.g. 'Monday 7 July', 'next Thursday'). Optional: project_name, from_date (first day away — e.g. 'Friday', '27 June'; omit if sending on the day of departure), pre_absence_deliverable (what you'll complete before you leave — e.g. 'the first-draft wireframes', 'the revised copy'), cover_contact (name + email of someone handling genuine emergencies — omit if you have no cover), route ('vacation' | 'conference_or_training' | 'personal' — default vacation), your_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient first name
return_dateYesWhen you'll be back and responding to emails — e.g. 'Monday 7 July', 'next Thursday', '14 July'. Give a specific date so the client has a concrete expectation.
project_nameNoOptional: project name — e.g. 'the Hartley website', 'your brand refresh'. Makes the email specific rather than generic.
from_dateNoOptional: first day away — e.g. 'Friday', '27 June', 'tomorrow'. Omit if sending on the day of departure.
pre_absence_deliverableNoOptional: what you'll complete and send before you leave — e.g. 'the first-draft wireframes', 'the revised copy deck', 'the updated timeline'. Reassures the client that active work is handled.
cover_contactNoOptional: name and contact for genuine emergencies — e.g. 'Sarah (sarah@agency.com)'. Omit if you have no cover. Do not list a cover contact unless you have one — a named contact who doesn't respond is worse than no contact.
routeNovacation (default) — annual leave, fully offline; conference_or_training — professional development, may check email intermittently; personal — minimal detail, just the dates.
your_nameNoOptional: your name for the sign-off

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the email is sent before departure, covers different routes with appropriate tones, and notes that it does not count against the monthly draft limit. It could mention more about sending behavior or potential side effects, but overall it provides key behavioral context.

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 well-structured, front-loading the purpose and then detailing routes and parameters. While it is somewhat verbose, every sentence adds value. It is efficient for the complexity of the tool without being padded.

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?

Given 8 parameters, 2 required, and no output schema, the description comprehensively covers all parameters with examples and context. It explains the three routes, contrasts with siblings, and notes the no-draft-limit feature. It is fully complete for an AI agent to correctly invoke the tool.

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?

Schema description coverage is 100%, so baseline is 3. The description adds significant meaning beyond the schema: it explains the three routes in detail, provides examples for parameters like from_date and pre_absence_deliverable, and gives strong guidance like 'do not list a cover contact unless you have one'. This greatly aids proper parameter usage.

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 it writes a proactive heads-up email before absence. It distinguishes three specific routes (vacation, conference_or_training, personal) and explicitly contrasts with sibling tools (project_pause_email, availability_announcement_email, project_delay_notification_email), making the purpose highly specific.

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 explicitly explains when to use (before going away) and provides detailed guidance on each of the three routes. It also distinguishes from sibling tools, telling what this tool is for and what it is not for. Required vs optional parameters are clearly stated.

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

unclear_brief_emailA

Write the email sent when a client's brief is too vague to start work safely — asks targeted clarifying questions before time is spent. Lists the specific unclear points concisely, explains why each matters (to avoid rework or surprises), and offers a quick call if it's easier than written answers. Professional and collaborative in tone — not a complaint, not a lecture. Prevents scope creep and misaligned deliverables from the start. Distinct from scope_change_email (used mid-project when scope expands) and revision_response_email (used after client feedback). Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameNoName or description of the project
unclear_pointsYesThe specific things that need clarification (e.g. 'Who is the target audience?', 'What does success look like — increased signups, revenue, engagement?'). 2–5 questions work best.
suggest_callNoWhether to offer a quick call as an alternative to written answers — defaults to true
response_deadlineNoDate or timeframe by which you need answers to stay on schedule (e.g. 'by Thursday', 'before end of week')
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description must convey behavior. It describes tone (professional, collaborative), content (targeted questions, explanations), and goal (prevent scope creep). It also notes it doesn't count against monthly draft limit. This is sufficient.

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 well-structured and informative, but slightly longer than necessary. Every sentence adds value, making it efficient for its size.

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?

Given no output schema, the description fully explains the email's purpose, tone, content structure, and differentiation from siblings. It covers all necessary context for an agent to use the tool correctly.

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

Parameters5/5

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

Schema coverage is 100% and the description adds meaning beyond the schema: it explains how each parameter is used in the email (e.g., unclear_points become questions, suggest_call defaults true, response_deadline sets the timing). This is excellent.

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 writes an email for vague client briefs, asking clarifying questions. It explicitly distinguishes from scope_change_email and revision_response_email, making its unique purpose very clear.

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?

The description explains when to use this tool (vague brief) and differentiates it from two siblings. It does not explicitly state when not to use it or list all alternatives, but the context is clear.

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

upsell_emailA

Write a warm, non-pushy email to a happy client suggesting additional services or a retainer after a successful project. Existing clients convert at 3–5x the rate of cold prospects — this is the highest-ROI sales email a freelancer can send. Timing: right after delivering and getting positive feedback. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
completed_projectYesThe project you just delivered (e.g. 'the website redesign', 'the brand identity', 'the SEO audit')
upsell_serviceYesWhat you're suggesting next (e.g. 'an ongoing SEO retainer', 'a monthly content package', 'a mobile app version', 'a quarterly brand refresh')
value_hookNoOptional: a specific result or observation from the completed project that makes the upsell relevant (e.g. 'your site traffic jumped 40% in the first week', 'three pages need copy updates based on the audit findings')
your_nameNoOptional: your name for the sign-off

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. Description discloses tone ('warm, non-pushy') and a behavioral note ('does not count against your monthly draft limit'). No mention of authorization or destructive actions, but the tool is straightforward.

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 sentences with clear structure: purpose, context/statistic, timing/exception. Every sentence is necessary and well-placed.

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?

Covers use case, timing, and a behavioral trait. No output schema, but email writing tools typically don't need that. Sufficient for an agent to correctly invoke the tool.

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 baseline is 3. The description adds minimal extra meaning beyond schema, e.g., clarifying that 'value_hook' makes the upsell relevant. No parameter format or constraints are added beyond 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 clearly states the action ('Write a warm, non-pushy email'), the audience ('a happy client'), and the context ('after a successful project'). It distinguishes from siblings like cold_pitch or project_completion_email by emphasizing existing client upsell.

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?

Explicitly states when to use ('right after delivering and getting positive feedback') and highlights high ROI. Does not explicitly mention alternatives or when not to use, but the context signals are clear enough.

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

usage_statusA

Check your free tier usage: how many proposal drafts you've used this month and how many remain before hitting the limit. Run this before draft_proposal if you're unsure of your remaining quota.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description must cover behavior. It clearly implies a read-only check of usage data, with no modifications or side effects mentioned. Adequate for a status-check tool.

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?

Two sentences, front-loaded with purpose, no unnecessary words. Every sentence adds value.

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?

Given zero parameters and no output schema, the description fully covers what the tool does, what it checks (drafts used/remaining), and when to use it. No missing context.

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?

No parameters defined, baseline of 4 applies. Description does not need to add parameter info; the empty schema is fully explained by the simple check behavior.

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 uses a specific verb 'Check' and resource 'free tier usage', and explicitly distinguishes from sibling tool 'draft_proposal' by advising to run this first if unsure of quota.

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?

Clearly states to run before 'draft_proposal' when unsure of quota, but does not explicitly exclude other scenarios. Context is clear enough for the agent.

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

win_back_emailA

Write a short, warm re-engagement email to a past client you haven't worked with in a while (6+ months). Distinct from availability_announcement (broadcast to all past clients) and reactivation_email (cold prospect from a mid-pitch conversation) — this is a targeted, personal one-to-one note to someone you've already delivered results for. The gap is acknowledged briefly and lightly, not apologised for. Closes with a soft open-ended ask ('are you working on anything at the moment?'), not a pitch. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the past client
last_projectYesBrief description of the last project you delivered for them (e.g. 'the rebranding project', 'your SaaS MVP')
time_elapsedNoOptional: how long since you last worked together (e.g. 'six months', 'about a year'). If omitted, the email keeps it vague.
value_hookNoOptional: a specific, genuine reason to reach out now — a result you achieved that you want to share, something relevant you noticed about their business, a new capability that fits their context. Makes the email feel timely rather than random.
service_to_offerNoOptional: if there's a specific type of work you're hoping to pick up with them, name it (e.g. 'a second phase', 'ongoing SEO', 'a campaign for Q4'). If omitted, the email stays open-ended.
your_nameNoOptional: your name for the sign-off

TDQS

A4.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly states it writes a draft email, but does not disclose whether it sends the email or if there are any side effects, auth requirements, or rate limits.

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 concise (four sentences) and front-loaded with the core purpose. Every sentence adds meaningful information without redundancy.

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?

Given the relatively simple tool (no output schema, no nested objects), the description covers purpose, usage, parameter semantics, and behavioral constraints. It is sufficient for an agent to understand when and how to use it.

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?

All parameters have schema descriptions (100% coverage). The tool description adds value by explaining the effect of optional parameters (e.g., time_elapsed makes email less vague, value_hook adds timing context), beyond what the schema provides.

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 explicitly states the tool writes a re-engagement email to past clients, distinguishes it from two sibling tools (availability_announcement, reactivation_email), and specifies the target audience and tone.

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 provides clear when-to-use criteria (past client, 6+ months gap) and contrasts with sibling tools. It also includes detailed content guidelines (acknowledge gap briefly, soft close) and states that it does not count against monthly draft limit.

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

working_agreement_emailA

Write a short, friendly email that sets out how you and a client will work together during a project — covering communication preferences, response times, revision process, sign-off protocol, and meeting cadence. Sent before or at project kick-off, this prevents misunderstandings that kill projects mid-flow. Distinct from contract_template (legal obligations), client_onboarding_checklist (tasks to complete before starting), and project_kickoff_email (confirming that work has begun) — this is the 'how we actually work day to day' email that experienced freelancers swear by. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesFirst name or full name of the client
project_nameYesName or brief description of the project (e.g. 'the website redesign', 'your brand identity')
communication_channelNoOptional: your preferred channel for day-to-day communication (e.g. 'email', 'Slack', 'Notion comments'). Defaults to email if omitted.
response_timeNoOptional: your typical response time during business hours (e.g. 'within 24 hours', 'same day before 3pm', 'within one business day'). Defaults to 'within one business day' if omitted.
revision_roundsNoOptional: the number of included revision rounds and what counts as a revision (e.g. 'two rounds of consolidated feedback per deliverable', 'one major and one minor revision pass'). If omitted, no revision detail is included.
sign_off_processNoOptional: how you need sign-off to be given before moving to the next phase (e.g. 'a reply email confirming approval', 'a comment in Figma marked Approved', 'written confirmation by end of day'). If omitted, a simple 'written confirmation by email' is used.
meeting_cadenceNoOptional: the agreed meeting rhythm during the project (e.g. 'a weekly 30-minute check-in every Monday', 'a fortnightly review call', 'ad hoc as needed'). If omitted, meetings are described as 'as needed by mutual agreement'.
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses a key behavioral trait: 'Does not count against your monthly draft limit.' It also implies the action is non-destructive and generates an email, which is sufficiently transparent for a write operation.

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 informative but slightly lengthy. It front-loads the purpose, includes sibling differentiation and the limit disclosure. A minor reduction in redundant phrasing could improve conciseness, but it is well-structured overall.

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 simple email generation tool with 8 well-documented parameters (2 required) and no output schema needed, the description covers the tool's purpose, usage context, distinguishing features, and behavioral impact (draft limit). No gaps remain.

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 100%, so baseline 3. The description does not add new parameter details beyond the schema, but it helps by explaining the email's purpose, which implicitly guides parameter selection. No additional value beyond 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 explicitly states 'Write a short, friendly email' and clearly distinguishes the tool from siblings (contract_template, client_onboarding_checklist, project_kickoff_email) by explaining what each sibling does and how this one differs. The verb (Write) and resource (email) are specific, and the scope is well-defined.

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 says 'Sent before or at project kick-off' and provides explicit when-to-use context. It also lists alternative tools for different purposes (e.g., contract_template for legal obligations), offering clear guidance on when not to use this tool.

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

working_hours_emailA

Write a brief, professional email setting expectations about your working hours and response times with a client. Confident and matter-of-fact — frames boundaries as something that helps the client get better work, not as a personal restriction. Works for setting hours proactively at project start, responding after a late-night or weekend message, or resetting expectations mid-project. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesThe client's first name
your_hoursYesYour working hours (e.g. 'Monday–Friday, 9am–5pm GMT', 'weekdays, UK hours', 'Mon–Thu 8am–4pm EST')
response_timeNoOptional: typical response time within those hours (e.g. 'within 4 hours', 'by end of business day', 'within one business day'). Defaults to 'within one business day' if omitted.
urgent_pathNoOptional: how to reach you for genuine urgencies outside hours (e.g. 'mark your email URGENT in the subject line', 'text me directly'). If omitted, no urgent path is mentioned.
triggerNoContext for sending: 'proactive' (setting hours at project start — default), 'after_late_message' (responding to a message sent outside your hours), 'mid_project_reset' (resetting expectations mid-project when a pattern has developed)
your_nameNoOptional: your name for the sign-off

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the email's tone, framing, and a key behavioral trait: 'Does not count against your monthly draft limit.' This adds beyond the schema. However, it does not detail whether the tool sends or only drafts, or any authentication/rate limit implications.

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 four sentences, front-loaded with the core action, then tone, then use cases, then a benefit. Every sentence adds value, and there is no redundancy or fluff.

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 6 parameters (2 required, 1 enum), no annotations, and no output schema, the description is quite complete. It covers parameter roles, scenarios, and a behavioral note. It does not describe the output format, but without an output schema, that is acceptable. It could optionally mention that it generates a draft email.

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 input schema has 100% parameter description coverage, so the baseline is 3. The description adds value by explaining the tone and scenarios, and by describing the trigger enum and its three values. This context helps the agent choose appropriate values beyond the schema's bare definitions.

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: 'Write a brief, professional email setting expectations about your working hours and response times with a client.' It specifies the tone ('confident and matter-of-fact') and the framing ('boundaries as something that helps'), and lists concrete use cases (proactive, after late message, mid-project reset), effectively distinguishing it from sibling email templates.

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?

The description provides explicit usage contexts: 'Works for setting hours proactively at project start, responding after a late-night or weekend message, or resetting expectations mid-project.' It does not explicitly mention when not to use or alternatives, but the scenarios are clear and the trigger parameter further guides selection.

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

work_sample_response_emailA

Write a professional email responding to a prospect who has asked to see work samples or portfolio pieces before deciding whether to hire you. Two modes: have_samples (default — you have directly relevant work to share; links or describes the samples with brief context on why they're relevant to this client's situation), no_exact_match (you don't have a perfect example in this specific niche or format, but you have closely adjacent work that demonstrates the same underlying skill; acknowledges the gap honestly without being apologetic, explains what the adjacent work shows, and offers a next step — call, test piece, or scoped pilot). The no_exact_match mode is often more persuasive than it sounds: handled well, it signals integrity and directness. Required: client_name. Optional: project_context (what the prospect is evaluating you for — makes the email specific rather than generic), sample_description (one-line description of what you're sharing or linking — e.g. 'three brand strategy decks for similar-scale clients', 'a website redesign for a professional services firm'), sample_link (direct URL or 'attached' — if omitted, email offers to send on request), adjacent_work (for no_exact_match mode: what you have that's adjacent — e.g. 'I haven't done X specifically, but here are two projects where I did Y under the same constraints'), next_step (what you're proposing after the sample review — e.g. 'happy to jump on a 20-minute call', 'I can put together a short test piece'), your_name. Does not count against your monthly draft limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesProspect's first name
project_contextNoOptional: what they're evaluating you for — makes the email feel specific. E.g. 'the brand identity project', 'the content retainer', 'rewriting your website copy'.
sample_descriptionNoOptional: one-line description of what you're sharing — e.g. 'three brand strategy decks for professional services clients', 'a UX audit and redesign for an e-commerce site'.
sample_linkNoOptional: URL to portfolio or samples, or 'attached' if sending as a file. If omitted, the email offers to send on request.
adjacent_workNoOptional (used in no_exact_match mode): what closely adjacent work you have — e.g. 'I haven't done fintech specifically, but I've worked on three regulated-industry brands where the same constraints applied'. Be specific.
response_modeNohave_samples (default — you have directly relevant work to share), no_exact_match (you don't have a perfect match but have adjacent work that demonstrates the same skill).
next_stepNoOptional: what you're proposing after the sample review — e.g. 'happy to jump on a 20-minute call to walk through them', 'I can put together a short test piece if that would help'.
your_nameNoYour name for the sign-off

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description fully discloses the tool's behavior: it can generate emails in two modes, and the sample_link parameter controls whether links are included or offered upon request. The description also clarifies that the tool does not consume a monthly draft limit, which is a behavioral trait not evident from the schema alone.

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 lengthy but well-structured, with a clear opening sentence followed by detailed explanations of modes and parameters. It uses bullet-like formatting for parameter descriptions, aiding readability. While it could be slightly trimmed, every section adds value and is well-integrated.

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?

The description covers all necessary aspects: purpose, modes, parameter semantics, and a behavioral note about draft limits. Given the lack of an output schema, it conceptually describes the output as a professional email. The description is comprehensive for the tool's complexity and adequately prepares the agent to use it effectively.

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

Parameters5/5

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

The description adds substantial meaning beyond the 100% schema coverage. It explains how each optional parameter enhances specificity, provides examples for sample_description, adjacent_work, and next_step, and clarifies the role of response_mode. This contextual information helps the agent craft highly tailored emails.

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 explicitly states the tool's purpose: writing a professional email responding to a prospect requesting work samples or portfolio pieces. It distinguishes two clear modes (have_samples and no_exact_match) and notes that it doesn't count against the monthly draft limit, setting it apart from sibling tools like cold_pitch or proposal_to_email.

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?

The description provides explicit guidance on when to use each mode, with detailed explanations of the default (have_samples) and the alternative (no_exact_match). It explains the persuasive value of the no_exact_match mode. However, it lacks explicit 'when not to use' guidance or alternatives for other scenarios, such as when the prospect hasn't requested samples.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.4.121
    • Addedspec_work_decline_email
  2. 25 tool updatesv1.4.120
    • Addedclient_access_request_email
    • Addedclient_complaint_response_email
    • Addedconditional_proposal_acceptance_email
    • Addedearly_delivery_email
    • Addedestimate_revision_email
    • Addedlate_materials_impact_email
    • Addedlate_payment_follow_up_email
    • Addedmilestone_approval_request_email
    • Addedmutual_introduction_email
    • Addedpayment_plan_proposal_email
    • Addedportfolio_consent_email
    • Addedpost_discovery_follow_up_email
    • Addedprice_objection_response_email
    • Changedproject_handover_email11 fields changed
      • removedInput schema / properties / access_instructions
        Removed value: -{
        -  "description": "Optional: any login credentials, access links, or transfer instructions the client needs (e.g. 'I've transferred ownership of the Figma file to your email', 'admin login details are in the attached doc')",
        -  "type": "string"
        -}
      • changedInput schema / properties / client_name / description
        Previous value: -"The client's first name"New value: +"Client first name"
      • removedInput schema / properties / deliverables
        Removed value: -{
        -  "description": "What you're handing over — list the files, assets, or items (e.g. 'final logo files (SVG, PNG, PDF), brand guidelines PDF, and font licences', 'the completed website, admin login, and documentation')",
        -  "type": "string"
        -}
      • addedInput schema / properties / handover_reason
        Added value: +{
        +  "description": "Optional: brief reason for the handover — e.g. 'you've taken the project in-house', 'bringing in a specialist for the next phase', 'my availability has changed'.",
        +  "type": "string"
        +}
      • addedInput schema / properties / handover_to
        Added value: +{
        +  "description": "Name of the incoming developer or team taking over the project",
        +  "type": "string"
        +}
      • addedInput schema / properties / next_steps
        Added value: +{
        +  "description": "Optional: what the client should expect next — e.g. 'Alex will reach out this week to schedule a call', 'I'll send through the full codebase and documentation by Friday'.",
        +  "type": "string"
        +}
      • removedInput schema / properties / next_steps_for_client
        Removed value: -{
        -  "description": "Optional: what the client needs to do after receiving the files (e.g. 'let me know if anything needs adjusting once you've had a chance to review', 'your developer can now start implementation using the Figma file')",
        -  "type": "string"
        -}
      • changedInput schema / properties / project_name / description
        Previous value: -"Optional: the project name (e.g. 'the brand identity project', 'your new website')"New value: +"Optional: name of the project being handed over"
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "warm (default) — positive framing, introduce the incoming person, set the client at ease; clean — factual exit with no extra editorialising.",
        +  "enum": [
        +    "warm",
        +    "clean"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / support_period
        Removed value: -{
        -  "description": "Optional: any included post-handover support window (e.g. '7 days of minor amends', '2 weeks of questions via email')",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "client_name",
        -  "deliverables"
        -]New value: +[
        +  "client_name",
        +  "handover_to"
        +]
    • Changedproject_kickoff_email10 fields changed
      • addedInput schema / properties / access_links
        Added value: +{
        +  "description": "Optional: links, tools or shared resources to pass on — e.g. 'Notion workspace: https://...', 'shared Drive: https://...'. Paste as freeform text; will be formatted into the email.",
        +  "type": "string"
        +}
      • changedInput schema / properties / client_name / description
        Previous value: -"The client's first name or 'team' (used in the greeting)"New value: +"Client first name"
      • addedInput schema / properties / first_deliverable
        Added value: +{
        +  "description": "Optional: what the client will receive first and when — e.g. 'initial wireframes by Friday 28 June', 'a discovery brief by end of this week'. Gives them something concrete to look forward to.",
        +  "type": "string"
        +}
      • addedInput schema / properties / kickoff_date
        Added value: +{
        +  "description": "Optional: date work officially begins — e.g. 'Monday 24 June', 'this Thursday'. Sets expectations on timing.",
        +  "type": "string"
        +}
      • addedInput schema / properties / project_name
        Added value: +{
        +  "description": "Optional: name of the project — e.g. 'the Westbrook rebrand', 'your Q3 content strategy'. Personalises the email.",
        +  "type": "string"
        +}
      • removedInput schema / properties / proposal
        Removed value: -{
        -  "description": "The accepted proposal text (used to extract project details, deliverables, and price)",
        -  "type": "string"
        -}
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "first_project (default) — new client, warm and structured, introduces your process; returning_client — you've worked together before, skip the formalities; complex_project — multi-phase project, structured phases and milestones.",
        +  "enum": [
        +    "first_project",
        +    "returning_client",
        +    "complex_project"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / start_date
        Removed value: -{
        -  "description": "Optional: the agreed project start date (e.g. 'June 17' or 'next Monday')",
        -  "type": "string"
        -}
      • removedInput schema / properties / working_process
        Removed value: -{
        -  "description": "Optional: a brief description of how you work (e.g. 'weekly check-ins via Slack, feedback rounds via Loom'). If omitted, a standard process is suggested.",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "proposal",
        -  "client_name"
        -]New value: +[
        +  "client_name"
        +]
    • Addedproject_maintenance_proposal_email
    • Changedproject_pause_email13 fields changed
      • removedInput schema / properties / action_items
        Removed value: -{
        -  "description": "Any tasks either party should handle during the pause (e.g. 'please review the draft scope doc and send feedback when you're ready to resume'). Omit if nothing is pending.",
        -  "type": "string"
        -}
      • changedInput schema / properties / client_name / description
        Previous value: -"Client's first name or company name for the greeting"New value: +"Client first name"
      • removedInput schema / properties / completed_so_far
        Removed value: -{
        -  "description": "Brief summary of what has already been delivered or completed before the pause (e.g. 'wireframes and copywriting for sections 1–3'). Omit if not needed.",
        -  "type": "string"
        -}
      • addedInput schema / properties / missing_item
        Added value: +{
        +  "description": "Optional (blocked_on_client route): what you need from the client — e.g. 'the final logo files', 'sign-off on the wireframes', 'the content brief for section 3'. Be specific — vague blockers create vague responses.",
        +  "type": "string"
        +}
      • addedInput schema / properties / outstanding_invoice
        Added value: +{
        +  "description": "Optional (non_payment route): what's owed — e.g. 'Invoice #42 for £1,200 due 5 June', 'the deposit invoice sent on 2 June'. Makes the path to resume concrete.",
        +  "type": "string"
        +}
      • addedInput schema / properties / pause_reason
        Added value: +{
        +  "description": "Optional: brief context for the pause — e.g. 'while we wait for the Q3 budget to open up', 'while you're sorting the internal sign-off'. Omit for non_payment to let the invoice speak for itself.",
        +  "type": "string"
        +}
      • changedInput schema / properties / project_name / description
        Previous value: -"Name or short description of the project being paused"New value: +"Optional: project name — e.g. 'the Hartley website', 'your brand refresh'. Makes the email specific rather than generic."
      • removedInput schema / properties / reason
        Removed value: -{
        -  "description": "Brief honest reason for the pause (e.g. 'your team is heads-down on a product launch', 'we've hit the current budget allocation', 'I'm stepping away for planned leave'). Omit to keep the email neutral and simply confirm the agreed pause.",
        -  "type": "string"
        -}
      • addedInput schema / properties / response_deadline
        Added value: +{
        +  "description": "Optional (blocked_on_client route): by when you need a response to stay on your current schedule — e.g. 'by end of Wednesday', 'within the next 48 hours'. Creates urgency without being demanding.",
        +  "type": "string"
        +}
      • changedInput schema / properties / resume_date / description
        Previous value: -"Expected date to resume (e.g. 'July 14', 'early August'). Omit if no firm date has been agreed — the email will flag that a resumption date should be confirmed."New value: +"Optional (planned_pause route): when you expect to pick up again — e.g. 'early July', 'the week of 14 July'. Keeps the project alive and sets a shared expectation."
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "non_payment (default) — work on hold pending an outstanding invoice; blocked_on_client — can't proceed without something from the client; planned_pause — mutual pause for a defined period.",
        +  "enum": [
        +    "non_payment",
        +    "blocked_on_client",
        +    "planned_pause"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / your_name / description
        Previous value: -"Your name for the sign-off"New value: +"Optional: your name for the sign-off"
      • changedInput schema / required
        Previous value: -[
        -  "client_name",
        -  "project_name"
        -]New value: +[
        +  "client_name"
        +]
    • Addedproject_resume_email
    • Addedproject_scope_reduction_email
    • Addedproposal_expiry_reminder_email
    • Addedre_engagement_email
    • Addedretainer_expansion_email
    • Addedrevision_rounds_exceeded_email
    • Changedtestimonial_request_email10 fields changed
      • removedInput schema / properties / angle_prompt
        Removed value: -{
        -  "description": "Optional: a specific question or angle to guide the client (e.g. 'what problem you were trying to solve before we started', 'what surprised you about working together', 'how you'd describe the ROI to a peer'). Providing this makes the ask far easier to fulfil.",
        -  "type": "string"
        -}
      • changedInput schema / properties / client_name / description
        Previous value: -"The client's first name or company name"New value: +"Client first name"
      • addedInput schema / properties / offer_draft
        Added value: +{
        +  "description": "Optional: set to true to offer to write a draft testimonial for the client to edit. Removes the main friction point (starting from scratch). Implied on after_completion route.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / platform
        Added value: +{
        +  "description": "For specific_platform route: the review platform you want them to use — e.g. 'Google', 'LinkedIn', 'Clutch', 'G2', 'Trustpilot'.",
        +  "type": "string"
        +}
      • addedInput schema / properties / platform_url
        Added value: +{
        +  "description": "For specific_platform route: direct URL to the review page — e.g. your Google review link. Makes the ask one click for the client.",
        +  "type": "string"
        +}
      • changedInput schema / properties / project_name / description
        Previous value: -"Name of the project or work completed (e.g. 'the Acme website redesign', 'our 6-month SEO retainer')"New value: +"Optional: name of the project — e.g. 'the Westbrook website', 'your brand identity', 'the content strategy'. Personalises the ask."
      • removedInput schema / properties / result_achieved
        Removed value: -{
        -  "description": "A specific positive outcome the client got from the work (e.g. '40% increase in organic traffic', 'launched on time and under budget', 'closed three new clients using the proposal templates we built'). Be concrete — the more specific, the easier the ask.",
        -  "type": "string"
        -}
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "after_completion (default) — fresh ask at project close, warm and low-pressure; specific_platform — request a review on a named platform with a direct link; delayed_ask — following up weeks or months after the project ended.",
        +  "enum": [
        +    "after_completion",
        +    "specific_platform",
        +    "delayed_ask"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / testimonial_type
        Removed value: -{
        -  "description": "Optional: what you're asking for — 'testimonial' (for your website), 'linkedin_recommendation', 'case_study', or 'google_review'. Defaults to 'testimonial'.",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "client_name",
        -  "project_name",
        -  "result_achieved"
        -]New value: +[
        +  "client_name"
        +]
    • Addedunavailability_notice_email
  3. 3 tool updatesv1.4.93
    • Addedclient_reference_request_email
    • Changedcontract_renewal_email11 fields changed
      • addedInput schema / properties / contract_type
        Added value: +{
        +  "description": "The type of engagement being renewed (e.g. 'monthly retainer', 'quarterly contract', 'six-month engagement', 'annual support agreement')",
        +  "type": "string"
        +}
      • removedInput schema / properties / current_end_date
        Removed value: -{
        -  "description": "When the current agreement ends (e.g. 'June 30', 'end of this month', 'July 15')",
        -  "type": "string"
        -}
      • addedInput schema / properties / current_rate
        Added value: +{
        +  "description": "Optional (used with route=revised): the current rate or scope, so the client understands what is changing (e.g. '$3,000/month', '10 hours/week', 'two blog posts per month')",
        +  "type": "string"
        +}
      • addedInput schema / properties / end_date
        Added value: +{
        +  "description": "Optional: when the current contract ends — makes the ask feel timely rather than random (e.g. 'end of June', 'July 31', 'in two weeks')",
        +  "type": "string"
        +}
      • removedInput schema / properties / highlight
        Removed value: -{
        -  "description": "Optional: a result or milestone from the current engagement worth referencing (e.g. 'the site traffic increase', '3 months of consistent delivery', 'the rebrand launch'). Makes the email feel specific rather than templated.",
        -  "type": "string"
        -}
      • addedInput schema / properties / new_rate
        Added value: +{
        +  "description": "Optional (used with route=revised): the proposed new rate or scope (e.g. '$3,500/month', '15 hours/week'). If omitted with route=revised, the email proposes discussing updated terms rather than naming a number.",
        +  "type": "string"
        +}
      • removedInput schema / properties / project_or_retainer
        Removed value: -{
        -  "description": "What you're renewing (e.g. 'the monthly retainer', 'the SEO contract', 'our content arrangement')",
        -  "type": "string"
        -}
      • removedInput schema / properties / renewal_terms
        Removed value: -{
        -  "description": "Optional: the proposed renewal terms — same, updated scope, new rate (e.g. 'same scope and rate for another 3 months', 'updated scope covering X and Y at the same monthly rate', '$3,500/mo for the next quarter'). If omitted, the email proposes a call to discuss.",
        -  "type": "string"
        -}
      • addedInput schema / properties / route
        Added value: +{
        +  "description": "same_terms: propose renewing on the same rate and scope (default). revised: introduce a rate increase or scope change.",
        +  "enum": [
        +    "same_terms",
        +    "revised"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / work_summary
        Added value: +{
        +  "description": "Optional: one-line summary of what you've delivered — reminds the client of value before the ask (e.g. 'the rebrand and new website', 'four months of content strategy', 'the platform migration'). If omitted, the email references the engagement generically.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "client_name",
        -  "project_or_retainer",
        -  "current_end_date"
        -]New value: +[
        +  "client_name",
        +  "contract_type"
        +]
    • Addedscope_creep_response_email
  4. 2 tool updatesv1.4.91
    • Addedlinkedin_connection_request
    • Addedproject_delay_notification_email
  5. 1 tool updatev1.4.90
    • Addedretainer_downgrade_response_email
  6. 5 tool updatesv1.4.89
    • Addedavailability_announcement_email
    • Addedbudget_negotiation_email
    • Addeddeliverables_sign_off_email
    • Addeddiscovery_call_no_show_email
    • Changedprice_increase_email11 fields changed
      • changedInput schema / properties / client_name / description
        Previous value: -"Client's first name or full name"New value: +"Client's first name"
      • changedInput schema / properties / current_rate / description
        Previous value: -"Your current rate — including it makes the change concrete and shows transparency (e.g. '$120/hour')"New value: +"Optional: your current rate — showing the before/after adds transparency (e.g. '$120/hr', '$950/day')"
      • changedInput schema / properties / effective_date / description
        Previous value: -"When the new rate takes effect (e.g. 'August 1', 'from your next project', 'in 60 days') — gives the client time to plan"New value: +"When the new rate takes effect (e.g. 'July 1', 'from our next project', 'at your next renewal')"
      • changedInput schema / properties / new_rate / description
        Previous value: -"Your new rate or pricing (e.g. '$150/hour', '$5,000/month retainer', '$2,800 per project')"New value: +"Your new rate (e.g. '$150/hr', '$1,200/day', '$5,500 project')"
      • changedInput schema / properties / project_name / description
        Previous value: -"Name of the ongoing engagement or retainer, if relevant"New value: +"Optional: project or retainer name — useful for retainer_renewal or mid_project scenarios"
      • addedInput schema / properties / rate_type
        Added value: +{
        +  "description": "Optional: 'hourly', 'daily', or 'project' — used to frame the language naturally. Defaults to a neutral 'rate'.",
        +  "type": "string"
        +}
      • addedInput schema / properties / reason
        Added value: +{
        +  "description": "Optional: one-line reason (e.g. 'increased demand for my services', 'cost of living increases', 'I've expanded what I offer'). Keep it brief. Omit if you'd prefer not to justify the increase.",
        +  "type": "string"
        +}
      • addedInput schema / properties / scenario
        Added value: +{
        +  "description": "Optional: 'advance_notice' (default — standard heads-up), 'retainer_renewal' (updating a retainer at renewal), or 'mid_project' (rate change affecting an ongoing engagement — use only when unavoidable, and always include a reason)",
        +  "type": "string"
        +}
      • removedInput schema / properties / value_highlight
        Removed value: -{
        -  "description": "A specific result or achievement from your work together that anchors the value (e.g. 'tripling their newsletter open rate', 'launching three products on time and on budget') — optional but makes the email stronger",
        -  "type": "string"
        -}
      • changedInput schema / properties / your_name / description
        Previous value: -"Your name for the sign-off"New value: +"Optional: your name for the sign-off"
      • changedInput schema / required
        Previous value: -[
        -  "client_name",
        -  "new_rate"
        -]New value: +[
        +  "client_name",
        +  "new_rate",
        +  "effective_date"
        +]
  7. 1 tool updatev1.4.84
    • Addedchange_order_email
  8. 2 tool updatesv1.4.83
    • Addedproject_status_update_email
    • Addedscope_creep_email
  9. 1 tool updatev1.4.81
    • Addedworking_agreement_email
  10. 2 tool updatesv1.4.80
    • Addedclient_material_chase_email
    • Addedmid_project_cancellation_response_email
  11. 1 tool updatev1.4.78
    • Addedservice_package_email
  12. 2 tool updatesv1.4.76
    • Addedclient_offboarding_checklist_email
    • Addedtestimonial_request_email
  13. 2 tool updatesv1.4.75
    • Addedguest_post_pitch
    • Addedlate_payment_escalation_email
  14. 115 tool updatesv1.4.72
    • First observedanalyze_brief
    • First observedannual_review_email
    • First observedavailability_announcement
    • First observedbid_lost_follow_up
    • First observedbrief_confirmation_email
    • First observedbudget_proposal
    • First observedbudget_update_email
    • First observedcapacity_waitlist_email
    • First observedcase_study_outline
    • First observedchange_order
    • First observedclient_anniversary_email
    • First observedclient_brief_template
    • First observedclient_check_in_email
    • First observedclient_decline_email
    • First observedclient_feedback_response_email
    • First observedclient_followup
    • First observedclient_offboarding_email
    • First observedclient_onboarding_checklist
    • First observedclient_satisfaction_survey_email
    • First observedclient_waiting_email
    • First observedcold_pitch
    • First observedcold_pitch_follow_up
    • First observedcompetitor_response_email
    • First observedconference_talk_pitch
    • First observedcontract_renewal_email
    • First observedcontract_sent_email
    • First observedcontract_template
    • First observedcontract_unsigned_follow_up
    • First observedcontractor_nda_cover_email
    • First observeddelete_proposal
    • First observeddeposit_request_email
    • First observeddiscount_request_response
    • First observeddiscovery_call_follow_up_email
    • First observeddiscovery_call_prep
    • First observeddraft_invoice
    • First observeddraft_proposal
    • First observedend_client_relationship_email
    • First observedequity_or_deferred_payment_response
    • First observedexpense_reimbursement_email
    • First observedfeedback_request_email
    • First observedget_proposal
    • First observedimprove_proposal
    • First observedintroduction_email
    • First observedinvoice_correction_email
    • First observedinvoice_cover_email
    • First observedinvoice_dispute_response_email
    • First observedinvoice_reminder
    • First observedlate_delivery_apology
    • First observedlate_payment_reminder
    • First observedlinkedin_post
    • First observedlist_proposals
    • First observedload_examples
    • First observedmeeting_cancellation_email
    • First observedmeeting_recap_email
    • First observedmeeting_request_email
    • First observedmilestone_delivered_email
    • First observednda_template
    • First observednew_service_announcement_email
    • First observedno_response_closure_email
    • First observedonboarding_questionnaire
    • First observedout_of_office_email
    • First observedoverdue_project_timeline_update
    • First observedpartnership_outreach
    • First observedpayment_overdue_final_notice_email
    • First observedpayment_plan_proposal
    • First observedpayment_received_email
    • First observedpayment_reminder_email
    • First observedpodcast_pitch_email
    • First observedportfolio_request_email
    • First observedpost_launch_check_in_email
    • First observedpre_meeting_email
    • First observedprice_increase_email
    • First observedprice_quote_email
    • First observedproject_closure_email
    • First observedproject_completion_email
    • First observedproject_delay_warning
    • First observedproject_extension_email
    • First observedproject_feedback_request_email
    • First observedproject_go_live_email
    • First observedproject_handover_email
    • First observedproject_inquiry_response_email
    • First observedproject_kickoff_email
    • First observedproject_pause_email
    • First observedproject_restart_email
    • First observedproject_scope_acceptance_email
    • First observedproject_status_update
    • First observedproposal_to_email
    • First observedrate_card_email
    • First observedrate_increase_email
    • First observedreactivation_email
    • First observedrecommendation_request_email
    • First observedreferral_request
    • First observedreferral_thank_you
    • First observedreferral_thank_you_email
    • First observedrejection_response
    • First observedretainer_check_in_email
    • First observedretainer_proposal
    • First observedrevision_response_email
    • First observedrush_fee_email
    • First observedsave_proposal
    • First observedscope_change_email
    • First observedscope_clarification_email
    • First observedscope_of_work
    • First observedscope_warning_email
    • First observedsubcontractor_acceptance_email
    • First observedsubcontractor_brief
    • First observedtestimonial_follow_up_email
    • First observedtestimonial_request
    • First observedthird_party_delay_email
    • First observedunclear_brief_email
    • First observedupsell_email
    • First observedusage_status
    • First observedwin_back_email
    • First observedwork_sample_response_email
    • First observedworking_hours_email

TDQS

A3.6/5.0
Disambiguation2/5

The tool set contains numerous overlapping tools, such as multiple types of payment reminders (late_payment_reminder, late_payment_follow_up_email, payment_reminder_email) and follow-ups (client_followup, cold_pitch_follow_up, bid_lost_follow_up). While descriptions attempt to distinguish them, the sheer volume and similarity make it difficult for an agent to select the correct one consistently.

Naming Consistency4/5

Most tools follow a consistent snake_case verb_noun pattern (e.g., save_proposal, list_proposals). However, some tools have inconsistent verb placement or very long names (e.g., conditional_proposal_acceptance_email), and a few lack the 'email' suffix present in most similar tools. Overall, the pattern is clear and readable.

Tool Count1/5

With 156 tools, this server has an excessively large tool surface for a domain that could be covered with far fewer parameterized tools. This overwhelms agents and reduces usability. Most MCP servers in this domain have 5-15 tools.

Completeness4/5

The tool set covers nearly every aspect of freelance client communication, from initial outreach to project completion, invoicing, and testimonials. It is comprehensive and leaves few gaps. However, the completeness is borderline excessive, contributing to the tool count problem.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A local-first MCP server that builds compact voice profiles from writing samples, then compares, rewrites, or generates new text in that voice.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives LLMs tools to manage leads, track pipeline stages, log interactions, and generate reports for a freelancer client pipeline.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that connects AI coding assistants and agentic workflows to the Upwork freelance marketplace. Enables AI-powered job discovery, proposal generation, and contract management through a structured tool interface.
    MIT

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/jabbawocky/proposalcraft'

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