Skip to main content
Glama
hermoso-ai

Hermoso

Official

Competitor teardown

competitor_teardown
Read-only

Turn a competitor's ads into an actionable playbook: hook mixes, winning themes, white space, and counter-plays for your brand. Pass ads or auto-pull Meta ads.

Instructions

Tear a competitor's ad strategy down into an actionable playbook: their opening-hook MIX, longest-running campaign THEMES, the WHITE SPACE nobody in their set runs, 2-3 render-ready COUNTER-PLAYS, and the territories they own that you should avoid. Pass competitor {name, domain?}. CONTRACT: supply ads (raw ad objects from a prior pull_competitor_ads / search_meta_ads call) to tear exactly those down, OR omit ads and this pulls the competitor's real Meta ads first (spends a credit or two, longest-running = proven winners). Auto-tailors the white space + counter-plays to YOUR saved brand. Spends credits (free when you pass ads).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adsNoad objects to tear down (from pull_competitor_ads / search_meta_ads). Omit to auto-pull their Meta ads first.
languageNooutput language (default English)
competitorYesthe competitor to tear down

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.161
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "adCount": {
      -      "description": "how many ads were analyzed",
      -      "type": "number"
      -    },
      -    "teardown": {
      -      "description": "the playbook — hook_taxonomy, campaigns, white_space, counter_plays, not_saying"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses that omitting `ads` triggers a live Meta ads pull that 'spends a credit or two', and that passing ads makes it free. It also explains the auto-tailoring to the saved brand and that 'longest-running = proven winners', providing meaningful behavioral detail not available from annotations alone.

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?

Although longer than a typical one-liner, every sentence carries unique operational information: purpose, deliverables, contract for ads, credit cost, and personalization. The structured 'CONTRACT:' marker and front-loaded outcome ('actionable playbook') make it easy to parse despite the density.

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 what the tool produces (a componentized playbook), how to control input (ads vs. auto-pull), cost behavior, personalization, and the source of data. With no output schema, the description's enumeration of the playbook sections is essential and sufficiently complete for an agent to 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?

The schema already has full 100% coverage, so the bar is at 3. The description adds value by clarifying the credit implication of omitting `ads`, calling them 'raw ad objects', and reinforcing that `domain` refines the auto-pull page match. This is modest but genuine added semantics 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 identifies the verb ('Tear ... down') and the resource ('a competitor's ad strategy'), then enumerates the exact deliverables (hook mix, themes, white space, counter-plays, avoided territories). This makes it easily distinguishable from sibling tools like pull_competitor_ads or research_ads, which remain precursors or broader alternatives.

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 concrete workflow: pass `competitor` and either supply `ads` from a prior pull or let the tool auto-pull. It explicitly states the trade-off (credit spend vs. free with ads), giving an agent clear guidance on when to choose each path. It does not explicitly list alternatives or exclusions, but the context is sufficient.

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

Deploy Server

Other Tools