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
git clone https://github.com/gooseworks-ai/goose-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"
skills/capabilities/orthogonal-tako/SKILL.mdTako 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) -
for dark mode{"knowledge_card_settings": {"image_dark_mode": true}}
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
(header, categorical_bar, pie, scatter, table, choropleth, heatmap, histogram, boxplot, treemap, waterfall, bubble, etc.) andcomponent_type
(type-specific data)config - 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[]
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
data- insights - Array of AI-generated observations
- description - Chart description
Create Card — data
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
for complex multi-metric comparisonssearch_effort: "deep" - 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
array — try rephrasing or usingknowledge_cardssource_indexes: ["tako", "web"]