Phy Cron ExplainerSAFE
๐ง Curated collection of 1209+ best OpenClaw skills โ weekly updated by MyClaw.ai
Overview
๐ง Curated collection of 1209+ best OpenClaw skills โ weekly updated by MyClaw.ai
4f3b4a2a472eOBSERVED ยท 2026-10-08Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit โ this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: phy-cron-explainer
description: Cron expression explainer, validator, and converter. Translates any cron expression into plain English ("0 */6 * * *" โ "Every 6 hours, at minute 0"), shows the next 5 scheduled run times with exact dates, detects impossible/conflicting expressions (Feb 30, conflicting day-of-week + day-of-month), identifies suspicious patterns (every minute in production, very-frequent schedules on expensive operations), and converts plain English descriptions to cron ("every weekday at 9am" โ "0 9 * * 1-5"). Supports all major flavors: standard Unix 5-field, 6-field with seconds, AWS EventBridge, GitHub Actions schedule, Kubernetes CronJob, Spring @Scheduled, and special strings (@yearly, @monthly, @daily, @hourly, @reboot). Also scans .github/workflows/ and Kubernetes YAML files for cron schedules and audits them. Zero external API โ pure local parsing. Triggers on "cron expression", "what does this cron mean", "cron to English", "cron schedule", "explain cron", "@reboot", "/cron".
license: Apache-2.0
metadata:
author: PHY041
version: "1.0.0"
tags:
- cron
- scheduling
- devops
- developer-tools
- kubernetes
- github-actions
- aws
- automation
- ci-cd
- utilities
---
# Cron Explainer
`0 2 * * 1`
What does that mean? Every Monday at 2am. How about `*/5 9-17 * * 1-5`? Every 5 minutes between 9am and 5pm on weekdays.
You shouldn't need to count fields in your head. This skill translates any cron expression into plain English, shows the next scheduled runs, catches impossible expressions before they go to production, converts English descriptions to cron, and scans your CI/K8s configs to audit all your schedules in one shot.
**All major cron flavors. Zero external API.**
---
## Trigger Phrases
- "cron expression", "explain this cron", "what does cron mean"
- "cron to English", "translate cron"
- "cron schedule", "next run time"
- "English to cron", "convert to cron"
- "cron syntax", "cron debug"
- "kubernetes cronjob", "github actions schedule"
- "/cron"
---
## How to Provide Input
```bash
# Option 1: Explain a cron expression
/cron "0 2 * * 1"
/cron "*/5 9-17 * * 1-5"
/cron "0 0 1,15 * *"
# Option 2: Explain a special string
/cron "@daily"
/cron "@reboot"
/cron "@every 6h" # Kubernetes/Go format
# Option 3: Convert English to cron
/cron "every weekday at 9am"
/cron "every 5 minutes during business hours"
/cron "first day of every month at midnight"
/cron "every 15 minutes from 8am to 6pm on weekdays"
# Option 4: Show next N run times
/cron "0 */6 * * *" --next 10
# Option 5: Validate an expression
/cron "0 25 * * *" --validate # 25th hour โ invalid
# Option 6: Scan project files for cron schedules
/cron --scan . # scans GitHub Actions, Kubernetes YAML, crontab
/cron --scan .github/workflows/
# Option 7: Detect flavor
/cron "0/5 * * * ? *" --flavor aws-eventbridge
```
---
## Step 1: Parse and Explain Cron Expression
```python
from datetime import datetime, timedelta
import re
from typing import Optional
# โโ Special strings โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SPECIAL_STRINGS = {
'@yearly': ('0 0 1 1 *', 'Once a year, at midnight on January 1st'),
'@annually': ('0 0 1 1 *', 'Once a year, at midnight on January 1st'),
'@monthly': ('0 0 1 * *', 'Once a month, at midnight on the 1st'),
'@weekly': ('0 0 * * 0', 'Once a week, at midnight on Sunday'),
'@daily': ('0 0 * * *', 'Every day at midnight'),
'@midnight': ('0 0 * * *', 'Every day at midnight'),
'@hourly': ('0 * * * *', 'Every hour, at the top of the hour'),
'@reboot': (None, 'Once, on system startup/reboot'),
'@every_1m': ('* * * * *', 'Every minute'),
'@every_5m': ('*/5 * * * *','Every 5 minutes'),
'@every_1h': ('0 * * * *', 'Every hour'),
}
WEEKDAY_NAMES = ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday', 'Saturday']
MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December']
def detect_flavor(expression: str) -> str:
"""Detect cron flavor from expression structure."""
parts = expression.strip().split()
if len(parts) == 6:
# Could be 6-field with seconds (Quartz/Spring) or 6-field Linux
if re.search(r'[?L#W]', parts[5]):
return 'quartz'
return '6field-seconds'
if len(parts) == 7:
return 'quartz-7field'
if len(parts) == 5:
return 'standard'
return 'unknown'
def explain_field(value: str, field: str, names: Optional[list] = None) -> str:
"""Convert a single cron field to English."""
if value == '*':
return None # "every" is implied
if value == '?':
return None # Quartz "any" โ implied
# Step: */N or start/N
step_match = re.match(r'^(\*|\d+)/(\d+)$', value)
if step_match:
start = step_match.group(1)
step = int(step_match.group(2))
if field == 'minute':
return f'every {step} minute{"s" if step > 1 else ""}'
if field == 'hour':
return f'every {step} hour{"s" if step > 1 else ""}'
if field == 'day_of_month':
return f'every {step} day{"s" if step > 1 else ""}'
if field == 'month':
return f'every {step} month{"s" if step > 1 else ""}'
if field == 'second':
return f'every {step} second{"s" if step > 1 else ""}'
return f'every {step}'
# Range: N-M
range_match = re.match(r'^(\d+)-(\d+)$', value)
if range_match:
lo, hi = int(range_match.group(1)), int(range_match.group(2))
if names:
lo_name = names[lo] if lo < len(names) else str(lo)
hi_name = names[hi] if hi < len(names) else str(hi)
return f'{lo_name} through {hi_name}'
if field == 'hour':
lo_fmt = f'{lo}:00 {"AM" if lo < 12 else "PM"Trust audit
SAFEgrade B ยท trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
<key>k5Ey9KFlkqpj+SDkUw+5ED9lTA3En/qUi0zdrydUCH3kMWTE3Eh65NXnFCaxlY2omY2JHnlEoK7Li7oOEvM7eG5VPdcO/sFlMfoCRdnLYdepJ+uLzYwOWR8W4yQVve/clxVFTVRL4DFleKInGdpAxIbHZT2yi4ADAMENls1N1XSLojRuqXePXDeAT/4Mv4TTx0s
Gates applied: no_behavioural_pass.
4f3b4a2a472efull audit observations/trust-audit/skill/leoyeai__phy-cron-explainer.json ยท Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 4f3b4a2a472e | SAFE | B | 89 | first audit |
Questions
What does the Phy Cron Explainer skill do?
๐ง Curated collection of 1209+ best OpenClaw skills โ weekly updated by MyClaw.ai
Is Phy Cron Explainer safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Phy Cron Explainer access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Phy Cron Explainer work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (4f3b4a2a472e), read on 2026-10-08. The repository is watched, and a new audit runs when it changes โ this is the first audit.