dist/claude/plugins/dev-tools/skills/exploring-repos/SKILL.md
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
npx skillsauth add alexei-led/claude-code-config exploring-reposInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
DeepWiki provides AI-generated wiki documentation for 30,000+ popular public GitHub repositories — architecture overviews, design patterns, component relationships, and semantic Q&A powered by Cognition's Devin.
ask_question with multiple repos (accepts up to 10 repos)Call mcp__deepwiki__read_wiki_structure with repoName in owner/repo format to get the topic list:
mcp__deepwiki__read_wiki_structure({ "repoName": "langchain-ai/langchain" })
Call mcp__deepwiki__read_wiki_contents for detailed documentation on the repo:
mcp__deepwiki__read_wiki_contents({ "repoName": "langchain-ai/langchain" })
Call mcp__deepwiki__ask_question for semantic Q&A about specific aspects:
mcp__deepwiki__ask_question({
"repoName": "langchain-ai/langchain",
"question": "How does the retrieval chain pipeline work?"
})
For cross-repo questions, pass an array (max 10):
mcp__deepwiki__ask_question({
"repoName": ["langchain-ai/langchain", "run-llama/llama_index"],
"question": "How do these frameworks handle document chunking differently?"
})
read_wiki_structure — scan available topicsread_wiki_contents — read the full wiki for an overviewask_question — drill into specificsask_question# Understand a framework's architecture
read_wiki_structure: "vercel/next.js"
ask_question: "vercel/next.js" — "How does the app router handle server components?"
# Compare two similar projects
ask_question: ["expressjs/express", "fastify/fastify"] — "How do these handle middleware differently?"
# Explore a tool's internals
read_wiki_structure: "hashicorp/terraform"
ask_question: "hashicorp/terraform" — "How does the provider plugin system work?"
# Understand patterns in a Go project
ask_question: "kubernetes/kubernetes" — "How is the controller pattern implemented?"
DeepWiki indexes 30,000+ popular public repos. If a repo is not indexed:
DeepWiki returns empty or error?
├── Check repo name format (must be "owner/repo")
├── Try the canonical repo name (not a fork)
├── Still not indexed?
│ ├── Any public repo → gh CLI (works for all GitHub repos)
│ ├── Popular library → Try Context7 for docs instead
│ ├── Open-source repo → Clone + local exploration
│ └── Niche/private → Perplexity for general info
GitHub CLI — works for any public repo, no indexing needed:
# Quick overview: description, stars, language, topics
gh repo view owner/repo
# Full file tree (find key directories, config files)
gh api repos/owner/repo/git/trees/main?recursive=1 --jq '.tree[].path'
# Read specific files (README, go.mod, package.json, Makefile)
gh api repos/owner/repo/contents/README.md --jq '.content' | base64 -d
# Search for patterns across the repo
gh search code "func main" --repo owner/repo --limit 20
# Search for repos by topic, language, or description
gh search repos "kubernetes operator" --language go --sort stars
# Recent activity: issues, PRs, releases
gh release list --repo owner/repo --limit 5
gh issue list --repo owner/repo --state open --sort comments --limit 10
Best for: file tree exploration, finding entry points, reading key files,
searching code patterns, checking recent activity. Combine multiple gh calls
to build a mental model when DeepWiki is unavailable.
ctx7 — for library API documentation:
ctx7 library fastify "middleware"
ctx7 docs /fastify/fastify "middleware"
Use npx ctx7@latest (or bunx ctx7@latest) when ctx7 is not globally
installed. The context7-cli skill wraps this workflow.
Perplexity — for repos not in DeepWiki or Context7:
mcp__perplexity-ask__perplexity_ask({
"messages": [{ "role": "user", "content": "Explain the architecture of <owner/repo>" }]
})
Direct exploration — clone and read:
git clone --depth=1 <repo-url>
# Use scoped local tools: fd for files, rg for text; use dedicated analysis tooling for structural evidence
DeepWiki and Context7 are complementary. A typical research flow:
Do not use DeepWiki when:
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).