Configuration de développement d'Internbot

VérifiéPrudence

Configurez Internbot pour le développement. Suivez les étapes pour créer une app Slack, configurer les jetons, configurer le dépôt de rapports et exécuter le bot.

Spar Skills Guide Bot
DevOpsIntermédiaire
22/07/2026
Claude Code
#slack-bot#onboarding#environment-setup#nodejs#github

Recommandé pour

Synthèse automatique

Ce skill guide la configuration initiale de l'environnement de développement d'internbot, un bot Slack, de la création de l'app Slack jusqu'aux tests.

Points forts

  • Liste précisément les scopes OAuth et les événements Slack à activer
  • Couvre la création du dépôt GitHub séparé pour les rapports LaTeX, y compris l'authentification par PAT
  • Se termine par des étapes de test concrètes pour valider le bot

Limites

  • Suppose que l'utilisateur a déjà un workspace Slack avec les droits de création d'app
  • Les commandes spécifiques au projet (npm install, npm run dev) ne sont pas détaillées et dépendent du dépôt existant
  • Ne traite pas du dépannage en cas d'échec de Socket Mode ou de permissions manquantes
Quand l'utiliser

À utiliser lors de la première installation du projet internbot sur une nouvelle machine ou pour un nouveau développeur.

Quand l'éviter

À ne pas utiliser pour modifier le comportement du bot ou ajouter des fonctionnalités une fois l'environnement déjà configuré.

Analyse de sécurité

Prudence
Score qualité80/100

The skill is a straightforward developer onboarding guide: Slack app creation, .env configuration, git init, npm install/run. Nothing is destructive, obfuscated, or exfiltrating — no curl|sh, no rm -rf, no sending data to third parties. The main concerns are security hygiene: plaintext PAT storage in .git/credentials and a PAT embedded in the remote URL, plus very broad Slack history scopes. These are practices worth flagging but they operate on the user's own credentials for their own repos, so 'caution' rather than 'risky'.

Points d'attention
  • •Step 3 instructs storing a GitHub PAT in plaintext at .git/credentials via `credential.helper store --file=.git/credentials`, and embedding the PAT directly in the git remote URL — a credential-exposure anti-pattern (the token persists in plaintext and in .git/config).
  • •Requests a broad set of Slack scopes (channels:history, groups:history, im:history, mpim:history, etc.), giving the bot read access to essentially all workspace message history; legitimate for the stated purpose but worth flagging for least-privilege review.
  • •The workflow assumes a bot running with repo write access and push rights to a separate GitHub repo; no guidance on token rotation, scoping the PAT, or keeping .env/.git credentials out of version control.
Comment cette analyse est faite

Exemples

Première installation
Je viens de cloner internbot, aide-moi à le configurer pour le développement sur ma machine.
Configurer l'app Slack
Quels scopes OAuth et quels events Slack dois-je activer pour que le bot internbot fonctionne ?
Créer le dépôt de rapports
Comment configurer le dépôt GitHub séparé où le bot publie ses rapports LaTeX ?

name: onboard description: Set up internbot for development. Use when setting up the project for the first time.

Internbot Developer Setup

Prerequisites

  • Node.js >= 20
  • A Slack workspace where you can create apps

Steps

1. Create a Slack App

  1. Go to https://api.slack.com/apps → Create New App → From scratch
  2. Name it (e.g., "internbot"), select your workspace
  3. Enable Socket Mode under Settings → Socket Mode → toggle on
    • Generate an app-level token with connections:write scope → save as SLACK_APP_TOKEN
  4. Under OAuth & Permissions, add these Bot Token Scopes:
    • app_mentions:read
    • channels:history
    • channels:read
    • chat:write
    • groups:history
    • groups:read
    • im:history
    • im:read
    • im:write
    • mpim:history
    • mpim:read
    • users:read
    • reactions:write
  5. Under Event Subscriptions → toggle on → Subscribe to bot events:
    • message.channels
    • message.groups
    • message.im
    • message.mpim
    • app_mention
  6. Install the app to your workspace → copy the Bot User OAuth Token as SLACK_BOT_TOKEN

2. Configure Environment

cp .env.example .env
# Edit .env with your tokens:
#   SLACK_BOT_TOKEN=xoxb-...
#   SLACK_APP_TOKEN=xapp-...

3. Set Up Reports Repository

The bot publishes LaTeX reports to a separate GitHub repo. Set it up as a subdirectory:

mkdir reports-repo && cd reports-repo
git init
mkdir reports
echo '[]' > papers-log.json
git add . && git commit -m "init reports repo"

Create a GitHub repo for reports, then configure the remote with a dedicated account (optional):

git remote add origin https://<github-user>@github.com/<github-user>/<repo-name>.git
git config user.name "<bot-name>"
git config user.email "<github-user>@users.noreply.github.com"
git push -u origin main

If using a dedicated GitHub account, store its PAT locally:

echo "https://<github-user>:<PAT>@github.com" > .git/credentials
git config credential.helper 'store --file=.git/credentials'

4. Install & Run

npm install
npm run dev    # Development with hot reload
npm run build  # Compile TypeScript
npm start      # Run compiled version

5. Test

  • DM the bot "hi" → should get a simple reply
  • In a channel, @mention the bot with a question → should get a threaded response
  • Ask it to search for papers → should use arxiv tools

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 annexes

Ce 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.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/internbot-developer-setup-mrwak9io/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/internbot-developer-setup-mrwak9io' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/internbot-developer-setup-mrwak9io/download' --output '.skill-downloads/internbot-developer-setup-mrwak9io/SKILL.md.part' && mv '.skill-downloads/internbot-developer-setup-mrwak9io/SKILL.md.part' '.skill-downloads/internbot-developer-setup-mrwak9io/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.

Extrait original : Prerequisites
  • Node.js >= 20
  • A Slack workspace where you can create apps

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/internbot-developer-setup-mrwak9io/SKILL.md' && test -s '.skill-downloads/internbot-developer-setup-mrwak9io/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/onboard' && cp -R '.skill-downloads/internbot-developer-setup-mrwak9io' '.claude/skills/onboard'

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’OpenSkills
openskills install './.skill-downloads/internbot-developer-setup-mrwak9io'

openskills read 'internbot-developer-setup-mrwak9io'

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 sync

Mode 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/internbot-developer-setup-mrwak9io/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.

Skills similaires