Files
Salon_Assistant/skills/_lib/lumina_skills
Ty 00addc540d improve domain.py: add validation, repr, missing serialization, utilization rate
- Add __post_init__ validation so Appointment rejects negative durations
- Add __repr__ to Appointment, Gap, and DayBoard for readable debugging
- Fix DayBoard.to_dict to serialize preceding_appointment_id and
  following_appointment_id on Gap (were previously dropped)
- Add utilization_rate property (booked / total) with 0.0 guard
2026-07-29 03:16:36 +00:00
..

Shared skill library

Status: Partially implemented.

Shared deterministic library used by Salon_Assistant skills. All code here is deterministic — no model inference, no network calls. See design/det-vs-inf.md.

Packages

Package Status Purpose
domain.py Domain types: Appointment, Gap, DayBoard, AppointmentStatus
board_builder.py Deterministic board builder: gaps, confirmation flags, formatting
providers/scheduling/fixture_provider.py Fixture JSON loader for scheduling data
setup/capability_report.py Capability report domain model + builder (E6)
setup/lesson_catalog.py Static setup education lessons (E1)
providers/setup/fixture_provider.py Fixture JSON loader for capability state
providers/scheduling/ Vagaro / Square adapters (future)
providers/books/ QuickBooks Online adapters (future)
providers/mcp/ MCP client helpers / allowlist metadata (future)

Usage

from lumina_skills.domain import Appointment, AppointmentStatus
from lumina_skills.board_builder import build_board, format_board_text
from lumina_skills.providers.scheduling.fixture_provider import load_fixtures

Design references