The project's README from github.com/elie222/botdirectory.ai. As one markdown file: README.md.
A community-maintained directory of ready-to-use agent prompts for Grok Bot, Rakazo, and any agent you already use. Copy a prompt, paste it into your agent, and it sets itself up as a scheduled bot — email triage, daily briefings, SEO fixes, churn warnings, and more.
Live site: botdirectory.ai

A bot is one markdown file in bots/:
---
name: SEO Improver
category: Marketing
added_at: "2026-08-18T12:00:00.000Z"
contributor: rakazo
integrations: [GitHub, DataForSEO, Search Console]
integration_urls: { DataForSEO: https://dataforseo.com }
# optional: grok_share_url: https://x.ai/bot/<nanoid-id> (official Add to Grok Bot link)
---
You improve my SEO on a schedule. Walk me through connecting GitHub, DataForSEO and
Google Search Console, then every 2 weeks: find pages losing impressions or sitting
on page two, rewrite titles and metadata, fix internal links, and open a PR I review
before merge.
bots/<slug>.md (slug = name, lowercased,
non-alphanumerics → -).Or skip git entirely: tag @botdirectoryai on X with your prompt and the mention bot opens the PR for you.
Prefer second-person prompts that lead with You…. When you have an official
Grok Bot share link on x.ai, set grok_share_url — we surface Add to Grok Bot
and never rehost packed configs. If you only have the public share-page blurb (not
the private system prompt), put it in frontmatter description and leave the body
empty — we label that Description, not The prompt.
Full contract, category list, and quality bar: CONTRIBUTING.md.
Reads and writes both live on https://api.botdirectory.ai. Full contract:
botdirectory.ai/api/.
GET https://api.botdirectory.ai/api/bots returns listings as paginated JSON.
It accepts q, category, integration, page, limit (maximum 100), and
sort (newest or name). For append-safe synchronization, begin with
cursor=start and reuse the returned sync.nextCursor:
https://api.botdirectory.ai/api/bots?q=slack&category=Ops&page=1&limit=25&sort=newest
https://api.botdirectory.ai/api/bots?cursor=start&limit=100
For mirroring the whole directory in one request, use the canonical raw feed
at https://botdirectory.ai/api/bots.json.
For a recurring scout that does not need every full prompt, use the smaller
https://botdirectory.ai/updates.json feed. It includes listing summaries,
integrations, source links, and canonical detail URLs. The copy-paste setup at
botdirectory.ai/connect/ gives an agent a
safe seen-item workflow around that feed.
Writes need an account. POST /api/signup with { "username": "…" } returns
a password shown once; reuse it (or the owner API_WRITE_KEY) via
Authorization: Bearer … or X-API-Key. Then:
GET /api/me — which account the credential isPOST /api/bots — validates the contribution contract and opens a PR adding
bots/<slug>.md (never pushes main)POST /api/feedback — leave feedback on a listingGET /api/feedback — owner key only; list recent feedbackPeople and bots can subscribe a known user email to curated bot drops with
POST /api/newsletter and { "email": "[email protected]", "source": "bot" }.
The endpoint is keyless and safely deduplicates addresses.
Astro static site, TypeScript, pnpm, no UI framework.
pnpm install
pnpm dev # http://localhost:4321
pnpm build # static build in dist/
pnpm validate # check every file in bots/
pnpm check # astro check (types)
bots/ — the product: one markdown file per botdata/ — integrations (dot color + auth), sponsors, promos, sponsor factssrc/config.ts — every branded string, URL, and knobSponsor slots (the rail next to the list) are monthly and capped. See the sponsor section on the site.
MIT © 2026 Inbox Zero Inc.