IoT monitoring simulation to predict CO2 tank depletion and prevent weekend gas outages in cell culture facilities. Monitors cylinder pressure, calculates consumption rates, provides early warnings, and supports automated scheduling via cron.
63
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./scientific-skills/Other/co2-tank-monitor/SKILL.mdMonitor CO2 cylinder pressure and predict depletion times to prevent gas outages in cell culture incubators, particularly during weekends when laboratories are unmanned.
Key Capabilities:
This skill accepts: current cylinder pressure (MPa), daily consumption rate (MPa/day), cylinder capacity (10 or 40 L), and optional alert threshold (days).
If the request does not involve monitoring CO2 cylinder pressure or predicting depletion — for example, asking to monitor other gases, control incubator temperature, or manage lab inventory — do not proceed. Instead respond:
"CO2 Tank Monitor is designed to predict CO2 cylinder depletion and detect weekend risk for cell culture facilities. Please provide current pressure and daily consumption rate. For other lab monitoring tasks, use a more appropriate tool."
python -m py_compile scripts/main.py
python scripts/main.py --helpFallback: If pressure is not provided, respond: "Required parameter --pressure not provided. Please supply current cylinder pressure in MPa. Use --simulate to generate a training scenario without real data."
from scripts.main import calculate_remaining_days, calculate_depletion_time
remaining_days = calculate_remaining_days(pressure=8.0, daily_consumption=1.5)
depletion_time = calculate_depletion_time(remaining_days)
# Formula: remaining_days = pressure / daily_consumptionfrom scripts.main import is_weekend, will_deplete_on_weekend
weekend_risk = will_deplete_on_weekend(depletion_time, alert_days=2)Weekend Risk Scenarios:
| Scenario | Risk Level | Action Required |
|---|---|---|
| Depletion Saturday/Sunday | 🔴 High | Immediate replacement or weekend duty |
| Depletion Monday morning | 🟡 Medium | Replace Friday afternoon |
| Depletion mid-week | 🟢 Low | Schedule routine replacement |
| Code | Status | Condition | Action |
|---|---|---|---|
| 0 | 🟢 Normal | Days > alert_days + 2 | No action needed |
| 1 | 🟡 Caution | Days within alert_days + 2 | Monitor closely |
| 2 | 🔴 Danger | Days ≤ alert_days or weekend risk | Replace immediately |
| Capacity | Full Pressure | Duration (@1.5 MPa/day) |
|---|---|---|
| 10L | ~15 MPa | ~10 days |
| 40L | ~15 MPa | ~40 days |
# Daily check at 9:00 AM (cron)
0 9 * * * cd /lab/scripts && python scripts/main.py --pressure $(cat sensor.log | tail -1) --quiet
# Pre-weekend check (Friday 5 PM)
0 17 * * 5 cd /lab/scripts && python scripts/main.py --pressure $(cat sensor.log | tail -1)# Manual morning check
python scripts/main.py --pressure 8.5 --daily-consumption 1.2
# Pre-weekend check with extended alert
python scripts/main.py --pressure 5.5 --alert-days 3
# Simulation for training
python scripts/main.py --simulate| Parameter | Type | Required | Description |
|---|---|---|---|
--pressure | float | No | Current cylinder pressure in MPa |
--capacity | int | No | Cylinder capacity (10 or 40 L) |
--daily-consumption | float | No | Average daily consumption (MPa/day) |
--alert-days | int | No | Alert threshold in days (default 2) |
--simulate | flag | No | Generate random training scenario |
--quiet | flag | No | Suppress verbose output (for cron) |
Every final response must make these explicit:
scripts/main.py fails, report the failure point and provide manual calculation fallback using the formula above.| Unit | MPa | PSI | Bar |
|---|---|---|---|
| MPa | 1.0 | 145.0 | 10.0 |
| PSI | 0.0069 | 1.0 | 0.069 |
| Bar | 0.1 | 14.5 | 1.0 |
Typical Cylinder Pressures: Full ~15 MPa | Working 8–10 MPa | Replace threshold 3–5 MPa | Empty <1 MPa
f5ef65b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.