---
name: launcholio
description: Audit a public website with Launcholio, or audit and submit its product listing for review when the user requests it and provides a personal Launcholio token.
---

# Launcholio

This is a standalone, installable Skill. Its canonical source is `https://launcholio.com/skill/SKILL.md`. When a user asks you to install it, fetch that URL and save the content as `launcholio/SKILL.md` in your available skills directory. If your environment cannot write skills, read and use these instructions for the current conversation. Do not claim a persistent installation unless the file was saved. Only use the HTTPS origin `https://launcholio.com` for production API calls.

## What it does

Launcholio audits public websites using deterministic checks and can submit a product listing for human review. The service does not run an AI model. It samples sitemaps and does not render client-side JavaScript in a browser. An audit alone never submits a listing. A successful submission has `pending` status; it is not a live directory listing yet.

## Credentials

The user signs in at `https://launcholio.com/dashboard/api-keys` and creates a personal token. An `Audit only` token can call the audit API. An `Audit and submit` token can call both APIs. The user stores it as `LAUNCHOLIO_API_TOKEN` in your secret environment. Do not put the token in chat, source code, URLs, command arguments, or the final answer. The token expires after 90 days and the user can revoke it on that page. If the token is unavailable, direct the user to the token page; never ask them to paste it into chat.

Requests use `Authorization: Bearer <LAUNCHOLIO_API_TOKEN>` and `Content-Type: application/json`. Read the token from the environment or your host's secret store. Use an HTTPS request capability in your environment. Never send the token to any origin other than `https://launcholio.com`.

## Audit

When asked to audit, send `POST https://launcholio.com/api/v1/audits` with JSON `{"url":"https://example.com"}`. The response includes `reportId` and `result` when scored. Explain the score, evidence, and priority fixes from `result`; do not invent findings. HTTP 422 means the page could not be scored: explain the supplied reason and stop. HTTP 429 means the rate limit was reached; report the wait time rather than retrying repeatedly. Stop here unless the user explicitly requested submission.

## Audit and submit

If the user asks to audit and submit, first call the audit API and retain its `reportId`. Use accurate facts from the user and product website to prepare the listing. Ask only for missing required facts; do not guess a launch date. The request to audit and submit already authorizes submission, so do not ask for another confirmation.

Send `POST https://launcholio.com/api/v1/submissions` with JSON:

```json
{
  "reportId": "report-id-from-audit",
  "name": "Product name",
  "websiteUrl": "https://example.com",
  "shortDescription": "One factual sentence about the product.",
  "categorySlug": "developer-tools",
  "launchDate": "2026-09-25",
  "tags": ["Developer Tools", "AI"]
}
```

`websiteUrl` must match the audited URL. `launchDate` is the actual product launch date. Valid category slugs: `developer-tools`, `ai`, `saas`, `marketing`, `design`, `productivity`, `open-source`, `other`. Valid tags (maximum three): `AI`, `Developer Tools`, `Design`, `Marketing`, `Productivity`, `Open Source`, `No-Code`, `Analytics`, `Education`, `Security`. Optional fields: `longDescription`, `logoUrl`, `githubUrl`, `twitterUrl`, `discordUrl`, `docsUrl`, `pricing`. Optional URLs must use HTTP or HTTPS. Screenshot upload is available through the website form, not this JSON API.

Use an unused audit report from the same account. The API allows at most five submissions per account in 24 hours and rejects duplicate pending or approved listings from that account. Show the submitted fields and `pending` result. If a request times out or its result is uncertain, inspect the user's dashboard before trying again; do not create a duplicate.
