Title94/100
Extract website
The title clearly communicates the tool’s action and subject. Keep it concise.
Description98/100
Extract the brand system of a website from its URL. Use the result to replicate a site, build new on-brand pages or whole websites that follow the brand, or find visually similar brands. Starts an asynchronous extraction job and returns immediately. Typical flow: 1. extract_website(url) -> returns a `brand_submission_id`. 2. poll_brand_extraction(brand_submission_id) -> poll until `status` is "completed" (or "failed"). 3. get_website_result(brand_submission_id) -> read the brand system. Pass sections=["colors", "typography"] to extract only those sections. Pass sections=["brand_assets"] for hosted, judged campaign images and semantic labels from external sources. Enabled full extractions include this section. Dependencies still run when needed; layout-dependent selections may take similar time to a full extraction. Omit sections to extract the full brand, which is required for search_similar_brands. Caching: a recent full extraction of the same URL can be reused, including for a selective request (only requested sections are returned). Selective results are stored for retrieval but never used as cache sources. poll_brand_extraction reports `cache_hit: true` on reuse. A cache hit is faster but NOT free -- every extract_website consumes 2 credits, cache hit or not. Pass force=true to force a fresh re-extraction (also billed). To re-read a result you have already paid for without spending again, call get_website_result with its existing brand_submission_id (or find it via list_brand_extractions) instead of submitting the URL again. Local pages: a server on localhost is not reachable from the Taste Engine. Expose it over the Tastelabs SSH tunnel (steps in the server instructions) and pass the printed http://crawl-<uuid> URL. Tunnel aliases are never cached, so each call re-extracts whatever is published behind the alias. Returns: {submission_id, status, source_url, accepted_at}. `submission_id` is the brand_submission_id to pass to the other tools. `status` begins as "accepted" and advances through queued/crawling/extracting.
The description explains the capability, when to use it, and what to expect.
Inputs92/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
url
Website URL to extract, including the scheme (e.g. 'https://stripe.com'). Must be reachable from the Taste Engine: a public URL, or a Tastelabs SSH tunnel alias ('http://crawl-<uuid>') for a page served on localhost -- see the server instructions for the tunnel steps.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
force
If true, bypass the cache and run a fresh extraction even when a recent result for this URL exists. Set this when a cached result looks wrong or out of date (e.g. the site has changed since it was last extracted). Default false reuses a cached result when available, which is faster but still costs 2 credits; caching saves time, not credits.
Clear enough to supply this argument.
sections
Sections to extract, e.g. ['colors', 'typography']. Omit or pass null for a full extraction; an empty list is invalid. Runs only required activities and their dependencies, and returns only requested sections. Unlike the sections filter on get_website_result, this controls extraction work.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"title": "Extract website",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}Output schema67/100
Describe the returned fields so an agent can interpret the result.
View output schema
{
"type": "object",
"required": [
"submission_id",
"status",
"source_url",
"accepted_at"
],
"properties": {
"status": {
"enum": [
"accepted",
"queued",
"crawling",
"extracting",
"completed",
"failed"
],
"type": "string"
},
"source_url": {
"type": "string"
},
"accepted_at": {
"type": "string"
},
"submission_id": {
"type": "string"
}
},
"additionalProperties": true
}