Skip to content
Back to skills

Add Search Engine

ASecurity

Integrate a new LLM search provider into Mentha

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
testingtypescriptapi

Works with

  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill add-search-engine --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Search Engine?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add Search Engine
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-add-search-engine/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-add-search-engine)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: add-search-engine
description: Integrate a new LLM search provider into Mentha
---

# Add Search Engine Skill

When the user requests to add a new AI search engine (e.g., "Integrate Claude 3", "Add Anthropic"), follow these steps:

## Steps

1. **Create Provider File**
   - Create `src/infrastructure/search/{provider-name}.provider.ts`
   - Import the `ISearchProvider` interface from `src/domain/search/types.ts`
   - Implement all required methods

2. **Provider Template**
   ```typescript
   import { ISearchProvider, SearchOptions, SearchResult } from '../../domain/search/types.js';
   import { env } from '../../config/index.js';

   export class {ProviderName}Provider implements ISearchProvider {
     private readonly apiKey: string;

     constructor() {
       this.apiKey = env.{PROVIDER}_API_KEY ?? '';
       if (!this.apiKey) {
         throw new Error('{PROVIDER}_API_KEY is required');
       }
     }

     async search(query: string, options?: SearchOptions): Promise<SearchResult> {
       // Implementation
     }
   }
   ```

3. **Update Factory**
   - Edit `src/infrastructure/search/factory.ts`
   - Add the new provider to the `createProvider` function
   - Add the provider enum value

4. **Update Environment**
   - Add `{PROVIDER}_API_KEY` to `.env.example`
   - Add to the env schema in `src/config/env.ts`

5. **Update Schema**
   - Add provider to the engines enum in controller schemas

6. **Test**
   - Run `npm run typecheck` to verify compilation
   - Create a basic integration test

## Validation Checklist

- [ ] Provider implements `ISearchProvider` interface
- [ ] Environment variable documented in `.env.example`
- [ ] Factory updated with new provider
- [ ] Controller enum includes new provider
- [ ] No TypeScript errors

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.