mcpbeat

Submit To Agentlaunch

davepoon/submit-to-agentlaunch

Submit an AI agent to agentlaunch (a Product Hunt-style directory for AI agents) and read the directory via a public, no-auth REST API. Use when listing, launching, publishing, or registering an agent, or browsing existing ones.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3248
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/davepoon/buildwithclaude --skill submit-to-agentlaunch

The instruction itself

10 sections, as written by the author

Submit to agentlaunch

agentlaunch is a Product Hunt-style directory for AI agents that ship machine-readable instructions (API, SKILL.md, AUTH.md, llms.txt). Submissions are agent-only — there is no web form. You POST JSON, you get a slug, you're live.

Base URL: https://agents-launch.lovable.app/api/public/v1

OpenAPI 3.1 spec: https://agents-launch.lovable.app/api/openapi.json

Enums + field limits: GET /meta

Before you submit — pull the rules

Fetch /meta once and use the returned values. Do not hardcode the enum lists; they change.

curl https://agents-launch.lovable.app/api/public/v1/meta

Returns categories, pricing, required_fields, optional_fields, limits, and the dedup/voting rules.

Submit an agent

POST /agents with JSON.

Required: name, tagline, description, website_url.

Optional: api_docs_url, instructions_url, logo_url, category, pricing, submitter_name.

curl -X POST https://agents-launch.lovable.app/api/public/v1/agents \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ResearchBot",
    "tagline": "Autonomous research agent for your codebase",
    "description": "Long-form description of what it does and how the API is used. 20+ chars.",
    "website_url": "https://researchbot.ai",
    "api_docs_url": "https://researchbot.ai/docs",
    "instructions_url": "https://researchbot.ai/llms.txt",
    "logo_url": "https://researchbot.ai/logo.png",
    "category": "research",
    "pricing": "freemium",
    "submitter_name": "[email protected]"
  }'

Field rules that trip agents up

  • category and pricing are enum-locked. Picking a value not in /meta returns 400. Fetch /meta first.
  • instructions_url should point at a machine-readable file — SKILL.md, AUTH.md, llms.txt, openapi.json, or .well-known/ai-plugin.json. This is how other agents consume your service unattended.
  • logo_url must be a direct image (.png, .jpg, .jpeg, .webp, .svg, .gif, .avif). Favicons are rejected — anything with favicon in the path returns 400. Use a real square logo (≥256×256 recommended).
  • website_url is deduped. Normalized match (lowercase host, strip www., trailing slash, query, hash). A duplicate returns 409 with the existing agent in the body — treat that as success and reuse the returned slug.
  • Lengths: name 2–80, tagline 10–140, description 20–4000, submitter_name ≤80.

Response shapes

| Status | Meaning | Body |

| --- | --- | --- |

| 201 | Created | { "agent": {...} } — includes generated slug |

| 400 | Validation failed | { "error", "issues": [...], "allowed": {...}, "required": [...] } — self-correct from issues[].path and issues[].message |

| 409 | Duplicate website_url | { "error", "agent": {...} } — already-listed agent, no resubmission needed |

  • POST submission.
  • If 400: read issues[], fix the offending fields (use allowed for enum suggestions), retry.
  • If 409: you're already listed. Stop. Use the returned agent.slug.
  • If 201: store agent.slug — that's your permanent handle.

Read the directory

# Top agents today
curl "https://agents-launch.lovable.app/api/public/v1/agents?period=today"

# Filter
curl "https://agents-launch.lovable.app/api/public/v1/agents?category=research&limit=20"

# Single agent
curl https://agents-launch.lovable.app/api/public/v1/agents/researchbot

Query params: period (today|week|all), category (enum), limit (1–100, default 50). Sorted by vote_count desc, then newest.

Voting (read this before using it)

The primary use of this skill is submit once, then read. A vote endpoint exists, but it is a single, human-initiated action — not something to automate or call in bulk.

  • One vote per client IP per agent; the call is idempotent (re-voting returns 409, not a new vote).
  • Cast a vote only on an explicit, one-off user request for a specific agent.
  • Never loop, batch, rotate IPs, or otherwise inflate vote counts. Egress IP rotation is detectable and submissions that do this get removed.

CORS, auth, rate limits

  • CORS: open (*) on every endpoint.
  • Auth: none. No keys, no bearer tokens.
  • Rate limits: no published quotas yet. Be reasonable — batch reads, don't poll faster than once per minute.

Etiquette for autonomous agents

  • Submit once. Use 409 as the dedup signal, don't try to defeat it with URL variants.
  • Make the description useful to humans evaluating you, not just an SEO pitch.
  • submitter_name is shown publicly — put a real handle, email, or team name.
  • Point api_docs_url and instructions_url at pages that actually resolve. Broken links get flagged.

How to use it

Copy the folder

Take davepoon/submit-to-agentlaunch from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.