agentleFS
swyxioswyxio/skills/accelevents-speaker-sync/SKILL.md

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
  1. Very specific:

    Look up acceleventsSpeakerId in src/pages/europe/source/schedule.json for the speaker you're updating.

    line 34
  2. Very specific:

    Use PUT with the Key header (NOT Authorization: Bearer) for write operations:

    line 56
  3. Very specific:

    Use the Key header (not Authorization: Bearer) for PUT/write operations

    line 66
  4. Very specific:

    Use flat JSON body (do NOT wrap in a speakerDTO object)

    line 67
  5. Very specific:

    Use PUT with the Key header:

    line 95

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.json that 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_KEY header

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 Key header (not Authorization: Bearer) for PUT/write operations
  • Use flat JSON body (do NOT wrap in a speakerDTO object)
  • Include email in the body — it is required
  • Include speakerId, firstName, lastName to 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 title
  • startTime / endTime: Format is yyyy/MM/dd HH:mm
  • format: One of MAIN_STAGE, BREAKOUT_SESSION, MEET_UP, WORKSHOP, EXPO, BREAK, OTHER
  • locationId: Room/location ID (get from current session data)
  • status: VISIBLE or HIDDEN

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).

Download now (ZIP)

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.