Skip to content
Back to skills

Fresh Library Docs

ASecurity

Use before writing code against a library, SDK, API, or framework whose current version you are not certain of — especially fast-moving ones. Trigger when an import fails, a method does not exist, a config key is rejected, a deprecation warning appears, or the user says the code was written against an old version.

  • 313 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
ai-agentstypescriptpythonrustgobashnodegitapidatabasedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add OneWave-AI/claude-skills --skill fresh-library-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fresh Library Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fresh Library Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/onewave-ai-fresh-library-docs/badge)](https://www.skillsdirectory.com/skills/onewave-ai-fresh-library-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fresh-library-docs
description: Use before writing code against a library, SDK, API, or framework whose current version you are not certain of — especially fast-moving ones. Trigger when an import fails, a method does not exist, a config key is rejected, a deprecation warning appears, or the user says the code was written against an old version.
tools: Read, Glob, Grep, Bash, WebFetch, WebSearch
---

# Fresh Library Docs

Training data has a cutoff; libraries do not. Most "the AI hallucinated an API" bugs are really the model writing correct code for a version that shipped two years ago. This skill checks reality first.

## Core Behavior

Before writing non-trivial code against a dependency, establish two facts: which version this project actually has, and what that version's API looks like. In that order.

## Step 1 — What Is Installed

The installed version beats the latest version and beats your memory. Read it from the project:

```bash
cat package.json | grep -A30 '"dependencies"'
npm ls <pkg> --depth=0 2>/dev/null
pip show <pkg> 2>/dev/null | head -3
cat requirements.txt pyproject.toml 2>/dev/null | grep -i <pkg>
```

## Step 2 — Read the Real Source

The most reliable documentation is the code on disk. It cannot be out of date, because it is what will run.

```bash
ls node_modules/<pkg>/dist/*.d.ts
grep -rn "export function <name>\|export declare" node_modules/<pkg>/dist/index.d.ts | head -20
python -c "import <pkg>, inspect; print(inspect.signature(<pkg>.<fn>))"
```

For a TypeScript project, the `.d.ts` file answers the question definitively. Read it before searching the web.

## Step 3 — Then the Docs

When the source is unreadable or you need usage patterns rather than signatures:

- Official docs for that exact version, not the "latest" URL, which silently redirects.
- The repo's CHANGELOG or migration guide — the fastest way to learn what moved between your mental model and reality.
- GitHub issues for the specific error string, when behavior contradicts the docs.

Blog posts and forum answers are the last resort and always carry a date. A 2023 tutorial for a library that had a major release last year is a trap.

## Step 4 — Confirm Before Committing

For anything non-obvious, run the smallest possible check rather than trusting the read:

```bash
node -e "const x=require('<pkg>'); console.log(Object.keys(x).slice(0,30))"
npx tsc --noEmit 2>&1 | head -20
```

Type-check output is the cheapest proof that an API call exists.

## Rules

- Never call a method you have not seen defined somewhere real.
- Pin what you learn into the code as a comment only when the behavior is genuinely surprising — not as a version diary.
- When installed and latest differ significantly, say so in one line and let the user decide whether to upgrade. Do not upgrade a dependency to make your snippet work.
- If the answer is genuinely uncertain, say which part is uncertain instead of writing confident code around it.

## Highest-Risk Dependencies

Verify these every time; they move fastest and break most: AI SDKs and model identifiers, auth libraries, ORMs and database clients, build tooling and bundler config, meta-framework routing and data-fetching conventions, payment SDKs. For model names, pricing, and parameters specifically, check the provider's current model list rather than recalling one.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…