Skip to main content
Glama
hermoso-ai

Hermoso

Official

What to fix next, post by post

diagnose_posts
Read-only

Diagnose underperforming posts to pinpoint whether the issue is the hook, retention, or offer, then get the next edit step.

Instructions

WHAT TO FIX NEXT, post by post — and the tool that fixes it. post_performance tells you which hook is AHEAD; this tells you what is WRONG with a given post and where the next edit goes. Under-distributed is A HOOK PROBLEM (change the opening: mine_angles, then list_hooks, then plan_variations). Seen but not held is A RETENTION PROBLEM (plan_variations to rebuild the middle against the same hook). Seen, held, and still not converting is AN OFFER PROBLEM. FOUR REFUSALS, AND YOU SHOULD REPEAT THEM RATHER THAN PAPER OVER THEM: (1) a post younger than ~24h is TOO EARLY and is never called a failure — it has not had its run; (2) a metric the platform does not publish is UNMEASURED, never zero — Facebook has published no post reach since 2026-06-15, Reddit publishes no impressions, and Google Business publishes nothing per-post at all; (3) below 5 measured posts on a channel there is no baseline of the brand's own, and the ONLY fallback is a published short-video hook floor that is NOT our measured number and does not transfer off TikTok/Instagram/YouTube — it is attributed in the output and you should attribute it too; (4) it does not always find a problem, and 'nothing here needs fixing' is a real answer rather than a failure to look. Hermoso cannot see conversions for an organic post — no channel reports installs or purchases against a post id — so the offer rung runs ONLY when the user tells you they are not converting and you pass converting:false. Print summary verbatim. Read-only, 0 credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNohow many recent posts to diagnose (default 25, max 200). The baseline is always built from EVERY post recorded for the brand, never only these, so a bad month can never become its own definition of normal.
channelNorestrict to one channel: facebook, instagram, threads, x, linkedin, youtube, tiktok, reddit, pinterest
convertingNopass false ONLY when the user has told you these posts are getting seen and are not converting — it re-reads the ones that are earning their reach as an offer problem instead of a win. Omit when you do not know; we cannot measure it.
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces with 'Read-only, 0 credits.' It adds valuable behavioral context not in annotations: that it may return 'nothing here needs fixing' as a real answer, that it cannot see organic post conversions, and that the baseline is built from ALL recorded posts. These details meaningfully improve call quality.

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?

Though long, the description is front-loaded with purpose, uses clear section markers (headers, numbered refusals), and every sentence carries unique information. The structure makes it easy to skim for key rules. The length is justified by the complexity of the diagnostic logic. 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?

Given the tool's complexity, the description is thorough: it covers purpose, usage conditions, the four refusal cases, the converting behavior, output instruction ('Print summary verbatim'), and its read-only nature. There is no output schema, so the description compensates by specifying the call to action. An agent has everything needed to decide when to call and what to expect.

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 each parameter with descriptions, so baseline is 3. The description adds extra meaning: for limit, it states the baseline always uses every post, not just the limited set, preventing a bad month from becoming its own normal; for converting, it clarifies the condition under which converting:false should be passed and that it should be omitted when unknown. This adds 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 clearly states the tool's purpose: 'tells you what is WRONG with a given post and where the next edit goes.' It distinguishes itself from sibling post_performance by contrasting 'which hook is AHEAD' vs 'what is WRONG'. This is a specific verb+resource with clear differentiation from similarly named 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?

The description explicitly explains when to use this tool versus alternatives. It references post_performance for hook comparison, prescribes the sequence 'mine_angles, then list_hooks, then plan_variations' for hook problems, and details the four refusal conditions that tell the agent when NOT to call the tool. It also specifies when the offer rung runs (only with converting:false). This is exemplary.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

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

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