Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use up-to-date library and framework docs via Context7 MCP instead of training data. Activates for setup questions, API references, code examples, or when the user names a framework (e.g. React, Next.js, Prisma).
.claude/skills/loulanyue-documentation-lookup/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 9% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 29% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 37% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 33% | 0% |
When the user asks about libraries, frameworks, or APIs, fetch current documentation via the Context7 MCP (tools resolve-library-id and query-docs) instead of relying on training data.
/vercel/next.js) from a library name and query.Activate when the user:
Use this skill whenever the request depends on accurate, up-to-date behavior of a library, framework, or API. Applies across harnesses that have the Context7 MCP configured (e.g. Claude Code, Cursor, Codex).
Call the resolve-library-id MCP tool with:
Next.js, Prisma, Supabase).You must obtain a Context7-compatible library ID (format /org/project or /org/project/version) before querying docs. Do not call query-docs without a valid library ID from this step.
From the resolution results, choose one result using:
/org/project/v1.2.0).Call the query-docs MCP tool with:
/vercel/next.js).Limit: do not call query-docs (or resolve-library-id) more than 3 times per question. If the answer is unclear after 3 calls, state the uncertainty and use the best information you have rather than guessing.
libraryName: "Next.js", query: "How do I set up Next.js middleware?"./vercel/next.js) by name and benchmark score.libraryId: "/vercel/next.js", query: "How do I set up Next.js middleware?".middleware.ts example from the docs if relevant.libraryName: "Prisma", query: "How do I query with relations?"./prisma/prisma).libraryId and the query.include or select) with a short code snippet from the docs.libraryName: "Supabase", query: "What are the auth methods?".| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 15,332 | 12,385 | -19% | 1 | 1 | 0% | 3,017 | 3,783 | +25% | 0 | 0 | — |
case-01 | fail→fail | 13,144 | 5,576 | -58% | 1 | 1 | 0% | 2,481 | 1,464 | -41% | 0 | 0 | — |
case-02 | fail→fail | 16,835 | 7,227 | -57% | 1 | 1 | 0% | 3,372 | 1,441 | -57% | 0 | 0 | — |
case-04 | pass→pass | 10,068 | 6,930 | -31% | 1 | 1 | 0% | 1,977 | 2,558 | +29% | 0 | 0 | — |
case-05 | pass→pass | 15,109 | 16,952 | +12% | 1 | 1 | 0% | 2,791 | 3,817 | +37% | 0 | 0 | — |
case-06 | pass→pass | 14,033 | 14,386 | +3% | 1 | 1 | 0% | 2,449 | 3,258 | +33% | 0 | 0 | — |
case-07 | fail→fail | 9,940 | 4,453 | -55% | 1 | 1 | 0% | 2,191 | 1,493 | -32% | 0 | 0 | — |
case-08 | fail→fail | 7,719 | 4,399 | -43% | 1 | 1 | 0% | 1,516 | 1,503 | -1% | 0 | 0 | — |
case-09 | pass→fail | 9,294 | 5,398 | -42% | 1 | 1 | 0% | 1,352 | 1,475 | +9% | 0 | 0 | — |
case-10 | fail→fail | 8,477 | 4,739 | -44% | 1 | 1 | 0% | 1,467 | 1,994 | +36% | 0 | 0 | — |
case-11 | pass→pass | 16,889 | 13,294 | -21% | 1 | 1 | 0% | 3,415 | 3,836 | +12% | 0 | 0 | — |
case-12 | fail→pass | 6,222 | 2,825 | -55% | 1 | 1 | 0% | 1,034 | 1,634 | +58% | 0 | 0 | — |
case-13 | fail→fail | 14,777 | 5,139 | -65% | 1 | 1 | 0% | 2,701 | 1,459 | -46% | 0 | 0 | — |
case-14 | pass→pass | 5,991 | 2,191 | -63% | 1 | 1 | 0% | 966 | 1,583 | +64% | 0 | 0 | — |
case-15 | pass→pass | 8,981 | 3,525 | -61% | 1 | 1 | 0% | 1,369 | 1,719 | +26% | 0 | 0 | — |
case-16 | fail→fail | 9,224 | 4,700 | -49% | 1 | 1 | 0% | 1,798 | 1,423 | -21% | 0 | 0 | — |
case-17 | fail→fail | 15,183 | 4,334 | -71% | 1 | 1 | 0% | 2,602 | 1,401 | -46% | 0 | 0 | — |
case-18 | pass→pass | 7,190 | 3,115 | -57% | 1 | 1 | 0% | 1,224 | 1,701 | +39% | 0 | 0 | — |
case-19 | pass→pass | 3,655 | 1,920 | -47% | 1 | 1 | 0% | 575 | 1,503 | +161% | 0 | 0 | — |
case-20 | fail→fail | 7,816 | 4,416 | -44% | 1 | 1 | 0% | 1,541 | 1,459 | -5% | 0 | 0 | — |
case-21 | fail→fail | 15,409 | 7,442 | -52% | 1 | 1 | 0% | 2,536 | 1,505 | -41% | 0 | 0 | — |
case-22 | fail→fail | 11,812 | 4,489 | -62% | 1 | 1 | 0% | 2,507 | 1,436 | -43% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 11 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 11 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.