mrc-monitor
Real-time token monitoring for MRC canteen order system. Monitors Firebase Firestore for token status and notifies when orders are ready. Use when user sends commands like "mrc 73", "token 97", or "monitor 42" to monitor one or multiple canteen tokens. Handles multiple tokens simultaneously, sends independent notifications per token, and auto-exits when all tokens are ready.
What this skill does
# MRC Canteen Monitor
Monitor MRC canteen order tokens and notify when they're ready for pickup.
## Quick Start
When user sends any command containing canteen tokens:
1. Extract all token numbers from the message
2. Start the background monitor script
3. Respond immediately with confirmation
## Command Recognition
Users may send tokens with various prefixes:
- "mrc 73" or "mrc 73 97 42"
- "token 73" or "token 73 97"
- "monitor 73"
- "check 73" (one-time check only)
## Starting the Monitor
Extract all numbers from the user message and start the background monitor:
```bash
python3 skills/mrc-monitor/scripts/monitor.py <platform> <channel_id> <token1> <token2> ...
```
Where:
- `platform`: "telegram" or "discord"
- `channel_id`: Current channel identifier (platform prefix is optional, e.g., `telegram_123` or `123` both work)
- `token1`, `token2`, ...: Token numbers to monitor
Example:
```bash
python3 skills/mrc-monitor/scripts/monitor.py telegram telegram_6046286675 73 97 42
# or
python3 skills/mrc-monitor/scripts/monitor.py telegram 6046286675 73 97 42
```
## Background Execution
Start the monitor as a background process so the agent responds immediately:
```python
import subprocess
# channel_id can be with or without platform prefix (both work)
cmd = ['python3', 'skills/mrc-monitor/scripts/monitor.py',
platform, channel_id] + [str(t) for t in tokens]
subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
```
## Agent Response
After starting the monitor, respond immediately with:
```
โ
Monitoring tokens: 73, 97, 42
Checking every 15 seconds.
I'll notify you here when they're ready! ๐
```
## One-Time Check
For "check 73" commands, perform a single Firebase query and respond with status without starting a background monitor.
## Monitor Behavior
The monitor script:
- Polls Firebase Firestore every 15 seconds
- Checks all monitored tokens in each poll
- Sends "๐ Order X is ready!" notification when a token's status is "Ready"
- Removes notified tokens from the watch list
- Exits automatically when all tokens are notified
- Handles errors gracefully with retries
- Logs all activity to `skills/mrc-monitor/logs/monitor_YYYYMMDD_HHMMSS.log`
## Error Handling
The script automatically handles:
- Network timeouts (retries up to 5 times)
- HTTP errors (including rate limits)
- Unexpected errors (stops after 5 consecutive failures)
- Signal termination (SIGTERM, SIGINT)
On fatal errors, the script sends a notification before exiting.
## Firebase Details
- **Project**: kanteen-mrc-blr-24cfa
- **Collection**: orders
- **Document fields**:
- `studentId` (string): "student-{token_number}"
- `status` (string): "Preparing", "Ready", "Completed"
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.