Skip to content

feat(alexandria): default search to web, alexandria, and skills (1.28.1) - #360

Open
developersdigest wants to merge 17 commits into
mainfrom
cursor/alexandria-exchange-updates-c2ef
Open

developersdigest wants to merge 17 commits into
mainfrom
cursor/alexandria-exchange-updates-c2ef

Conversation

@developersdigest

@developersdigest developersdigest commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Updates the Alexandria CLI for the latest Exchange changes and bumps the package to 1.28.1. With an API key and no --sources, search sends web, alexandria, and skills. Main already published 1.28.0, so this release note moved forward. This does not publish to npm or tag a release. Rebased onto current main.

Commands and flags

The skills surface is four operations: list, read, create, and update. skills list|read|create|update are the same commands as find-skills, read-skill, create-skill, and update-skill.

  • find-tools retries once when the scrape returns HTTP 503 query_embed_unavailable. It waits for Retry-After and never longer than 3 seconds, reuses the same request id, and if the second attempt fails prints retryable: true with a message to run the command again.
  • There is no sharing option. skills create sends from, name, description, body, and slug. skills update sends id, baseVersion, name, description, body, enabled, and discoverable. Both accept --body-file in place of --body and --request-id to retry the same save. --enabled and --discoverable turn a skill off or hide it. There is no delete, and no Exchange route was added for sharing.
  • A successful skills create or skills update prints https://www.firecrawl.dev/app/alexandria/skills/<slug>, using the slug without the team: prefix, and includes that link as url in --json. Exchange sharePath (/skills/s/<publicId>) is not used.
  • skills list takes a natural-language goal. Official and provider skills are ranked semantically; team skills still match every word. --provider <provider> sends provider, q, and page and follows pages until the catalogue is covered (including when Exchange omits total). It matches provider.slug and plugin.id and does not re-filter the server's ranking by literal words. A named provider includes the execution-only skills Exchange returns for it. The unfiltered catalogue does not call the provider-skills endpoint.
  • skills read reads a Firecrawl or team skill by id. --provider, --plugin, and --skill read a provider skill; --file reads its file (GET /exchange/provider-skills/:provider/:plugin/:skill/file).
  • search accepts skills in --sources. With an API key and no --sources, it sends web, alexandria, and skills. An explicit --sources list is used as given (alexandria is still added when a key is set). A search without a key does not add skills. When the response includes data.skills (id, name, description, source official or provider, optional provider slug, similarity), search prints a Skills section after web results and tools. Official and team cards hint firecrawl skills read <id>. Provider cards hint firecrawl skills read --provider <provider> --plugin <plugin> --skill <skill>. --json includes the same cards. A response without data.skills is unchanged.
  • No --async flag. People Data Labs async enrichment stays execution-only.

Provider skills are forwarded

apps/api in firecrawl/firecrawl does forward them. GET and PATCH /exchange/provider-skills{/*path} proxy to Exchange /v1/provider-skills (FORWARDED_PATH_ROOTS, Labs rate limit, no exchangeRetrieve requirement; firecrawl/firecrawl#5487). POST, PUT, and DELETE are not registered. The CLI only lists and reads, so it uses GET. Search skill cards use POST /v2/search with source skills (firecrawl/firecrawl#5560).

Prices

src/utils/alexandria-prices.ts records merged execution prices:

  • Carbon Arc: 1000 credits per call.
  • Influencers.club: the live capability schedule (connected socials 165 per call, search 45 per creator returned or 56 with return_filter_values, similar creators 50, audience overlap and full enrich 330, and the remaining enrich, content, and free dictionary lookups).
  • People Data Labs (#1144, now merged): person/enrich and person/identify 60 per successful call; person/search, person/bulk, company/search, and company/bulk 50 per returned or matched record; company/enrich 50 per successful call; preview, IP enrich, and jobs endpoints 1; cleaners and autocomplete 0. Misses are free.

list and find-tools fill a missing discovery price from that catalog when --include-costs is set. search always omits tool prices.

Tests

Integration coverage is in src/__tests__/alexandria-beta.test.ts (retry cap, unknown --shared rejected, --enabled and --discoverable on update, the app skill link on create and update, --provider query and paging against the live object shape, paging when total is omitted, provider read with --file, default skills on search). Search skill cards, the default source list, and the list-query help are in src/__tests__/commands/search.test.ts. Price and helper checks are in src/__tests__/utils/alexandria-prices.test.ts.

Open in Web Open in Cursor 

Summary by cubic

Updates the Alexandria CLI for the latest Exchange changes and bumps the package to 1.28.1 without publishing to npm or tagging a release. With an API key and no --sources, search now sends web, alexandria, and skills.

Skills

  • Merging main retires the github search category and research search-github; 2xx Exchange envelopes reporting success false are now treated as errors across skill and tool calls.
  • find-tools retries once on HTTP 503 query_embed_unavailable, honoring Retry-After capped at 3 seconds and reusing the request id; a second failure prints retryable: true. The printed request id is also sent as X-Request-ID.
  • With an API key, search sends web, alexandria, and skills unless --sources is set; an explicit list is kept as given, and a keyless search adds nothing. A discovery refusal retries only when every discovery source was added by the CLI.
  • skills list takes a natural-language goal and lists provider-published skills with --provider, including execution-only skills, capping results at 20 by default. It handles flat and grouped payloads, keeps paging when Exchange omits total, and keeps provider skills without an id; team skills still match every word.
  • read-skill reads a provider skill with --provider, --plugin, and --skill, or its file with --file, and fails when the file cannot be loaded.
  • create-skill and update-skill send from/name/description/body/slug and id/baseVersion/enabled/discoverable; Exchange accepts no sharing option, and --enabled false or --discoverable false turn a skill off or hide it. A successful save prints the app skill page, included as url in --json.
  • search prints a Skills section after web results and tools when data.skills is present and includes it in --json; the skill id line and the read hint print only when the card has an id. Read hints quote provider, plugin, skill, and id values that are not plain tokens. A response without skills is unchanged.

Retries and prices

  • Merged prices record Carbon Arc (1000 per call), Influencers.club (per-capability, 56 for search with return_filter_values, 20 for a TikTok transcript), and People Data Labs (misses free). list and find-tools fill missing discovery prices from the catalog with --include-costs; search always omits tool prices. People Data Labs async enrichment stays execution-only and has no flag.

Written for commit 7e6bf93. Summary will update on new commits.

View guided diff Turn on auto-fix

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread README.md Resolved
Comment thread src/commands/alexandria.ts Resolved
Comment thread src/commands/alexandria.ts Resolved
Comment thread src/__tests__/alexandria-beta.test.ts Resolved
Comment thread src/__tests__/alexandria-beta.test.ts Resolved
Comment thread src/utils/alexandria-prices.ts Resolved
Comment thread src/utils/alexandria-prices.ts Resolved
Comment thread src/__tests__/alexandria-beta.test.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 5 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Adds a capped find-tools retry, new shared/provider-skill CLI behavior, and surfaces a merged execution price catalog in list/find-tools output; the retry, output-contract, and pricing decisions need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files (changes from recent commits).

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/commands/alexandria.ts Resolved
Comment thread src/commands/alexandria.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 2 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Adds a capped find-tools retry, new provider-skill list/read commands, and surfaces a hard-coded execution-price catalog into list/find-tools output; the retry policy, price values, and CLI output changes need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cursor cursor Bot changed the title feat(alexandria): retry find-tools, share skills, and refresh prices feat(alexandria): retry find-tools, list provider skills, and refresh prices Nov 2, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 5 files (changes from recent commits).

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/commands/alexandria.ts Resolved
Comment thread README.md Resolved
Comment thread src/commands/alexandria.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 5 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would not auto-approve. Auto-approval blocked by 1 unresolved P0–P2 issue from previous reviews.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 4 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Reworks Alexandria CLI: find-tools retry, provider-skill listing, skills create/update changes (--shared removed), and hard-coded prices exposed. The retry policy, price values, and CLI-contract change need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 8 files (changes from recent commits).

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread README.md Resolved
Comment thread src/commands/search.ts Resolved
Comment thread src/commands/alexandria.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 6 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Expands the Alexandria CLI with skills commands, provider-skill listing, search skill cards, find-tools retry, and hard-coded prices; dismissed findings are fixed, but new retry/price/CLI-contract decisions need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 7 files (changes from recent commits).

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread CHANGELOG.md Resolved
Comment thread src/commands/search.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 3 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Feature expansion: new skills commands, an authenticated default alexandria-skills search source, find-tools retry/backoff, and a hard-coded price catalog require product/operational sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

@cursor
cursor Bot force-pushed the cursor/alexandria-exchange-updates-c2ef branch from 6b72b73 to a75a529 Compare November 4, 2026 13:23
@cursor

cursor Bot commented Nov 4, 2026

Copy link
Copy Markdown

@cubic review

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

@cubic review

@cursor[bot] I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 12 files

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/commands/alexandria.ts Resolved
Comment thread src/commands/alexandria.ts Resolved
Comment thread src/commands/search.ts Resolved
Comment thread CHANGELOG.md Resolved
Comment thread src/commands/alexandria.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files (changes from recent commits).

Shadow auto-approve: would require human review. Adds find-tools 503 retry, provider skill listing/reading, and a merged price catalog; the retry policy and the new default alexandria-skills search source are tradeoffs that need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread CHANGELOG.md Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 2 files (changes from recent commits).

Shadow auto-approve: would require human review. Adds a 3-second-capped automatic retry for find-tools and adds alexandria-skills to the default keyed search sources; both are operational and default-surface tradeoffs that need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread README.md Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 2 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Broad Alexandria CLI feature expansion: new skills commands, default authenticated searches now include alexandria-skills, find-tools gains retry/backoff, and a hard-coded price catalog changes user-facing and operational behavior.

View guided diff | Turn on auto-fix | Re-trigger cubic

Retry a find-tools 503 query_embed_unavailable once, honoring Retry-After
up to 3 seconds. Add --shared to create-skill and update-skill, list and
read provider-published skills, and record the merged Carbon Arc,
Influencers.club, and People Data Labs prices. Bump the version to 1.27.0.
Show merged catalog prices on find-tools and list when --include-costs is set, and price the Influencers.club search and transcript variants. Cap find-skills at 20, fail a provider read that cannot load SKILL.md, and cover shared create plus the file payload. Drop the flaky retry deadline.
skills list --provider returns that provider's published skills and omits
execution-only skills. skills read takes --provider, --plugin, and --skill,
with --file for the skill file. create and update are unchanged. find-skills
and read-skill remain the same commands.
Inherit provider and plugin from a grouped Exchange payload before
filtering a provider listing, and treat execution-only markers the same
regardless of case or underscores.
Exchange create and update reject a sharing option, so the CLI no longer
offers --shared. Update still sends enabled and discoverable.

Provider lists send provider and q, follow pages, and match provider.slug
and plugin.id, including execution-only skills Exchange returns for a
named provider.
A successful create or update prints
https://www.firecrawl.dev/app/alexandria/skills/<slug>, using the slug
without the team: prefix, and includes that link as url. The Exchange
sharePath is not used.
Keep requesting provider skill pages until a short or empty page when
Exchange omits total. Match a query before deduplicating, so an earlier
non-matching copy cannot hide a later hit. Document --body-file and
--request-id on skill writes.
When search returns data.skills, show those cards after web results and
tools and include them in --json. A response without the field is
unchanged. The skills list query is a natural-language goal: official
and provider skills are semantic, and team skills still match every word.
A provider skill card prints skills read --provider, --plugin, and
--skill. Official and team cards still use the skill id. Provider list
queries stay semantic: the server ranks q, and the CLI no longer
requires every query word.
With an API key and no --sources, search sends web, alexandria, and
alexandria-skills. An explicit source list is kept, and a search without
a key does not add skill cards. A discovery refusal still retries
without the sources the CLI added.
A discovery refusal is retried only when every discovery source was
added by the CLI. An explicit alexandria-skills request is not retried.
The changelog notes that a key still adds alexandria to an explicit
source list.
Main already published 1.28.0. Format the search options table so the skill-source default sits with main's scrape flags.
Treat a 2xx Exchange envelope with success false as an error, send the
printed request id as X-Request-ID, and keep provider skills that have no
id. Skill cards print the id on its own line, and the changelog mentions
--body-file and --request-id.
A card with no id omits the ID line. The changelog and README now match that.
A search skill card prints a read command only when the card has an id.
The README and changelog say that a card without an id omits the hint.
The API source is skills. With an API key and no --sources, search still
sends web, alexandria, and skills.
@cursor
cursor Bot force-pushed the cursor/alexandria-exchange-updates-c2ef branch from ede0a12 to bdc81d5 Compare November 4, 2026 16:21
@cursor cursor Bot changed the title feat(alexandria): retry find-tools, list provider skills, and refresh prices feat(alexandria): default search to web, alexandria, and skills (1.28.1) Nov 4, 2026
@cursor

cursor Bot commented Nov 4, 2026

Copy link
Copy Markdown

@cubic review

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

@cubic review

@cursor[bot] I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 12 files

Shadow auto-approve: would not auto-approve because issues were found.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/commands/search.ts Resolved
API provider, plugin, and skill values are copied into a shell command.
Quote any argument that is not a plain token, including the skill id.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 2 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would require human review. Broad Alexandria CLI feature expansion: default keyed searches now add skills and print skill cards, new skills command set, merged price catalog, and find-tools retry; these change user-visible and operational behavior and need human sign-off.

View guided diff | Turn on auto-fix | Re-trigger cubic

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants