К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

opensrc — скилл для Claude Code: что делает и как установить

Даёт агенту исходный код зависимостей, когда типов и документации мало для разбора внутренней логики или отладки поведения библиотеки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add vercel-labs/opensrc --skill opensrc -a claude-code
Открыть на GitHub

Что делает opensrc

opensrc получает исходники npm-, PyPI- и crates.io-пакетов, а также репозиториев, чтобы агент читал реализацию зависимости. Команда opensrc path <pkg> печатает путь к локальной копии и при необходимости сама загружает её. Можно запрашивать несколько пакетов, версии, ветки, теги и коммиты.

Для npm opensrc ищет установленную версию в package-lock.json, pnpm-lock.yaml или yarn.lock. Параметр --cwd задаёт другой проект для поиска lockfile. Исходники хранятся глобально в ~/.opensrc/; расположение меняется через OPENSRC_HOME.

Кэш можно просмотреть, удалить выборочно или очистить по источнику. Глобальную очистку стоит применять осознанно, потому что opensrc clean удаляет все сохранённые исходники. Для простых вопросов по API скилл избыточен: типы или документация уже могут дать ответ.

Какие задачи решает

  • прочитать реализацию зависимости вместо одних типов
  • найти обработку граничного случая в библиотеке
  • сопоставить поведение пакета с его исходным кодом
  • получить исходники версии из lockfile
  • очистить кэш загруженных пакетов

Примеры запросов агенту

  • «Получи исходный код `zod` и найди обработку `parse`.»
  • «Покажи реализацию `pypi:requests`, чтобы разобраться во внутреннем поведении.»
  • «Найди тесты в исходниках `facebook/react`.»

Как установить opensrc

1Через Skills CLI (Vercel)

npx skills add vercel-labs/opensrc --skill opensrc -a claude-code

2Вручную: положить файлы

~/.claude/skills/opensrc/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/opensrc/

Похожие

unfreeze garrytan Отменяет заморозку директорий, установленную командой /freeze, и разрешает редактировать все папки проекта. Нужен, если вы случайно заморозили нужную область или хотите вернуться к свободному редактированию. Claude Code CX Codex Cursor +1 327установок deep-agents-memory langchain-ai Скилл разбирает бэкенды памяти в Deep Agents: что живёт внутри одного потока, что переживает перезапуск и как включать файловые инструменты вроде ls и grep. Claude Code CX Codex Cursor +1 19 000установок cli-developer https://github.com/Jeffallan Скилл для разработки командной строки: помогает строить CLI-инструменты с парсингом флагов, интерактивными подсказками, прогресс-барами и автодополнением в bash/zsh/fish. Работает с commander, click, typer и cobra. Claude Code CX Codex Cursor +1 4 800установок golang-gopls samber Семантическая навигация и рефакторинг Go-кода через gopls, официальный языковой сервер. Пригодится, когда grep находит текст, а нужно понять типы, связи и структуру сборки. Claude Code CX Codex Cursor +1 10 900установок ralplan Yeachan-Heo Скилл запускает итеративное планирование с тремя агентами (планировщик, архитектор, критик) до согласования. Блокирует неясные задачи до утверждения, не переходит к исполнению без вашего одобрения. Claude Code CX Codex Cursor +1 1 200установок verified-agent-identity BillionsNetwork Скилл даёт агенту Ethereum-DID в сети Billions и учит проходить 402 Payment Required. Пригодится, когда нужно доказать, кто владелец агента, или оплатить доступ к API по x402. Claude Code CX Codex Cursor +1 8 200установок setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. Claude Code 1 052 851установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. Claude Code 711 230установок

Вопросы о opensrc

Как установить opensrc в Claude Code?

Выполните npx skills add vercel-labs/opensrc --skill opensrc -a claude-code, затем повторите npx skills add vercel-labs/opensrc --skill opensrc -a claude-code. Файл скилла находится в ~/.claude/skills/opensrc/SKILL.md.

Что делает opensrc?

Скилл загружает и кэширует исходный код зависимостей, чтобы агент мог изучать их реализацию. Поддерживаются npm, PyPI, crates.io и репозитории.

Как opensrc выбирает версию npm-пакета?

Он определяет установленную версию по package-lock.json, pnpm-lock.yaml или yarn.lock. Для другого проекта используйте --cwd.

Исходный текст

SKILL.md · Apache-2.0
---
name: opensrc
description: Fetch dependency source code to give AI agents deeper implementation context. Use when the agent needs to understand how a library works internally, read source code for a package, fetch implementation details for a dependency, or explore how an npm/PyPI/crates.io package is built. Triggers include "fetch source for", "read the source of", "how does X work internally", "get the implementation of", "opensrc path", or any task requiring access to dependency source code beyond types and docs.
allowed-tools: Bash(opensrc:*)
---

# Source Code Fetching with opensrc

Fetches dependency source code so agents can read implementations, not just types. Clones repositories at the correct version tag and caches them globally at `~/.opensrc/`.

## Core Pattern

```bash
rg "parse" $(opensrc path zod)
cat $(opensrc path zod)/src/types.ts
find $(opensrc path zod) -name "*.test.ts"
```

`opensrc path <pkg>` prints the absolute path to cached source. If not cached, it fetches automatically. Progress goes to stderr, path to stdout, so `$(opensrc path ...)` works in subshells.

## Fetching Source Code

```bash
opensrc path zod
opensrc path pypi:requests
opensrc path crates:serde
opensrc path facebook/react

# Multiple packages at once
opensrc path zod react next
opensrc path pypi:requests pypi:flask
opensrc path crates:serde crates:tokio

# Specific versions
opensrc path [email protected]
opensrc path pypi:[email protected]
opensrc path owner/[email protected]
opensrc path owner/repo#main
```

### Version Resolution

For npm packages, opensrc auto-detects the installed version from lockfiles (`package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`). Use `--cwd` to resolve from a different project:

```bash
opensrc path zod --cwd /path/to/project
```

For PyPI and crates.io, explicit versions or latest are used. For repos, use `@ref` or `#ref` to pin a branch, tag, or commit.

## Managing the Cache

Source is cached globally at `~/.opensrc/` (override with `OPENSRC_HOME`).

```bash
opensrc list                     # show all cached sources
opensrc list --json              # JSON output

opensrc remove zod               # remove a package
opensrc remove facebook/react    # remove a repo

opensrc clean                    # remove everything
opensrc clean --npm              # only npm packages
opensrc clean --pypi             # only PyPI packages
opensrc clean --crates           # only crates.io packages
opensrc clean --packages         # all packages, keep repos
opensrc clean --repos            # all repos, keep packages
```

## When to Fetch Source

Fetch source when you need to:
- Understand internal behavior that types don't reveal
- Debug unexpected library behavior
- Learn patterns from well-known implementations
- Verify how a function handles edge cases

Don't fetch source for simple API usage questions that docs or types can answer.

© vercel-labs · Apache-2.0 · vercel-labs/opensrc

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой