fresh-library-docs

v2026.09.24

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.

GitHub
安装命令
npx skhub add onewave-ai/fresh-library-docs
Markdown
SKILL.md

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:

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.

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:

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.

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

fresh-library-docs

默认分支

main

最新提交

f317e08

Tree SHA

5eb00f2