| name | doc-query |
| description | Query up-to-date tool documentation using Context7. Use when you need current documentation for Python 3.14+, Claude Code CLI, or other configured tools. |
Documentation Query Skill
Query real-time documentation for configured tools and technologies using Context7 API.
When to Use This Skill
ALWAYS invoke this skill in these scenarios:
Before using Python 3.14+ features
- Async features (async/await, TaskGroup, AsyncExitStack)
- Type hints (new syntax, generics, Annotated)
- New stdlib modules or functions
- When uncertain about current API
Before using Claude Code CLI features
- Skills, agents, hooks, slash commands
- MCP integration, settings configuration
- Plugin development
When encountering errors with configured tools
- Parse error messages for tool names
- Query tool-specific troubleshooting docs
When user asks "How do I...
..." questions - Extract tool name from question
- Query documentation before attempting answer
Why This Matters
Training data may be outdated for:
- Python 3.14+ (released after training cutoff)
- Claude Code CLI (rapidly evolving)
- Other modern tools (ruff, uv, etc.)
Context7 provides real-time access to current documentation.
Instructions
Step 1: Check Available Sources
.claude/skills/doc-query/scripts/list-sources
This shows all configured documentation sources.
Step 2: Query Documentation
.claude/skills/doc-query/scripts/query <source> "<topic>" [tokens]
Parameters:
source: Source name from doc-sources.toml (e.g., "python", "claude-code")topic: Search query (e.g., "async context managers")tokens: Optional token limit (uses source default if omitted)
Examples:
.claude/skills/doc-query/scripts/query python "async context managers"
.claude/skills/doc-query/scripts/query claude-code "create skill" 2000
.claude/skills/doc-query/scripts/query py "type hints" # Using alias
Step 3: Process Results
The script outputs markdown documentation from Context7. Process this to:
- Extract relevant code examples
- Identify key patterns
- Answer user's question with current information
Alias Support
Sources can have aliases for convenience:
py→pythonclaude→claude-code
Check .claude/doc-sources.toml for configured aliases.
Configuration
Documentation sources are configured in .claude/doc-sources.toml:
[sources.python]
context7_id = "websites/python_3_14"
description = "Python 3.14+ standard library"
default_tokens = 3000
aliases = ["py", "python3"]
To add new sources, use the add-doc skill.
Error Handling
If CONTEXT7_API_KEY not set:
Error: CONTEXT7_API_KEY environment variable not set.
See CONTRIBUTING.md for setup instructions.
If source not found:
Error: Unknown documentation source: 'ruff'
Available sources: python, claude-code
Run '.claude/skills/doc-query/scripts/list-sources' to see all sources.
Examples
Example 1: Python async features
User: "How do I create an async context manager in Python 3.14?"
Skill execution:
.claude/skills/doc-query/scripts/query python "async context manager" 2000
Process results → Provide answer with current API.
Example 2: Claude Code skill creation
User: "How do I create a custom skill?"
Skill execution:
.claude/skills/doc-query/scripts/query claude-code "create skill"
Process results → Show skill directory structure and SKILL.md format.
Example 3: Using aliases
User: "What's new in Python type hints?"
Skill execution:
.claude/skills/doc-query/scripts/query py "type hints new features" 3000
Integration with Other Skills
When adopting new tools:
- Create/update ADR (adr skill)
- Add documentation source (add-doc skill)
- Query documentation (this skill)
See CLAUDE.md for workflow details.
Token Efficiency
- Default token limits per source (2000-3000)
- Only query when needed (not preloaded)
- Local processing (no LLM overhead for queries)
- Cost: ~0 Sonnet tokens (direct API call)
Technical Details
Implementation:
- Python 3.12+ stdlib only (urllib, tomllib)
- TOML-based configuration
- Generic Context7 client
- Modern type hints
See: ADR-0003