Library Wiki logo

Library Wiki

Community
llopresto87
library-wiki

Maintain a project-local, version-pinned wiki of every external dependency. Use whenever a new library is being added, an existing one is being upgraded, an idiom for using a library is being adopted, a pitfall is being discovered, or a wiki page is missing for code that already uses a library. The wiki is the source of truth this project consults before writing code that touches a library; agent memory of library APIs is unreliable across versions, so always check or build the wiki first.

Overview

Publisherllopresto87
RepositoryCypress
Skill namelibrary-wiki
Stars
113
Forks
6
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by llopresto87 on GitHub. Read the source before you install it.

Installation

Install the Library Wiki AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/llopresto87/Cypress/tree/main/skills/library-wiki
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/llopresto87/Cypress.git /tmp/Cypress
mkdir -p .claude/skills
cp -r /tmp/Cypress/skills/library-wiki .claude/skills/library-wiki
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Library Wiki in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Library Wiki on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Library Wiki is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

library-wiki

The wiki at docs/graph/libraries/ is this project's source of truth for every external dependency. Each library used directly by the project has a page; each page is local, version-pinned, sourced, and compounding.

This skill is the discipline of building and maintaining those pages. It is invoked from the ingest-library protocol and any time an agent uses a library and realizes the page is missing or stale.

When to apply this skill

  • A new dependency is being added → create a page.
  • A research-scout draft is staged → file and finalize it (Workflow below), at the close-out of the pass that drafted it.
  • A pinned version is bumped → refresh the page.
  • A new idiom for using a library was just adopted → record it.
  • An agent ran into a behavior the page doesn't cover → add a pitfall entry, dated.
  • A security advisory affects a wikified library → update §7 and notify grill.md §11.
  • The page is older than the project's review cadence → refresh.

The discipline

1. The wiki is the project's distillation

A wiki page is the narrow slice of the library that this project uses, plus the project-local idioms, pitfalls, and history. The whole upstream goes in docs/graph/sources/raw/ and docs/graph/sources/normalized/; the page in docs/graph/libraries/ is the project's distillation.

If a wiki page reads like a tutorial for someone who has never used the library, it has drifted from the discipline: tutorials belong upstream.

2. Pin to a version

Every page pins the exact version the project depends on. "Latest" is not a version. When the project upgrades, the page updates the pin and adds an §8 (Upgrade path) entry summarizing what changed between the previous and current pin.

A pin is not by itself a currency claim. Where the page says the dependency is current, it names the version and the support phase of the line that version belongs to. "On the latest release" and "supported" are two claims: a line that has left active support satisfies the first while failing the second, and a pin recorded without its phase reads as currency to every later reader. Nor is a pin what runs: it is what the project declares. Where the project deploys to more than one environment, a bump the page records stays intended until the running version is measured in each one, and the page says which environments it measured; a declared pin, and even a version endpoint the platform exposes, can disagree with what is deployed. When two measurements disagree, both stay on the page with their dates (protocol.verify-disagreement, mutable subjects).

3. Cite every claim

Every claim on the page has a citation in §10 (References): a URL, a retrieval date, and (when the source is paywalled or transient) a local snapshot path in docs/graph/sources/raw/.

Use upstream text as a short quote, in quotes, with its citation, or rewrite the idea in the project's own words; close paraphrase is neither: it copies upstream text without attribution. Most pages need very little upstream text.

4. Compound

§3 (Used API surface) lists the names the codebase actually uses, one line added when a new file starts using a new name. §4 records idioms once they are adopted, and §5 records pitfalls once they are hit, each dated. Each section grows when the project meets the thing.

The page grows with the project. A bare page that says only "we use library X for Y, install with Z" is a perfectly acceptable starting point. A page left static diverges from the code within weeks: the docs-librarian keeps each page current at close-out, and the implementer and reviewer name wiki drift in their handback.

5. Validate before publishing

A wiki page becomes authoritative once a smoke test confirms the pinned version works. The smoke test:

  • Imports the library at the pin.
  • Calls one or two of the names in §3.
  • Runs in the project's normal test harness.

If the smoke test fails, the page is wrong (or the install is wrong); fix one of them before promoting the page.

Workflow

Creating and refreshing a page (which phase, which owner, which spawn waits for which) are ingest-library.flow and ingest-library.refresh in docs/graph/protocols/ingest-library.md. What this skill adds to the scout's draft, section by section: §0 (Pin) and §1 (Role) from the lockfile and the architect's brief; §2 (Install) from a command actually run in a clean environment, recorded exactly as it worked; §3 (Used API surface) from the current code that uses the library, or, when the page precedes the code, the names from the brief marked "planned"; §10 (References) from the sources research-scout staged in docs/graph/sources/. The smoke test that makes the page authoritative is the tester's phase of the same pass.

Depth when adopting an existing project

Index every direct dependency from manifests. Create a detailed library page during initialization when the dependency is architecturally significant, security/operations critical, unusual, or used across several subsystems. Each page answers how this project uses it, where configuration lives, relevant constraints, sharp edges, and verification status.

Installed versions come from manifests/locks. Upstream lifecycle, compatibility, or current guidance requires a primary upstream source; otherwise mark it pending rather than guessing. Record consulted sources in docs/graph/sources/.

When to also create a best-practices/ page

The library wiki is per-dependency. When a concern spans multiple libraries and needs a cohesive guidance (e.g. "how this project handles HTTP errors across our two HTTP clients"), that's a docs/graph/best-practices/<concern>.md. It links to the relevant wiki pages.

Reference files

  • docs/graph/templates/library-page.template.md: the page template.
  • docs/graph/protocols/ingest-library.md: the ingest workflow.
  • docs/graph/agents/09-docs-librarian.md: the agent that owns the wiki.
  • docs/graph/agents/10-research-scout.md: the agent that fetches sources.

Frequently asked questions

What does the Library Wiki AI skill do?

Maintain a project-local, version-pinned wiki of every external dependency. Use whenever a new library is being added, an existing one is being upgraded, an idiom for using a library is being adopted, a pitfall is being discovered, or a wiki page is missing for code that already uses a library. The wiki is the source of truth this project consults before writing code that touches a library; agent memory of library APIs is unreliable across versions, so always check or build the wiki first.

Why use Library Wiki on TypingMind?

Because you install it once and use it with any model. Library Wiki is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Library Wiki in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/llopresto87/Cypress/tree/main/skills/library-wiki. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Library Wiki?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Library Wiki?

As many as you like. As long as a model supports skills, you can use Library Wiki with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Library Wiki AI skill free?

Yes. It is published on GitHub by llopresto87 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇