code-context
This skill should be used when the user asks to "understand a codebase", "get code context", "research a library", "explore a repository", "find code examples", "look up documentation", or wants to understand how a specific project or library works before making changes.
Best use case
code-context is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This skill should be used when the user asks to "understand a codebase", "get code context", "research a library", "explore a repository", "find code examples", "look up documentation", or wants to understand how a specific project or library works before making changes.
Teams using code-context should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/code-context/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How code-context Compares
| Feature / Agent | code-context | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill should be used when the user asks to "understand a codebase", "get code context", "research a library", "explore a repository", "find code examples", "look up documentation", or wants to understand how a specific project or library works before making changes.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Code Context Retrieval This skill provides 5 methods for retrieving code context. Select methods based on the target: public GitHub repos, library docs, code search, direct inspection, or post-clone web enrichment. ## Token Isolation (Critical) Never run any external lookup in the main context. Always spawn Task agents: - **DeepWiki**: Agent calls `read_wiki_structure` / `read_wiki_contents` / `ask_question`, extracts architecture summary and key relationships, returns concise overview. - **Context7**: Agent calls `resolve-library-id` then `query-docs`, extracts the minimum viable API surface and usage examples, returns copyable snippets with version notes. - **Exa**: Agent calls `get_code_context_exa`, extracts minimum viable snippets, deduplicates near-identical results (mirrors, forks, repeated StackOverflow answers), returns copyable snippets + brief explanation. - **Git clone**: Agent clones to `/tmp/`, reads entry points and core modules, runs `rm -rf` cleanup, returns file structure summary and key patterns. - **Web Search+Fetch**: Agent runs `WebSearch` with version-anchored queries derived from clone findings, calls `WebFetch` on high-signal URLs, returns only validated insights cross-referenced against cloned code. Main context stays clean regardless of search volume. Only final summaries return to the caller. ## Method 1: DeepWiki (AI-powered repo documentation) Best for: Well-known public GitHub repositories where you need architecture overview, component explanations, or high-level understanding fast. **Tools**: `read_wiki_structure`, `read_wiki_contents`, `ask_question` **Process**: 1. Call `read_wiki_structure` with the owner/repo (e.g., `"facebook/react"`) to get topic list 2. Call `read_wiki_contents` for relevant topics, or `ask_question` for targeted queries 3. Use when you need: architecture diagrams, component relationships, design decisions **Strengths**: Zero setup, instant AI-summarized documentation, good for onboarding to unfamiliar repos. **Limitations**: Only works for public GitHub repos; coverage varies by project popularity. ## Method 2: Context7 (library documentation) Best for: Getting up-to-date API docs, usage examples, and version-specific documentation for npm/pip packages and frameworks. **Tools**: `resolve-library-id`, `query-docs` **Process**: 1. Call `resolve-library-id` with the library name (e.g., `"react"`, `"fastapi"`) to get the canonical ID 2. When the user specifies a version (e.g., `"react@18"`), select the matching version from the `versions` list returned by `resolve-library-id` and append it to the library ID path (e.g., `/facebook/react/18.3.1`) 3. Call `query-docs` with `libraryId` and `query` — these are the only two parameters **Query tips**: Be specific -- `"useCallback dependency array"` beats `"react hooks"`. Include the framework version when known. **Version pinning**: Encode version into the library ID path (e.g., `/vercel/next.js/v14.3.0-canary.87`), not as a separate parameter. Use the `versions` list from `resolve-library-id` to pick the correct slug. **Strengths**: Always current docs, supports version pinning, covers thousands of libraries, excellent for API reference. **Limitations**: Requires the library to be indexed; less useful for internal/private packages. ## Method 3: Exa Code Search (web-wide code examples) Best for: Finding real-world usage patterns, StackOverflow-style answers, GitHub Gist examples, and code snippets from across the web. **Tool**: `get_code_context_exa` **Setup**: Works without an API key (free tier with rate limits). For higher limits, set the `EXA_API_KEY` environment variable. **Process**: 1. Call `get_code_context_exa` with a precise query 2. Set `tokensNum` based on need: 3000 for quick examples, 8000 for comprehensive patterns 3. Verify publication dates on results; prefer recent sources **Query writing guidance**: - Include the language or framework: `"TypeScript React"` not just `"React"` - Include the version when relevant: `"Next.js 14 app router"` - Use exact identifiers: `"useServerAction"` not `"server action hook"` - Add the pattern type: `"example"`, `"error handling"`, `"migration guide"` - Example: `"TypeScript Next.js 14 app router server action error handling example"` **Strengths**: Finds diverse real-world examples, not limited to official docs, surfaces community solutions. **Limitations**: Results may be outdated; always check publication dates and verify against official docs. ## Method 4: Git Clone (direct code inspection) Best for: Private repositories, detailed implementation review, running local analysis, or when other methods lack depth. **Process**: 1. Run `git clone <repo-url> /tmp/<repo-name> --depth=1` to fetch the code 2. Read key files: entry points, configuration, core modules 3. Use Glob to map structure; use Grep to search patterns 4. Clean up when done: `rm -rf /tmp/<repo-name>` **Strengths**: Full code access, works with private repos (with credentials), enables static analysis tools. **Limitations**: Requires network access and disk space; slow for large repos; credentials needed for private repos. ## Method 5: Web Search + Fetch (post-clone enrichment) Best for: Enriching findings from a git clone with changelogs, issue discussions, blog posts, and migration guides that live outside the repository itself. **Tools**: `WebSearch`, `WebFetch` **When to apply**: Use after completing Method 4. The clone gives you the code; this method gives you the *why* and *what changed*. **Process**: 1. Derive targeted queries from clone findings — use exact identifiers, error strings, or design patterns found in the source 2. Call `WebSearch` with `query` set to a precise, version-anchored string (e.g., `"<library> <version> breaking change <symbol>"`) 3. For each high-signal result, call `WebFetch` with `url` (from search results) and a focused `prompt` to extract only the relevant section 4. Cross-reference fetched content against the cloned code to validate accuracy 5. Discard results older than 2 years unless the topic is stable/foundational **Query patterns**: - Changelogs: `"<repo-name> CHANGELOG v<version>"` or `"<repo-name> release notes"` - Design rationale: `"<repo-name> <concept> why OR rationale site:github.com"` - Known issues: `"<repo-name> <symbol or pattern> issue OR bug site:github.com"` - Migration: `"<repo-name> migrate from <old-version> to <new-version>"` **Strengths**: Surfaces context that never appears in source code — deprecation notices, upstream issue threads, author blog posts, community migration experiences. **Limitations**: Results may be stale or inaccurate; always validate fetched claims against the actual cloned code. Rate-limited without API key. ## Method Selection Guide | Scenario | Primary Method | Fallback | |----------|---------------|----------| | "How does X library work?" | Context7 | DeepWiki | | "Understand the architecture of Y repo" | DeepWiki | Git Clone | | "Find examples of Z pattern" | Exa | Context7 | | "Inspect private/internal repo" | Git Clone | - | | "What changed in v3 of library?" | Context7 | Exa | | "How are modules connected?" | DeepWiki | Git Clone | | "Why was this design decision made?" | Git Clone → Web Search+Fetch | DeepWiki | | "What broke between versions?" | Web Search+Fetch | Context7 | ## Combining Methods For comprehensive context, combine methods: 1. DeepWiki for architecture overview 2. Context7 for specific API details 3. Exa for community usage patterns 4. Git Clone for implementation details when needed Always prefer non-destructive read-only operations. When cloning, use `/tmp` and clean up after.
Related Skills
get-context
Execute this when the user requests code context for a repository or library using DeepWiki, Context7, Exa, and/or git clone.
update-readme
Updates README.md and README.zh-CN.md to reflect the project's current state. Use this skill whenever the user asks to "update the README", "sync the docs", "update documentation", "reflect latest changes in README", or wants both the English and Chinese READMEs to match the current project. Always triggers when the user mentions updating or regenerating README files, especially for bilingual (EN/ZH) projects.
swiftui-review
Reviews SwiftUI code for best practices on modern APIs, maintainability, and performance. This skill should be used when the user asks to review SwiftUI code, check for deprecated iOS/macOS APIs, validate data flow patterns, or audit accessibility compliance in Swift projects.
writing-plans
Creates executable implementation plans that break down designs into detailed tasks. This skill should be used when the user has completed a brainstorming design and asks to "write an implementation plan" or "create step-by-step tasks" for execution.
systematic-debugging
Provides a systematic debugging methodology with a 4-phase root cause analysis process. This skill should be used when the user reports a bug, error, test failure, or unexpected behavior, ensuring thorough investigation precedes any code changes.
need-vet
This skill should be used when the user invokes /need-vet to enable work verification for the current task. Claude must verify completion and append the verified tag before the session can end.
executing-plans
Executes written implementation plans efficiently using agent teams or subagents. This skill should be used when the user has a completed plan.md, asks to "execute the plan", or is ready to run batches of independent tasks in parallel following BDD principles.
build-like-iphone-team
Applies Apple's Project Purple design philosophy for radical innovation. This skill should be used when the user wants to challenge industry conventions, approach open-ended problems requiring disruptive thinking, or when standard brainstorming needs a breakthrough approach.
brainstorming
Structures collaborative dialogue to turn rough ideas into implementation-ready designs. This skill should be used when the user has a new idea, feature request, ambiguous requirement, or asks to "brainstorm a solution" before implementation begins.
behavior-driven-development
Applies behavior-driven development principles including Gherkin scenarios and test-driven development. This skill should be used when the user asks to implement features, fix bugs, or when writing executable specifications and tests before writing production code.
agent-team-driven-development
Provides guidance on coordinating multiple specialized teammates working in parallel. This skill should be used when the user needs to execute complex implementation plans, resolve cross-cutting concerns, or coordinate independent work streams requiring communication.
shadcn
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".