Install
$ agentstack add skill-serejaris-kimi-skills-world-bank-open-data ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
World Bank Open Data
Use this skill to answer questions that require World Bank Open Data country indicators, development metrics, or national-level time series.
Setup
Check whether the agent-gw Python SDK is available in the current Python environment, and install it only if the check fails:
python3 -c "import agent_gw" || python3 -m pip install "$(curl -s https://cdn.kimi.com/agentgw/pysdk/manifest.json | python3 -c "import json,sys; print(json.load(sys.stdin)['latest']['url'])")"
The SDK needs an API key from api_key=..., KIMI_API_KEY, or ~/.kimi/agent-gw.json.
Workflow
- Run
python3 scripts/world_bank_open_data_tool.py describefrom the plugin
directory to call get_data_source_desc({"name": "world_bank_open_data"}).
- Read the returned Markdown carefully. It contains the overall data source
rules, country formats, indicator formats, date range constraints, and each API's description, required parameters, optional parameters, defaults, and allowed values.
- Select the API that best matches the user's question.
- Build
paramsexactly from the Markdown requirements. Pay attention to
country or region, indicator code or name, year range, unit, source, frequency, and national-level data constraints.
- Use
python3 scripts/world_bank_open_data_tool.py callto call
call_data_source_tool.
- If the call fails, explain the failure reason from the response.
- If the call succeeds, save any returned files first, then answer using
resp.result.assistant; ignore resp.result.user unless display content is specifically needed.
Common Use Cases
- Country-level time series for GDP, GNP, population, poverty rates,
unemployment, trade, inflation, education, health, and environmental data.
- Cross-country comparison of development indicators.
- Long-run trend analysis using annual data from 1960 to present where available.
- Economic, social, and environmental research that needs World Bank indicator
definitions and national-level observations.
Script
Use the bundled script from the plugin directory:
python3 scripts/world_bank_open_data_tool.py describe
After reading the Markdown and selecting an API:
python3 scripts/world_bank_open_data_tool.py call \
--api-name "" \
--params-json '{"required_param":"value"}'
For larger params, write a JSON object and pass --params-file path/to/params.json.
The script:
- sends
{"name": "world_bank_open_data"}toget_data_source_desc - sends
{"data_source_name": "world_bank_open_data", "api_name": ..., "params": ...}to
call_data_source_tool
- prints failure messages from
error.userorerror.assistant - saves returned files to each
files[].namepath returned by the data source - prints the joined
result.assistanttexts on success
Expected call_data_source_tool response shape:
{
"is_success": bool,
"result": {"user": list[str], "assistant": list[str]} | None,
"error": {"user": list[str], "assistant": list[str]} | None,
"files": [{"name": str, "content": str}],
}
When files are returned, name is the file path or name to write. The path is usually dictated by the selected API's params in the Markdown docs. If an API does not need files, the response normally has no files to save.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: serejaris
- Source: serejaris/kimi-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.