Back to list
dmmulroy

librarian

by dmmulroy

351🍴 29📅 Jan 23, 2026

SKILL.md


name: librarian description: Multi-repository codebase exploration. Research library internals, find code patterns, understand architecture, compare implementations across GitHub/npm/PyPI/crates. Use when needing deep understanding of how libraries work, finding implementations across open source, or exploring remote repository structure. references:

  • references/tool-routing.md
  • references/opensrc-api.md
  • references/opensrc-examples.md
  • references/linking.md
  • references/diagrams.md

Librarian Skill

Deep codebase exploration across remote repositories.

How to Use This Skill

Reference Structure

FilePurposeWhen to Read
tool-routing.mdTool selection decision treesAlways read first
opensrc-api.mdAPI reference, typesWriting opensrc code
opensrc-examples.mdJavaScript patterns, workflowsImplementation examples
linking.mdGitHub URL patternsFormatting responses
diagrams.mdMermaid patternsVisualizing architecture

Reading Order

  1. Start with tool-routing.md → choose tool strategy
  2. If using opensrc:
    • Read opensrc-api.md for API details
    • Read opensrc-examples.md for patterns
  3. Before responding: linking.md + diagrams.md for output formatting

Tool Arsenal

ToolBest ForLimitations
grep_appFind patterns across ALL public GitHubLiteral search only
context7Library docs, API examples, usageKnown libraries only
opensrcFetch full source for deep explorationMust fetch before read

Quick Decision Trees

"How does X work?"

Known library?
├─ Yes → context7.resolve-library-id → context7.query-docs
│        └─ Need internals? → opensrc.fetch → read source
└─ No  → grep_app search → opensrc.fetch top result

"Find pattern X"

Specific repo?
├─ Yes → opensrc.fetch → opensrc.grep → read matches
└─ No  → grep_app (broad) → opensrc.fetch interesting repos

"Explore repo structure"

1. opensrc.fetch(target)
2. opensrc.tree(source.name) → quick overview
3. opensrc.files(source.name, "**/*.ts") → detailed listing
4. Read: README, package.json, src/index.*
5. Create architecture diagram (see diagrams.md)

"Compare X vs Y"

1. opensrc.fetch(["X", "Y"])
2. Use source.name from results for subsequent calls
3. opensrc.grep(pattern, { sources: [nameX, nameY] })
4. Read comparable files, synthesize differences

Critical: Source Naming Convention

After fetching, always use source.name for subsequent calls:

const [{ source }] = await opensrc.fetch("vercel/ai");
const files = await opensrc.files(source.name, "**/*.ts");
TypeFetch SpecSource Name
npm"zod""zod"
npm scoped"@tanstack/react-query""@tanstack/react-query"
pypi"pypi:requests""requests"
crates"crates:serde""serde"
GitHub"vercel/ai""github.com/vercel/ai"
GitLab"gitlab:org/repo""gitlab.com/org/repo"

When NOT to Use opensrc

ScenarioUse Instead
Simple library API questionscontext7
Finding examples across many reposgrep_app
Very large monorepos (>10GB)Clone locally
Private repositoriesDirect access

Output Guidelines

  1. Comprehensive final message - only last message returns to main agent
  2. Parallel tool calls - maximize efficiency
  3. Link every file reference - see linking.md
  4. Diagram complex relationships - see diagrams.md
  5. Never mention tool names - say "I'll search" not "I'll use opensrc"

References

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

3ヶ月以内に更新

+5
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon