Communitygithub.com

search-first (recherche d'abord)

Workflow de recherche avant implémentation. Recherche des outils, bibliothèques et motifs existants avant d'écrire du code personnalisé. Invoque l'agent chercheur.

Qu'est-ce que search-first (recherche d'abord) ?

Le skill **search-first** (recherche d'abord) systématise le workflow consistant à chercher des solutions existantes avant d'écrire du code. Il est déclenché lorsqu'un développeur ou un agent IA est sur le point d'implémenter une fonctionnalité courante, d'ajouter une dépendance, ou de créer un utilitaire. Le processus suit un flux structuré en cinq étapes : analyse du besoin, recherche parallèle via plusieurs canaux (npm, PyPI, MCP, GitHub, web), évaluation des candidats selon des critères objectifs (fonctionnalité, maintenance, communauté, licence), décision (adopter, étendre, composer ou construire), puis implémentation minimale. Ce skill est conçu pour les plateformes d'agents comme Claude Code, Cursor ou Codex, et utilise un agent chercheur dédié pour les fonctionnalités non triviales. Il s'intègre avec les agents planificateur et architecte pour éviter de réinventer la roue, et propose des raccourcis de recherche par catégorie (outils de développement, IA/LLM, données, contenu). Il corrige également plusieurs anti-patrons : coder sans vérifier, ignorer les MCP, signaler faussement l'absence de solutions, sur-personnaliser les bibliothèques, ou créer du bloat de dépendances. En pratique, il permet d'adopter des solutions éprouvées sans code personnalisé, ou de ne coder que ce qui est vraiment nécessaire, en s'appuyant sur une recherche informée.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/search-first

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

/search-first — Recherche avant de coder

Systématise le workflow « rechercher des solutions existantes avant d'implémenter ».

Déclencheur

Utilisez ce skill quand :

  • Vous commencez une nouvelle fonctionnalité qui a probablement des solutions existantes
  • Vous ajoutez une dépendance ou une intégration
  • L'utilisateur demande « ajouter la fonctionnalité X » et vous êtes sur le point d'écrire du code
  • Avant de créer un nouvel utilitaire, helper ou abstraction

Workflow

┌─────────────────────────────────────────────┐
│  0. PRÉVOL DISPONIBILITÉ DES OUTILS        │
│     Vérifier les canaux de recherche avant  │
│     de s'y fier ; signaler honnêtement les  │
│     canaux ignorés                          │
├─────────────────────────────────────────────┤
│  1. ANALYSE DU BESOIN                      │
│     Définir la fonctionnalité nécessaire    │
│     Identifier les contraintes langage/fw   │
├─────────────────────────────────────────────┤
│  2. RECHERCHE PARALLÈLE (agent chercheur)  │
│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│     │  npm /   │ │  MCP /   │ │  GitHub / │  │
│     │  PyPI    │ │  Skills  │ │  Web      │  │
│     └──────────┘ └──────────┘ └──────────┘  │
├─────────────────────────────────────────────┤
│  3. ÉVALUER                                 │
│     Noter les candidats (fonctionnalité,    │
│     maintenance, communauté, docs, licence, │
│     dépendances)                            │
├─────────────────────────────────────────────┤
│  4. DÉCIDER                                 │
│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │
│     │  Adopter│  │  Étendre │  │  Créer  │  │
│     │  tel quel│ │  /Encapsuler│  │  sur   ││  │
│     └─────────┘  └──────────┘  └─────────┘  │
├─────────────────────────────────────────────┤
│  5. IMPLÉMENTER                             │
│     Installer le package / Configurer MCP / │
│     Écrire du code personnalisé minimal     │
└─────────────────────────────────────────────┘

Matrice de décision

SignalAction
Correspondance exacte, bien maintenu, MIT/ApacheAdopter — installer et utiliser directement
Correspondance partielle, bonne baseÉtendre — installer + écrire une fine surcouche
Plusieurs correspondances faiblesComposer — combiner 2-3 petits packages
Rien de convenable trouvéCréer — écrire du code personnalisé, mais éclairé par la recherche

Comment utiliser

Étape 0 : Prévol disponibilité des outils

Ceci est un guide pour l'agent, pas un script de configuration exécutable. Vérifiez seulement les canaux pertinents pour la tâche et le projet devant vous.

CanalVérificationSi absent
Recherche dans le dépôtrg --files et requêtes rg cibléesIndiquer que seuls les fichiers visibles ont été inspectés
Registre de packagesnpm --version, python -m pip --version, ou le gestionnaire de paquets du projetUtiliser la recherche web/docs et éviter de revendiquer une couverture du registre
GitHub CLIgh auth statusUtiliser uniquement le web public ou l'historique git local
Outils MCP/docsListe d'outils disponible ou config MCP localeRevenir aux docs officielles/recherche web
Répertoire de skillsls ~/.claude/skills ~/.codex/skills le cas échéantDire qu'aucun catalogue de skills local n'était disponible

Mode rapide (en ligne)

Avant d'écrire un utilitaire ou d'ajouter une fonctionnalité, parcourez mentalement :

  1. Cela existe-t-il déjà dans le dépôt ? → rg d'abord dans les modules/tests pertinents
  2. Est-ce un problème courant ? → Chercher sur npm/PyPI
  3. Existe-t-il un MCP pour cela ? → Vérifier ~/.claude/settings.json et chercher
  4. Existe-t-il un skill pour cela ? → Vérifier ~/.claude/skills/
  5. Existe-t-il une implémentation/modèle GitHub ? → Effectuer une recherche de code GitHub pour de l'OSS maintenu avant d'écrire du code nouveau

Mode complet (agent)

Pour des fonctionnalités non triviales, lancez l'agent chercheur :

Agent(subagent_type="general-purpose", prompt="
  Rechercher les outils existants pour : [DESCRIPTION]
  Langage/framework : [LANG]
  Contraintes : [TOUTE]

  Chercher sur : npm/PyPI, serveurs MCP, skills Claude Code, GitHub
  Retourner : Comparaison structurée avec recommandation
")

Les anciennes docs de Claude Code peuvent appeler cela Task(...) ; utilisez le nom de l'outil agent/subagent actuel exposé par le conteneur actif.

Raccourcis de recherche par catégorie

Outils de développement

  • Linting → eslint, ruff, textlint, markdownlint
  • Formatage → prettier, black, gofmt
  • Tests → jest, pytest, go test
  • Pre-commit → husky, lint-staged, pre-commit

Intégration IA/LLM

  • SDK Claude → Context7 pour les dernières docs
  • Gestion des prompts → Vérifier les serveurs MCP
  • Traitement de documents → unstructured, pdfplumber, mammoth

Données & API

  • Clients HTTP → httpx (Python), ky/undici (Node)
  • Validation → zod (TS), pydantic (Python)
  • Base de données → Vérifier d'abord les serveurs MCP

Contenu & Publication

  • Traitement Markdown → remark, unified, markdown-it
  • Optimisation d'images → sharp, imagemin

Points d'intégration

Avec l'agent planificateur

Le planificateur doit invoquer le chercheur avant la Phase 1 (Revue d'architecture) :

  • Le chercheur identifie les outils disponibles
  • Le planificateur les intègre dans le plan d'implémentation
  • Évite de « réinventer la roue » dans le plan

Avec l'agent architecte

L'architecte doit consulter le chercheur pour :

  • Les décisions de pile technologique
  • La découverte de motifs d'intégration
  • Les architectures de référence existantes

Avec le skill iterative-retrieval

Combiner pour une découverte progressive :

  • Cycle 1 : Recherche large (npm, PyPI, MCP)
  • Cycle 2 : Évaluer les meilleurs candidats en détail
  • Cycle 3 : Tester la compatibilité avec les contraintes du projet

Exemples

Exemple 1 : « Ajouter une vérification de liens morts »

Besoin : Vérifier les fichiers markdown pour les liens brisés
Recherche : npm « markdown dead link checker »
Trouvé : textlint-rule-no-dead-link (score : 9/10)
Action : ADOPTER — npm install textlint-rule-no-dead-link
Résultat : Zéro code personnalisé, solution éprouvée

Exemple 2 : « Ajouter un wrapper client HTTP »

Besoin : Client HTTP résilient avec retry et gestion de timeout
Recherche : npm « http client retry », PyPI « httpx retry »
Trouvé : got (Node) avec plugin de retry, httpx (Python) avec retry intégré
Action : ADOPTER — utiliser got/httpx directement avec config de retry
Résultat : Zéro code personnalisé, bibliothèques éprouvées en production

Exemple 3 : « Ajouter un linter de fichiers de config »

Besoin : Valider les fichiers de configuration du projet contre un schéma
Recherche : npm « config linter schema », « json schema validator cli »
Trouvé : ajv-cli (score : 8/10)
Action : ADOPTER + ÉTENDRE — installer ajv-cli, écrire un schéma spécifique au projet
Résultat : 1 package + 1 fichier de schéma, aucune logique de validation personnalisée

Anti-patrons

  • Passer directement au code : Écrire un utilitaire sans vérifier s'il en existe un
  • Ignorer MCP : Ne pas vérifier si un serveur MCP fournit déjà la capacité
  • Signalement silencieux : Rapporter « rien trouvé » alors qu'un canal de recherche était indisponible
  • Sur-personnalisation : Encapsuler une bibliothèque si lourdement qu'elle perd ses avantages
  • Gonflement des dépendances : Installer un package volumineux pour une petite fonctionnalité

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Skills associés