一键导入
pm-meld-triage
Triage rules playbook for Property Meld work orders. Determines urgency, routing, and suppression rules before any action is taken.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Triage rules playbook for Property Meld work orders. Determines urgency, routing, and suppression rules before any action is taken.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
When pm probe returns 401/403 (session expired), automatically recapture PropertyMeld session cookies. macOS agents use the AX+CDP script; Linux/cloud agents use the Playwright headless script.
How to install and operate snapcli-pm for Property Meld. Covers tool hierarchy, install, and non-obvious operational rules. Run 'pm --help' or 'pm work-orders --help' for the live command list.
When a meld contains multiple interdependent or multi-trade work items, decompose it into parallel and sequential workstreams before acting. Prevents dispatching trade A before trade B's prerequisite work is done.
After every meld decision, capture what was decided and why (trajectory). Weekly: scan all trajectories for override patterns, surface refinement candidates to Dane.
After completing a complex task, check whether the sequence of steps used represents a recurring pattern worth codifying into a skill. Logs skill candidates to the bus for weekly review by Dane.
Evaluate a PM specialist agent's decision accuracy per category, unlock autonomous mode when 95% threshold met over 20 decisions, demote when accuracy drops below 85%.
| name | pm-meld-triage |
| effort | low |
| description | Triage rules playbook for Property Meld work orders. Determines urgency, routing, and suppression rules before any action is taken. |
| triggers | ["triage meld","classify meld","triage rules","how urgent","should I escalate"] |
Compressed operational reference. Read the message thread first — never triage from subject line alone.
New work orders (same-day emails, fresh meld submissions): Triage immediately — read the meld, classify urgency, post a PM message or alert David as needed. Never bulk-label and queue a fresh work order.
Old notification emails (historical backlog, activity on existing melds, same-day notifications for melds you've already processed): Bulk-label blue-processed and mark read. No triage required.
How to distinguish: Check the email date. Same-day = immediate triage. Older = bulk label.
Before classifying any meld, pull comments:
python3 scripts/pm-get-comments.py <meld_id>
A meld that looks unhandled from the subject may already have a vendor reply, scheduled appointment, or Brittany note in the thread. Triage on thread state, not title.
| Level | Definition | Response |
|---|---|---|
| Emergency | Active safety/habitability threat | Telegram David immediately, any hour |
| High | No heat, sewage, lock-out, water intrusion | Escalate to Dane during day hours; wake David only if containment risk |
| Normal | Routine repair, appliance, cosmetic | Standard dispatch, SLA applies |
| Low | Cosmetic, non-functional (e.g. paint, landscaping) | Batch in next morning scan |
Any meld tagged to a Nashville property goes to Brittany, not the standard vendor dispatch queue.
→ cortextos bus send-message dane normal "Nashville meld <id> — routing to Brittany per protocol"
All other melds follow normal vendor assignment flow.
Suppress pest control meld alerts while a vendor search is open for that meld.
vendor_assigned: null and a pending vendor search event?Do not re-alert on a meld that has:
The following conditions bypass all suppression rules and escalate immediately:
Override action:
cortextos bus send-telegram $CTX_TELEGRAM_CHAT_ID "URGENT: <meld_id> — <condition>. <property>. Immediate action needed."
| Priority | First Response | Resolution Target |
|---|---|---|
| Emergency | Immediate | 4h vendor on-site |
| High | 2h | 24h |
| Normal | 24h | 5 business days |
| Low | 72h | 14 days |
SLA clock starts from meld open timestamp, not from Blue's detection.
Apply to any open meld regardless of priority, measured from meld open timestamp:
| Age | Flag | Action |
|---|---|---|
| ≥ 4 days open | Approaching critical | Include in morning scan report with age. Message Dane if no vendor assigned. |
| ≥ 5.5 days open | Critical threshold | Flag prominently in report. Message Dane immediately regardless of time of day. Resident churn risk is active at this point. |
Why 5.5 days: Property Meld data shows that repairs exceeding 5.5 days drive the probability of a positive resident review to near zero. 46% of move-outs cite maintenance as a factor.
4-day early warning leaves response time to assign, schedule, and complete before hitting the critical threshold.
If meld description mentions: leak, flood, water coming in, ceiling drip, pipe burst, or toilet overflow:
Make-ready melds (unit turnover prep) are time-sensitive when:
Treat as High urgency. Route to Brittany if Nashville; otherwise escalate to Dane with move-in date.
Read thread
→ Already handled (vendor assigned + date set)? → Log only, no action
→ Nashville property? → Route to Brittany
→ Habitability override condition? → Telegram David immediately
→ Pest control + vendor search open? → Suppress alert
→ Age ≥ 5.5 days? → Critical flag, message Dane immediately
→ Age ≥ 4 days? → Approaching critical, include in report
→ Emergency priority + no vendor 4h+? → RULE_R2: Telegram David
→ High priority? → Message Dane (day hours only)
→ Normal/Low? → Standard dispatch or batch
Before sending any recommendation to David for approval, log the decision with a full reasoning trace:
cortextos bus log-event quality blue_decision_presented info \
--meta "{
\"category\": \"<category>\",
\"meld_id\": \"<meld_id>\",
\"recommendation\": \"<one-line summary>\",
\"safety_keywords\": [\"<keyword1>\", \"<keyword2>\"],
\"decision_path\": [\"<rule1>:<result>\", \"<rule2>:<result>\"],
\"confidence\": \"high|medium|low\",
\"confidence_reason\": \"<brief reason>\"
}"
safety_keywords — list every safety-related word found in the meld description or thread. If none: [].
Examples: ["leak", "flooding"], ["no heat", "40F outside"], ["gas smell"]
decision_path — ordered list of rules checked, each as "rule:outcome".
Standard path:
"habitability_override:no|yes"
"nashville_property:no|yes"
"pest_control_suppressed:no|yes"
"age_days:<N>"
"age_flag:none|approaching_critical|critical"
"priority:emergency|high|normal|low"
"vendor_available:yes|no"
Stop the path at the first rule that terminates the decision (e.g., if habitability_override:yes, no need to log further rules).
confidence — how certain Blue is about the recommendation:
high — clear match to existing rules, no ambiguitymedium — rule applies but some unknown (vendor availability, scope unclear)low — novel situation, significant unknowns, or conflicting signalsconfidence_reason — one sentence explaining confidence level. Examples:
"Trade is clear, vendor is known and available"
"Scope is unclear — resident described it vaguely, may need diagnosis visit first"
"Two rules conflict: meld age is 3 days (normal) but description mentions possible water intrusion (high)"
inhouse_dispatchknown_vendor_dispatchnew_vendor_assignmentlock_changeresident_commsmeld_closureemergency_dispatchLog first, send recommendation second. Skipping this means the decision is invisible to Aussie and your accuracy score never accumulates.
When a meld is awaiting tenant response (photos, troubleshooting answers) and no vendor is assigned:
| Day | Action | Notes |
|---|---|---|
| Day 1 | Send PM message requesting photos/response | Standard intake SOP |
| Day 2 | Send second PM follow-up | Substitute for SMS until A2P available |
| Day 3 | Send third PM follow-up, then escalate to David regardless of response | Surface to David as needing direct involvement |
| Day 4+ | David's direct involvement required | Do not continue self-resolving |
Tracking: Log first contact date in daily memory. Check elapsed days on each heartbeat/morning scan.
Future upgrades (automatic when available):
Apply to: Any PENDING_ASSIGNMENT meld where Blue sent the initial photo/response request and tenant has not replied.
Single source of truth for triage decisions. Do not apply rules without reading the thread first.