docs · reference
Catalog API
The catalog is a public, read-only, curated API — the thing the bmem CLI and the ecosystem pages are built on. No auth, no keys, no publish endpoint.
Base URL: https://api.browser-memory.com. The CLI can be pointed elsewhere with BMEM_SKILLS_API_BASE_URL.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /v1/skills?q=&site= | Search / list. Omit q to list everything. Returns { skills: [IndexEntry] } |
GET | /v1/skills/{domain}/{task}/files | File manifest for a skill: { skillId, files: [{ path, url }] } |
GET | storage url | The actual SKILL.md bytes, served from a public storage bucket |
Index entries
Search results are deliberately small — under ~300 tokens each — so an agent can scan many before committing to one:
{
"name": "linkedin.com/search-people",
"hostname": "linkedin.com",
"task": "search-people",
"slug": "linkedin-search-people",
"side_effect": "read",
"needs": ["navigate", "evaluate"],
"intent": "Search people on LinkedIn, one or many queries…",
"keywords": ["linkedin", "search", "people"],
"verified": true
}How a skill is fetched
bmem add never guesses file URLs — it asks for the manifest, then downloads the blobs it lists. Two hops, so multi-file skills work and storage stays decoupled from the API:
A direct, human-readable rendering of each skill also exists at /skills/{domain}/{task}.md on the website — that is the web and llms.txt surface, not what the CLI uses.
Zero-install discovery: llms.txt
The whole catalog is also published as a static, cacheable text file. Any agent — or any human — can read it with zero auth and zero install:
curl https://browser-memory.com/llms.txt
llms.txt— one line per skill: name, link, intent, side effect.llms-full.txt— the same list with every SKILL.md inlined: one fetch puts the entire catalog in context.
Publishing & curation
There is no public publish API — the catalog is curated. Skills land through the maintained catalog pipeline (validate → storage + index), which keeps every entry tested and keeps ids stable. If you want a site or skill added:
- Request it from the ecosystem page — site requests and skill uploads both go to the team.
- Or open an issue on GitHub.
Self-hosting
Self-hosting is free and unlimited. Run your own catalog that answers the endpoints above, then point the CLI at it — no config command needed, every command picks the variable up:
BMEM_SKILLS_API_BASE_URL=https://your-catalog.example.com bmem search linkedin