Skip to main content

handover-pack-pdf

Build the downloadable shift-handover pack PDF — per §8.1 of the IT runbook. Cover with outgoing/incoming shifts, then sections for open P1/P2, awaiting-user, pending escalations, VIP watchlist, network/change in flight, notes for incoming. Renders via the inline HTML template + Playwright.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
aiappsgbb/kratos-agent
آخر نشاط في المصدر
٩ يونيو ٢٠٢٦ في ٠٩:٢٧
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٤
التفرعات
٢٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
handover-pack-pdf
description
Build the downloadable shift-handover pack PDF — per §8.1 of the IT runbook. Cover with outgoing/incoming shifts, then sections for open P1/P2, awaiting-user, pending escalations, VIP watchlist, network/change in flight, notes for incoming. Renders via the inline HTML template + Playwright.
enabled
true
## Instructions Use this skill when Aaron asks for "the handover pack", "the PDF", "end-of-shift summary", or any variation. This is the **deliverable** the persona exists to produce. ### Workflow 1. **Gather the data** by chaining other skills first: - Open ticket list via `servicenow_list_tickets` (omit `state` filter; render handles the bucketing). - For each P1/P2, fetch recent work notes: `servicenow_list_work_notes(ticket_id, limit: 3)`. - For VIP callers: cross-join via **workday** + **m365-graph** for status / OOO. 2. **Read the policy** via **it-policy-reference** — the section order in §8.1 is what the PDF must follow. 3. **Render** by invoking `scripts/render_handover.py` via `code_interpreter`: ```bash python /app/use-cases/it-service-desk/skills/handover-pack-pdf/scripts/render_handover.py \ --outgoing-shift "Day (Aaron Cole, AGT-301)" \ --incoming-shift "Night (Chen Wu, AGT-303)" \ --shift-date 2026-06-08 \ --tickets-json '<JSON object — see below>' \ --notes-for-incoming "Free text from Aaron…" \ --out /tmp/handover-2026-06-08-day-to-night.pdf ``` 4. **Confirm in chat:** "Handover saved to `/tmp/handover-…pdf` — N pages, X open P1/P2, Y awaiting user, Z pending escalations." Reference the path so **file-sharing** picks it up. ### Tickets-JSON shape The render script expects a single object with these keys: ```json { "p1_p2_open": [{ "id": "INC-7002", "priority": "P1", "state": "In Progress", "caller": "Diana Whitfield", "caller_vip": true, "assigned_to": "Bea Lindgren (AGT-302)", "short_description": "...", "last_note": "..." }, ...], "awaiting_user": [{ "id": "INC-7001", "caller": "Jamal Carter", "assigned_to": "Aaron Cole (AGT-301)", "short_description": "...", "what_we_asked": "..." }, ...], "pending_escalations": [{ "id": "INC-7004", "escalated_to": "Network L2", "escalated_when": "2 hours ago", "why": "..." }, ...], "vip_watchlist": [{ "id": "INC-7002", "caller": "Diana Whitfield", "vip_rationale": "Executive (CEO)", "status": "..." }, ...], "network_change_in_flight": [{ "id": "CHG-9001", "type": "Change", "state": "Scheduled", "summary": "..." }, ...] } ``` ### Assets - `assets/handover-pack.html` — Jinja-style template (string substitution, no Jinja). Cool-grey + ServiceNow-blue theme. Cover + one section per §8.1 bullet. ### Constraints - **Always include the §8.1 sections in order.** Print empty sections with *"None"* rather than skipping. - The handover is **not** a triage doc — keep each ticket row to 2-3 lines. - VIP names appear (this is internal); do not include any §7.2-prohibited content (the PDF is internal-only, but stay consistent with the tone rules). - Do not auto-email. §8.2 explicitly says PDF only; email is a separate workflow. ### When NOT to use - Spot question on a single ticket — use **ticket-triage**. - Verbal queue summary — use **queue-overview**, answer inline. <!-- skill-files --> ## Available Files This skill directory contains the following files you can read with `read_file` using their absolute paths (prefix `/app/use-cases/it-service-desk/skills/handover-pack-pdf/`): - `assets/handover-pack.html` - `scripts/render_handover.py`
عرض على GitHub