Synthèse automatique
Cette compétence explique comment ajouter la fiche biographique d'un intervenant et la page de sa conférence sur un site d'événement devopsdays généré avec Hugo.
Points forts
- Décrit précisément les trois fichiers à créer (bio, conférence, photo) et le slug partagé.
- Rappelle des pièges concrets : casse des noms de fichiers, fins de ligne CRLF, format des champs TOML et valeur fixe de `Type`.
- Couvre les conférences à plusieurs intervenants ainsi que les formats de photo acceptés.
- Distingue clairement l'ajout d'un intervenant de la construction du programme.
Limites
- Le texte fourni semble tronqué à l'étape d'activation dans la navigation, ce qui peut laisser la procédure incomplète.
- Les instructions sont fortement liées à l'arborescence et aux conventions d'un dépôt devopsdays/Hugo précis.
- Ne traite pas la planification dans le programme, renvoyée à une autre compétence.
À utiliser lorsqu'un intervenant est confirmé et qu'il faut créer ou mettre à jour sa page et celle de sa conférence sur le site de l'événement.
À ne pas utiliser pour ajouter un créneau au programme, gérer les horaires ou modifier un site qui ne suit pas cette structure Hugo.
Analyse de sécurité
SûrThe skill is a documentation-style guide for adding speaker and talk markdown files to a Hugo site. The only executable content is a `mkdir -p` and a `cp` from the user's Downloads folder into the repository's assets directory — no deletions, no network calls, no credential handling, no obfuscation, and no attempts to alter the auditor's role. Residual risk is low and limited to ordinary local file operations.
- •No allowed-tools are declared, yet the skill includes shell commands (`mkdir -p`, `cp`) the agent would need Bash to run; instructions are benign but the tool requirement is undeclared.
- •References sibling skill files (`.claude/skills/build-program/SKILL.md`, `.claude/skills/submit-changes/SKILL.md`) whose contents are outside this document and not vetted here.
Exemples
Add Jane Doe as a speaker for devopsdays 2026 Boston. Her talk is "Scaling Incident Response" with the abstract: incident response for small teams. Her bio is: Jane leads SRE at Acme. Her headshot is at ~/Downloads/jane.jpg and her GitHub is janedoe.Add a joint talk for devopsdays 2026 Boston called "Shipping Reliable Platforms" with speakers Jane Doe and Sam Patel. Create each speaker page and one talk page listing both slugs.Add María Ramírez as a speaker at devopsdays 2026 Boston. Her talk title is "Observability Without Burnout" and her headshot is ~/Downloads/maria.webp. Use the correct slug and bare image filename.name: add-speaker description: Use when a devopsdays event has confirmed a speaker and their talk, workshop, ignite, or keynote needs to appear on the event site - covers the speaker bio page, the talk page, the headshot, and multi-speaker talks.
Add a speaker and their talk
Every speaker needs two files that share one slug, plus usually a headshot:
| File | Purpose |
|---|---|
| content/events/<YYYY>-<city>/speakers/<slug>.md | The bio page |
| content/events/<YYYY>-<city>/program/<slug>.md | The talk page: title and abstract |
| assets/events/<YYYY>-<city>/speakers/<slug>.<ext> | The headshot |
Adding a speaker does not put them on the schedule. That is
.claude/skills/build-program/SKILL.md.
The slug
Lowercase, ASCII, hyphen-separated: jane-doe, maria-lopez. Fold accents (Ramírez →
ramirez), drop apostrophes and periods (O'Brien → obrien, J.R. Smith → jr-smith).
The Lint Filenames CI job hard-fails on any mixed-case filename, so this is not cosmetic.
1. Speaker page
content/events/<YYYY>-<city>/speakers/<slug>.md. TOML frontmatter, +++ delimiters:
+++
Title = "Jane Doe"
Twitter = ""
linkedin = ""
image = ""
type = "speaker"
linktitle = "jane-doe"
+++
Jane's bio goes here. Markdown works.
The mixed key casing is what the generator produces and what every existing file uses. Hugo is case-insensitive about frontmatter keys, so match the template rather than tidying it.
Optional fields the theme renders: Website, Facebook, Github, Pronouns, twitch,
mastodon, bluesky. Give mastodon and bluesky full profile URLs; Twitter and Github
take bare usernames without the @.
image is a bare filename, not a path — it resolves against
assets/events/<YYYY>-<city>/speakers/. Leave it "" if there is no photo; the theme falls back
to a default avatar.
Watch the first line. If the +++ has a trailing space — which happens with CRLF line
endings on Windows — the site will not build. Use LF.
2. Talk page
content/events/<YYYY>-<city>/program/<slug>.md:
+++
Talk_date = ""
Talk_start_time = ""
Talk_end_time = ""
Title = "The Real Title Of The Talk"
Type = "talk"
Speakers = ["jane-doe"]
+++
The abstract goes here. Markdown works.
Titlehere is the display title of the talk, unlike the program YAML wheretitleis a slug. Do not confuse the two.Speakersis always an array, even for one speaker, and holds speaker slugs, not names.- The
Talk_*fields are vestigial — the schedule comes from the program data. Leave them empty. - Keep
Type = "talk"even for a keynote, workshop, or ignite. Those values have no layout and fall through to a blank template. The program entry is where you mark it as an ignite or workshop.
3. Headshot
Copy into assets/events/<YYYY>-<city>/speakers/<slug>.<ext>, creating the directory if needed:
mkdir -p assets/events/2026-boston/speakers
cp ~/Downloads/jane.jpg assets/events/2026-boston/speakers/jane-doe.jpg
.jpg,.pngand.webpall work — the extension must match the actual format- Square, ideally 600×600. Non-square images get cropped on the speakers index but not on the individual pages
- Lowercase filename and lowercase extension
- Then set it in the speaker file:
image = "jane-doe.jpg"
Note utilities/add_speakers.sh hardcodes .png for both the check and the destination, so it
will happily save a JPEG under a .png name. Writing the files directly avoids that.
4. Two or more speakers on one talk
Create a speaker page for each. Create one talk page listing all of them:
Speakers = ["jane-doe", "sam-patel"]
You can name that talk file after either speaker, or rename it to something combined
(doe-patel.md) — as long as the program entry's title matches the filename.
5. Show the speakers page in the nav
The first time an event adds speakers, uncomment the entry in
data/events/<YYYY>/<city>/main.yml:
nav_elements:
- name: speakers
Do this by hand. The sed in utilities/add_speakers.sh that is supposed to do it no longer
matches the template and silently does nothing.
You also need content/events/<YYYY>-<city>/speakers.md to exist:
+++
Title = "Speakers"
Type = "speakers"
Description = "Speakers for devopsdays <City> <YYYY>"
+++
6. Verify
- Both files use the same slug
Speakers = [...]holds slugs that match real files inspeakers/imagematches a file that is actually on disk, with the right extension- Preview
/events/<YYYY>-<city>/speakers/and the individual talk page
7. Submit
Follow .claude/skills/submit-changes/SKILL.md.
PR title: [BOS-2026] Add Jane Doe and her talk.
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/add-a-speaker-and-their-talk-mvda874f/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/add-a-speaker-and-their-talk-mvda874f' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/add-a-speaker-and-their-talk-mvda874f/download' --output '.skill-downloads/add-a-speaker-and-their-talk-mvda874f/SKILL.md.part' && mv '.skill-downloads/add-a-speaker-and-their-talk-mvda874f/SKILL.md.part' '.skill-downloads/add-a-speaker-and-their-talk-mvda874f/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.
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/add-a-speaker-and-their-talk-mvda874f/SKILL.md' && test -s '.skill-downloads/add-a-speaker-and-their-talk-mvda874f/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/add-speaker' && cp -R '.skill-downloads/add-a-speaker-and-their-talk-mvda874f' '.claude/skills/add-speaker'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/add-a-speaker-and-their-talk-mvda874f'openskills read 'add-a-speaker-and-their-talk-mvda874f'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/add-a-speaker-and-their-talk-mvda874f/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.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.