Skip to content

feat(tools-registry): update tako-search entry - #18386

Open
robertabbott wants to merge 3 commits into
vercel:mainfrom
robertabbott:feat/tako-registry-update
Open

feat(tools-registry): update tako-search entry#18386
robertabbott wants to merge 3 commits into
vercel:mainfrom
robertabbott:feat/tako-registry-update

Conversation

@robertabbott

@robertabbott robertabbott commented Aug 4, 2026

Copy link
Copy Markdown

Updates the existing tako-search entry in content/tools-registry/registry.ts for @takoviz/ai-sdk 3.0.0. One file, +8/-6. No new entry and no new page — the listing already renders at /resources/tools/tako-search.

The code example demonstrated the routing the tool argues against

This was the substantive problem, and it is why the example changed rather than just the metadata.

The entry prompted 'What is the stock price of Nvidia?' against takoSearch. The package's own takoSearch description — shipped in 3.0.0, read out of the published tarball — says:

For a plain "what is X" where you only need the figure, use the answer tool instead.

So the card showed a single-figure lookup routed to the one tool the package tells the model not to use for it. It compiled and ran, which is why it survived; it just taught the wrong thing.

The new prompt asks the kind of question somebody evaluating the package would actually ask, and it is a breadth question rather than a single figure — which is what takoSearch is for. The example also passes the full toolset, the way the package's own README does, consistent with superagent, you-search, bedrock-agentcore and nitrosend, which already show more than one tool.

Note the prompt string uses double quotes, because it contains an apostrophe. Every other prompt in this file is single-quoted and none contain one, so this is the first exception. node --check on the extracted example confirms it parses exactly as a reader would copy it; oxfmt does not reach inside a template literal, so it has no opinion here.

Field changes

Field Before After
description Describes takoSearch only Leads with the two-knowledge-sources pitch and maps all three tools
codeExample Single-figure prompt, one tool Chart request, full toolset
docsUrl github.com/TakoData/ai-sdk#readme docs.tako.com/documentation/integrations/vercel-ai-sdk
apiKeyUrl https://tako.com https://tako.com/console/api-keys
tags 4 tags adds extraction

description — the previous text described takoSearch alone, so the card understated a package that exports three tools. Rewritten against Tako's own positioning, which leads with the part that was missing entirely: Tako returns curated structured data and live web search from one API, so an agent need not choose between a data API that misses most questions and a search API that makes the agent read the pages itself. The new text also maps each tool to what it returns.

440 characters, against a median of 232 and a maximum of 505 in this file. Leads with the product name, matching exa, valyu and firecrawl. Deliberately contains no apostrophe, so single quotes remain correct under singleQuote: true — the previous value needed double quotes for one.

docsUrl is the card's "Learn More" link and landed on a GitHub README. Repointed at the integration guide, matching how neighbouring entries link to vendor-hosted pages (exadocs.exa.ai/reference/vercel, tavilydocs.tavily.com/documentation/integrations/vercel, firecrawldocs.firecrawl.dev/integrations/ai-sdk, valyudocs.valyu.ai/integrations/vercel-ai-sdk).

apiKeyUrl is the "Get API Key" button and pointed at the site root. It now points at the key page.

extraction is already used by five entries in this file, and takoContents extracts web page text, so the tag applies.

Verification

The contributing guide asks for an example that is tested, so it was executed rather than only typechecked:

tools called: ["takoSearch","takoContents"]
tool errors:  0
answer chars: 515

takoSearch returns a "Top Performing Stocks" card plus five web results; the model then calls takoContents to read the rows behind the card, and the answer names real tickers with their percent change.

  • Example executed end to end against ai@7 and @takoviz/ai-sdk@3.0.0 — the model reaches for takoSearch, then takoContents to read the rows behind a card. Zero tool errors.
  • The extracted example passes node --check
  • registry.ts typechecks under --strict
  • oxfmt 0.62.0 with this repo's .oxfmtrc.jsonc reports no changes
  • Both new URLs return 200
  • Content-only, so no changeset (per CONTRIBUTING.md: changesets are not needed for docs)
  • Branched from current main

Two deviations were needed to run it locally, neither affecting the published example: openai('gpt-5.2') instead of the plain 'openai/gpt-5.2' string, because that string routes through AI Gateway and only a direct OpenAI key was available; and an explicit Tako baseUrl, because the key on hand was not a production one. The example in the entry keeps the plain model string used by other entries in this file.

Also worth stating: the prompt was chosen from measurement, not taste. A first attempt — 'Compare Nvidia and AMD revenue growth over the last decade' — produced a good answer but routed to takoAnswer twice and never called takoSearch, which is odd for an entry named "Tako Search". Several candidates were run before settling on one that exercises the named tool.

One caveat a maintainer should have rather than discover: today's makes this prompt time-sensitive. It was run on a weekday; over a weekend or a market holiday the card reports the last trading session, which is still a correct answer but not literally today. That is a property of the question, not of the tool.

Deliberately unchanged

  • slug stays tako-search, so the existing URL keeps working.
  • name stays "Tako Search". "Tako" would fit the package better now that it is three tools, but renaming the card is gratuitous churn and the slug would no longer match.
  • model: 'openai/gpt-5.2' is current and used by other entries here.
  • installCommand, npmUrl, websiteUrl, apiKeyEnvName are all correct.

Supersedes

This replaces #18380 and #18355, both of which will be closed. #18380 changed three metadata fields and explicitly left codeExample alone; #18355 proposed a community-provider page, which is the wrong home — @takoviz/ai-sdk exports tools rather than implementing a provider interface, so the tools registry is the right listing.

robertabbott and others added 3 commits August 3, 2026 19:57
Brings the existing entry in line with @takoviz/ai-sdk 3.0.0.

The code example was the substantive problem. It prompted "What is the stock
price of Nvidia?" against takoSearch, and the package's own takoSearch
description tells the model the opposite: "For a plain 'what is X' where you only
need the figure, use the answer tool instead." So the card demonstrated the one
routing the tool argues against. Replaced with a chart request across two
entities, which is what search is for, and the example now passes the whole
toolset the way the package's README does.

Verified by running it, not just compiling it: the model calls takoSearch twice
and takoContents twice, with zero tool errors.

Other fields:
- description covered takoSearch alone; the package exports takoSearch,
  takoAnswer and takoContents.
- docsUrl pointed at a GitHub README; repointed at the integration guide, matching
  how exa, tavily, firecrawl and valyu link to vendor-hosted pages.
- apiKeyUrl pointed at the site root, leaving the reader to find the key page.
- tags gains "extraction", an existing tag in this file that takoContents fits.

slug and name are unchanged, so /resources/tools/tako-search keeps working.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rewrites the description against Tako's own positioning at
docs.tako.com/documentation/getting-started/what-is-tako/overview, which leads
with the thing the previous text left out: Tako returns curated structured data
and live web search from one API, so an agent does not have to choose between a
data API that misses most questions and a search API that makes the agent read
the pages itself.

The new text also maps the three exported tools onto what each returns, which the
docs do explicitly and which the entry could not, having described only search.
Coverage list follows the docs rather than the longer list in the package's tool
descriptions.

440 characters, against a median of 232 and a maximum of 505 in this file. Leads
with the product name to match exa, valyu and firecrawl. Contains no apostrophe,
so single quotes stay correct under `singleQuote: true` — the previous value
needed double quotes for one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Replaces the chart prompt with "What are today's top performing stocks?", a
question closer to what somebody evaluating the package would actually ask.

Verified by running it: the model calls takoSearch, which returns a "Top
Performing Stocks" card plus five web results, then takoContents to read the rows
behind the card. Zero tool errors, and the answer names real tickers with their
percent change. The previous prompt exercised the same two tools, so this is a
readability change rather than a behavioural one.

The prompt string uses double quotes because it contains an apostrophe. Every
other prompt in this file is single-quoted and none contain one, so this is the
first exception; `node --check` on the example text confirms it parses as a reader
would copy it. oxfmt leaves it alone, since a formatter does not reach inside a
template literal.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant