public-api-toolkit
Advanced tools
| * text=auto |
+64
| # AGENTS.md | ||
| ## Do | ||
| - Keep skills simple: SKILL.md files in skills/ folder | ||
| - No MCP, no complex build, no unnecessary deps | ||
| - Update README when skills change | ||
| ## Install (All Providers) | ||
| ### Gemini CLI | ||
| ```bash | ||
| gemini extensions install https://github.com/nikhilreddy3888/public-api-toolkit | ||
| ``` | ||
| ### Claude Code | ||
| ```bash | ||
| claude plugin marketplace add nikhilreddy3888/public-api-toolkit | ||
| ``` | ||
| ### OpenClaw | ||
| ```bash | ||
| openclaw plugins install https://github.com/nikhilreddy3888/public-api-toolkit | ||
| ``` | ||
| ## Skills (43) | ||
| Use skill when user needs real-time data: | ||
| | Skill | Use | | ||
| |-------|-----| | ||
| | weather | forecasts, current conditions | | ||
| | crypto | BTC, ETH, crypto prices | | ||
| | currency | FX rates, conversions | | ||
| | wikipedia | topic summaries | | ||
| | geocoding | address → coordinates | | ||
| | ip_geolocation | IP → location | | ||
| | country_data | country profiles | | ||
| | dictionary | word definitions | | ||
| | news | space/science news | | ||
| | translation | text translation | | ||
| | space | ISS, NASA images | | ||
| | food_recipes | meal ideas | | ||
| | holidays | public holidays | | ||
| | dev_tools | npm, GitHub data | | ||
| | security_intel | CVE lookups | | ||
| | travel | multi-step trip planner | | ||
| | market_brief | crypto + FX snapshot | | ||
| | compare | compare two things | | ||
| | anime | quotes, facts, Ghibli | | ||
| | pokemon | stats, types, moves | | ||
| | horoscope | daily astrological info | | ||
| | science_facts | math/science trivia | | ||
| | entertainment | Star Wars, Rick & Morty | | ||
| | mock_data | users, posts, products | | ||
| | avatar_generator | pixel art, robots | | ||
| | profanity_filter | censor bad words | | ||
| | coding_contests | LeetCode, Codeforces | | ||
| ## Don't | ||
| - Don't add MCP server code | ||
| - Don't add complex build steps | ||
| - Don't add unnecessary dependencies |
| # Contributing to Public API Toolkit | ||
| Public API Toolkit is a collection of **agent-ready skills**. Instead of a complex server, each skill is defined by a simple `SKILL.md` file that tells the agent how to call an API directly. | ||
| The best contributions improve tool coverage, fix broken API endpoints, or tighten documentation. | ||
| ## Repository Map | ||
| ```text | ||
| skills/ | ||
| weather/ | ||
| SKILL.md <-- Definition, API links, and examples | ||
| crypto/ | ||
| SKILL.md | ||
| site/ | ||
| index.html <-- Marketing landing page | ||
| styles.css | ||
| GEMINI.md <-- Gemini CLI specific context | ||
| CLAUDE.md <-- Claude Code specific context | ||
| ``` | ||
| ## Add A New Skill | ||
| 1. Create a new folder in `skills/` (e.g., `skills/my_new_tool/`). | ||
| 2. Create a `SKILL.md` file inside that folder. | ||
| 3. Follow the standard format: | ||
| - **Frontmatter**: Name and description. | ||
| - **APIs**: List the endpoints. | ||
| - **Example**: Provide JSON inputs the agent should use. | ||
| ### `SKILL.md` Example Template: | ||
| ```markdown | ||
| --- | ||
| name: my_tool | ||
| description: > | ||
| Short description of what it does. | ||
| Use when user asks about X, Y, Z. | ||
| --- | ||
| Tool details. Free. No key needed. | ||
| ## API | ||
| - Action: `https://api.example.com/data?query={query}` | ||
| ## Example | ||
| ```json | ||
| {"query": "search term"} | ||
| ``` | ||
| ``` | ||
| ## Update Documentation | ||
| After adding a skill: | ||
| 1. Add it to the list in `README.md`. | ||
| 2. Add it to the skills table in `GEMINI.md` and `CLAUDE.md`. | ||
| 3. Add it to `.claude-plugin/plugin.json`. | ||
| ## Fix A Broken Provider | ||
| Public APIs drift. Keep the repair as small as possible. | ||
| 1. Find the `SKILL.md` file for the broken tool. | ||
| 2. Verify the new endpoint URL. | ||
| 3. Update the URL and the example if the schema changed. | ||
| ## Pull Request Checklist | ||
| - [ ] Folder created in `skills/` | ||
| - [ ] `SKILL.md` follows standard format | ||
| - [ ] Updated `README.md`, `GEMINI.md`, and `CLAUDE.md` | ||
| - [ ] Added to `.claude-plugin/plugin.json` |
+567
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
| <title>Public API Toolkit — 43 Skills. Zero Config.</title> | ||
| <meta | ||
| name="description" | ||
| content="Stop wasting tokens on things free APIs can answer instantly. 43 agent-ready skills give your AI agent structured access to weather, crypto, Wikipedia, maps, holidays, and 38 more APIs." | ||
| /> | ||
| <script> | ||
| document.documentElement.classList.add("js"); | ||
| </script> | ||
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | ||
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | ||
| <link | ||
| href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;700&display=swap" | ||
| rel="stylesheet" | ||
| /> | ||
| <link rel="icon" href="./assets/logo.png" /> | ||
| <link rel="stylesheet" href="./styles.css" /> | ||
| </head> | ||
| <body> | ||
| <div class="page-shell"> | ||
| <header class="site-header"> | ||
| <a class="brand" href="#top" aria-label="Public API Toolkit home"> | ||
| <span class="brand-mark"></span> | ||
| <span class="brand-copy"> | ||
| <strong>Public API Toolkit</strong> | ||
| <span>Structured public data for AI agents</span> | ||
| </span> | ||
| </a> | ||
| <nav class="site-nav" aria-label="Primary"> | ||
| <a href="#why">Why</a> | ||
| <a href="#tools">Skills</a> | ||
| <a href="#compare">Compare</a> | ||
| <a href="#install">Install</a> | ||
| <a href="#faq">FAQ</a> | ||
| </nav> | ||
| <a | ||
| class="button button-small button-accent" | ||
| href="https://github.com/nikhilreddy3888/public-api-toolkit" | ||
| > | ||
| ★ Star on GitHub | ||
| </a> | ||
| </header> | ||
| <main id="top"> | ||
| <section class="hero section-reveal"> | ||
| <div class="hero-copy"> | ||
| <p class="eyebrow">Agent Skills · v2.0.1 · MIT · Zero config</p> | ||
| <h1><span class="accent">43 Skills.</span> One install. <span class="accent">Zero waste.</span></h1> | ||
| <p class="hero-text"> | ||
| Your AI agent shouldn't scrape Wikipedia to tell you the weather. | ||
| <strong>43 structured skills. Instant data. No server needed.</strong> | ||
| </p> | ||
| <div class="install-line section-reveal"> | ||
| <div class="code-inline"> | ||
| <span class="code-prompt">$</span> | ||
| <code id="install-command">gemini extensions install https://github.com/nikhilreddy3888/public-api-toolkit</code> | ||
| <button class="copy-button" type="button" data-copy-target="install-command"> | ||
| Copy | ||
| </button> | ||
| </div> | ||
| </div> | ||
| <div class="hero-actions"> | ||
| <a | ||
| class="button button-accent" | ||
| href="https://github.com/nikhilreddy3888/public-api-toolkit" | ||
| > | ||
| ★ Star on GitHub | ||
| </a> | ||
| <a class="button button-ghost" href="#install"> | ||
| ↓ Install guide | ||
| </a> | ||
| </div> | ||
| <div class="proof-strip" aria-label="Directional proof points"> | ||
| <article> | ||
| <strong>10–40x</strong> | ||
| <span>fewer output tokens when agents call structured APIs instead of scraping</span> | ||
| </article> | ||
| <article> | ||
| <strong><300ms</strong> | ||
| <span>response time for live weather, FX rates, and country data</span> | ||
| </article> | ||
| <article> | ||
| <strong>Zero Config</strong> | ||
| <span>Replaces 43 separate API setups with one simple install</span> | ||
| </article> | ||
| </div> | ||
| </div> | ||
| <div class="hero-visual" aria-label="Public API Toolkit logo and use cases"> | ||
| <div class="visual-halo"></div> | ||
| <img | ||
| src="./assets/logo.png" | ||
| alt="Public API Toolkit logo" | ||
| class="hero-logo" | ||
| /> | ||
| <div class="floating-chip chip-top-left">Weather</div> | ||
| <div class="floating-chip chip-top-right">Crypto</div> | ||
| <div class="floating-chip chip-bottom-left">Wikipedia</div> | ||
| <div class="floating-chip chip-bottom-right">Open Data</div> | ||
| </div> | ||
| </section> | ||
| <section id="why" class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">The problem</p> | ||
| <h2>AI is solving easy problems the hard way.</h2> | ||
| <p> | ||
| Every time an AI assistant browses for weather, hallucinates exchange rates, | ||
| or scrapes news HTML for a one-line factual answer — it burns tokens and time | ||
| that a structured API call would solve in 200ms. | ||
| </p> | ||
| </div> | ||
| <div class="problem-grid"> | ||
| <div class="problem-callout"> | ||
| <p class="problem-title">What agents do today (expensive)</p> | ||
| <ul> | ||
| <li>Search the web for BTC price — burns 800+ tokens parsing finance pages</li> | ||
| <li>Reason about FX rates from stale training data — answer might be months old</li> | ||
| <li>Scrape weather.com HTML for tomorrow's forecast — brittle, slow, wasteful</li> | ||
| <li>Fetch full Wikipedia pages just to summarize one paragraph</li> | ||
| <li>Install a different setup for every single capability</li> | ||
| </ul> | ||
| </div> | ||
| <div class="problem-callout warm"> | ||
| <p class="problem-title">What they should do (instant)</p> | ||
| <ul> | ||
| <li>Use <code>crypto</code> skill — structured JSON in <300ms</li> | ||
| <li>Use <code>currency</code> skill — live rates, zero hallucination</li> | ||
| <li>Use <code>weather</code> skill — clean forecast, 0 HTML parsing</li> | ||
| <li>Use <code>wikipedia</code> skill — structured summary, minimal tokens</li> | ||
| <li>One toolkit covers all 43 skills</li> | ||
| </ul> | ||
| </div> | ||
| </div> | ||
| <div class="comparison-table"> | ||
| <div class="comparison-row comparison-head"> | ||
| <span>User asks</span> | ||
| <span>What AI often does</span> | ||
| <span>What it should do</span> | ||
| <span>Skill name</span> | ||
| </div> | ||
| <div class="comparison-row"> | ||
| <span>What's the weather in Tokyo?</span> | ||
| <span>Search, scrape, summarize — 800+ tokens</span> | ||
| <span>Call forecast endpoint, return clean conditions</span> | ||
| <span><code>weather</code></span> | ||
| </div> | ||
| <div class="comparison-row"> | ||
| <span>Convert €450 to USD</span> | ||
| <span>Guess from training data or browse</span> | ||
| <span>Use live FX APIs with exact rates</span> | ||
| <span><code>currency</code></span> | ||
| </div> | ||
| <div class="comparison-row"> | ||
| <span>What's Bitcoin trading at?</span> | ||
| <span>Search finance sites or refuse</span> | ||
| <span>Fetch live quote with market context</span> | ||
| <span><code>crypto</code></span> | ||
| </div> | ||
| <div class="comparison-row"> | ||
| <span>Is today a holiday in France?</span> | ||
| <span>Google search + HTML parse. Unreliable.</span> | ||
| <span>Call holiday API, get definitive answer</span> | ||
| <span><code>holidays</code></span> | ||
| </div> | ||
| <div class="comparison-row"> | ||
| <span>Total install time</span> | ||
| <span>43 separate configs</span> | ||
| <span>One install. Every skill.</span> | ||
| <span><code>43-in-1</code></span> | ||
| </div> | ||
| </div> | ||
| </section> | ||
| <section class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">Why it matters</p> | ||
| <h2>Less tokens. Less compute. <span class="accent">More signal.</span></h2> | ||
| <p> | ||
| Every avoidable web search is wasted compute — on the GPU that generates it, | ||
| the data center that processes it, and the energy that powers it. Structured API | ||
| calls return exactly what the agent needs in a fraction of the tokens, time, and electricity. | ||
| </p> | ||
| </div> | ||
| <div class="use-case-grid mission-grid"> | ||
| <article class="use-case-card"> | ||
| <h3>⚡ 10–40x fewer output tokens</h3> | ||
| <p> | ||
| Structured JSON replaces pages of parsed HTML. The model spends tokens reasoning — not reading noise. | ||
| </p> | ||
| </article> | ||
| <article class="use-case-card"> | ||
| <h3>🌱 Less compute, less energy</h3> | ||
| <p> | ||
| Fewer generated tokens means less GPU time, less data center load, and a smaller carbon footprint per lookup. | ||
| </p> | ||
| </article> | ||
| <article class="use-case-card"> | ||
| <h3>🔒 Safe by default</h3> | ||
| <p> | ||
| Every upstream is vetted. No scraping brittle websites, no secrets in prompts, no user data in transit. | ||
| Pure markdown-based skill definitions. | ||
| </p> | ||
| </article> | ||
| <article class="use-case-card"> | ||
| <h3>🤝 Built with contributors</h3> | ||
| <p> | ||
| This project thrives because contributors keep adding safe, useful, free APIs. | ||
| Every new skill means one fewer reason for agents to scrape the web. | ||
| <a href="https://github.com/nikhilreddy3888/public-api-toolkit/blob/main/CONTRIBUTING.md">Add yours →</a> | ||
| </p> | ||
| </article> | ||
| </div> | ||
| </section> | ||
| <section id="tools" class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">43 skills · 12 categories</p> | ||
| <h2>Stop scraping. Start calling.</h2> | ||
| <p> | ||
| Related capabilities are grouped into domain skills. No server code required — | ||
| agents discover and use them directly. | ||
| </p> | ||
| </div> | ||
| <div class="tools-grid"> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🌥️</span> | ||
| <span class="tool-name">weather</span> | ||
| <span class="tool-label">Weather & Sky</span> | ||
| <span class="tool-desc">Forecasts, current conditions, alerts, sun times</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🏴</span> | ||
| <span class="tool-name">air_quality</span> | ||
| <span class="tool-label">Air & Carbon</span> | ||
| <span class="tool-desc">Air quality, AQI, carbon intensity</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">💰</span> | ||
| <span class="tool-name">currency</span> | ||
| <span class="tool-label">Currency Exchange</span> | ||
| <span class="tool-desc">Live FX rates, 150+ currencies, historical series</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">₿</span> | ||
| <span class="tool-name">crypto</span> | ||
| <span class="tool-label">Crypto Markets</span> | ||
| <span class="tool-desc">Bitcoin, altcoins, market cap, 24h change</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🌎</span> | ||
| <span class="tool-name">country_data</span> | ||
| <span class="tool-label">Countries & Regions</span> | ||
| <span class="tool-desc">Country profiles, flags, populations, capitals</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">📍</span> | ||
| <span class="tool-name">geocoding</span> | ||
| <span class="tool-label">Geocoding</span> | ||
| <span class="tool-desc">Forward geocoding, reverse geocoding, postal lookups</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🌈</span> | ||
| <span class="tool-name">ip_geolocation</span> | ||
| <span class="tool-label">IP Geolocation</span> | ||
| <span class="tool-desc">IP lookup for city, region, timezone, network</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">📖</span> | ||
| <span class="tool-name">wikipedia</span> | ||
| <span class="tool-label">Wikipedia</span> | ||
| <span class="tool-desc">Structured summaries, search, Wikidata</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">📚</span> | ||
| <span class="tool-name">dictionary</span> | ||
| <span class="tool-label">Dictionaries & Words</span> | ||
| <span class="tool-desc">Definitions, synonyms, rhymes, autocomplete</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">💻</span> | ||
| <span class="tool-name">dev_tools</span> | ||
| <span class="tool-label">Developer Tools</span> | ||
| <span class="tool-desc">npm registry, GitHub search, CDNJS libraries</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🎬</span> | ||
| <span class="tool-name">entertainment</span> | ||
| <span class="tool-label">Movies & Fandom</span> | ||
| <span class="tool-desc">Star Wars, Rick & Morty, Harry Potter, MCU</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🚀</span> | ||
| <span class="tool-name">space</span> | ||
| <span class="tool-label">Space & Earth</span> | ||
| <span class="tool-desc">NASA, ISS tracking, Mars photos, SpaceX</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🎉</span> | ||
| <span class="tool-name">holidays</span> | ||
| <span class="tool-label">Holidays</span> | ||
| <span class="tool-desc">Public holidays and bank holidays</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🚌</span> | ||
| <span class="tool-name">transport</span> | ||
| <span class="tool-label">Transport</span> | ||
| <span class="tool-desc">Flight tracking, bike share, EV charging</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🔒</span> | ||
| <span class="tool-name">security_intel</span> | ||
| <span class="tool-label">Security Intel</span> | ||
| <span class="tool-desc">Vulnerability, Shodan, and threat feeds</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🌱</span> | ||
| <span class="tool-name">food_recipes</span> | ||
| <span class="tool-label">Food & Drink</span> | ||
| <span class="tool-desc">Recipes, nutrition, breweries</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">💻</span> | ||
| <span class="tool-name">mock_data</span> | ||
| <span class="tool-label">Mocking & Prototyping</span> | ||
| <span class="tool-desc">Fake users, products, posts for testing</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🎶</span> | ||
| <span class="tool-name">anime</span> | ||
| <span class="tool-label">Anime & Ghibli</span> | ||
| <span class="tool-desc">Quotes, facts, and Studio Ghibli films</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">🌍</span> | ||
| <span class="tool-name">coding_contests</span> | ||
| <span class="tool-label">Competitive Coding</span> | ||
| <span class="tool-desc">LeetCode, Codeforces, HackerRank schedules</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">📊</span> | ||
| <span class="tool-name">avatar_generator</span> | ||
| <span class="tool-label">Avatars</span> | ||
| <span class="tool-desc">Robots, pixel art, identicons from seeds</span> | ||
| </div> | ||
| <div class="tool-card"> | ||
| <span class="tool-icon">📰</span> | ||
| <span class="tool-name">tech_news</span> | ||
| <span class="tool-label">Tech News</span> | ||
| <span class="tool-desc">HackerNews top stories, Dev.to articles</span> | ||
| </div> | ||
| <div class="tool-card tool-card-more"> | ||
| <span class="tool-icon">+</span> | ||
| <span class="tool-name">...and 22 more</span> | ||
| <span class="tool-label">See all 43 skills</span> | ||
| <span class="tool-desc">Books, universities, name insights, random facts, animals, pokemon, and more</span> | ||
| </div> | ||
| </div> | ||
| </section> | ||
| <section id="clients" class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">Client support</p> | ||
| <h2>Works where you already work.</h2> | ||
| <p> | ||
| Designed for the agent ecosystem people are actually using. | ||
| Gemini CLI, Claude Code, OpenClaw, Codex — | ||
| each has a native install path. | ||
| </p> | ||
| </div> | ||
| <div class="client-grid"> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Gemini CLI</strong> | ||
| <span>Extension install</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Claude Code</strong> | ||
| <span>Plugin install</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>OpenClaw</strong> | ||
| <span>Plugin install</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Codex</strong> | ||
| <span>Skill install</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Cursor</strong> | ||
| <span>Direct rules</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Copilot CLI</strong> | ||
| <span>Extension install</span> | ||
| </a> | ||
| <a class="client-card" href="#install"> | ||
| <strong>Generic Agents</strong> | ||
| <span>Markdown parsing</span> | ||
| </a> | ||
| </div> | ||
| </section> | ||
| <section id="install" class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">Get started in 30 seconds</p> | ||
| <h2>One install. Every client.</h2> | ||
| <p> | ||
| No servers to run. No keys needed. | ||
| Pure agent-ready skills. | ||
| </p> | ||
| </div> | ||
| <div class="install-tabs" id="tabs"> | ||
| <button class="tab-btn active" onclick="switchTab('gemini', this)">Gemini CLI</button> | ||
| <button class="tab-btn" onclick="switchTab('claude', this)">Claude Code</button> | ||
| <button class="tab-btn" onclick="switchTab('openclaw', this)">OpenClaw</button> | ||
| <button class="tab-btn" onclick="switchTab('codex', this)">Codex</button> | ||
| </div> | ||
| <div class="tab-panel active" id="tab-gemini"> | ||
| <div class="code-panel"> | ||
| <div class="code-panel-header"> | ||
| <span>Gemini CLI</span> | ||
| <button class="copy-button" type="button" data-copy-target="install-gemini">Copy</button> | ||
| </div> | ||
| <pre><code id="install-gemini">gemini extensions install https://github.com/nikhilreddy3888/public-api-toolkit</code></pre> | ||
| </div> | ||
| </div> | ||
| <div class="tab-panel" id="tab-claude"> | ||
| <div class="code-panel"> | ||
| <div class="code-panel-header"> | ||
| <span>Claude Code</span> | ||
| <button class="copy-button" type="button" data-copy-target="install-claude">Copy</button> | ||
| </div> | ||
| <pre><code id="install-claude">claude plugin marketplace add nikhilreddy3888/public-api-toolkit</code></pre> | ||
| </div> | ||
| </div> | ||
| <div class="tab-panel" id="tab-openclaw"> | ||
| <div class="code-panel"> | ||
| <div class="code-panel-header"> | ||
| <span>OpenClaw</span> | ||
| <button class="copy-button" type="button" data-copy-target="install-openclaw">Copy</button> | ||
| </div> | ||
| <pre><code id="install-openclaw">openclaw plugins install https://github.com/nikhilreddy3888/public-api-toolkit</code></pre> | ||
| </div> | ||
| </div> | ||
| <div class="tab-panel" id="tab-codex"> | ||
| <div class="code-panel"> | ||
| <div class="code-panel-header"> | ||
| <span>Codex</span> | ||
| <button class="copy-button" type="button" data-copy-target="install-codex">Copy</button> | ||
| </div> | ||
| <pre><code id="install-codex">codex install-skill https://github.com/nikhilreddy3888/public-api-toolkit</code></pre> | ||
| </div> | ||
| </div> | ||
| <p class="more-clients" style="margin-top: 2rem; text-align: center;"> | ||
| <a href="https://github.com/nikhilreddy3888/public-api-toolkit#readme">Read the full documentation →</a> | ||
| </p> | ||
| </section> | ||
| <section id="faq" class="content-section section-reveal"> | ||
| <div class="section-heading"> | ||
| <p class="eyebrow">FAQ</p> | ||
| <h2>Common questions.</h2> | ||
| </div> | ||
| <div class="faq-list"> | ||
| <div class="faq-item"> | ||
| <div class="faq-q" onclick="toggleFaq(this)"> | ||
| Do I need API keys for all 43 skills? | ||
| <span class="faq-arrow">+</span> | ||
| </div> | ||
| <div class="faq-a"> | ||
| No. All 43 tools work without any API keys — they use free public APIs | ||
| that don't require authentication. The toolkit is built to be zero-config. | ||
| </div> | ||
| </div> | ||
| <div class="faq-item"> | ||
| <div class="faq-q" onclick="toggleFaq(this)"> | ||
| How is this different from just letting the agent use web search? | ||
| <span class="faq-arrow">+</span> | ||
| </div> | ||
| <div class="faq-a"> | ||
| Web search returns noisy HTML that costs 500–2000+ tokens per lookup. | ||
| Structured API calls return clean JSON in <300ms using 50–100 tokens. | ||
| It's more accurate and significantly cheaper. | ||
| </div> | ||
| </div> | ||
| <div class="faq-item"> | ||
| <div class="faq-q" onclick="toggleFaq(this)"> | ||
| Is this an MCP server? | ||
| <span class="faq-arrow">+</span> | ||
| </div> | ||
| <div class="faq-a"> | ||
| No. It is a <strong>Skill Pack</strong>. While MCP servers require running a local Node/Python process, | ||
| Skills are pure Markdown instructions that agents interpret. This means zero overhead, | ||
| zero local execution risks, and instant setup. | ||
| </div> | ||
| </div> | ||
| <div class="faq-item"> | ||
| <div class="faq-q" onclick="toggleFaq(this)"> | ||
| Can I contribute new APIs? | ||
| <span class="faq-arrow">+</span> | ||
| </div> | ||
| <div class="faq-a"> | ||
| Yes! Adding a skill takes about 10 minutes. Check the <a href="https://github.com/nikhilreddy3888/public-api-toolkit/blob/main/CONTRIBUTING.md">Contributing Guide</a>. | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
| <section class="content-section cta-section section-reveal"> | ||
| <div> | ||
| <p class="eyebrow">Get started</p> | ||
| <h2>Stop scraping. <span class="accent">Start calling.</span></h2> | ||
| <p> | ||
| 43 agent skills for structured public data. | ||
| Give your agents the data they need without the token waste. | ||
| </p> | ||
| <div class="hero-actions"> | ||
| <a | ||
| class="button button-accent" | ||
| href="https://github.com/nikhilreddy3888/public-api-toolkit" | ||
| > | ||
| ★ Star on GitHub | ||
| </a> | ||
| <a class="button button-ghost" href="https://github.com/nikhilreddy3888/public-api-toolkit#readme"> | ||
| Read the docs | ||
| </a> | ||
| </div> | ||
| </div> | ||
| <div class="hero-visual cta-visual" aria-label="Public API Toolkit logo"> | ||
| <div class="visual-halo"></div> | ||
| <img | ||
| src="./assets/logo.png" | ||
| alt="Public API Toolkit logo" | ||
| class="hero-logo" | ||
| /> | ||
| </div> | ||
| </section> | ||
| </main> | ||
| <footer class="site-footer"> | ||
| <p>Public API Toolkit · v2.0.1 · MIT</p> | ||
| <div> | ||
| <a href="https://github.com/nikhilreddy3888/public-api-toolkit">GitHub</a> | ||
| <a href="https://github.com/nikhilreddy3888/public-api-toolkit#readme">Docs</a> | ||
| <a href="https://github.com/nikhilreddy3888/public-api-toolkit/blob/main/CONTRIBUTING.md">Contribute</a> | ||
| </div> | ||
| </footer> | ||
| </div> | ||
| <script src="./script.js"></script> | ||
| </body> | ||
| </html> |
| function switchTab(tabId, btn) { | ||
| document.querySelectorAll('.tab-panel').forEach(p => p.classList.remove('active')); | ||
| document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active')); | ||
| document.getElementById('tab-' + tabId).classList.add('active'); | ||
| btn.classList.add('active'); | ||
| } | ||
| function toggleFaq(el) { | ||
| const item = el.parentElement; | ||
| item.classList.toggle('active'); | ||
| } | ||
| document.querySelectorAll('.copy-button').forEach(btn => { | ||
| btn.addEventListener('click', () => { | ||
| const targetId = btn.getAttribute('data-copy-target'); | ||
| const text = document.getElementById(targetId).innerText; | ||
| navigator.clipboard.writeText(text); | ||
| const originalText = btn.innerText; | ||
| btn.innerText = 'Copied!'; | ||
| setTimeout(() => btn.innerText = originalText, 2000); | ||
| }); | ||
| }); |
+129
| :root { | ||
| --bg: #0b0e14; | ||
| --text: #e1e7ed; | ||
| --accent: #3fb950; | ||
| --accent-warm: #f778ba; | ||
| --card-bg: #161b22; | ||
| --border: #30363d; | ||
| --font-mono: 'IBM Plex Mono', monospace; | ||
| --font-sans: 'Space Grotesk', sans-serif; | ||
| } | ||
| body { | ||
| background-color: var(--bg); | ||
| color: var(--text); | ||
| font-family: var(--font-sans); | ||
| margin: 0; | ||
| line-height: 1.6; | ||
| } | ||
| .page-shell { | ||
| max-width: 1200px; | ||
| margin: 0 auto; | ||
| padding: 0 2rem; | ||
| } | ||
| .site-header { | ||
| display: flex; | ||
| justify-content: space-between; | ||
| align-items: center; | ||
| padding: 2rem 0; | ||
| border-bottom: 1px solid var(--border); | ||
| } | ||
| .brand-copy strong { | ||
| display: block; | ||
| font-size: 1.25rem; | ||
| color: var(--accent); | ||
| } | ||
| .site-nav a { | ||
| color: var(--text); | ||
| text-decoration: none; | ||
| margin-right: 1.5rem; | ||
| font-weight: 500; | ||
| } | ||
| .button { | ||
| padding: 0.5rem 1rem; | ||
| border-radius: 6px; | ||
| text-decoration: none; | ||
| font-weight: 600; | ||
| transition: opacity 0.2s; | ||
| } | ||
| .button-accent { | ||
| background: var(--accent); | ||
| color: var(--bg); | ||
| } | ||
| .hero { | ||
| padding: 4rem 0; | ||
| display: grid; | ||
| grid-template-columns: 1fr 1fr; | ||
| gap: 4rem; | ||
| align-items: center; | ||
| } | ||
| h1 { | ||
| font-size: 3.5rem; | ||
| line-height: 1.1; | ||
| margin-bottom: 1.5rem; | ||
| } | ||
| .accent { | ||
| color: var(--accent); | ||
| } | ||
| .code-inline { | ||
| background: var(--card-bg); | ||
| padding: 1rem; | ||
| border-radius: 8px; | ||
| border: 1px solid var(--border); | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 1rem; | ||
| font-family: var(--font-mono); | ||
| } | ||
| .tools-grid { | ||
| display: grid; | ||
| grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); | ||
| gap: 1.5rem; | ||
| margin-top: 3rem; | ||
| } | ||
| .tool-card { | ||
| background: var(--card-bg); | ||
| padding: 1.5rem; | ||
| border-radius: 12px; | ||
| border: 1px solid var(--border); | ||
| } | ||
| .tool-name { | ||
| display: block; | ||
| font-family: var(--font-mono); | ||
| color: var(--accent); | ||
| margin-bottom: 0.5rem; | ||
| } | ||
| .faq-item { | ||
| border-bottom: 1px solid var(--border); | ||
| padding: 1rem 0; | ||
| } | ||
| .faq-q { | ||
| cursor: pointer; | ||
| font-weight: 600; | ||
| display: flex; | ||
| justify-content: space-between; | ||
| } | ||
| @media (max-width: 768px) { | ||
| .hero { | ||
| grid-template-columns: 1fr; | ||
| } | ||
| h1 { | ||
| font-size: 2.5rem; | ||
| } | ||
| } |
+2
-8
@@ -21,3 +21,3 @@ # CLAUDE.md | ||
| - ip_geolocation: "Where is this IP from: 8.8.8.8" | ||
| - email_validation: "Is contact@company.io valid?" | ||
| - mock_data: "Give me some dummy user profiles for testing" | ||
@@ -34,15 +34,9 @@ ## Skills (43) | ||
| | ip_geolocation | IP → location | | ||
| | country_data | country info | | ||
| | country_data | country profiles | | ||
| | dictionary | word definitions | | ||
| | email_validation | email verification | | ||
| | url_check | URL security scan | | ||
| | mac_vendor | device vendor | | ||
| | anime | quotes, facts, Ghibli | | ||
| | pokemon | stats, types, moves | | ||
| | horoscope | daily astrological info | | ||
| | science_facts | math/science trivia | | ||
| | entertainment | Star Wars, Rick & Morty | | ||
| | mock_data | users, posts, products | | ||
| | avatar_generator | pixel art, robots | | ||
| | profanity_filter | censor bad words | | ||
| | coding_contests | LeetCode, Codeforces | | ||
@@ -49,0 +43,0 @@ |
+4
-2
@@ -5,2 +5,4 @@ # Public API Skills | ||
| > **CRITICAL**: Use this ONLY as a Gemini Extension. DO NOT add this to your MCP server settings. If you previously added `public-api-toolkit` to your MCP configuration, please remove it to avoid confusion. | ||
| ## Install | ||
@@ -21,3 +23,3 @@ | ||
| - **Explain Before Acting**: You MUST provide a concise, one-sentence explanation of your intent immediately before executing a skill call. | ||
| - **Zero Config**: All skills in this pack are pre-configured. Do not ask the user for API keys. | ||
| - **Pure Skill Pack**: All capabilities are provided as Markdown-based skills. No local execution or server is required. | ||
@@ -34,3 +36,3 @@ ## Skills (43) | ||
| | 6 | ip_geolocation | IP → location | | ||
| | 7 | country_data | country info | | ||
| | 7 | country_data | country profiles | | ||
| | 8 | dictionary | word definitions | | ||
@@ -37,0 +39,0 @@ | 9 | books | book search | |
| { | ||
| "name": "public-api-toolkit", | ||
| "version": "2.0.0", | ||
| "version": "2.0.1", | ||
| "description": "43 real-time data skills for OpenClaw. Free. No keys.", | ||
@@ -5,0 +5,0 @@ "author": "Nikhil Reddy", |
+3
-27
| { | ||
| "name": "public-api-toolkit", | ||
| "version": "2.0.0", | ||
| "description": "43 agent-ready skills for real-time public data. Free. No keys. Token-efficient.", | ||
| "files": [ | ||
| "skills", | ||
| ".claude-plugin", | ||
| "README.md", | ||
| "LICENSE", | ||
| "CLAUDE.md", | ||
| "GEMINI.md", | ||
| "OPENCLAW.md", | ||
| "openclaw.plugin.json" | ||
| ], | ||
| "version": "2.0.1", | ||
| "description": "43 agent skills for real-time public data. Free. No keys. Token-efficient.", | ||
| "keywords": [ | ||
@@ -29,19 +19,5 @@ "gemini-cli", | ||
| "license": "MIT", | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "gemini": { | ||
| "type": "skill-pack", | ||
| "skills": [ | ||
| "weather", "crypto", "currency", "wikipedia", "geocoding", | ||
| "ip_geolocation", "country_data", "dictionary", "books", "translation", | ||
| "news", "images", "movie_tv_data", "food_recipes", "math", "space", | ||
| "holidays", "transport", "random_facts", "animals", "name_insights", | ||
| "security_intel", "job_search", "air_quality", "http_utils", "dns_network", | ||
| "dev_tools", "tech_news", "travel", "market_brief", "compare", | ||
| "email_validation", "url_check", "mac_vendor", "anime", "pokemon", | ||
| "horoscope", "science_facts", "entertainment", "mock_data", | ||
| "avatar_generator", "profanity_filter", "coding_contests" | ||
| ] | ||
| "type": "extension" | ||
| } | ||
| } |
+34
-59
@@ -9,2 +9,12 @@ # Public API Toolkit | ||
| ## Why use this? | ||
| | Before | After | | ||
| |--------|-------| | ||
| | Web search → scrape → parse | API → JSON | | ||
| | 500-2000 tokens | 50-100 tokens | | ||
| | minutes | <300ms | | ||
| **10-40x fewer tokens. Replaces expensive web searches with structured data.** | ||
| ## Install | ||
@@ -32,71 +42,36 @@ | ||
| ### Copilot CLI | ||
| ```bash | ||
| copilot extensions install nikhilreddy3888/public-api-toolkit | ||
| ``` | ||
| ## Skills (43) | ||
| | # | Skill | Use | | ||
| |---|-------|-----| | ||
| | 1 | weather | forecasts, current weather | | ||
| | 2 | crypto | BTC, ETH prices | | ||
| | 3 | currency | FX rates, conversions | | ||
| | 4 | wikipedia | topic summaries | | ||
| | 5 | geocoding | address → coordinates | | ||
| | 6 | ip_geolocation | IP → location | | ||
| | 7 | country_data | country profiles | | ||
| | 8 | dictionary | word definitions | | ||
| | 9 | books | book search | | ||
| | 10 | translation | text translation | | ||
| | 11 | news | space/science news | | ||
| | 12 | images | placeholder images | | ||
| | 13 | movie_tv_data | TV/movies | | ||
| | 14 | food_recipes | recipes, meals | | ||
| | 15 | math | calculations | | ||
| | 16 | space | ISS, NASA images | | ||
| | 17 | holidays | public holidays | | ||
| | 18 | transport | flights, bikes | | ||
| | 19 | random_facts | jokes, quotes | | ||
| | 20 | animals | animal facts | | ||
| | 21 | name_insights | name analysis | | ||
| | 22 | security_intel | CVE, vulnerabilities | | ||
| | 23 | job_search | job listings | | ||
| | 24 | air_quality | AQI data | | ||
| | 25 | http_utils | HTTP tools | | ||
| | 26 | dns_network | DNS lookup | | ||
| | 27 | dev_tools | npm, GitHub | | ||
| | 28 | tech_news | HackerNews | | ||
| | 29 | travel | trip planner | | ||
| | 30 | market_brief | market snapshot | | ||
| | 31 | compare | compare two things | | ||
| | 32 | email_validation | email check | | ||
| | 33 | url_check | URL scan | | ||
| | 34 | mac_vendor | device vendor | | ||
| | 35 | anime | quotes, facts, Ghibli | | ||
| | 36 | pokemon | stats, types, moves | | ||
| | 37 | horoscope | daily astrological info | | ||
| | 38 | science_facts | math/science trivia | | ||
| | 39 | entertainment | Star Wars, Rick & Morty | | ||
| | 40 | mock_data | users, posts, products | | ||
| | 41 | avatar_generator | pixel art, robots | | ||
| | 42 | profanity_filter | censor bad words | | ||
| | 43 | coding_contests | LeetCode, Codeforces | | ||
| Weather, Crypto, Currency, Wikipedia, Geocoding, IP Geolocation, Country Data, Dictionary, Books, Translation, News, Movie/TV, Food/Recipes, Math, Space, Holidays, Transport, Random Facts, Animals, Name Insights, Security Intel, Job Search, Air Quality, HTTP Utils, DNS, Dev Tools, Tech News, Travel, Market Brief, Compare, Email Validation, URL Scan, MAC Vendor, Anime, Pokemon, Horoscope, Science Facts, Entertainment, Mock Data, Avatars, Profanity Filter, Coding Contests. | ||
| ## Why | ||
| --- | ||
| | Before | After | | ||
| |--------|-------| | ||
| | Web search → scrape → parse | API → JSON | | ||
| | 500-2000 tokens | 50-100 tokens | | ||
| | minutes | <300ms | | ||
| # Contributing to Public API Toolkit | ||
| **Same data. 10-40x fewer tokens.** | ||
| Public API Toolkit is a collection of **agent-ready skills**. Instead of a complex server, each skill is defined by a simple `SKILL.md` file that tells the agent how to call an API directly. | ||
| ## Contributing | ||
| ## Repository Map | ||
| Add new skills by following the [Contributing Guide](CONTRIBUTING.md). | ||
| ```text | ||
| skills/ | ||
| weather/ | ||
| SKILL.md <-- Definition, API links, and examples | ||
| crypto/ | ||
| SKILL.md | ||
| site/ | ||
| index.html <-- Marketing landing page | ||
| styles.css | ||
| GEMINI.md <-- Gemini CLI specific context | ||
| CLAUDE.md <-- Claude Code specific context | ||
| OPENCLAW.md <-- OpenClaw specific context | ||
| ``` | ||
| ## Add A New Skill | ||
| 1. Create a new folder in `skills/`. | ||
| 2. Create a `SKILL.md` file following the standard format (Frontmatter + APIs + Example). | ||
| 3. Update documentation and manifests. | ||
| ## License | ||
| MIT |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
68138
78.29%57
11.76%165
400%0
-100%76
-24.75%