calendar — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited calendar (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Display calendar views and enable interactive meeting time selection.
display (default)View-only calendar display. Shows events in a weekly view.
canvas_calendar({
scenario: "display",
config: JSON.stringify({
title: "My Week",
events: [
{
id: "1",
title: "Team Standup",
startTime: "2026-01-12T09:00:00",
endTime: "2026-01-12T09:30:00",
color: "blue"
}
]
})
})meeting-pickerInteractive scenario for selecting a free time slot across multiple calendars.
canvas_calendar({
scenario: "meeting-picker",
config: JSON.stringify({
calendars: [
{
name: "Alice",
color: "blue",
events: [
{ id: "1", title: "Standup", startTime: "2026-01-12T09:00:00", endTime: "2026-01-12T09:30:00" }
]
},
{
name: "Bob",
color: "green",
events: [
{ id: "2", title: "Call", startTime: "2026-01-12T14:00:00", endTime: "2026-01-12T15:00:00" }
]
}
],
slotGranularity: 30,
minDuration: 30,
maxDuration: 120
})
})interface CalendarConfig {
title?: string;
events: CalendarEvent[];
weekStart?: number; // 0 = Sunday, 1 = Monday
}
interface CalendarEvent {
id: string;
title: string;
startTime: string; // ISO datetime
endTime: string; // ISO datetime
color?: string; // blue, green, red, yellow, magenta, cyan
}interface MeetingPickerConfig {
calendars: Calendar[];
slotGranularity?: number; // 15, 30, or 60 minutes (default: 30)
minDuration?: number; // Minimum meeting duration in minutes
maxDuration?: number; // Maximum meeting duration in minutes
}
interface Calendar {
name: string; // Person's name
color: string; // Calendar color
events: CalendarEvent[]; // Their busy times
}Display scenario:
t: Jump to todayq or Esc: Close canvasMeeting picker scenario:
t: Jump to todayq or Esc: Cancel selectionAvailable event colors:
blue - Default, general eventsgreen - Available/confirmedred - Busy/blockedyellow - Warning/tentativemagenta - Personalcyan - External/other~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.