Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add umputun/agterm --skill scheduled-jobsgit clone --depth 1 https://github.com/umputun/agtermWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/umputun/agterm/scheduled-jobs)<a href="https://agentmods.dev/skills/umputun/agterm/scheduled-jobs"><img src="https://agentmods.dev/badge/skills/umputun/agterm/scheduled-jobs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/umputun/agterm/scheduled-jobs"><img src="https://agentmods.dev/badge/skills/umputun/agterm/scheduled-jobs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00119 | $0.02336 |
| Opus 5.5 | $0.00048 | $0.00934 |
| Sonnet 5.5 | $0.00024 | $0.00467 |
| Haiku 4.5 | $0.00012 | $0.00234 |
Grade A, and why
cronn scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsS "http://127.0.0.1:$CRONN_PORT/api/v1/status" >/dev/null && echo running How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
cronn
cronn runs as a launchd agent, schedules the jobs in one YAML file and serves a dashboard and a
read-only API on loopback. This skill's scripts/ directory holds the installer and a job template;
paths below are relative to this skill's directory.
Is it installed
Read the settings the installer recorded, then ask the API:
. "${CRONN_CONFIG_DIR:-$HOME/.config/cronn}/cronn.env"
curl -fsS "http://127.0.0.1:$CRONN_PORT/api/v1/status" >/dev/null && echo running
When cronn.env is missing, cronn is not set up here. Tell the user
what scripts/install.sh does and ask before running it: it installs the umputun/apps/cronn
Homebrew formula and a LaunchAgent that starts at every login. scripts/install.sh --dry-run
prints the plan and the rendered plist without changing anything. After the install, read
cronn.env again. When the installer refuses because the port is taken, report the pid it names
and let the user choose CRONN_PORT; never stop the other process.
When cronn.env exists but the API is down, the agent is installed and not serving; go to
When something is not running.
Showing the dashboard
Inside agterm (AGTERM_SESSION_ID set), open it in an overlay:
agtermctl session overlay open --url "http://127.0.0.1:$CRONN_PORT/" --js --chromeless \
--size-percent 80 --target "$AGTERM_SESSION_ID" --follow
--js is required: the page is htmx-driven, and without it the run and toggle buttons, the
filters and the 5s refresh do nothing. --chromeless drops the strip above the page; ⌘W closes
it. Leave it up for the user to close. Outside agterm, open the same URL.
The jobs file
$CRONN_CONFIG_DIR/crontab.yml is the only file cronn reads, and it rereads it every 10s, so an
edit needs no restart and no reload command. The dashboard catches up within about 30s.
A file that fails to parse leaves the previous schedule running. cronn logs
can't get list of jobs from ... failed to parse YAML to $CRONN_LOG_DIR/cronn.log and keeps
the old jobs. After every edit, wait 15s and check both: no new parse warning in the log, and
the job present in /api/v1/status. A job that does not appear is an edit that did not land.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 170 lines · 119 tokens per session scan A c86a1e3fb167
cronn is a skill published in the GitHub repository umputun/agterm (690 stars, last pushed today), licensed MIT. It adds 119 tokens to every session and 2,336 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-21.
Other skills, from other repositories
discovery-question-form
Turn-1 discovery question form for ambiguous briefs.
od-tune-collab
Default reference pipeline for the tune-collab taskKind — pick a direction, patch-edit the existing artifact, critique, hand off.
skin
Switch Claude Code visual themes (skins). List available skins, activate a skin, reset to defaults, or set a permanent default. USE WHEN user says '/skin', 'change skin', 'switch theme', 'activate skin', or wants to change Claude's visual appearance.
orbit-general
Open Orbit briefing skill — selected by the Orbit pipeline when the user has two or more connectors connected. Pulls the past 24 hours of activity from every authenticated connector (GitHub, Linear, Notion, Slack, 飞书, Calendar, Gmail, Drive, Sentry, Vercel, …) and renders a single adaptive bento-grid dashboard at the…
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…
orbit-gmail
Open Orbit briefing skill — selected by the Orbit pipeline when Gmail is the user's only connected connector, or when the user explicitly scopes their daily digest to Gmail. Pulls the past 24 hours of inbox activity (replies awaited, mentions, cc, auto- categorized bulk) from the user's authenticated Gmail connection…