devoxx/devoxx-ai-skill/devoxx-voxxed-cfp

Claude Code and agent skill by devoxx/devoxx-ai-skill

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user asks about speakers, talks, schedules, or CFP dates for any Devoxx or VoxxedDays conference. Covers: speaker bios/socials, talk topics/tracks/levels, daily program or room agenda, most popular talks, upcoming or past events, and CFP open/close dates. Queries the public CFP API at [event-slug].cfp.dev and the devoxxians.com event registry. Example triggers: who speaks about Kubernetes at Devoxx UK, what is on Wednesday in Room 8, find AI talks at Voxxed Zurich, when does the CFP open for Devoxx Belgium.

Install

npx vskill@latest install devoxx/devoxx-ai-skill/devoxx-voxxed-cfp

SKILL.md

Devoxx / VoxxedDays — CFP API

Answer the user's question by querying public, no-auth REST APIs. Each Devoxx and VoxxedDays event has its own CFP instance at https://{event-slug}.cfp.dev/api/public. Fetch live data with curl in the bash tool and parse JSON with python3. Never invent talk titles, times, rooms, or speaker facts — always pull from the API.

Step 0 — resolve the event slug

Discover events from the Devoxxians registry (no auth):

  • GET https://devoxxians.com/api/public/events/upcoming
  • GET https://devoxxians.com/api/public/events/past

Each event has name (e.g. "Devoxx UK 2026"), eventCategory (DEVOXX or VOXXED), fromDate/toDate, location, website, and apiURL (e.g. https://devoxxuk26.cfp.dev/api/). The slug is the hostname prefix of apiURL — extract with re.match(r"https://([^.]+)\.cfp\.dev", apiURL).

Resolution rules:

  • Match the user's event mention against name case-insensitively (fetch both lists; "Devoxx UK" without a year → prefer the nearest upcoming edition, else the most recent past one).
  • No event mentioned at all → use conversation context; if still ambiguous, ask which event (and offer the upcoming list).
  • apiURL can be null for announced events whose CFP isn't live yet (e.g. a next-year edition) — say so and fall back to the most recent edition that has an apiURL.
  • Cache the slug for the rest of the conversation; don't re-resolve on every question.

Questions like "when is the next Devoxx" or "which Voxxed events are coming up" are answered directly from these two registry endpoints.

Per-event endpoints

Base: https://{slug}.cfp.dev/api/public — all GET, no auth.

NeedEndpoint
Event metadata + CFP open/close dates/event
All talks (content)/talks
All speakers (summary, paginated)/speakers?page=N
One speaker + their talks/speakers/{id}
Available schedule days/schedules (returns day links — days VARY per event, never assume monday–friday)
Schedule for a day/schedules/{day}
Rooms / Tracks/rooms, /tracks

Full field reference, gotchas, and worked curl+python3 recipes are in references/api.md — read it before composing a non-trivial query.

Key joins

  • A schedule slot's proposal.id equals a talk's id in /talks.
  • A talk's speakers[] and a speaker's proposals[] link talks ↔ speakers.
  • /talks carries content (description, track, level, favourites) but its timeSlots is usually empty — get times and rooms from /schedules/{day}.

Times

Display times in the event's local timezone. Every schedule slot carries fromDate/toDate in UTC plus a timezone field (e.g. Europe/London, Europe/Brussels). Convert with zoneinfo:

python
from datetime import datetime
from zoneinfo import ZoneInfo
def local(ts, tz): return datetime.fromisoformat(ts.replace("Z","+00:00")).astimezone(ZoneInfo(tz)).strftime("%H:%M")

Linking to the public website (mandatory)

Every talk and every speaker referenced in an answer MUST be a clickable markdown link to https://m.devoxx.com, using the same event slug:

Routing is by id (the trailing slug is cosmetic), but generate it properly:

python
import re
def slug(s): return re.sub(r"[^a-z0-9]+", "-", (s or "").lower()).strip("-")

Format every talk as [Talk Title](https://m.devoxx.com/events/{slug}/talks/{id}/{slug(title)}) and every speaker as [Speaker Name](https://m.devoxx.com/events/{slug}/speaker/{id}/{slug(name)}) — including in lists and schedule overviews. For event-level answers, link the event's website from the registry payload.

Answering patterns

  • "Tell me about <speaker>" → page through /speakers to find the id, then GET /speakers/{id} for bio + proposals.
  • "Who's speaking about <topic>" / "find <topic> talks" → fetch /talks, case-insensitively match across title, summary, description, keywords[].name, track.name.
  • "What's on <day>" / "what's in <room>" → GET /schedules for valid days, then /schedules/{day}, filter by room, sort by fromDate.
  • "Most popular talks" → sort /talks by totalFavourites descending.
  • "When/where is the next Devoxx or Voxxed event" → registry endpoints on devoxxians.com.
  • "When does/did the CFP open or close?" / "is the CFP open for <event>?" → resolve the slug, then GET /event and read cfpOpening/cfpClosing (UTC ISO). Compare to now to label open / closed / opens-later; an event whose apiURL is null has no CFP instance yet. The registry does NOT carry CFP dates — always use /event.

Keep answers focused on what was asked. Every talk title and speaker name in the answer must be a markdown link per the linking rules above.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/devoxx/devoxx-ai-skill/devoxx-voxxed-cfp/badge)](https://verified-skill.com/skills/devoxx/devoxx-ai-skill/devoxx-voxxed-cfp)

Something wrong with this skill or its page? Tell us.