Skill: mindbomber/aana-calendar-scheduling-guardrail-skill (version 1.0.0)

# AANA Calendar Scheduling Guardrail Skill Use this skill before an OpenClaw-style agent creates, updates, cancels, invites, or shares a calendar event. This is an instruction-only skill. It does not install packages, run commands, write files, call services, persist memory, or schedule events on its own. ## Core Principle Calendar changes affect other people. Before changing a calendar, verify attendees, timezone, date, duration, title, agenda, location, private notes, recurrence, and explicit approval. ## Required Checks - exact action: create, update, cancel, invite, reschedule, or share availability - exact attendees and whether they are internal or external - timezone, date, start time, end time, duration, and recurrence - title, agenda, location, conferencing link, and private notes - whether attendee visibility or guest permissions expose private data - whether the user approved the exact event change ## Calendar Risk Classes Treat these as higher risk: - external attendees, customer meetings, interviews, legal/medical/financial meetings, HR meetings, and executive meetings, - group aliases, mailing lists, all-hands calendars, public calendars, and broad attendee lists, - recurring meetings, cancellations, reschedules, and changes that notify attendees, - private notes, internal agenda details, confidential links, interview feedback, account records, or personal data, - time-sensitive meetings where timezone ambiguity can cause missed commitments. ## Attendee Rules Do not create, update, or send invites when: - attendees are inferred from context rather than explicitly named, - a group alias may include a broader audience than intended, - CC-like visibility, guest list visibility, or external guests expose private relationships, - the event forwards private notes, hidden agenda content, or confidential links to attendees. Ask before inviting external guests or broad groups. ## Time And Recurrence Rules Verify timezone, date, duration, and recurrence before any calendar change. Do not assume local timezone when the user, attendees, or meeting context suggests multiple regions. For recurring events, confirm whether the change applies to one occurrence or the full series. ## Review Payload When using a configured AANA checker, send only a minimal redacted review payload: - `calendar_action` - `attendee_status` - `time_status` - `privacy_status` - `approval_status` - `calendar_risks` - `blocker_reason` - `safe_alternative` - `recommended_action` Do not include full calendars, private notes, meeting links, attendee contact details, or unrelated schedule data when a redacted summary is enough. ## Decision Rule - If details are complete, low-risk, and explicitly approved, proceed. - If attendees, timezone, date, duration, or recurrence are unclear, ask. - If private notes, sensitive topics, external attendees, or broad invite lists are involved, narrow or request approval. - If the action cancels, reschedules, or invites others, require explicit approval. - If the request is unauthorized, deceptive, or exposes private data, block the calendar change. ## Output Pattern ```text AANA calendar gate: - Action: create / update / cancel / invite / reschedule / share_availability - Attendees: exact / missing / ambiguous / external / group_alias - Time: confirmed / missing / timezone_unclear / conflicting - Privacy: clear / private_notes / sensitive / unknown - Approval: approved / required / unclear / denied - Decision: proceed / ask / narrow / request_approval / block ```

path: manifest.json
content: {
  "name": "aana-calendar-scheduling-guardrail",
  "slug": "aana-calendar-scheduling-guardrail",
  "version": "0.1.0",
  "type": "instruction_only_skill",
  "description": "AANA-grounded calendar guardrail instructions for checking attendees, timezone, date, agenda, private notes, and approval before calendar changes.",
  "entrypoint": "SKILL.md",
  "bundled_code": false,
  "installs_dependencies": false,
  "executes_commands": false,
  "writes_files": false,
  "writes_event_files": false,
  "persists_memory": false,
  "requires_attendee_check": true,
  "requires_time_zone_check": true,
  "requires_private_notes_check": true,
  "requires_calendar_change_approval": true,
  "calendar_boundary": {
    "must_verify_exact_attendees": true,
    "must_verify_time_and_timezone": true,
    "must_check_private_notes_and_visibility": true,
    "must_not_treat_draft_event_as_send_approval": true,
    "must_block_unauthorized_calendar_changes": true
  },
  "aana_boundary": {
    "checker_bundled": false,
    "checker_required": false
  },
  "schemas": [
    "schemas/calendar-scheduling-guardrail.schema.json"
  ],
  "examples": [
    "examples/redacted-calendar-scheduling-guardrail.json"
  ]
}


path: README.md
content: # AANA Calendar Scheduling Guardrail Skill

Marketplace slug:

```text
aana-calendar-scheduling-guardrail
```

Checks attendees, timezone, date, duration, recurrence, agenda, private notes, and approval before calendar changes.

This package is instruction-only. It does not execute code, call calendar services, write files, persist memory, or install dependencies.


path: schemas/calendar-scheduling-guardrail.schema.json
content: {
  "title": "AANA Calendar Scheduling Guardrail",
  "type": "object",
  "required": [
    "calendar_action",
    "attendee_status",
    "time_status",
    "privacy_status",
    "approval_status",
    "recommended_action"
  ],
  "properties": {
    "calendar_action": {
      "type": "string",
      "enum": ["create", "update", "cancel", "invite", "reschedule", "share_availability"]
    },
    "attendee_status": {
      "type": "string",
      "enum": ["exact", "missing", "ambiguous", "external", "group_alias"]
    },
    "time_status": {
      "type": "string",
      "enum": ["confirmed", "missing", "timezone_unclear", "conflicting"]
    },
    "privacy_status": {
      "type": "string",
      "enum": ["clear", "private_notes", "sensitive", "unknown"]
    },
    "approval_status": {
      "type": "string",
      "enum": ["approved", "required", "unclear", "denied"]
    },
    "calendar_risks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["external_attendee", "group_alias", "timezone_ambiguity", "recurrence_change", "private_notes", "confidential_link", "high_impact_meeting", "unknown"]
      }
    },
    "blocker_reason": {
      "type": "string"
    },
    "safe_alternative": {
      "type": "string"
    },
    "recommended_action": {
      "type": "string",
      "enum": ["proceed", "ask", "narrow", "request_approval", "block"]
    }
  },
  "additionalProperties": false
}


path: examples/redacted-calendar-scheduling-guardrail.json
content: {
  "calendar_action": "invite",
  "attendee_status": "external",
  "time_status": "timezone_unclear",
  "privacy_status": "private_notes",
  "approval_status": "required",
  "calendar_risks": [
    "external_attendee",
    "timezone_ambiguity",
    "private_notes"
  ],
  "blocker_reason": "The invite includes an external attendee, private notes, and an unclear timezone.",
  "safe_alternative": "Ask for the timezone and remove private notes before requesting approval to send the invite.",
  "recommended_action": "request_approval"
}


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)