apilookup
Use when work depends on current external API behavior, SDK docs, framework versions, breaking changes, migration guides, changelogs, release notes, deprecations, or syntax that may have changed.
Best use case
apilookup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when work depends on current external API behavior, SDK docs, framework versions, breaking changes, migration guides, changelogs, release notes, deprecations, or syntax that may have changed.
Teams using apilookup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/apilookup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How apilookup Compares
| Feature / Agent | apilookup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when work depends on current external API behavior, SDK docs, framework versions, breaking changes, migration guides, changelogs, release notes, deprecations, or syntax that may have changed.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# API Lookup Skill Look up API documentation, SDK references, library versions, and migration guides using a three-tier resolution strategy that starts with local Flow skill references and escalates to targeted web searches only when needed. ## Overview Three tiers of resolution, applied in order: 1. **Local skill references** — if a matching Flow skill exists and the registry entry is fresh (< 30 days), load the skill's curated `references/` docs directly. No network needed. 2. **Targeted web lookup** — if local refs are stale (> 30 days) or the query needs more, use the registry's known URLs for targeted searches (max 2-4). 3. **Arbitrary lookup** — for technologies without a matching skill, broad web search with a version-first strategy (max 2-4 searches). ## Usage Patterns Example queries this skill handles: - "What's the latest Litestar version and what changed?" - "How do I use React Server Components?" - "Show me the SQLAlchemy 2.0 migration guide" - "What breaking changes are in Angular 19?" - "What's the current Go module proxy API?" (arbitrary — no local skill) - "Check if there's a newer version of Tailwind CSS" <workflow> ## How It Works ### Version Registry `references/registry.json` maps every Flow skill to: - Current known version and last-checked date - Package registry (PyPI, npm, crates.io, etc.) - Official docs URL, changelog URL, and GitHub repo - Search hint keywords for targeted queries ### Staleness Thresholds | Age of registry entry | Action | |-----------------------|--------| | < 30 days | Trust local skill references, answer directly | | 30-90 days | Use local refs as baseline, verify version via web | | > 90 days | Treat as potentially outdated, do full version check | ### Search Budget All web lookups are capped at **2-4 searches max**. Prefer `WebFetch` on known URLs over `WebSearch` when registry URLs are available — it is faster and more precise. </workflow> <guardrails> ## Lookup Rules See `references/lookup-strategy.md` for the full decision tree. Key principles: 1. **Always start local** — check the registry and load matching skill refs if fresh 2. **Be targeted** — use registry URLs and package names for precise queries 3. **Respect the budget** — 2-4 searches max, stop once you have an authoritative answer 4. **Cite sources** — always include links to official docs or changelogs 5. **Note version gaps** — if local refs cover version X but the current release is Y, tell the user explicitly </guardrails> ## References Index - **[Lookup Strategy](references/lookup-strategy.md)** — Detailed three-tier resolution instructions - **[Version Registry](references/registry.json)** — Package metadata and staleness tracking for all skills - **[Registry Schema](references/registry-schema.md)** — Documents the registry JSON format and fields <validation> ## Validation Checkpoint Before delivering an answer based on an API lookup, verify: - [ ] **Staleness check** was performed against `registry.json` for known skills - [ ] **Tier 1 (Local)** was tried first for fresh entries (< 30 days) - [ ] **Tier 2 (Targeted)** was used for stale entries, capping at 2-4 searches - [ ] **Tier 3 (Arbitrary)** used for unknown tech, anchoring on today's date - [ ] **Citations** are included with direct links to official docs or changelogs - [ ] **Version gaps** between local refs and current docs are explicitly noted </validation> <example> ## Example: Looking up React Server Components **Query:** "How do I use React Server Components in Next.js?" 1. **Identify Tech:** React, Next.js. 2. **Check Registry:** Matches `react` skill. `last_checked` is 45 days ago (Tier 2). 3. **Execute Tier 2:** - **Step 1 (Version):** WebFetch `https://github.com/facebook/react/releases` -> React 19 is latest. - **Step 2 (Specific):** WebSearch `site:nextjs.org react server components pattern 2026`. 4. **Synthesize:** - "Based on Next.js 15+ documentation (compatible with React 19):" - Explain `use client` vs default server components. - Provide code example of a Server Component fetching data. - **Citations:** [Next.js RSC Docs](https://nextjs.org/docs/app/building-your-application/rendering/server-components), [React 19 Upgrade Guide](https://react.dev/blog/2024/12/05/react-19). </example>
Related Skills
flow-memory-keeper
Use at task, phase, flow, sync, archive, finish, revise, or failure checkpoints to keep Flow specs clean, capture learnings and failures, elevate durable patterns, and refine this skill with project-specific nuances
vue
Use when editing Vue projects, .vue files, vue.config.js, Vue 3 components, Composition API, <script setup>, SFC state, deployment workflows, or Vue CI configuration.
vite
Use when editing Vite projects, vite.config.ts, vite.config.js, Vite plugins, HMR, asset bundling, frontend build settings, deployment config, or Litestar/Vite integration.
uvicorn
Use when deploying ASGI apps with uvicorn, editing uvicorn CLI commands, Config or Server usage, workers, reload, event loop selection, SSL, lifespan, logging, or development server behavior.
tracer
Use when tracing execution paths, mapping dependencies, understanding unfamiliar code, following data flow, investigating end-to-end behavior, debugging call chains, or deciding which files to read next.
testing
Use when writing or refactoring tests, editing test_*.py, *.test.ts, *.spec.ts, conftest.py, vitest.config.ts, pytest fixtures, mocks, coverage, async tests, anyio, or test failure debugging.
terraform
Use when creating, adopting, refactoring, or operating Terraform, *.tf files, .terraform.lock.hcl, terragrunt.hcl, root modules, backends, state, workspaces, imports, CI plan/apply, tests, or policy checks.
tanstack
Use when editing TanStack code, @tanstack imports, useQuery, createRouter, React Query, TanStack Router, Table, Form, Store, file-based routing, data fetching, or SPA state management.
tailwind
Use when styling with Tailwind CSS, editing tailwind.config.ts, tailwind.config.js, @tailwind directives, utility classes, responsive layouts, @apply, cn(), @theme config, dark mode, or forms.
svelte
Use when editing Svelte components, .svelte files, svelte.config.js, Svelte 5 runes, $state, $derived, SvelteKit, component state, or migrating away from Svelte 4 patterns.
sqlserver
Use when writing T-SQL, editing SQL Server .sql files, using sqlcmd, SQL Server connection strings, stored procedures, execution plans, indexes, Always On, JSON, security, or connector code.
sqlalchemy
Use when editing SQLAlchemy code, sqlalchemy imports, mapped_column, DeclarativeBase, ORM models, relationships, select() queries, async sessions, engines, events, or migrations.