conference-developer-endpoints
Skill176 starsChanged 7 months agoMITView on GitHub
Add or review developer- and AI-facing conference data endpoints such as llms.txt, sessions.json, speakers.json, or MCP routes for AI Engineer conference pages. Implement only the requested surface unless the user asks for the full endpoint suite; never expose private speaker, CFP, or organizer data.
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 8 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Strips all sensitive fields: before returning data:
- Very specific: line 35
Create the following API routes in src/pages/api/{conf}/:
- Distinctive: line 48
Never expose sensitive/internal fields
- Very specific: line 52
Add rewrites in next.config.ts under the existing rewrites section:
- Distinctive: line 91
Follow the Streamable HTTP transport spec (2025-03-26)
- Distinctive: line 101
Use the AIE brand gold color (#FFE9A7) for headings and accent highlights
- Distinctive: line 143
When adapting, always check the conference's existing data sources and extraction patterns before building the public data utility.
- Distinctive: line 147
After implementing endpoints for a new conference:
- Very specific: line 149
Run SKIP_ENV_VALIDATION=1 npx tsc --noEmit — must pass with zero errors
- Very specific: line 150
Start dev server: SKIP_ENV_VALIDATION=1 pnpm dev
- Very specific: line 151
Verify each endpoint returns data: curl http://localhost:3000/{conf}/llms.txt
- Distinctive: line 152
Verify JSON endpoints don't contain emails, notes, or internal IDs
- Very specific: line 153
Test MCP endpoint with a tools/list JSON-RPC call
- Very specific: line 154
Test MCP endpoint with a tools/call JSON-RPC call (e.g.
- Distinctive: line 155
Verify the developer page renders correctly in the browser
- Very specific: line 161
All endpoints use s-maxage=3600, stale-while-revalidate=86400 caching
≈ “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
Conference Developer & AI Endpoints — General Pattern
This skill documents the available pattern for developer/AI-facing conference data. Treat the sections as a surface catalog, not an all-or-nothing acceptance checklist. For one endpoint, change and validate that endpoint plus its shared public-data boundary; do not add MCP, CLI, documentation pages, agent skills, or unrelated endpoints. Stripping private and internal fields is an invariant for every public surface. Stop when the requested surface is usable and its privacy contract is verified.
Surface catalog for a full conference endpoint suite
For a conference at route /{conf}, create the following:
1. Public Data Utility
Create src/data/{conf}-public-data.ts that:
- Imports the conference's source data (typically
src/pages/{conf}/source/schedule.jsonand the speaker extraction logic insrc/data/{conf}-speakers.ts) - Exports functions:
getPublicTalks(),getPublicSpeakers(),getScheduleByDay(), and aCONFERENCE_METAobject - Strips all sensitive fields before returning data:
email/contact.email— speaker email addressesnotes— internal organizer notesacceleventsSpeakerId— internal platform IDssessionId,invited— internal session metadatacfpData— call for papers submission details and review status
- Returns clean types (
PublicSpeaker,PublicTalk) with only public-safe fields
2. API Routes
Create the following API routes in src/pages/api/{conf}/:
| File | Endpoint | Format | Description |
llms-txt.ts | /{conf}/llms.txt | Plain text | Basic conference info + schedule overview. Links to other endpoints. |
llms-full-txt.ts | /{conf}/llms-full.txt | Plain text | Full details: every talk description, speaker bio, social links. |
sessions.ts | /{conf}/sessions.json | JSON | All sessions (talks + workshops) with metadata. CORS enabled. |
speakers.ts | /{conf}/speakers.json | JSON | All speakers with roles, companies, socials. CORS enabled. |
mcp.ts | /{conf}/mcp | JSON-RPC 2.0 | MCP server with tools for querying conference data. |
All endpoints should:
- Set appropriate
Cache-Controlheaders (s-maxage=3600, stale-while-revalidate=86400) - JSON endpoints must include CORS headers (
Access-Control-Allow-Origin: *) and handleOPTIONSpreflight - Never expose sensitive/internal fields
3. URL Rewrites
Add rewrites in next.config.ts under the existing rewrites section:
// {Conf} developer/AI endpoints
{
source: '/{conf}/llms.txt',
destination: '/api/{conf}/llms-txt',
},
{
source: '/{conf}/llms-full.txt',
destination: '/api/{conf}/llms-full-txt',
},
{
source: '/{conf}/sessions.json',
destination: '/api/{conf}/sessions',
},
{
source: '/{conf}/speakers.json',
destination: '/api/{conf}/speakers',
},
{
source: '/{conf}/mcp',
destination: '/api/{conf}/mcp',
},4. MCP Server Implementation
The MCP endpoint should implement JSON-RPC 2.0 with the following tools:
get_conference_info— Returns conference metadata (dates, location, venue, links)list_speakers— Returns speakers with optionalsearchfilterlist_talks— Returns talks with optionalday,type,track,searchfiltersget_schedule— Returns schedule organized by day, with optionaldayfilter
The endpoint should:
- Handle both GET (returns server info) and POST (JSON-RPC requests)
- Support batch requests
- Return proper JSON-RPC 2.0 error responses
- Follow the Streamable HTTP transport spec (2025-03-26)
5. Developer Documentation Page
Create src/pages/{conf}/developers.tsx with:
- Dark terminal theme matching the conference site design
- Sections: Endpoints, Quick Start (curl/JS/Python), CLI Tool, MCP Server, Agent Skills, Data Privacy
- Interactive endpoint cards linking to each endpoint
- Code blocks with copy functionality
- MCP config snippet for Claude Desktop / Cursor / Windsurf
- Use the AIE brand gold color (#FFE9A7) for headings and accent highlights
6. Agent Skill
Create .agents/skills/{conf}-developer-api/SKILL.md with:
- Endpoint inventory with URLs and descriptions
- Quick-start curl examples
- MCP integration instructions and config
- Data model schemas (JSON structure for talks and speakers)
- List of sensitive fields that are stripped
- Key file paths in the repository
7. CLI Tool
The generic CLI at cli/aie/ (published as aieng on npm) supports all conferences. When adding a new conference, add an entry to the CONFERENCES registry array in cli/aie/cli.mjs with:
slug— Conference route slug (e.g.europe)aliases— Short aliases (e.g.['eu', 'eur', 'london'])name,route,dates,location,statushasEndpoints— Set totrueonce endpoints are live
Usage: npx aieng {conf} [command] (e.g. npx aieng eu speakers)
Reference Implementation
The Europe conference (/europe) is the reference implementation. Use these files as templates:
- Data utility:
src/data/europe-public-data.ts - API routes:
src/pages/api/europe/(llms-txt.ts, llms-full-txt.ts, sessions.ts, speakers.ts, mcp.ts) - URL rewrites:
next.config.ts(search for "Europe developer/AI endpoints") - Inline section:
src/components/europe-2026/DeveloperEndpointsSection.jsx - Agent skill:
.agents/skills/europe-developer-api/SKILL.md - CLI tool:
cli/aie/(generic multi-conference, published asaieng)
Conference-Specific Adaptations
Each conference has its own data source format. Key differences to account for:
- Europe: Source data in
src/pages/europe/source/schedule.json, speakers derived viasrc/data/europe-speakers.ts - World's Fair: Historical data in
src/utils/speakers-sessions-details.json(hundreds of speakers from 2025), new 2026 data TBD - Miami: Speaker data hardcoded in
src/components/aie-miami-2026/SpeakersSection.tsxandspeakers.js - Singapore: Data in
src/components/aie-singapore-2026/
When adapting, always check the conference's existing data sources and extraction patterns before building the public data utility.
Verification Checklist
After implementing endpoints for a new conference:
- Run
SKIP_ENV_VALIDATION=1 npx tsc --noEmit— must pass with zero errors - Start dev server:
SKIP_ENV_VALIDATION=1 pnpm dev - Verify each endpoint returns data:
curl http://localhost:3000/{conf}/llms.txt - Verify JSON endpoints don't contain emails, notes, or internal IDs
- Test MCP endpoint with a
tools/listJSON-RPC call - Test MCP endpoint with a
tools/callJSON-RPC call (e.g.list_speakerswith search) - Verify the developer page renders correctly in the browser
- Run build:
SKIP_ENV_VALIDATION=1 pnpm build
Notes
pnpm lintdoes not work on Next.js 16; usenpx tsc --noEmitfor type checking- All endpoints use
s-maxage=3600, stale-while-revalidate=86400caching - The MCP implementation is hand-rolled JSON-RPC 2.0 (not using the official MCP SDK)
- The base domain for production URLs is
https://ai.engineer
In this repository101 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accelevents-apiSkill
- accelevents-speaker-syncSkill
- 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-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.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

