Agent skill
oe-architectural-guardrails
Essential architectural rules, pipeline order, and bug prevention checklists. MUST be consulted before modifying routing, state, or detection logic.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/oe-architectural-guardrails-shami-ah-openevent-ai
SKILL.md
When to use
- Before modifying
workflow_email.py,pre_route.py,router.py, or anystepX_handler.py. - Before implementing new detection logic or regex.
- When debugging "lost messages", "wrong step" bugs, or "ignored inputs".
- When adding new steps or gates to the workflow.
Core Reference
READ THIS FILE FIRST: docs/architecture/MASTER_ARCHITECTURE_SHEET.md
Quick Checklist (The "Don't Break It" List)
- Pipeline Order: Remember that
Step 1runs beforePre-Route. Changes in Step 1 affect what Pre-Route sees. Capture runs before OOC. - Interference: If adding a keyword check, did you check
unified_detectionfirst? Don't let a regex override an LLM signal. - Idempotency: Is your "confirm" logic safe if the user says "Yes" to an already verified gate? (It should be a NO-OP, not a detour).
- Anchoring: If extracting a date, are you sure it's the Event Date and not a payment/quote date? Use
detect_change_type_enhanced. - Hybrid Handling: If the user sends "Confirm + Question", does your handler answer the question? Don't drop the QnA part.
- Hard Facts: Did you verify that LLM verbalization includes all units and prices exactly as in the data?
Critical Files
docs/architecture/MASTER_ARCHITECTURE_SHEET.md(The Law)backend/workflows/runtime/pre_route.py(The Gatekeeper)backend/workflows/steps/step1_intake/trigger/step1_handler.py(The Intake & Change Detector)backend/ux/universal_verbalizer.py(The Voice)
Common "False Friends" (Traps)
bodyvsbody_markdown: Usebodyfor client email,body_markdownfor internal HIL display.confirm_dateintent: Often triggers OOC if used in Step 4+. Use Gate-Aware Arbitration.event_datevspayment_date: Raw regex will confuse them. Use Normalization and Anchoring.
Didn't find tool you were looking for?