CommunityRédaction et éditiongithub.com

Du Bruit au Blog

Transformez des notes approximatives, des listes à puces, des transcriptions vocales ou des fils de tweets en un article de blog soigné et prêt à être publié. Peut être enrichi via Tavily pour ajouter des données et crédibilité à vos affirmations.

Qu'est-ce que Du Bruit au Blog ?

Ce skill permet de transformer n'importe quelle entrée brute (notes, listes à puces, transcriptions vocales, fils de tweets, brouillons) en un article de blog professionnel et publiable. Il s'intègre parfaitement aux plateformes d'agents IA comme Claude Code, Cursor ou Codex, et utilise Gemini pour la génération de contenu et Tavily pour l'enrichissement facultatif par recherche. Le processus suit un workflow rigoureux : analyse du type d'entrée, choix d'un style (tutoriel, étude de cas, opinion, explicatif), vérification des faits (sans invention), génération du texte, et auto-contrôle qualité (pas de mots interdits, pas de phrases vides, titres accrocheurs). Le résultat final est un article de 800 à 1800 mots, avec des sources traçables et une structure logique. Vous pouvez l'utiliser lorsque vous demandez à l'IA de « transformer ces notes en article », « rendre publiable ce brouillon », ou « créer un post de blog à partir de ce transcript ». Il produit également une meta description SEO et un titre alternatif, et propose un formatage frontmatter pour Ghost, dev.to, Substack ou Hashnode.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/noise2blog

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

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

Documentation

Que fait Du Bruit au Blog ?

Prenez n'importe quelle entrée brute (listes à puces, transcriptions vocales, fils de tweets ou brouillons courts) et produisez un article de blog soigné et prêt à être publié. Chaque affirmation fait référence à la source d'origine ou à une recherche vérifiée via Tavily.


Règle cruciale : N'INVENTEZ AUCUN DÉTAIL. Chaque affirmation, mesure et exemple dans l'article doit provenir de l'entrée brute ou d'un résultat de recherche Tavily. Ne fabriquez jamais de données, de citations ou de résultats.


Étape 1 : Vérification de la configuration

Confirmez que les variables d'environnement requises sont définies :

echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+défini}"
echo "TAVILY_API_KEY: ${TAVILY_API_KEY:-non défini, l'enrichissement Tavily sera ignoré}"

Si GEMINI_API_KEY est manquante : Arrêtez. Dites à l'utilisateur : « GEMINI_API_KEY est nécessaire. Obtenez-la sur aistudio.google.com → Obtenir une clé API. Ajoutez-la à votre fichier .env. »

Si TAVILY_API_KEY est manquante : Continuez. Notez que l'enrichissement Tavily sera ignoré. L'article sera basé entièrement sur le contenu fourni. Cela convient pour des histoires personnelles, des tutoriels basés sur l'expérience ou des articles d'opinion.

Confirmez que l'entrée est présente. L'utilisateur doit fournir l'un des éléments suivants :

  • Texte collé (listes à puces, notes approximatives, transcription, fil de tweets, brouillon court)
  • Une URL à récupérer

Si aucune entrée, demandez : « Partagez vos notes approximatives, listes à puces ou transcription. Collez-les directement, ou donnez-moi une URL pour récupérer la source. »


Étape 2 : Lire et analyser l'entrée

Si l'entrée est une URL : Récupérez le contenu de la page en utilisant WebFetch. Extrayez : titre, auteur, date de publication, tout le texte du corps, les statistiques clés, les listes numérotées, les sous-titres, les citations.

Si l'entrée est un texte collé : Lisez-le directement. Identifiez le type d'entrée :

  • Listes à puces ou notes approximatives : idées fragmentées, phrases incomplètes, flux de conscience
  • Transcription vocale : conversationnel, répétitif, mots de remplissage (euh, heu, comme, tu sais), phrases qui s'égarent
  • Fil de tweets : fragments courts, @mentions, hashtags, numérotation "1/8"
  • Brouillon court : structuré mais maigre, nécessite développement et polissage

Point de contrôle qualité : Avant de continuer, indiquez :

  1. Type d'entrée détecté
  2. Thèse centrale ou argument principal en une phrase
  3. Les 3 à 5 idées, faits ou informations les plus solides du contenu brut
  4. Les affirmations qui nécessitent une vérification externe (benchmarks, statistiques, comparaisons de produits, résultats de recherche)

Si vous ne pouvez pas identifier de thèse centrale, demandez : « Quelle est la chose la plus importante que vous voulez que les lecteurs retiennent de cela ? »


Étape 3 : Choisir le style de l'article

Quatre styles. Détection automatique à partir des signaux du contenu. L'utilisateur peut toujours demander un style spécifique.

StyleQuand l'utiliserSignaux
Tutoriel techniqueGuide étape par étape, mode d'emploi, démonstration de codeÉtapes numérotées, commandes, extraits de code, « comment faire » dans le contenu
Étude de casHistoire avant/après, journal de construction, leçons apprisesRésultats spécifiques, chronologies, parcours à la première personne
Leadership éclairéOpinion, argument, affirmation contre-intuitive« Je pense », « le problème avec X », position contradictoire, cadrage de débat
ExplicatifQu'est-ce que X, pourquoi cela compte, comment cela fonctionneCentré sur le concept, riche en comparaisons, « la plupart des gens ne savent pas »

Logique de détection :

  • Le contenu contient des étapes numérotées ou des commandes → Tutoriel technique
  • Le contenu contient un avant/après, des mesures spécifiques ou un arc narratif → Étude de cas
  • Le contenu argumente contre la sagesse commune ou émet une opinion forte → Leadership éclairé
  • Le contenu explique un concept, un outil ou une tendance à des personnes qui ne le connaissent pas → Explicatif

Indiquez le style choisi et la raison. En cas d'ambiguïté, choisissez-en un et notez le choix.


Étape 4 : Enrichir avec la recherche Tavily

Ignorer cette étape silencieusement si TAVILY_API_KEY n'est pas défini.

Recherchez des preuves à l'appui des affirmations contenues dans le contenu brut qui pourraient bénéficier d'une vérification ou de données. Bons candidats :

  • Benchmarks de produits ou chiffres de performance
  • Statistiques de marché ou tendances sectorielles
  • Comparaisons techniques (« X est plus rapide que Y »)
  • Tout nombre mentionné par l'utilisateur de mémoire plutôt que d'une source citée

Exécutez une recherche Tavily par affirmation nécessitant une vérification. Limitez à 3 recherches maximum pour éviter de trop sourcer :

curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "AFFIRMATION_OU_SUJET_SPÉCIFIQUE",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Conservez les résultats avec score >= 0,65. Extrayez : titre, url, extrait de contenu.

Règles d'utilisation des résultats Tavily :

  • Utilisez-les pour soutenir ou vérifier les affirmations déjà présentes dans l'entrée brute. N'introduisez jamais de nouvelles affirmations provenant des résultats de recherche.
  • Attribuez les sources naturellement dans le texte : « selon [Source] », « les données de [X] montrent »
  • Si aucun résultat Tavily ne confirme une affirmation, laissez l'affirmation non vérifiée plutôt que de substituer un résultat non pertinent

Étape 5 : Générer l'article de blog

Lisez references/blog-format.md en intégralité. Sélectionnez le modèle correspondant dans references/output-template.md. Intégrez toutes les règles avant de générer.

Écrivez la requête Gemini dans un fichier temporaire pour gérer les caractères spéciaux en toute sécurité :

cat > /tmp/noise2blog-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "Vous êtes un rédacteur technique qui sonne comme une vraie personne. Règles : Voix active uniquement. Paragraphes courts, 1 à 3 lignes max, puis une ligne vide. Utilisez les contractions naturellement (ne...pas, n'est pas, ne peut pas, vous êtes, ils sont). Pas de tirets cadratins — utilisez une virgule ou un point à la place. Pas de points-virgules. Chaque phrase doit contenir un détail concret : un nombre, un nom d'outil, un nom de fichier, une commande, un résultat. Pas de phrases de remplissage : pas de 'Dans le monde actuel en constante évolution', pas de 'Plongeons-nous', pas de 'Il est à noter que', pas de 'En conclusion', pas de 'J'espère que cela vous a aidé'. Pas de mots interdits : incroyable, étonnant, tirer parti, synergiser, révolutionnaire, innovant, révolution, paradigme, de pointe, transparent, robuste, sans précédent, plonger, exploiter, utiliser, transformateur, perturbateur, débloquer, complet, actionnable, crucial, essentiel. Le titre ne doit pas commencer par Je, Mon ou Nous. Commencez par un paragraphe d'accroche qui n'annonce pas le sujet. Terminez par quelque chose d'actionnable. N'inventez pas d'affirmations, de mesures ou de résultats absents du matériel source."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "CONTENU_BRUT_ET_INSTRUCTIONS_ICI"
    }]
  }],
  "generationConfig": {
    "temperature": 0.7,
    "maxOutputTokens": 4096
  }
}
ENDJSON

Remplacez CONTENU_BRUT_ET_INSTRUCTIONS_ICI par :

  • Le contenu brut de l'entrée
  • Les instructions de style et de structure de l'article (à partir du modèle sélectionné)
  • Les résultats de recherche Tavily collectés à l'étape 4
  • Objectif de mots : 800 à 1 800 mots

Publiez la requête :

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/noise2blog-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Produisez également :

  • (B) Une méta-description de 1 à 2 phrases pour le texte d'aperçu SEO
  • (C) Un titre alternatif utilisant un angle d'accroche différent

Étape 6 : Auto-contrôle qualité

Vérifiez chaque point et corrigez les violations avant de présenter :

  • Le titre ne commence pas par « Je », « Mon » ou « Nous »
  • Le titre est spécifique et conversationnel (pas « Un guide complet de X » ou « Le guide ultime de Y »)
  • Le paragraphe d'ouverture accroche sans annoncer le sujet (« Dans cet article, je vais... »)
  • Pas de tirets cadratins dans aucune ligne
  • Pas de points-virgules
  • Aucun paragraphe de plus de 3 lignes avant une ligne vide
  • Pas de mots interdits : incroyable, étonnant, tirer parti, révolutionnaire, plonger, exploiter, débloquer, de pointe, remarquable, paradigme, révolutionner, transparent, robuste, utiliser, sans précédent, complet, actionnable, crucial, essentiel
  • Pas de données inventées : chaque affirmation fait référence à l'entrée brute ou à un résultat Tavily
  • L'article ne se termine pas par « En conclusion », « Pour résumer » ou « J'espère que cela vous a aidé »
  • 800 à 1 800 mots (indiquez le nombre de mots)
  • Flux logique : ouverture → problème/contexte → sections principales → conclusion actionnable

Corrigez toute violation avant de présenter. Indiquez le nombre final de mots.


Étape 7 : Sortie

Présentez l'article complet dans un bloc de code.

Présentez la méta-description et le titre alternatif sous l'article principal.

Demandez : « Prêt à copier ceci dans votre éditeur ? Si vous publiez sur une plateforme spécifique, dites-le moi et je peux formater le frontmatter. »

Sur demande de plateforme spécifique :

Ghost :

---
title: "TITRE_ARTICLE"
date: AAAA-MM-JJ
tags: [tag1, tag2]
status: draft
---

dev.to :

---
title: TITRE_ARTICLE
description: META_DESCRIPTION
tags: [tag1, tag2, tag3]
published: false
---

Substack : Présentez en Markdown simple. L'éditeur de Substack importe le markdown directement.

Hashnode :

---
title: TITRE_ARTICLE
subtitle: META_DESCRIPTION
tags: [tag1, tag2]
---

Individual skills in this repo

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

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Skills associés