Rene Fichtmueller ac33476666 feat: add 55 prompt templates + ShieldX/LinkedIn routing rules + ban lists in Gitea
Templates (55 total, exceeds 49 target):
- TIP: transceiver_enrich, datasheet_extract, compatibility_parse, blog_generator,
  faq_answer, hype_cycle_narrative, price_anomaly, vendor_classify, product_description
- EO Global Pulse: business_card_ocr, voice_to_crm, event_prep_brief, attendee_enrich,
  meeting_suggest, lead_qualify, debrief_generate, ticket_summarize
- SwitchBlade: root_cause, alert_narrative, cve_remediation, csrd_narrative,
  transceiver_advisor, bandwidth_report, ticket_draft, firmware_assess, topology_explain
- PeerCortex: as_narrative, health_summary, rpki_explain, anomaly_hypothesis,
  peer_recommendation, incident_brief
- NOGnet: cfp_evaluate, cfp_feedback, topic_gap_analysis, meeting_match, speaker_enrich,
  sponsor_pitch, event_debrief, agenda_summary, session_intro
- ShieldX: threat_classify, pattern_describe, healing_recommend, compliance_report, false_positive
- Content: linkedin_post_de, linkedin_post_en, newsletter_dispatch_de, email_draft_de
- Internal: ban_detect, prompt_improve
- Routing rules: +55 entries for all template-based task types
- Ban lists: en.csv, de.csv, auto.csv created in Gitea (llm-banlists repo)
2026-04-02 23:14:30 +02:00

124 lines
4.3 KiB
YAML

id: nog_meeting_match
version: "1.0.0"
task_type: nog_meeting_match
description: Evaluate whether two NOG event attendees should meet and suggest meeting topics based on their profiles
model_preference: qwen2.5:7b
model_minimum: qwen2.5:3b
temperature: 0.4
max_tokens: 1024
output_format: json
system_prompt: |
You are the meeting matching assistant for NOGnet event management.
Evaluate whether two conference attendees at a NOG event would benefit from meeting each other,
and generate a relevant meeting agenda.
Return ONLY valid JSON:
{
"match_score": 1-10,
"should_meet": true|false,
"connection_type": "technical-peers|peering-opportunity|knowledge-transfer|community-building|vendor-customer|skip",
"meeting_topics": [
{
"topic": "string",
"why_relevant": "string"
}
],
"suggested_duration_min": 15|30|45|60,
"suggested_format": "coffee-chat|structured-meeting|session-qa|social-dinner",
"skip_reason": "string or null"
}
Match scoring:
- 9-10: Strong technical or operational overlap — high value meeting for both parties
- 7-8: Good alignment — worth scheduling
- 5-6: Casual connection — worth a brief chat if paths cross
- 3-4: Low value — only if attendees request it
- 1-2: No overlap — skip
connection_type:
- technical-peers: Same problems, different implementations — can share knowledge
- peering-opportunity: Both networks should consider peering with each other
- knowledge-transfer: One party has implemented something the other is considering
- community-building: Important for NOG community health (speaker <> organizer, senior <> junior)
- vendor-customer: Vendor meeting potential customer (note: NOG culture limits commercial interactions)
- skip: No value
user_template: |
Attendee A:
Name: {{attendee_a_name}}
Organization: {{attendee_a_org}}
Role: {{attendee_a_role}}
Network profile: {{attendee_a_network}}
Interests/topics: {{attendee_a_interests}}
Attendee B:
Name: {{attendee_b_name}}
Organization: {{attendee_b_org}}
Role: {{attendee_b_role}}
Network profile: {{attendee_b_network}}
Interests/topics: {{attendee_b_interests}}
Event context: {{event_context}}
Generate meeting recommendation:
few_shot_examples:
- user: |
Attendee A:
Name: Jonas Weber
Organization: KabelDeutsch GmbH (250K customer ISP, Germany)
Role: Senior Network Engineer
Network profile: AS64501, 400G core, Juniper PTX, OpenBGPd route reflectors, BGP full table
Interests/topics: BGP scaling, route reflector design, open-source routing
Attendee B:
Name: Maria Schmidt
Organization: RegionalNet eG (50K customer ISP, Germany)
Role: Head of Network Engineering
Network profile: AS64502, 100G core, Cisco NCS, Cisco IOS-XR RR, planning 400G upgrade
Interests/topics: Planning 400G upgrade, concerned about route reflector scaling
Event context: DENOG 39
assistant: |
{
"match_score": 9,
"should_meet": true,
"connection_type": "knowledge-transfer",
"meeting_topics": [
{
"topic": "Route reflector scaling from 100G to 400G",
"why_relevant": "Jonas just presented his RR scaling journey at this event. Maria is planning the exact same upgrade. Direct knowledge transfer opportunity."
},
{
"topic": "OpenBGPd vs Cisco IOS-XR RR: trade-offs at different scales",
"why_relevant": "Jonas migrated from commercial RR to OpenBGPd. Maria runs IOS-XR RR. Jonas's config templates (open-sourced) are directly applicable."
},
{
"topic": "BGP table management with full tables",
"why_relevant": "Both run full BGP tables. KabelDeutsch at 5x RegionalNet's size — Maria can learn what problems are coming at larger scale."
}
],
"suggested_duration_min": 30,
"suggested_format": "coffee-chat",
"skip_reason": null
}
variables:
- attendee_a_name
- attendee_a_org
- attendee_a_role
- attendee_a_network
- attendee_a_interests
- attendee_b_name
- attendee_b_org
- attendee_b_role
- attendee_b_network
- attendee_b_interests
- event_context
- few_shot_examples
validation_rules:
output_must_be_json: true
required_fields: ["match_score", "should_meet", "connection_type", "meeting_topics"]