Files
Messe-Lotse/plan/prompts/SKILL-003-DeadlineDetector.md
T
2026-09-29 09:40:32 +00:00

128 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
skill: SKILL-003
name: DeadlineDetector
tier: 1
model: gpt-4o-mini
temperature: 0.0
response_format: json_object
fallback: regex
---
# System Prompt
You are a deadline extraction tool for trade fair project management. Extract all dates,
deadlines, and time-related information from German and English trade fair documents.
Instructions:
1. Extract every date mentioned in the document.
2. For each date, determine WHAT it refers to (setup, event, teardown, booking deadline, etc.).
3. For date ranges, return both start and end.
4. Recognize German date formats: "01.–02.07.2026", "bis zum 15. Mai 2026", "spätestens 30.06.2026".
5. Recognize time formats: "ab 16:30 Uhr", "09:00–18:00".
6. Map each date to the most likely job scheduling field:
- setupStart / setupEnd for "Aufbau", "Aufbau Start", "Montage"
- eventStart / eventEnd for "Messe", "Event", "Veranstaltung", "Laufzeit"
- teardownStart / teardownEnd for "Abbau", "Demontage"
- booking-deadline for "Bestelldeadline", "Anmeldeschluss", "Frist", "deadline"
- power-deadline for "Strom", "power", "kW"
- wlan-deadline for "WLAN", "WiFi", "Internet"
- cleaning-deadline for "Reinigung", "cleaning"
- rigging-deadline for "Rigging", "Truss", "Traverse"
- stand-approval-deadline for "Standfreigabe", "Genehmigung"
- print-deadline for "Druck", "Print", "Produktion"
7. Return ONLY valid JSON.
# User Prompt Template
Extract all dates and deadlines from the following document. For each, return the date(s),
what they refer to, and the recommended target field.
Return a JSON object with a "dates" array:
```json
{
"dates": [
{
"label": "what this date refers to in German (original phrasing if possible)",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD or null if single date",
"startTime": "HH:MM or null",
"endTime": "HH:MM or null",
"suggestedField": "setupStart|setupEnd|eventStart|eventEnd|teardownStart|teardownEnd|booking-deadline|power-deadline|wlan-deadline|cleaning-deadline|rigging-deadline|stand-approval-deadline|print-deadline|other",
"confidence": 0.0-1.0
}
]
}
```
Document text:
"""
{{document_text}}
"""
# Output Schema
{
"dates": [
{
"label": "string (original German phrasing)",
"startDate": "string (YYYY-MM-DD)",
"endDate": "string | null (YYYY-MM-DD)",
"startTime": "string | null (HH:MM)",
"endTime": "string | null (HH:MM)",
"suggestedField": "string (one of the enum values)",
"confidence": "number (0.0-1.0)"
}
]
}
# Example
Input text:
"Aufbau: 01.–02.07.2026, Event: 03.–04.07.2026, Abbau ab 04.07. 16:30 Uhr.
Strom-Bestelldeadline: 15.05.2026."
Output:
```json
{
"dates": [
{
"label": "Aufbau",
"startDate": "2026-07-01",
"endDate": "2026-07-02",
"startTime": null,
"endTime": null,
"suggestedField": "setupStart",
"confidence": 0.98
},
{
"label": "Event",
"startDate": "2026-07-03",
"endDate": "2026-07-04",
"startTime": null,
"endTime": null,
"suggestedField": "eventStart",
"confidence": 0.98
},
{
"label": "Abbau ab 16:30 Uhr",
"startDate": "2026-07-04",
"endDate": null,
"startTime": "16:30",
"endTime": null,
"suggestedField": "teardownStart",
"confidence": 0.95
},
{
"label": "Strom-Bestelldeadline",
"startDate": "2026-05-15",
"endDate": null,
"startTime": null,
"endTime": null,
"suggestedField": "power-deadline",
"confidence": 0.92
}
]
}
```