Goose-skills orthogonal-tako

Search and visualize the world's data - get charts, insights, and embeddable knowledge cards for finance, economics, demographics, sports, and more

install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/orthogonal-tako" ~/.claude/skills/gooseworks-ai-goose-skills-orthogonal-tako && rm -rf "$T"
manifest: skills/capabilities/orthogonal-tako/SKILL.md
source content

Tako Knowledge Search & Visualization

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run:

npx gooseworks login

All endpoints use Bearer auth:

-H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Search for data with natural language and get interactive charts, AI-generated insights, and embeddable knowledge cards. Covers finance, economics, demographics, sports, politics, climate, and health from sources like S&P Global, World Bank, and more.

When to Use

  • User asks a data question ("What's NVIDIA's revenue?", "US GDP growth?")
  • User wants to compare metrics ("Tesla vs Ford market cap")
  • User needs a chart or visualization for a report
  • User wants to turn their own data into a chart
  • User asks for insights or analysis on a data trend

Usage

Search for Data

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/knowledge_search","body":{"inputs":{"text":"NVIDIA vs AMD revenue since 2018"}}}'

With search effort and source options:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/knowledge_search","body":{"inputs":{"text":"US inflation rate 2020-2025","search_effort":"deep"},"source_indexes":["tako","web"]}}'

With dark mode chart images:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/knowledge_search","body":{"inputs":{"text":"Bitcoin price history"},"output_settings":{"knowledge_card_settings":{"image_dark_mode":true}}}}'

Get Chart Insights

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/beta/chart_insights","query":{"card_id":"sXQPVnixcDUf2Iw35Via"}}'

Visualize Your Own Data

Provide data as CSV strings. Tako picks the best chart type automatically.

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/beta/visualize"}'
Q1 2024,100
Q2 2024,150
Q3 2024,220
Q4 2024,310"], "query": "Show quarterly revenue as a bar chart"}'

Request a specific chart type:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/beta/visualize"}'
US,500
EU,300
Asia,250"], "query": "Sales by region", "viz_component_type": "pie"}'

Create a Custom Chart

Build charts from scratch with full control over components and layout.

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/thin_viz/create/","body":{"components":[{"component_type":"header","config":{"title":"Sales by Region"}},{"component_type":"categorical_bar","config":{"datasets":[{"label":"Revenue (M)","data":[{"x":"US","y":500},{"x":"EU","y":300},{"x":"Asia","y":250}]}]}}],"title":"Sales by Region","source":"Internal Data"}}'

List Available Chart Types

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/thin_viz/default_schema/"}'

Get Tako Tool Descriptions

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/tako_tools_description"}'

Parameters

Knowledge Search (POST /v1/knowledge_search)

Body:

  • inputs.text (string, required) - Natural language query (e.g. "Tesla vs Ford market cap")
  • inputs.search_effort (string) - "fast", "medium", "deep", or "auto"
  • source_indexes (array) - Priority order: "tako", "web", "tako_deep_v2". Default: ["tako"]
  • country_code (string) - ISO 3166-1 alpha-2 (e.g. "US", "GB"). Default: "US"
  • locale (string) - e.g. "en-US", "de-DE". Default: "en-US"
  • output_settings (object) -
    {"knowledge_card_settings": {"image_dark_mode": true}}
    for dark mode

Chart Insights (GET /v1/beta/chart_insights)

  • card_id (string, required) - Card ID from Knowledge Search or Create Card response

Visualize Datasets (POST /v1/beta/visualize)

Body:

  • csv (array of strings, required) - CSV data with headers in first row. Example:
    ["name,value Apple,3.7 NVIDIA,3.4"]
  • query (string) - How to visualize (e.g. "Show as a bar chart")
  • viz_component_type (string) - Force chart type: bar, grouped_bar, stacked_bar, timeseries, pie, choropleth, scatter, boxplot, heatmap, waterfall, histogram, table, treemap

Create Card (POST /v1/thin_viz/create/)

Body:

  • components (array, required) - Each needs
    component_type
    (header, categorical_bar, pie, scatter, table, choropleth, heatmap, histogram, boxplot, treemap, waterfall, bubble, etc.) and
    config
    (type-specific data)
  • title (string) - Card title
  • description (string) - Card description
  • source (string) - Data source attribution for footer

List Default Schemas (GET /v1/thin_viz/default_schema/)

No parameters.

Tool Descriptions (GET /v1/tako_tools_description)

  • index_ids (string) - Comma-separated index IDs to filter

Response

Knowledge Search —
data.outputs.knowledge_cards[]

  • card_id - Unique ID (use for Chart Insights or embed URLs)
  • title - Chart title
  • description - Text description of the data and trends
  • card_type - "chart", "table", "company", or "text"
  • webpage_url - Interactive card page on Tako
  • image_url - Static chart image (embed in messages, reports)
  • embed_url - Embeddable iframe URL
  • relevance - "High", "Medium", or "Low"
  • sources - Data sources with name and description
  • visualization_data - Raw chart data points

Chart Insights —
data

  • insights - Array of AI-generated observations
  • description - Chart description

Create Card —
data

  • card_id, title, webpage_url, image_url, embed_url

Examples

# What's the US unemployment rate?
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/knowledge_search","body":{"inputs":{"text":"US unemployment rate"}}}'

# Compare company revenues
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/knowledge_search","body":{"inputs":{"text":"Apple vs Microsoft vs Google revenue","search_effort":"deep"}}}'

# Get insights on a chart
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/beta/chart_insights","query":{"card_id":"sXQPVnixcDUf2Iw35Via"}}'

# Visualize your own CSV data
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/beta/visualize"}'
North America,500
Europe,300
Asia,250
LatAm,100"], "query": "Show sales by region"}'

# Create a custom bar chart
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tako","path":"/v1/thin_viz/create/","body":{"components":[{"component_type":"categorical_bar","config":{"datasets":[{"label":"Revenue","data":[{"x":"Q1","y":100},{"x":"Q2","y":200}]}]}}],"title":"Quarterly Revenue"}}'

Tips

  • Knowledge Search is the main endpoint — start here for any data question
  • Use image_url to display charts in Slack, Discord, or other channels
  • embed_url gives an interactive iframe for web pages
  • Call List Default Schemas before Create Card to see available chart types
  • Set
    search_effort: "deep"
    for complex multi-metric comparisons
  • Data coverage: stock prices, revenue, GDP, unemployment, population, sports stats, weather, health, and more

Error Handling

  • 400 - Invalid body or missing required fields
  • 401 - Invalid API key
  • 404 - Card not found (Chart Insights) or no results found (Knowledge Search)
  • Empty
    knowledge_cards
    array — try rephrasing or using
    source_indexes: ["tako", "web"]