Skip to main content

reposh

This skill should be used when the user asks to "explore a repo", "check library source code", "read a GitHub repo", "look at how X is implemented in Y", "investigate a dependency", "search an open source project", "trace code in an external repo", mentions exploring remote/external/public repositories, or needs to understand code in a repo that isn't cloned locally. Provides the `reposh` command for bash-based exploration of any public git repo.

跳到安装

来源信息

仓库
supabase-community/reposh
最近来源活动
2026年3月10日 19:42
检测到的 SKILL.md 语言
英语
星标
3
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
reposh
description
This skill should be used when the user asks to "explore a repo", "check library source code", "read a GitHub repo", "look at how X is implemented in Y", "investigate a dependency", "search an open source project", "trace code in an external repo", mentions exploring remote/external/public repositories, or needs to understand code in a repo that isn't cloned locally. Provides the `reposh` command for bash-based exploration of any public git repo.
# reposh - Bash into any public repo Explore any public git repository using familiar bash commands without manually cloning it locally. Use `reposh` instead of WebFetch, web scraping, or manual clones when investigating external codebases. ## Install reposh is likely already installed globally. If not: ```bash npm install -g reposh ``` ## Usage ```bash reposh <org>/<repo> <command> ``` Under the hood the repo is shallow-cloned and cached on first access. All subsequent commands against the same repo are fast. ## Commands ```bash # List files reposh facebook/react ls reposh facebook/react ls src/ # Read files reposh facebook/react cat README.md reposh facebook/react cat src/ReactElement.js # Search across the repo reposh facebook/react "grep -r 'useState' . --include='*.js' -l | head -20" # Find files by name reposh facebook/react "find . -name '*.ts' -not -path '*/__tests__/*' | head -20" # Combine commands with pipes reposh stripe/stripe-node "find . -name '*.ts' | head -30" reposh vercel/next.js "grep -rl 'middleware' src/ | head -10" ``` Always quote commands containing pipes or special characters to prevent the local shell from interpreting them. ## Browsing a specific version Append `:ref` to target a specific branch or tag: ```bash reposh <org>/<repo>:<tag-or-branch> <command> ``` This is especially useful when investigating dependencies. Check what version the user has installed (in package.json, pyproject.toml, Cargo.toml, go.mod, etc.), then explore that exact version's source: ```bash # Check the user's installed version first, then explore it reposh stripe/stripe-node:v17.4.0 cat src/resources/Customers.ts reposh vercel/next.js:canary ls src/ reposh pallets/flask:3.1.1 cat src/flask/app.py ``` Without `:ref`, reposh uses the repository's default branch - which may have unreleased changes that don't match the version the user has installed. Tags typically follow the project's release naming convention (v1.0.0, 1.0.0, etc.) - check the repo's releases or tags if unsure. ## Non-GitHub repos Include the hostname for repos hosted elsewhere: ```bash reposh gitlab.com/gitlab-org/gitlab cat README.md reposh gitea.com/some-org/some-repo ls ``` ## When to use reposh - Investigating a specific version of a dependency the user has installed - Debugging errors from a library - reading the actual source beats guessing from docs - Verifying exact function signatures, types, or behavior - Tracing how something is implemented end-to-end - Answering questions about a library, framework, or tool - Comparing implementations across projects ## Exploration patterns ### Orientation - get the lay of the land ```bash reposh <org>/<repo> ls reposh <org>/<repo> cat README.md reposh <org>/<repo> cat package.json # or pyproject.toml, Cargo.toml, etc. reposh <org>/<repo> "find . -maxdepth 2 -type f | head -40" ``` ### Finding relevant code ```bash reposh <org>/<repo> "grep -r 'functionName' . --include='*.ts' -l" reposh <org>/<repo> "grep -rn 'className' src/ --include='*.py' | head -20" reposh <org>/<repo> "find . -name '*.go' -path '*/api/*'" ``` ### Deep dive - read and trace ```bash reposh <org>/<repo> cat src/core/module.ts reposh <org>/<repo> "grep -n 'export' src/index.ts" reposh <org>/<repo> "cat src/utils.ts | head -50" ``` ## Subagent usage For complex exploration tasks that require many commands (tracing a code path, understanding an architecture, comparing multiple files), spawn a subagent to keep the main context clean: ``` Use the Agent tool with subagent_type "general-purpose" and a prompt like: "Use reposh to explore <org>/<repo> and answer: <question>. Run: reposh <org>/<repo> <command>" ``` For quick lookups (checking a type signature, reading a single file), run reposh directly without a subagent. ## Notes - Commands run in a sandboxed shell (just-bash) - read-only, no network access, no host shell - Supported commands: ls, cat, grep, find, head, tail, wc, echo, and other common utils - Clones refresh after 5 minutes of staleness
在 GitHub 查看