Skip to content

Commit 618585b

Browse files
Merge pull request #2 from ThomasHoussin/claude/update-llm-instructions-01RSD26PcPnWiAGrGSrVGyrc
2 parents 07b330c + 4fc3f4b commit 618585b

File tree

2 files changed

+101
-22
lines changed

2 files changed

+101
-22
lines changed

README.txt

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,17 @@ This API provides **clean, structured, filterable endpoints** so AI assistants l
2020

2121
Just tell Claude/ChatGPT:
2222
```
23-
"Fetch https://adoptai.codecrafter.fr and help me find sessions
23+
"Fetch https://adoptai.codecrafter.fr and help me find sessions
2424
about AI in banking on November 25"
2525
```
2626

27-
The API is designed to be self-documenting. AI assistants can read the `/llm.txt` endpoint for full instructions.
27+
The API is designed to be self-documenting. AI assistants can read the `/llms.txt` endpoint for full instructions.
28+
29+
**Fallback Strategy**: If an AI assistant cannot access the API directly (common limitation when URLs aren't user-provided), it can ask you to copy/paste the complete JSON from:
30+
- https://adoptai.codecrafter.fr/sessions (all 240+ sessions)
31+
- https://adoptai.codecrafter.fr/speakers (all 200+ speakers)
32+
33+
The assistant will then process the data locally to answer your questions. The full dataset is small enough (~500KB) to be easily shared this way.
2834

2935
### For Developers
3036
```bash
@@ -41,6 +47,39 @@ curl "https://adoptai.codecrafter.fr/sessions?search=banking"
4147
curl https://adoptai.codecrafter.fr/speakers
4248
```
4349

50+
## 🤖 AI Assistant Usage Patterns
51+
52+
This API supports two data access methods for AI assistants:
53+
54+
### Method 1: Direct API Access (Preferred)
55+
56+
When an AI assistant can make HTTP requests (URL provided by user or found via web search):
57+
```
58+
User: "Find AI banking sessions at Adopt AI"
59+
AI: *Fetches https://adoptai.codecrafter.fr/sessions?search=banking*
60+
AI: "I found 5 sessions about AI in banking..."
61+
```
62+
63+
### Method 2: User-Provided Data (Fallback)
64+
65+
When an AI assistant cannot access external URLs independently:
66+
```
67+
User: "Find AI banking sessions at Adopt AI"
68+
AI: "I don't have direct access to the API. Please copy/paste the JSON from:
69+
https://adoptai.codecrafter.fr/sessions"
70+
User: *Copies and pastes JSON data*
71+
AI: *Processes data locally and filters for "banking"*
72+
AI: "I found 5 sessions about AI in banking..."
73+
```
74+
75+
**Why this dual approach works:**
76+
- ✅ **Small dataset**: Full data is only ~500KB (240 sessions + 200 speakers)
77+
- ✅ **Single request**: No pagination needed - entire dataset in one call
78+
- ✅ **Client-side processing**: AI can filter, search, and analyze locally
79+
- ✅ **Always helpful**: Users get assistance regardless of API access limitations
80+
81+
This design ensures **maximum accessibility** for all AI assistants, even those with URL access restrictions.
82+
4483
## 📚 API Documentation
4584

4685
### Endpoints

llms.txt

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,24 @@ Returns conference sessions with server-side filtering.
1616
**Query Parameters:**
1717
- `date` (string): Filter by date
1818
- Values: "2025-11-25" or "2025-11-26"
19-
- Example: /sessions?date=2025-11-25
19+
- Example: https://adoptai.codecrafter.fr/sessions?date=2025-11-25
2020

2121
- `stage` (string): Filter by stage name (exact match)
22-
- Values: "CEO Stage", "Mainstage South", "Mainstage North", "Mainstage East",
22+
- Values: "CEO Stage", "Mainstage South", "Mainstage North", "Mainstage East",
2323
"Masterclass South", "Masterclass North", "Startup Stage"
24-
- Example: /sessions?stage=CEO%20Stage
24+
- Example: https://adoptai.codecrafter.fr/sessions?stage=CEO%20Stage
2525

2626
- `time` (string): Filter by time of day
2727
- Values: "morning" (before 12:00) or "afternoon" (12:00+)
28-
- Example: /sessions?time=morning
28+
- Example: https://adoptai.codecrafter.fr/sessions?time=morning
2929

3030
- `search` (string): Full-text search in title, description, speaker names, companies
31-
- Example: /sessions?search=banking
32-
- Example: /sessions?search=Anthropic
31+
- Example: https://adoptai.codecrafter.fr/sessions?search=banking
32+
- Example: https://adoptai.codecrafter.fr/sessions?search=Anthropic
3333

3434
**Combine filters:**
35-
/sessions?date=2025-11-25&stage=CEO%20Stage&time=morning
36-
/sessions?date=2025-11-25&search=finance
35+
https://adoptai.codecrafter.fr/sessions?date=2025-11-25&stage=CEO%20Stage&time=morning
36+
https://adoptai.codecrafter.fr/sessions?date=2025-11-25&search=finance
3737

3838
**Response:**
3939
{
@@ -65,7 +65,7 @@ Returns all speakers with optional filtering.
6565

6666
**Query Parameters:**
6767
- `search` (string): Search by name, company, or role
68-
- Example: /speakers?search=Anthropic
68+
- Example: https://adoptai.codecrafter.fr/speakers?search=Anthropic
6969

7070
**Response:**
7171
{
@@ -101,34 +101,74 @@ navigate the Adopt AI Grand Palais conference.
101101
3. **Make request** to filtered endpoint
102102
4. **Present results** in a helpful format
103103

104+
### Data Access Methods
105+
106+
**Primary Method (Preferred): Direct API Access**
107+
108+
If you can make HTTP requests (via WebFetch, browser tools, or other capabilities):
109+
- Use the API endpoints directly as documented above
110+
- This provides real-time filtered data and optimal performance
111+
- Example: Fetch https://adoptai.codecrafter.fr/sessions?search=banking
112+
113+
**Fallback Method: User-Provided Data**
114+
115+
If you cannot access external URLs (common limitation when URL is not provided by
116+
user or found via web search), use this fallback strategy:
117+
118+
1. **Explain the limitation** to the user clearly:
119+
"I don't have direct access to the API URL. To help you effectively, I need
120+
the complete dataset."
121+
122+
2. **Request the data** from the user:
123+
"Please visit these URLs and copy/paste the complete JSON response:
124+
- Sessions: https://adoptai.codecrafter.fr/sessions
125+
- Speakers: https://adoptai.codecrafter.fr/speakers"
126+
127+
3. **Process the data** once provided:
128+
- Parse the JSON data the user provides
129+
- Apply filters and search logic locally
130+
- Present results in the same helpful format
131+
132+
**Why this fallback works:**
133+
- The full dataset is small enough to be copied/pasted (~500KB total)
134+
- Allows you to perform all filtering and analysis client-side
135+
- Ensures users still get comprehensive help even without direct API access
136+
- Sessions endpoint returns all 240+ sessions in a single request
137+
- Speakers endpoint returns all 200+ speakers in a single request
138+
139+
**When to use each method:**
140+
- ✅ Use API directly: When you have URL access or user provides the API URL
141+
- ✅ Use fallback: When you cannot access external URLs independently
142+
- ❌ Never: Refuse to help or claim you cannot access the data
143+
104144
### Common Query Patterns
105145

106146
**"Find sessions about [topic]"**
107-
→ GET /sessions?search=[topic]
147+
→ GET https://adoptai.codecrafter.fr/sessions?search=[topic]
108148
Example: "Find sessions about AI in banking"
109-
→ GET /sessions?search=banking
149+
→ GET https://adoptai.codecrafter.fr/sessions?search=banking
110150

111151
**"What's happening on [date] [time]?"**
112-
→ GET /sessions?date=[date]&time=[morning/afternoon]
152+
→ GET https://adoptai.codecrafter.fr/sessions?date=[date]&time=[morning/afternoon]
113153
Example: "What's on November 25 morning?"
114-
→ GET /sessions?date=2025-11-25&time=morning
154+
→ GET https://adoptai.codecrafter.fr/sessions?date=2025-11-25&time=morning
115155

116156
**"Who's speaking at [stage]?"**
117-
→ GET /sessions?stage=[stage]
157+
→ GET https://adoptai.codecrafter.fr/sessions?stage=[stage]
118158
Example: "Who's at CEO Stage?"
119-
→ GET /sessions?stage=CEO%20Stage
159+
→ GET https://adoptai.codecrafter.fr/sessions?stage=CEO%20Stage
120160

121161
**"Find speakers from [company]"**
122-
→ GET /speakers?search=[company]
162+
→ GET https://adoptai.codecrafter.fr/speakers?search=[company]
123163
Example: "Find speakers from Anthropic"
124-
→ GET /speakers?search=Anthropic
164+
→ GET https://adoptai.codecrafter.fr/speakers?search=Anthropic
125165

126166
**"Recommend sessions for [profile]"**
127167
→ Multiple calls with different search terms
128168
Example: "Recommend for a fintech CTO"
129-
→ GET /sessions?search=finance
130-
→ GET /sessions?search=banking
131-
→ GET /sessions?search=cloud
169+
→ GET https://adoptai.codecrafter.fr/sessions?search=finance
170+
→ GET https://adoptai.codecrafter.fr/sessions?search=banking
171+
→ GET https://adoptai.codecrafter.fr/sessions?search=cloud
132172
→ Combine and rank results
133173

134174
### Time Conflict Detection

0 commit comments

Comments
 (0)