doc-query
Skill0 starsChanged 12 months agoMITView on GitHub
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.
- Reads credentials
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
When uncertain about current API
- Very specific: line 83
Check .claude/doc-sources.toml for configured aliases.
- Distinctive: line 150
Create/update ADR (adr skill)
- Distinctive: line 151
Add documentation source (add-doc skill)
- Distinctive: line 158
Default token limits per source (2000-3000)
- Distinctive: line 159
Only query when needed (not preloaded)
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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...
<tool-name>..." 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-sourcesThis 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 aliasStep 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" 2000Process 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" 3000Integration 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
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

