Jibbithy/reddit-research

Recherche Reddit via l’API Arctic Shift — analyse de subreddits, mesures d’engagement, activité utilisateur, récupération de publications supprimées/supprimées par les mods, évaluation du ton, règles et découverte de sujets. L’accès direct à reddit.com étant bloqué dans cet environnement, la compétence indique clairement les questions auxquelles elle ne peut pas répondre plutôt que de les substituer par une recherche web.

Qu'est-ce que reddit-research ?

Cette compétence permet d’effectuer des recherches complètes sur Reddit en utilisant l’API Arctic Shift, la seule source fiable disponible. Elle est conçue pour les agents AI qui ont besoin d’analyser des subreddits, de mesurer l’engagement (ratio commentaires/upvotes, note moyenne, ratio d’upvotes), d’évaluer le ton des discussions via les motifs de titres et les flairs, de récupérer des publications supprimées ou filtrées par spam, ou de découvrir des sujets émergents. Elle prend en charge les requêtes ciblées sur un utilisateur, un subreddit ou un sujet, et fournit des workflows standardisés minimalistes (analyse de subreddit, recherche utilisateur, récupération de publications supprimées). Important : l’accès direct à reddit.com via curl, WebFetch ou WebSearch est bloqué, et Arctic Shift ne permet pas d’obtenir les classements en direct, les nombres d’abonnés actuels ou les vues connectées. Dans ces cas, la compétence informe honnêtement l’utilisateur que la question ne peut être traitée, plutôt que de fournir un résultat vide. En dernier recours, elle propose des substituts vérifiés comme Hacker News Algolia, Lobsters ou Stack Exchange, en étiquetant clairement leur source.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jibbithy/claude-code-skills/tree/HEAD/skills/reddit-research

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · 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

Compétence de recherche Reddit

Routage complet de la recherche Reddit via les méthodes les plus fiables. Vous savez exactement quels outils fonctionnent, lesquels ne fonctionnent pas, et quand les utiliser.

Déclencheur

/reddit-research analyze r/homelab engagement
/reddit-research what subs does u/example_user post in
/reddit-research find deleted posts in r/SUBNAME
/reddit-research discover subreddits about topic X
search reddit for discussions about X
check reddit metrics for these subreddits

Classement des méthodes — une seule route fonctionne, les autres sont mortes

Re-testé le 2026-09-19. Arctic Shift est la seule source fonctionnelle. Tout le reste est bloqué. L’échelle ci-dessous n’est pas une cascade de repli gracieuse ; trois de ses quatre barreaux sont absents, et le mode d’échec important est de substituer silencieusement un barreau mort par une recherche web et de présenter le résultat comme des données Reddit.

RouteStatut 2026-09-19Preuve
API Arctic ShiftFONCTIONNE — la seulecurl .../api/posts/search?subreddit=selfhosted → 200, objets complets de publications
reddit.com .json via curlMORT — 403blocage au niveau du harnais ; le User-Agent navigateur n’aide pas
WebFetch / WebSearch sur reddit.comMORTWebSearch renvoie 400 domains not accessible
Playwright sur old.reddit.comINDISPONIBLEnécessite le serveur MCP Playwright, qui échoue systématiquement à se connecter

Arctic Shift — la route principale et, en pratique, la seule

  • Base : https://arctic-shift.photon-reddit.com/api
  • Simple curl. Pas d’authentification, pas de navigateur, pas de mur de preuve de travail.
  • Voit les publications supprimées, supprimées par les mods et filtrées comme spam — la seule chose qu’aucune autre route ne peut faire.

Utilisez-la pour tout : recherche historique, métriques, activité utilisateur, règles, ton, récupération de contenu supprimé.

Quatre pièges qui ruineront silencieusement une exécution. Tous vérifiés par un appel en direct.

  1. Les noms de paramètres ne sont pas évidents et les mauvaises hypothèses génèrent une erreur fatale. Le texte intégral utilise title= ou selftext= sur /posts/search, et body= sur /comments/search. q renvoie {"error":"Unknown query parameter: 'q'"}. sort n’accepte que asc/desc.
  2. {"error":"Timeout. Maybe slow down a bit"} renvoyé en moins d’une seconde est une LIMITE DE TAUX, pas une requête lente. Quatre appels non espacés suffisent à la déclencher. Réessayer avec un -m plus long ou une fenêtre plus étroite ne change rien. Espacez les appels d’environ 4 s, et reculez exponentiellement (8→120 s) sur cette erreur.
  3. Sur toute erreur, la réponse est {"data":null,...}. Un code qui accède directement à json.data.length lève une exception sur la réponse de limite de taux au lieu de la signaler. Vérifiez que data n’est pas null avant de l’utiliser, et remontez error lorsqu’il est défini.
  4. Les publications de moins de 36 h environ portent hide_score:true et score:1 — filtrez-les avant de calculer une métrique, sinon les chiffres sont fictifs. Il n’y a pas de tri par score : récupérez large et triez côté client.

Quand Reddit ne peut vraiment pas répondre

Si la question nécessite un classement en direct, un nombre d’abonnés actuel ou une vue connectée, Arctic Shift ne peut pas la servir et rien d’autre n’est disponible. Dites-le dans le livrable. Ne laissez pas un workflow renvoyer un sentiment nul et être interprété comme "rien trouvé" — deux recherches précédentes ont brûlé 206 agents sans produire de données Reddit avant que cela ne soit diagnostiqué.

Ces substituts sont vérifiés et constituent le repli honnête pour "que disent les praticiens", à condition d’étiqueter la source comme non-Reddit :

  • Hacker News (meilleur substitut) : https://hn.algolia.com/api/v1/search?query=<termes>&tags=story (ou &tags=comment), puis https://hn.algolia.com/api/v1/items/<objectID> pour l’arbre complet des commentaires. Exigez que chaque citation porte son identifiant de commentaire et soit re-vérifiée pour confirmer l’existence de la chaîne.
  • Lobsters : https://lobste.rs/search?q=<termes>&what=stories&order=relevance
  • Stack Exchange : https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=votes&q=<termes>&site=stackoverflow

Méthodes qui ne fonctionnent pas — ne jamais tenter

MéthodePourquoiRésultat
curl / WebFetch vers reddit.com (tout chemin, y compris .json)blocage au niveau du harnais ; un User-Agent navigateur ne le contourne pas403
WebSearch avec site:reddit.com ou allowed_domains:["reddit.com"]domaine non autorisé400 domains not accessible
Flux RSS Reddit (.rss) via curlbloqué spécifiquement403
oauth.reddit.com sans jetonredirige vers HTML301 → HTML
Mirrors redlib / safereddit / libredditécran de preuve de travail Anubis, nécessite JSpage de défi, 0 publication
api.pullpush.io (successeur de Pushshift)en panne502
Proxy r.jina.ai devant old.reddit.comle proxy renvoie 200 contenant le propre 403 de Redditcorps 403

Ne gaspillez pas une exécution à redécouvrir ces points. Si Arctic Shift ne peut pas répondre, rien ici ne le peut.


Référence API

Points de terminaison, champs de réponse et pièges pour les deux sources : references/api.md. Lisez-le avant de construire un appel ; ne reconstruisez pas un point de terminaison de mémoire.

Métriques d’engagement

Les quatre métriques (calculées à partir des données Arctic Shift)

MétriqueFormuleMesure
Ratio commentaires/upvotes (cmtRatio)avgCmts / avgScoreProfondeur de discussion
Ratio d’upvoteschamp upvote_ratio (0-1)Approbation de la communauté
Moyenne de commentaires par publicationsum(num_comments) / countNiveau d’activité
Score moyen par publicationsum(score) / countPortée/visibilité

Calcul

const posts = data.data.filter(p => !p.hide_score && p.score > 1);
const avgScore = posts.reduce((s, p) => s + p.score, 0) / posts.length;
const avgCmts = posts.reduce((s, p) => s + p.num_comments, 0) / posts.length;
const cmtRatio = avgCmts / avgScore;
const avgUpvoteRatio = posts.reduce((s, p) => s + p.upvote_ratio, 0) / posts.length;

Niveaux de profondeur de discussion

NiveauSeuilSignification
S>= 0.70Très conversationnel
A>= 0.25Discussion forte
B>= 0.10 ou moyenne cmts >= 10Modéré, mérite de s’engager
C0.05-0.10Plutôt passif / sub de portée
D< 0.05Faible engagement
Emoyenne cmts < 1Mort ou fortement restreint

Évaluation du ton

Évaluez à partir des données de publications déjà récupérées (pas d’appels supplémentaires) :

  1. Valeurs de link_flair_text — jours thématiques, catégories, indicateurs explicites
  2. Motifs de titre — style de langage, normes
  3. selftext des publications les mieux notées — signaux culturels
  4. Distribution des scores — ce que la communauté récompense réellement

Triez les publications récupérées par score côté client. Les 10 à 20 premières révèlent les valeurs de la communauté.


Workflows standard

Une recette minimale par demande récurrente — analyser un subreddit, étudier un utilisateur, trouver des fils, découvrir des subs, vérifier par lot, récupérer des publications supprimées, détecter un shadowban : references/workflows.md.

Diagramme de décision

Besoin de données Reddit ?
|
+-- Publications historiques, commentaires, métriques, activité utilisateur, règles, contenu supprimé ?
|     --> Arctic Shift. C’est toutes les questions que la compétence peut réellement répondre.
|
+-- Classements en direct, nombre d’abonnés actuel, ou vue connectée ?
|     --> NON DISPONIBLE. reddit.com est 403 pour curl et WebFetch ; WebSearch
|         refuse le domaine ; Playwright nécessite un serveur MCP généralement en panne.
|         Dites-le dans le livrable. Ne substituez pas silencieusement par une recherche web.
|
+-- Vérification de shadowban ?
|     --> NON DISPONIBLE pour la même raison (nécessitait /user/NAME/about.json).
|
+-- "Que disent les praticiens à propos de X", où Reddit n’était qu’un moyen ?
|     --> HN Algolia / Lobsters / Stack Exchange, étiqueté comme non-Reddit.
|
+-- Publier, commenter, MP, modmail ?
      --> Impossible via les outils de recherche. Utilisez l’interface native de Reddit.

La règle de l’écart honnête : une question que cette compétence ne peut pas répondre est signalée comme non répondable, avec la raison. Une exécution qui renvoie zéro donnée Reddit et ne dit pas pourquoi est interprétée comme "rien trouvé", ce qui est une affirmation différente et fausse.


Limites du périmètre

  • Cette compétence est une recherche EN LECTURE SEULE. Pas de publication, commentaire ou opération d’écriture.
  • Si la tâche nécessite une publication ou des actions sur un compte, informez l’utilisateur qu’elle doit être effectuée via l’interface de Reddit ou un client authentifié.

Skills associés