Worthtotry Skill
Submit AI tools to WorthToTry by sending their URL and email for a draft listing and founder note review link via email.
Rank
62
Safety
84
Downloads
1.2k
Updated
Oct 11, 2026
Version
0.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.2K downloadsadoption · observed Oct 11, 2026
- Latest release
- 0.1.0release · observed Aug 23, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s176eqk4satpt80gchcg9w0pa1884h56:worthtotry-skill- Install using `clawhub skill install s176eqk4satpt80gchcg9w0pa1884h56:worthtotry-skill` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/fspecii/worthtotry-skill before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-fspecii-worthtotry-skill/snapshot"
Documentation
CLAWHUB
41,253 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: submit-to-worthtotry
description: Use when someone wants their product listed on WorthToTry, the AI tool directory. One POST with their URL and email lists it: no account, no API key and no browser consent screen, and we email them a link that finishes it. Covers writing the listing including the founder's own note, what the readiness checks mean, and the badge worth asking them to add. Also use when they say "submit my tool", "list my product", "launch on WorthToTry", or ask why a listing was sent back.
---
# Submit a tool to WorthToTry
WorthToTry is a directory of AI tools with a weekly launch board. You can do the whole submission
yourself: audit the page, write the listing, and send it. The person you are helping does one thing,
which is opening a link we email them.
Read `references/listing-fields.md` before you write any copy, `references/readiness-checks.md` for
what each audit check means, and `references/rest-api.md` for the endpoint in full. Read
`references/mcp-tools.md` only if the person already has the MCP server connected; the endpoint
below needs nothing set up and is the shorter path.
## The short way, with no account and no browser
`POST https://worthtotry.com/api/v1/submissions` with a JSON body carrying `url` and the owner's
`email`. No token, no OAuth, no consent screen. We email them a link; one click sends the listing
for review and there is nothing else for them to do.
```
curl -X POST https://worthtotry.com/api/v1/submissions \
-H 'content-type: application/json' \
-d '{"url":"https://theirproduct.com","email":"[email protected]"}'
```
### Fill it in yourself. Do not leave it to us.
We read the page and draft a listing from it, and every other directory reads the same page. What
you write is what makes the listing worth reading, and it is the part search has not seen before, so
send all of it:
| Field | Why it is worth your time |
| --- | --- |
| `description` | Ours is extracted. Yours can say what the product does that its homepage does not spell out. |
| `firstComment` | **The founder's own note**, in their words, shown on the listing at launch. Ask them for it. It cannot be written from the product page, and it is the only text here another directory will not also have. |
| `tagline`, `name` | Override ours when the extraction reads oddly. |
| `categories`, `pricing`, `openSource` | Correct these rather than letting a guess stand. |
| `targetKeyword` | The phrase they want to be found by. We leave it empty; it is their decision, not ours. |
Ask the person for the founder note before you submit. "Anything you want to say about why you built
it?" gets a better listing than anything either of us can infer.
### What happens after you submit
You get a response saying we emailed the owner. They open that link and the listing goes for review;
there is no form, no account and no second step. A listing that clears the check goes up on its own,
and anything else waits for a person.
The page they lREADME.md
# submit-to-worthtotry: list an AI tool in under 30 seconds An agent skill that lets Claude, Codex, Cursor, Gemini or any other AI assistant list a product on [WorthToTry](https://worthtotry.com), a free directory of AI tools. The agent reads the product page, runs the readiness checks, writes the listing and submits it. The person it is working for clicks one link in one email, and that is their whole part. No account. No API key. No OAuth screen. No MCP server to install. ## The whole thing Say this to your agent: ``` Install the skill at https://worthtotry.com/skill.md and list my product on WorthToTry. ``` That is the short path and it needs nothing set up: the skill is one Markdown file at a URL, and an agent fetches it the way it fetches any other page. If you would rather keep a copy, pinned to a version or on a machine with no network, clone this repository into your skills directory instead: ```bash git clone https://github.com/fspecii/worthtotry-skill ~/.claude/skills/submit-to-worthtotry ``` Setup for Codex, Cursor, Windsurf and Gemini is at the bottom of this page. ## Where the 30 seconds comes from It is measured against production rather than estimated: 0.24s to fetch the skill, 1.7s to audit the page and draft the listing, and 6s for the whole submission call including the logo fetch and the email. The agent's side is under ten seconds of network work; the rest is somebody pasting one sentence. What it deliberately does not claim is that the listing is *live* in 30 seconds. That waits on a person opening their inbox, and then on a review. ## What the agent actually does | Step | What happens | | --- | --- | | Reads your page | Fetches the URL and extracts the title, description, logo and pricing | | Audits it | Seven readiness checks, each with a specific fix it reports back | | Writes the listing | Name, tagline, description, categories, pricing, within the field limits | | Asks you one thing | The founder's note, in your words. It cannot be written from your page | | Submits | One `POST` carrying the URL and your email address | | Hands back | The badge snippet, and what is still yours to do | ## What it cannot do The skill states this in its opening lines, because an agent that oversells what it can do is worse than no agent. - It cannot confirm the submission. That takes the link emailed to the address on it, so a listing cannot appear for a product whose owner never agreed to it. - It cannot decide whether the listing is published. Every submission is reviewed, and anything the review will not pass waits for a person. - It cannot choose a launch date or pay for anything. There is no endpoint that would let it. ## What is in here | File | What it covers | | --- | --- | | `SKILL.md` | The workflow: audit, draft, submit, hand back | | `references/listing-fields.md` | Field limits, categories, the no-links rule | | `references/readiness-checks.md` | The seven audit checks and the fix for each | | `referenc
_meta.json
{
"ownerId": "kn78723fxbzx59hd67ysawak0n81fsmq",
"slug": "worthtotry-skill",
"version": "0.1.0",
"publishedAt": 1787496777428
}references/listing-fields.md
# Listing fields Limits are enforced by the validator. Copy that overruns is rejected with an error, not truncated. ## The draft | Field | Limit | Rules | | --------------- | ----: | ------------------------------------------------------------------------------ | | `name` | 40 | Required. The product's name, not a sentence. | | `tagline` | 60 | Required. No trailing period — it is rejected. | | `description` | 600 | Required, minimum 40 characters. At least a couple of sentences. | | `targetKeyword` | 100 | Optional. One keyword, no commas. Leave empty unless the person supplies it. | | `firstComment` | 200 | Optional. **No links.** Browser form only — you cannot set it. | | `categories` | 3 | At least 1, at most 3, no repeats. | | `screenshots` | 5 | At least 1 required before review. Captured in the browser; you cannot supply. | Also on the draft, and not settable by you: - **logo** — required before review. Extracted from the page when the `logo` check passes, otherwise uploaded in the browser. - **launchDate** — must be in the future. The person's choice; null means it publishes as soon as a moderator approves. - **twitterHandle** — 1 to 15 letters, numbers or underscores, no `@`. You may pass this. - **demoVideoUrl** — YouTube or Loom only. Browser form. ## Writing the copy `name` is the product name. Do not append a category or a slogan to fill the 40 characters. `tagline` says what it does for whom, in one line, with no full stop at the end. Write it so it reads under the name on a card, not as a headline. `description` is 40 to 600 characters. Lead with what the product does, then who it is for. Do not restate the tagline. Do not open with "In today's fast-paced world" or any variant. No feature bullets padded to reach the ceiling — a tight 200 characters beats a padded 590. `targetKeyword` decides how the listing page is optimised for search. Leave it blank unless the person names one. A guess here is worse than an empty field, and the audit deliberately never suggests one. ## Pricing One of: `free`, `freemium`, `paid`, `subscription`, `one_time`, `contact`. The audit defaults to `contact` when the page does not say. Do not upgrade that to `free` because a free tier looks likely — pick what the page actually claims, or leave the default and ask. ## Categories At least one, at most three. Pass slugs; display names also resolve. Pick the categories a buyer would browse, not every one that could apply. | Slug | Name | Slug | Name | | ------------------ | ---------------- | ---------------- | -------------- | | `ai` | AI | `marketing` | Marketing | | `analytics` | Anal
references/mcp-tools.md
# MCP tools
Endpoint: `https://worthtotry.com/api/mcp/` — Streamable HTTP.
Every tool returns its payload twice: as JSON text in `content`, and as the same object in
`structuredContent`. Parse `structuredContent`.
A failing tool returns `isError: true` and a single text message. That message is written for you to
relay — pass it on rather than inventing your own wording.
## Authorization
| Tool | Needs authorization |
| ---------------------------- | ------------------- |
| `search_tools` | No |
| `get_tool` | No |
| `list_categories` | No |
| `check_submission_readiness` | No |
| `submit_tool` | Yes |
| `get_my_submissions` | Yes |
Authorization is OAuth 2.1 in the browser. The first call to a protected tool returns a 401 carrying
a `WWW-Authenticate` challenge; a compliant client discovers the authorization server from it,
registers itself, and opens a consent page. The person approves once. Scopes:
- `submit` — open draft listings on their behalf
- `read:submissions` — see the listings they have submitted and their status
Access tokens are short-lived and refreshed by the client. You never handle one.
---
## `search_tools`
Find listings in plain language.
| Argument | Type | Default |
| ------------ | ------------------------------------------------------------ | ------- |
| `query` | string, max 120 — matched against name, tagline, description | — |
| `category` | string — a category slug, e.g. `developer-tools` | — |
| `pricing` | `free` `freemium` `paid` `subscription` `one_time` `contact` | — |
| `openSource` | boolean | — |
| `sort` | `newest` or `top` (`top` ranks by upvotes) | — |
| `limit` | integer 1–50 | 10 |
| `cursor` | string — pass back `nextCursor` from the previous call | — |
Returns `{ items, nextCursor }`. Each item: `slug`, `name`, `tagline`, `url`, `categories` (display
names), `pricing`, `openSource`, `upvotes`, `toolUrl`.
`nextCursor` is opaque. Do not construct one; page by passing back what you were given, and stop
when it is null.
## `get_tool`
| Argument | Type |
| -------- | ------------------------------------- |
| `slug` | string — the slug from `search_tools` |
Returns `slug`, `name`, `tagline`, `description`, `url`, `categories`, `pricing`, `openSource`,
`upvotes`, `commentCount`, `twitterHandle`, `launchDate`, `toolUrl`.
Errors if the slug does not exist or the listing is not published.
## `list_categories`
No arguments. Returns `{ items }` of `{ slug, name, toolCount }` for every category that has at
least one puAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/fspecii/skills/worthtotry-skill",
"sourceUrl": "https://clawhub.ai/fspecii/skills/worthtotry-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T01:36:03.658Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fspecii-worthtotry-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fspecii-worthtotry-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T01:36:03.658Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.2K downloads",
"href": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceUrl": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T01:36:03.658Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.0",
"href": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceUrl": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-23T14:52:57.428Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fspecii-worthtotry-skill/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fspecii-worthtotry-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.0",
"description": "- Initial release allowing users to draft and submit a product listing to WorthToTry using a simple POST with URL and owner's email. - Detailed, step-by-step instructions for auditing the product page, writing key listing fields, and communicating readiness checks. - Clarifies the submission flow: agent can only draft, while the owner must finalize via an emailed link. - Explains the importance and handling of the \"badge\" for verified listing status. - Notes strict limitations: agents cannot publish, pay for, or finalize listings; always require owner action to complete submission. - Lists and explains all readiness checks and correct responses for both agents and owners.",
"href": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceUrl": "https://clawhub.ai/fspecii/worthtotry-skill",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-23T14:52:57.428Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
