mcpField
L
library-reference-distillation

library-reference-distillation

github.com/pproencaAgent workflows218111 installsUpdated 11w ago
Repository

About library-reference-distillation

A methodology guide for turning one external library into an idiomatic-usage rule pack, covering source selection, version pinning, rule organization, and metadata checks. It is for authors creating or updating library-reference skills, not a generator.

Key features

  1. 01Prioritize sources for rule discovery
  2. 02Pin versions based on API change rate
  3. 03Organize rules into tiers
  4. 04Validate metadata against cited references
  5. 05Template for writing applicability guidance

Use cases

  1. 01Distill idiomatic usage rules for a new library
  2. 02Check a skill for drift after a library update
  3. 03Reshape rule categories and prefixes
  4. 04Verify that citations match metadata

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pproenca/dot-skills --skill library-reference-distillation

After installing, type/library-reference-distillationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

AGENTS.md
metadata.json
references/
_sections.md
meta-references-checksum.md
pin-by-velocity.md
pin-refresh-vs-head.md
shape-category-ladder.md
shape-when-to-apply-template.md
source-failure-gap.md
source-priority-ladder.md

Details

From the project README

Library-Reference Distillation — Archetype Playbook

Methodology distillation of the conventions that hold across shipped library-reference distillations in this repo — the archetype that turns one external library into an idiomatic-usage rule pack. Not a generator; a constraint set on the editorial decisions /dev-skill:new cannot make for you.

This is the archetype layer that sits above /dev-skill:new and /dev-skill:ingest. The generator handles the structural shell. This skill handles the four decisions you re-make for every library-ref skill: where to source from, how to pin against version drift, how to shape categories and rules, and how to keep the metadata an honest checksum.

When to Apply

Use this skill when:

  • Starting a new library-ref distillation (the library has docs and a stable surface area you want to capture as idiomatic rules)
  • Evolving an existing library-ref skill against a new upstream release or major version bump
  • Reviewing a draft library-ref skill that "feels like the docs rewritten"
  • Picking categories and a prefix scheme for a new skill and the choices feel arbitrary
  • Deciding whether to pin the upstream version in SKILL.md heading or only in metadata.json
  • Refreshing a skill where you suspect rule drift from upstream (the openai-codex-rust-patterns lesson: codex-rs drifts hard between snapshots)

This skill is not for:

  • Code-atlas distillations (e.g., openai-codex-rust-patterns, opencode-ts, nextjs-ppr-patterns) — sources are a real repo at a pinned HEAD, not upstream docs. Sibling archetype playbook still to be extracted.
  • Methodology distillations (e.g., radical-simplification, deterministic-metric-design) — sources are named humans and their canon, not a library.
  • Scaffolders (e.g., expo-design-system-scaffolder) — composition workflow, not a rulebook.

How to Use

The four categories are orthogonal decisions you make once per skill. Match the symptom to the move:

SymptomReach forFirst rule to read
Don't know where to mine rules fromSourcesource-priority-ladder
Rules feel like API restatement, not load-bearingSource (failure-gap)source-failure-gap
Library changes fast — skill will rotPinpin-by-velocity
Existing skill is drifting from upstreamPin (refresh)pin-refresh-vs-head
Categories feel arbitraryShapeshape-category-ladder
When-to-Apply does not trigger reliablyShape (When-to-Apply)shape-when-to-apply-template
Cite list and rule sources have driftedMetameta-references-checksum

For category overviews and ordering rationale, see references/_sections.md.

Rule Categories

#CategoryPrefixMoveRules
1Source SelectionsourceWhere to mine from; what makes a rule load-bearing2
2VersioningpinHow to pin against API velocity; how to refresh2
3Rule ShapeshapeThe universal 4-tier ladder; the When-to-Apply template2
4Metadata Disciplinemetareferences[] as honest cite-set checksum1

Quick Reference

1. Source Selection
  • source-priority-ladder — Docs → blog/changelog → GitHub discussions → types → examples; the ladder inverts only when the library publishes an llms.txt (Effect)
  • source-failure-gap — Privilege rules that capture what docs omit and production exposed; if a rule just restates the API, cut it
2. Versioning
  • pin-by-velocity — Stable APIs (Zod, RHF) → version lives in metadata.json only; fast-moving APIs (nuqs v2.5–v2.8, Tailwind v4) → explicit range in SKILL.md heading
  • pin-refresh-vs-head — When evolving, diff your skill against upstream HEAD; codify the drift lessons (codex-rs codex.rs → session/ split is the canonical example)
3. Rule Shape
  • shape-category-ladder — Every shipped library-ref skill ladders CRITICAL setup → HIGH isolation/perf → MEDIUM composition/integration → LOW edge cases/polish; pick category names that map onto this, do not invent a new shape
  • shape-when-to-apply-template — 4 slots: import-statement trigger + problem-domain language + frequency signal + explicit NOT-to-do boundary pointing to sibling skills
4. Metadata Discipline
  • meta-references-checksum — metadata.references[] is the exact set of URLs cited in rules — no superset, no subset; if it diverges, either the rules or the metadata is lying

Related Skills

  • radical-simplification — The thinking layer above this skill; this playbook is itself an instance of the "reduce → constrain → name the invariant" moves applied to skill-authoring
  • skill-authoring — Cross-archetype skill-authoring conventions; this skill is the library-reference specialization
  • deterministic-metric-design — Methodology-distillation sibling; demonstrates the same archetype patterns applied to a different archetype (proves the per-archetype playbook idea generalizes)

Authoring Note

These rules are load-bearing, not decorative. They were extracted by tracing where rules in 5 shipped library-ref skills cited their sources (nuqs, zod, react-hook-form, effect-ts, emilkowal-animations). Each rule names the wrong default the author makes when these conventions are absent. If a rule restates something /dev-skill:new already handles, cut it. Coverage is proven by /dev-skill:eval on real library-distillation prompts, not by rule count. When the next archetype playbook (code-atlas, methodology, scaffolder, runbook) is extracted, the patterns that re-appear here are candidates for promotion to a generic skill-authoring skill; the ones that diverge stay archetype-specific.

Comments

Markdown supported