web-researcher
# Web Researcher Skill
What this skill does
# Web Researcher Skill
## Purpose
Perform comprehensive web research for technical documentation, solutions, and technology comparisons using Gemini's web access capabilities through the gemini-web-researcher subagent. This skill finds current documentation, researches best practices, compares technologies, and gathers technical information by spawning a specialized subagent that wraps gemini-cli.
## When to Use This Skill
Use this skill when you need to:
- Find latest documentation for libraries, frameworks, or APIs
- Research solutions to technical problems and troubleshooting
- Compare technologies, libraries, frameworks, or approaches
- Look up best practices and current recommendations
- Understand third-party APIs and SDKs
- Research security patterns and vulnerability mitigations
- Find performance optimization techniques
- Stay updated on framework/tool changes and migrations
Do NOT use this skill when:
- Information is already in the codebase (use Read tool or code-analyzer skill)
- You need to analyze code patterns (use code-analyzer skill)
- The question can be answered from your training data
- Real-time information isn't necessary
## Prerequisites
Before using this skill:
1. **gemini-cli must be installed**: `npm install -g @anthropic/gemini-cli`
2. **gemini-cli must be configured**: With valid API credentials and web access
3. **Clear research goals**: Know what information you're looking for
4. **Context about the problem**: Understand why this research is needed
To verify gemini-cli is installed:
```bash
gemini --version
```
## Instructions
### Step 1: Understand the Research Request
Identify what type of research is needed:
- **Documentation Lookup**: Finding official docs, API references, guides
- **Solution Research**: Finding fixes, workarounds, best practices
- **Technology Comparison**: Evaluating different options and trade-offs
- **API/SDK Research**: Understanding third-party integrations
- **Updates & Migrations**: Learning about new features and changes
- **Architecture Patterns**: Researching design patterns and approaches
- **Security Research**: Finding security best practices and mitigations
- **Performance**: Researching optimization techniques
### Step 2: Gather Context
Collect relevant information:
- **Current tech stack**: What technologies are being used
- **Specific problem**: What issue needs solving or information needed
- **Constraints**: Version requirements, compatibility needs, limitations
- **Use case**: How the information will be applied
- **Urgency**: Whether latest/cutting-edge info is needed
### Step 3: Spawn the Gemini Web Researcher Subagent
Use the Task tool to spawn the gemini-web-researcher subagent with a detailed research request.
**Template:**
```
Use the Task tool with:
- subagent_type: "gemini-web-researcher"
- description: "[Brief 3-5 word description]"
- prompt: "[Detailed research request with context]"
```
**Your prompt should include:**
1. **Context**: What project/problem this research is for
2. **Research type**: Which category from Step 1
3. **Specific question**: Exactly what to research
4. **Information needed**: What details are important
5. **Current year/relevance**: Request current/recent information
6. **Output format**: How to structure the results
### Step 4: Provide Comprehensive Context to the Subagent
The subagent needs detailed context to construct effective research prompts. Include:
**Project Context:**
- Technology stack being used
- Current implementation or approach
- Version numbers if relevant
- Scale or complexity of the project
**Research Specifics:**
- Exact question or problem to research
- Why this information is needed
- How it will be applied
- Any specific requirements or constraints
**Desired Output:**
- Links to official documentation
- Code examples if applicable
- Comparison tables for evaluations
- Step-by-step guides for implementations
- Current best practices and recommendations
**Example Prompt to Subagent:**
```
I need to research authentication solutions for a Next.js 14 application.
Context:
- Next.js 14 App Router application
- Need user authentication with email/password and OAuth
- Planning to use PostgreSQL for user data
- Must support session management and protected routes
Research Request:
Find current best practices and solutions for implementing authentication in Next.js 14 applications. Specifically research:
1. Authentication Libraries:
- Compare NextAuth.js, Clerk, Supabase Auth, and Lucia
- Pros and cons of each
- Which works best with Next.js 14 App Router
2. Implementation Patterns:
- How to protect routes in App Router
- Session management approaches
- Token storage best practices
3. OAuth Integration:
- Setting up Google and GitHub OAuth
- Recommended providers
4. Security Considerations:
- CSRF protection
- Secure token handling
- Best practices for 2024
Please include:
- Links to official documentation
- Code examples where relevant
- Current recommendations (2024)
- Migration guides if applicable
Run gemini-cli with appropriate research prompt and return the raw output.
```
### Step 5: Process Subagent Results
Once the subagent returns gemini research results:
1. **Review the raw findings**: The subagent returns uninterpreted gemini output
2. **Extract key information**: Pull out relevant documentation, solutions, comparisons
3. **Summarize for the user**: Create a clear, actionable summary
4. **Provide links**: Include all documentation links found
5. **Make recommendations**: Suggest best approaches based on research
6. **Identify next steps**: What should be done with this information
### Step 6: Follow Up If Needed
If the initial research needs more detail:
- Spawn the subagent again with a more focused request
- Research specific aspects in more depth
- Compare specific options more thoroughly
- Find additional examples or use cases
## Examples
### Example 1: Documentation Lookup
**User Request:** "How do I use React Server Components in Next.js 14?"
**Step 1 - Identify**: Documentation Lookup
**Step 2 - Gather Context:**
- Tech: Next.js 14 with React
- Need: Understanding Server Components
- Use case: Building new features correctly
**Step 3 - Spawn Subagent:**
```
Task tool with subagent_type: "gemini-web-researcher"
Prompt:
"Research React Server Components in Next.js 14.
Context:
- Next.js 14 application using App Router
- Need to understand Server Components vs Client Components
- Want to use this for building new features
Research Request:
Find the latest Next.js 14 documentation on React Server Components. Include:
1. Core Concepts:
- What are Server Components?
- Server vs Client Components differences
- When to use each type
2. Implementation:
- How to create Server Components
- How to mark Client Components ('use client')
- Data fetching in Server Components
- Passing props between Server and Client Components
3. Best Practices:
- Component composition patterns
- Common pitfalls to avoid
- Performance considerations
4. Examples:
- Code examples of Server Components
- Common patterns (layouts, data fetching, etc.)
- Real-world use cases
Please provide:
- Links to official Next.js documentation
- Code examples
- Best practices for 2024
- Any recent updates or changes
Run: gemini -p with this research request
Return the raw gemini output."
```
**Step 5 - Process Results:**
```
Based on gemini's research, here's what I found:
## React Server Components in Next.js 14
### Official Documentation
- Next.js Server Components: https://nextjs.org/docs/app/building-your-application/rendering/server-components
- React Server Components RFC: https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md
### Key Concepts
**Server Components (Default in App Router):**
- Run on the server only
- Can directly access backend resources (databases, file system)
- Don't send JavaScript to the cRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.