accelevents-speaker-sync
Skill176 starsChanged 7 months agoMITView on GitHub
Use when website speaker, session, schedule, room, track, or headshot changes must be synchronized back to Accelevents for AI Engineer Europe 2026.
- Reads credentials
- Sends data out
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 34
Look up acceleventsSpeakerId in src/pages/europe/source/schedule.json for the speaker you're updating.
- Very specific: line 56
Use PUT with the Key header (NOT Authorization: Bearer) for write operations:
- Very specific: line 66
Use the Key header (not Authorization: Bearer) for PUT/write operations
- Very specific: line 67
Use flat JSON body (do NOT wrap in a speakerDTO object)
- Very specific: line 95
Use PUT with the Key header:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Accelevents Speaker & Session Sync
Whenever you update speaker data OR session/schedule details on the website, you MUST also push those changes to the corresponding profiles and sessions in Accelevents.
When This Applies
Speaker changes
- Adding or replacing a speaker photo
- Updating speaker name, role, company, bio, or social links
- Any change to
src/pages/europe/source/schedule.jsonthat affects speaker metadata
Session/schedule changes
- Changing session start time, end time, or day
- Changing session room, track, or format
- Updating a session/talk title
- Moving a speaker to a different session slot
Accelevents API Details
- API base:
https://api.accelevents.com - Event URL:
ai-engineer-europe-2026 - Auth for READ operations:
Authorization: Bearer $ACCELEVENTS_API_KEY - Auth for WRITE operations (PUT/POST):
Key: $ACCELEVENTS_API_KEYheader
Speaker Update Workflow
1. Find the speaker's Accelevents ID
Look up acceleventsSpeakerId in src/pages/europe/source/schedule.json for the speaker you're updating.
Or search by name:
curl -s -H "Authorization: Bearer $ACCELEVENTS_API_KEY" \
"https://api.accelevents.com/rest/host/event/ai-engineer-europe-2026/speaker?searchString=SPEAKER_NAME&page=0&size=10&expand=TAG"2. Upload a new photo (if photo changed)
Upload the image file (must be under 2MB):
curl -s -X POST \
-H "Authorization: Bearer $ACCELEVENTS_API_KEY" \
-F "file=@/path/to/photo.jpg" \
"https://api.accelevents.com/rest/event/upload/image"This returns {"type": "Success", "message": "<image-uuid>"}. Save the message value as the image UUID.
3. Update the speaker profile
Use PUT with the Key header (NOT Authorization: Bearer) for write operations:
curl -s -X PUT \
-H "Key: $ACCELEVENTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"speakerId": SPEAKER_ID, "firstName": "First", "lastName": "Last", "email": "email@example.com", "imageUrl": "<image-uuid>"}' \
"https://api.accelevents.com/rest/host/event/ai-engineer-europe-2026/speaker/SPEAKER_ID"Important notes:
- Use the
Keyheader (notAuthorization: Bearer) for PUT/write operations - Use flat JSON body (do NOT wrap in a
speakerDTOobject) - Include
emailin the body — it is required - Include
speakerId,firstName,lastNameto avoid clearing existing data
4. Verify the update
Fetch the speaker again to confirm the change took effect:
curl -s -H "Authorization: Bearer $ACCELEVENTS_API_KEY" \
"https://api.accelevents.com/rest/host/event/ai-engineer-europe-2026/speaker?searchString=SPEAKER_NAME&page=0&size=10&expand=TAG"Session/Schedule Update Workflow
1. Find the session in Accelevents
List all sessions to find the one you need to update:
curl -s -H "Authorization: Bearer $ACCELEVENTS_API_KEY" \
"https://api.accelevents.com/rest/events/ai-engineer-europe-2026/session?page=0&size=100&expand=SPEAKER,TRACK,TAG"Match sessions by title or by the speakers assigned to them. Note the sessionId.
Speakers in schedule.json may have a sessionId field that maps to Accelevents session IDs — check there first.
2. Update the session
Use PUT with the Key header:
curl -s -X PUT \
-H "Key: $ACCELEVENTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Talk Title", "startTime": "2026/04/08 13:00", "endTime": "2026/04/08 15:00", "format": "WORKSHOP"}' \
"https://api.accelevents.com/rest/host/event/ai-engineer-europe-2026/session/SESSION_ID"Key fields:
title: Session/talk titlestartTime/endTime: Format isyyyy/MM/dd HH:mmformat: One ofMAIN_STAGE,BREAKOUT_SESSION,MEET_UP,WORKSHOP,EXPO,BREAK,OTHERlocationId: Room/location ID (get from current session data)status:VISIBLEorHIDDEN
3. Verify the session update
curl -s -H "Authorization: Bearer $ACCELEVENTS_API_KEY" \
"https://api.accelevents.com/rest/events/ai-engineer-europe-2026/session?page=0&size=100&expand=SPEAKER,TRACK"Existing Sync Script
The repo has a script at src/pages/europe/source/_scripts/sync_accelevents.py that syncs FROM Accelevents TO the website (pulls data down). The workflows above are the reverse direction (pushing data up to Accelevents).
In this repository101 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accelevents-apiSkill
- agents-sdkSkill
- ai-devblogSkill
- ai-engineeringSkill
- ai-readmeSkill
- align-meSkill
- annotated-video-productionSkill
- antislop-codebaseSkill
- app-ux-paradigmsSkill
- autoreviewSkill
- babysit-runsSkill
- blog-system-designSkill
- cassandra-creatorSkill
- ceo-creatorSkill
- claude-session-introspectSkill
- cli-uxSkill
- cloudflare-do-turn-based-multiplayerSkill
- cloudflare-email-serviceSkill
- cloudflare-one-migrationsSkill
- cloudflare-oneSkill
- cloudflare-production-builderSkill
- cloudflareSkill
- conference-developer-endpointsSkill
- conference-transcribeSkill
- coordinateSkill
- data-chatbotsSkill
- data-visualization-qualitySkill
- deep-trajectory-analysisSkill
- design-apps-with-imagegenSkill
- design-preferencesSkill
- diy-netlifySkill
- download-videoSkill
- download-x-videoSkill
- durable-objectsSkill
- europe-developer-apiSkill
- face-matchingSkill
- forgeSkill
- future-onlySkill
- generalizeSkill
- gsuite-setupSkill
- keep-it-simpleSkill
- latent-space-thumbnail-directorSkill
- live-ai-pipelinesSkill
- location-inputSkill
- long-running-operation-uxSkill
- media-heavy-workflowsSkill
- media-to-wiki-pipelineSkill
- media-transformSkill
- mobile-nativeSkill
- mobile-webapp-uxSkill
- multimodal-extractionSkill
- new-mac-setupSkill
- next-stepsSkill
- observability-hardeningSkill
- person-profile-writingSkill
- podcast-publishing-assistantSkill
- productionize-app-with-servicesSkill
- programmatic-agentsSkill
- provision-model-keysSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

