Agent skill
smith-research
Proactive research protocol for version queries, APIs, and best practices. Use when answering questions about library versions, API documentation, or technology assessments. Covers research triggers, source citation, and confidence indicators.
Install this agent skill to your Project
npx add-skill https://github.com/tianjianjiang/smith/tree/main/smith-research
SKILL.md
Proactive Research Protocol
- Load if: Queries about versions, APIs, libraries, best practices
- Prerequisites: @smith-guidance/SKILL.md
CRITICAL: Mandatory Research Triggers (Primacy Zone)
Temporal constraint: ALWAYS get today's real date first as critical context for research queries.
MUST research when:
- Version/release queries ("latest version of X")
- API/documentation queries ("how to use X API")
- Best practices queries ("recommended way in [current year]")
- Technology assessment ("should I use X or Y")
- Unfamiliar technology (not in training data)
Research Methods (Priority Order)
-
Official docs - Most authoritative
fetch https://docs.python.org/3/library/asyncio.html
-
Package registry - Version info
- npm:
https://registry.npmjs.org/[package]/latest - PyPI:
https://pypi.org/pypi/[package]/json - GitHub:
https://api.github.com/repos/[owner]/[repo]/releases/latest
- npm:
-
Web search - Broad queries
- Include current year: "Next.js 15 best practices [current year]"
-
GitHub repo - Source of truth
- README, CHANGELOG, release notes
Source Citation
Always include:
- Source URL
- Date of retrieval
- Version referenced
Format:
"React 19 introduced `feature_name` [1]"
[1] Source Name: URL (retrieved YYYY-MM-DD)
Confidence indicators:
- High: "Per official documentation..."
- Medium: "Based on recent community discussion..."
- Low: "My training data suggests X, but couldn't verify..."
Paywall Workarounds
Medium.com: Replace domain with freedium-mirror.cfd
- Pattern:
https://freedium-mirror.cfd/https://medium.com/@author/article - Use when WebFetch returns paywall/403 errors
When NOT to Research
- Fundamental concepts (won't change)
- Opinion/analysis requests
- User provides current info themselves
Proactive Behavior
Research when:
- Answering would require guessing
- User's code references unfamiliar library
- Error suggests version incompatibility
- User mentions "latest", "current", "2024", "2025"
Inform user:
- "I checked the current documentation..."
- "I couldn't fetch latest info, but based on training..."
- Claiming certainty about versions without verification
- Providing outdated API examples when docs accessible
- Skipping research when accuracy matters
- @smith-guidance/SKILL.md - Honest principle
@smith-tools/SKILL.md- MCP fetch configuration
ACTION (Recency Zone)
Before answering version/API questions:
- Check if research trigger applies
- Fetch official docs or registry
- Cite source with URL and date
- Flag if info conflicts with training data
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
smith-style
File naming, path standards, and conventional commits. Use when naming files, creating branches, writing commit messages, or setting up new projects. Covers underscore vs hyphen conventions, commit format, and branch naming patterns.
smith-stacks
Stacked pull request workflows for large features. Use when creating stacked PRs, managing dependent PRs, or rebasing after parent merges. Covers stack creation, merge order, and squash merge handling.
smith-python
Python development with uv, pytest, ruff, and type hints. Use when writing Python code, running tests, managing Python packages, or working with virtual environments. Covers import organization, type hints, pytest patterns, and environment variables.
smith-principles
Fundamental coding principles (DRY, KISS, YAGNI, SOLID, HHH). Use when starting any development task, evaluating implementation approaches, or reviewing code quality. Always active as foundation for all development decisions.
smith-nuxt
Nuxt 3 development patterns including auto-import stubbing for tests, environment variable conventions, and middleware testing. Use when working with Nuxt projects, testing Nuxt components/middleware, or configuring Nuxt environment variables.
smith-plan
Plan tracking protocol (portable). Progress tracking with checkboxes, iteration workflow, completion/blocker signals. Use when executing multi-step plans, tracking task progress, or working from plan files. IMPORTANT - Always update the plan file after completing tasks.
Didn't find tool you were looking for?