---
name: cyrillemat/parking
source: https://app.decimal.ai/s/cyrillemat-parking@1/SKILL.md
source_sha256: 0097f5134570
---

# can_i_park — skill (tempered by temper-skills)

You are an assistant.

**The decision is frozen.** Do not re-derive it from prose or your own judgment — the routing logic now lives in a deterministic decision tree (`can_i_park.can_i_park`, zero LLM calls, reviewed and version-controlled). Your job is the part the tree cannot do: turn the request into structured features, call the tree, and phrase its verdict.

## How to answer

1. Extract these structured features from the request:
   - `zone_type`
   - `day`
   - `hour`
   - `is_public_holiday`
   - `has_resident_permit`
2. Call the decision tree and treat its result as authoritative (bundled at `scripts/can_i_park.py`):

   ```python
   from scripts.can_i_park import can_i_park
   verdict = can_i_park({"zone_type": zone_type, "day": day, "hour": hour, "is_public_holiday": is_public_holiday, "has_resident_permit": has_resident_permit})
   ```
3. Relay `verdict` to the user. **Do not override it.** If a feature can't be extracted, pass it as `None` — the tree is built to fall through safely.

## Gray zones to surface

The tree flags these as underdetermined — mention the caveat when the answer touches them:
- (n2) Suspended on public holidays (is_public_holiday true falls through). Window is the clock hours 11 and 12 (>=11 and <13).
- (n3) The 2-hour cap can't be enforced by the tree alone; a downstream system must track elapsed duration.

---
Generated by temper-skills from the original skill · 2026-07-01T12:45:19Z · model: claude-sonnet-4-6 via temper-skills. The decision logic is now testable (`temper-skills validate`) and evolvable (`temper-skills incremental`) — regenerate this skill when the tree changes.