Synthèse automatique
Cette compétence effectue des recherches web via l'API Exa directement avec curl, sans utiliser de tokens Claude.
Points forts
- Économise les tokens Claude en utilisant une API externe.
- Produit des fichiers de recherche structurés (brouillon et final).
- Pose des questions de clarification pour affiner la recherche.
- Inclut les sources et les liens dans le rapport final.
Limites
- Nécessite une clé API Exa et curl installé.
- La qualité des résultats dépend d'Exa.
- Pas de mises à jour en temps réel après la création du fichier.
Utilisez cette compétence lorsque vous avez besoin d'une recherche approfondie sans consommer de tokens Claude Code.
Évitez-la si l'API Exa est indisponible ou si le sujet nécessite des interactions en temps réel.
Analyse de sécurité
PrudenceThe skill instructs running curl with an API key loaded from an encrypted file using sops, which is a legitimate network call for research purposes. There is no destructive action or obfuscation, but the use of Bash and network access to an external service introduces moderate risk if the AI's behavior is altered by malicious input.
- •Uses Bash and curl to call external API (exa.ai) with a secret API key decrypted from an encrypted file, which could be misused for data exfiltration if prompt injection overwrites the query.
Exemples
/freesearch AI coding tools with persistent memoryFree research on quantum computing breakthroughs 2025Research climate change impacts on agriculture without burning tokensname: freesearch description: TRULY FREE research via Exa API - zero Claude tokens. Uses Exa directly, no Gemini CLI wrapper. homepage: https://github.com/Khamel83/oneshot allowed-tools: Read, Write, Edit, Bash metadata: {"oneshot":{"emoji":"🆓","requires":{"bins":["curl"]}}}
/freesearch - TRULY FREE Research
Uses 0 Claude Code tokens. Calls Exa API directly via curl.
When To Use
User says:
/freesearch [topic]- Slash command- "Free research on [topic]"
- "Research without burning tokens"
How It Works
Direct API calls via curl:
- Ask 2-3 clarifying questions (goal, depth, audience)
- Create
docs/research/{date}_{topic}_in_progress.md - Search Exa API:
- web search for overview
- code search for technical details
- company/person search if relevant
- Update in-progress file with raw results
- Create
docs/research/{date}_{topic}_final.mdwith:- Executive summary
- Key findings
- Sources with links
- Related topics
- Return file path to Claude for reading
Exa API Configuration
The EXA_API_KEY is loaded from encrypted secrets:
# Decrypt and load key (done via skill wrapper)
EXA_KEY=$(sops --decrypt --output-type json ~/github/oneshot/secrets/research_keys.json.encrypted | grep -o '"EXA_API_KEY": "[^"]*"' | cut -d'"' -f4)
API Endpoint: https://api.exa.ai/search
Research Prompt Template
curl -s -X POST 'https://api.exa.ai/search' \
-H "x-api-key: $EXA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "[TOPIC]",
"type": "auto",
"numResults": 10,
"contents": {
"text": {
"maxCharacters": 20000
}
}
}'
Output Locations
Project research files:
docs/research/{YYYY-MM-DD}_{topic_slug}_in_progress.md
docs/research/{YYYY-MM-DD}_{topic_slug}_final.md
Historical research:
research/{topic_slug}/research.md
Quick Wins to Implement
Based on competitor research, these features should be added to ONE_SHOT:
/browsecommand - Visual skill discovery with fuzzy searchbd testframework - Skill testing framework- Diff preview - Show changes before applying
- Skill analytics - Track most-used skills
Example Usage
User says: /freesearch AI coding tools with persistent memory
You do:
-
Ask clarifying questions:
- "What's your goal?"
- "How deep should I go?"
-
Create in-progress file with initial query
-
Search Exa API:
web_search_exa: "AI coding tools persistent memory cross-session"get_code_context_exa: "AI coding task orchestration memory"
-
Update in-progress file with findings
-
Create final report with executive summary
-
Return:
Key findings: - MCP Task Orchestrator, Cipher, Pieces AI Memory, Cursor Rules - All use RAG + vector stores for persistent context 📄 Full research: docs/research/2025-01-31_ai_persistent_memory_final.md
File Format Template
In-Progress Template
# Research: {Topic}
**Started:** {timestamp}
**Status:** In Progress
## Search Queries Used
- {query1}
- {query2}
## Raw Results
### Source 1
- **URL:** {url}
- **Title:** {title}
- **Snippet:** {content}
### Source 2
- **URL:** {url}
- **Title:** {title}
- **Snippet:** {content}
## Initial Notes
{ongoing analysis}
Final Template
# Research: {Topic}
**Completed:** {timestamp}
**Duration:** {duration}
## Executive Summary
{2-3 sentence overview}
## Key Findings
1. {finding with citation}
2. {finding with citation}
## Sources
1. [{Title}]({url}) - {description}
2. [{Title}]({url}) - {description}
## Related Topics
- {topic for further research}
## Full Details
{detailed analysis}
---
📄 **In-progress research:** docs/research/{date}_{topic}_in_progress.md
Why This Exists
The deep-research skill wraps Gemini CLI in a Claude sub-agent, which still burns tokens. This skill calls Exa API directly via curl:
- ✅ 0 Claude Code tokens for research
- ✅ Only main conversation tokens (clarifying questions, summary)
- ✅ Same quality research (Exa's neural search)
- ✅ Saves to project
docs/research/(tracked in git)
Tips
- Research takes 10-30 seconds (Exa is fast)
- Always save to
docs/research/NOT~/github/oneshot/research/ - Include user's goal in the prompt for better results
- Link in-progress file in final report for drill-down
Keywords
free research, exa api, zero tokens, web search, research save
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/free-research-via-exa-api-mm5t8b7w' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/free-research-via-exa-api-mm5t8b7w/download' --output '.skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md.part' && mv '.skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md.part' '.skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Bash
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md' && test -s '.skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/freesearch' && cp -R '.skill-downloads/free-research-via-exa-api-mm5t8b7w' '.claude/skills/freesearch'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/free-research-via-exa-api-mm5t8b7w'openskills read 'free-research-via-exa-api-mm5t8b7w'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/free-research-via-exa-api-mm5t8b7w/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Lecteur PDF
Productivite
Lit et extrait le texte de fichiers PDF (rapports, contrats, tableurs). Gère les fichiers locaux, les URL et les pièces jointes WhatsApp. Utilisez-le dès qu'un contenu PDF est nécessaire, même sans demande explicite.
Workflows de messagerie Discord
Productivite
Utilisez l'outil message pour envoyer, modifier et modérer des messages Discord avec des composants interactifs.
Aperçu interactif des verdicts
Productivite
Générer un aperçu HTML interactif des verdicts (garder/supprimer) pour la revue par le mainteneur, puis traiter le JSON de retour.