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
À utiliser lors de la première installation du projet internbot sur une nouvelle machine ou pour un nouveau développeur.
À 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é
PrudenceThe 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'.
- •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.
Exemples
Je viens de cloner internbot, aide-moi à le configurer pour le développement sur ma machine.Quels scopes OAuth et quels events Slack dois-je activer pour que le bot internbot fonctionne ?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
- Go to https://api.slack.com/apps → Create New App → From scratch
- Name it (e.g., "internbot"), select your workspace
- Enable Socket Mode under Settings → Socket Mode → toggle on
- Generate an app-level token with
connections:writescope → save asSLACK_APP_TOKEN
- Generate an app-level token with
- Under OAuth & Permissions, add these Bot Token Scopes:
app_mentions:readchannels:historychannels:readchat:writegroups:historygroups:readim:historyim:readim:writempim:historympim:readusers:readreactions:write
- Under Event Subscriptions → toggle on → Subscribe to bot events:
message.channelsmessage.groupsmessage.immessage.mpimapp_mention
- 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 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/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’OpenSkillsopenskills 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 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/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.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.