Agent skill

Cronalytics

by 8bit64k in 8bit64k/cronalytics

Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI.

MITAuto-check passedProductivity & Automation

Install Cronalytics

skills CLI
$ npx skills add 8bit64k/cronalytics --skill cronalytics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 8bit64k/cronalytics cronalytics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/8bit64k/cronalytics.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cronalytics .claude/skills/cronalytics && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cronalytics
GitHub stars
112
Token cost
~4.7k tokens
SKILL.md length
2,365 words
Files
6 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI.

  • Works in 7 steps: Time Window Verification → Baseline (all) → Job-Level Drill (jobs --json) → …
  • Tasks that involve Scheduled and recurring tasks
  • SKILL.md covers Overview, When to Use, CLI Reference and Diagnostic Workflow, plus 6 more sections
  • Calls python and jq

What it does

Cronalytics is an agent skill from 8bit64k/cronalytics. Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI. Terminal-based health checks, cost attribution, failure analysis, trend detection, and schedule drift. Also references the Cronalytics dashboard plugin for visual exploration.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/data-model.md`, `references/direct-sqlite-workarounds.md` and `references/jq-diagnostic-patterns.md`).

It sits in Productivity & Automation, covering Scheduled and recurring tasks, Root cause analysis and Hooks and plugins. It works with OpenAI. The repository describes itself as: Hermes Agent plugin for cron analytics and observability. The dashboard for agentic automations in Hermes. The licence is MIT.

When your agent uses it

  • Tasks that involve Scheduled and recurring tasks
  • Tasks that involve Root cause analysis
  • Tasks that involve Hooks and plugins

Example prompts

  • “/cronalytics”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Time Window Verification
  2. Baseline (all)
  3. Job-Level Drill (jobs --json)
  4. Per-Run Investigation (runs --job --json)
  5. Failure Pattern (jobs --outcome failure --json with unfiltered outcome)
  6. Model Economics (models --json)
  7. Trend Validation (trends --json)

What it can do on your machine

Read from SKILL.md and the folder at commit f72f0d0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cronalytics loads about 4.7k tokens when it runs, and up to ~8.5k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 2,365 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from 8bit64k/cronalytics at commit f72f0d0, republished under its MIT licence (© 8bit64k). 2,365 words, ~4,671 tokens.

Download SKILL.mdSave it as .claude/skills/cronalytics/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
cronalytics
description
Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI. Terminal-based health checks, cost attribution, failure analysis, trend detection, and schedule drift. Also references the Cronalytics dashboard plugin for visual exploration.
version
1.1.0
author
Hermes Agent
license
MIT

Cronalytics — Agent Diagnostic Toolkit

Overview

Cronalytics is a cron observability plugin for Hermes Agent. It persists cron job metadata, costs, outcomes, and model usage into a local SQLite fact DB (facts.db), then surfaces it through both a web dashboard and a terminal CLI.

This skill teaches the CLI interface — the canonical machine-readable surface. Every data subcommand except all supports --json for structured output. All share the same filter grammar (--days, --outcome, --mode). The dashboard is a fallback for visual exploration. The CLI is the primary diagnostic interface because it is scriptable, pipeable, and works inside any terminal session without a browser.

Pitfall — Skill text is historical, not oracular. The cronalytics codebase changes. Before repeating any claim about CLI defaults, accepted values, or flag behaviors, verify against the live source (cronalytics/cli.py for argument parsing, cronalytics/facts.py for query semantics, dashboard/plugin_api.py for API regex patterns). This skill was written at a point in time; code drift is real. Never tell the user a behavior is "correct" because the skill says so — check the code.

When to Use

  • User asks "how are my cron jobs doing?", "what's burning tokens?", or "why is my bill high?", or similar
  • User suspects a cron job is failing silently or running too frequently
  • User wants a periodic health report on scheduled tasks (cron jobs)
  • User asks for anomalies, impact assessment, or remediations for their cron setup
  • User wants to compare model usage or cost across cron jobs over time

Do not use for:

  • Live log streaming (Cronalytics stores summaries, not session outputs)
  • Real-time alerting (no push notification system)
  • Editing cron schedules (use hermes cron commands, not cronalytics)

CLI Reference

Invocation

If the user installed via pip or created a shell alias use:

bash
cronalytics --help

The cronalytics command is available after the plugin is installed. If it is not on $PATH, run via the plugin path:

bash
python ~/.hermes/plugins/cronalytics/cronalytics/cli.py --help
Subcommands
CommandWhat it returnsKey flags
allHealth + summary + jobs + models + trends in one scroll--days, --outcome, --mode
summaryHeadline aggregates: total runs, cost, tokens, success/failure split--days, --outcome, --mode, --json
jobsPer-job table: runs, cost, pace, avg duration, mode--days, --outcome, --mode, --json
modelsPer-model cost and token attribution--days, --outcome, --mode, --json
trendsDaily run-count / cost sparkline--days, --outcome, --mode, --json
runsIndividual run rows for a specific job ID--job <id> (required), --days, --outcome, --mode, --limit, --json
healthFact DB row counts, last sync watermark, schema version--db, --json
syncBackfill cron sessions from state.db → facts.db--db, --json
Universal Filters

All data subcommands accept these shared flags:

  • --days N — look-back window (default: 30, 0 = all time)
    • When user is vague about time window, detect dataset span first via health --json
    • If span < 60 days, default to --days 0 for full history
  • --outcome all|success|failure — outcome filter (default: all)
  • --mode all|agent|no_agent — agent vs. script-only jobs (default: all)
    • --mode agent or --mode no_agent drops jobs with mixed modes in the window
    • Use --mode all unless the user explicitly wants script-only or agent-only
  • --json — raw JSON envelope instead of formatted tables
JSON Envelope

When --json is used, every response is wrapped:

json
{
  "period": "Last 7 days",
  "start_date": "2026-05-09",
  "end_date": "2026-05-15",
  "outcome": "all",
  "mode": "all",
  "data": [ ... ]
}

Pipe into jq '.data[]' for downstream processing.

Pitfall: The all subcommand does not support --json. It emits a human-readable scroll with headers, ASCII tables, and section breaks. If you need structured output from the full diagnostic suite, call the individual subcommands (health --json, summary --json, jobs --json, etc.) and aggregate client-side. Never claim --json works with all.

Pitfall: Rendered table headers (Name, Fail, Cost, [N]) differ from JSON keys. Always inspect data[0].keys() from a live --json call before writing aggregation scripts. The canonical keys in cronalytics jobs --json are: job_id, job_name, job_mode, runs, success_runs, failure_runs, tot_estimated_cost, avg_estimated_cost, total_tokens, total_input_tokens, total_output_tokens, total_cache_*_tokens, total_duration, avg_duration, last_run, first_run, last_model, schedule_display, pace, drift_ratio.

Diagnostic Workflow

Step 0: Time Window Verification

Mandatory first action. Run cronalytics health --json to read dataset span (min_run_time to max_run_time) before calling any data subcommand.

If span > 60 days and user was vague (e.g., "recent", "lately", "what's happening"), default to --days 0 (all time) for assessments. The CLI defaults to 30 days, which will miss long-term creep and fleet-wide acceleration on large datasets.

Step 1: Baseline (all)

Below are examples: use --days with the number that matches the user's request.

Start with the full report to orient:

bash
cronalytics all --days <days>

Read the health block first: confirm last_sync is recent. A stale sync means the data is incomplete.

When data is stale, do not end the assessment. Note the staleness explicitly, then run cronalytics sync --json to backfill and re-query with fresh numbers. Flag the sync anomaly as a secondary finding. Never tell the user to "fix your sync and come back."

Then read the summary block for headline red flags:

  • success_rate < 80% → investigate failures
  • failure_estimated_cost > 10% of tot_estimated_cost → wasted spend
  • total_tokens growing week-over-week → model or frequency creep
Step 2: Job-Level Drill (jobs --json)

Fetch the jobs surface and rank by estimated cost or token volume:

bash
cronalytics jobs --days <days> --json

Look for:

  • Pace > 1.2 — running faster than declared schedule (drift, over-triggering)
  • Pace < 0.5 — investigate if job is older than filter window; ignore if newer
  • High cost_per_run — candidate for model switching or prompt optimization
  • No last_run within window — stale or disabled job still in scheduler
  • [N] badge — no_agent script-only jobs

Cross-reference jobs.json if pace looks suspicious:

  • Human-readable name for cleaner reports
  • created_at to confirm age vs. filter window
  • schedule.kind and schedule.expr for schedule context
  • Note: jobs.json is current-config state, not historical
Step 3: Per-Run Investigation (runs --job <id> --json)

This is the canonical drill-down step. Prefer the CLI surface over direct SQLite.

After Step 2 flags a suspect job, fetch its individual runs:

bash
cronalytics runs --job <job_id> --days <days> --json

--limit defaults to 0 (no limit), which returns all runs in the window.

Look for:

  • Context creep — input token growth over successive runs (e.g., 38K → 538K)
  • Cost spikes — isolated runs 2–5× the job average
  • Duration hangs — abnormally high duration_seconds
  • Model drift — started cheap, migrated expensive
  • Double-fires — multiple runs clustered within minutes when schedule is daily or longer

Run this for every job in the top-3 burners. Sort by input_tokens descending to surface the worst creep.

Fall back to direct SQLite only when the CLI cannot express the query you need (e.g., cross-table joins, custom aggregations). If you use SQLite, cite the query and explain why the CLI surface was insufficient.

Step 4: Failure Pattern (jobs --outcome failure --json with unfiltered outcome)
bash
cronalytics jobs --days <days> --json

Use unfiltered jobs --json to compute true failure rates:

python
fail_rate = job['failure_runs'] / job['runs']

Do not use --outcome failure on jobs to compute failure rates. That filter pre-filters the dataset to failures-only before aggregation, so success_runs will always be 0 (there are no successful runs in the failure subset). This is intended behavior, not a data bug.

For failure drill-down on a specific job:

bash
cronalytics runs --job <job_id> --days <days> --outcome failure --json
Step 5: Model Economics (models --json)
bash
cronalytics models --days <days> --json

high-estimated-cost models dominating the top are candidates for down-tiering. Compare avg_cost_per_run across models — a factor of 10× between models for similar job types is a clear switch candidate. Don't make 'hard' recommendations to the user to switch or down-tier. Just offer the estimated cost savings opportunity and suggest they evaluate their current job setup.

Important: Before recommending (soft recommendation to user to evaluate) a model switch, audit input_tokens per run. A job burning $144/wk on sonnet-4.6 with 900K input tokens per run likely suffers from context bloat, not model premium. Downgrading to a cheaper model reduces per-token cost but the job stays expensive if the prompt keeps growing. Verify runs --json input_tokens are justified by the task before switching.

bash
cronalytics trends --days <days> --json

Daily cost/run-count time series. Spikes that correlate with specific calendar dates are likely one-off events. Steady upward slopes indicate systemic growth that needs a schedule or model intervention.

Assessment Template

When the user asks for an assessment, structure the response as:

  1. Snapshot — headline numbers (runs, cost, success rate, sync freshness)

  2. Anomalies — jobs or dates that deviate from baseline. For each anomaly, report:

    • Signal: What you found
    • Confidence: HIGH / MEDIUM / LOW
    • Primary explanation: Your best reading
    • Alternative explanation: Why this might be normal
    • Supporting evidence: Tool outputs or cross-references

    Confidence grading guide:

    • HIGH: Reproducible across multiple data sources, large magnitude, consistent over time.
    • MEDIUM: Supported by one strong signal, but could have benign explanation.
    • LOW: Single metric anomaly, small window, or known expected behavior.
  3. Impact — quantified waste (failure_cost, over-schedule burn, model premium) and trend direction

  4. Remediations — prioritized, actionable:

    • Immediate: fix failing jobs, cap runaway context, disable stale jobs
    • Short-term: switch expensive models (after token audit), tighten schedules
    • Structural: review no_agent jobs for necessity, set token budgets, prune deadwood
Show full SKILL.md (963 more words)Show less

Dashboard (Secondary)

The Cronalytics dashboard is a Hermes plugin route. It provides:

  • Sortable jobs table with expandable run detail
  • Summary Board: totals, projections, previous-period comparison
  • Toolbar: day filter, outcome filter, mode filter
  • Sync button + health watermark

Access via the Hermes dashboard (sidebar tab "Cronalytics"). Use it when the user wants visual exploration or to share a screenshot. Do not describe it as a replacement for the CLI — it is the visual complement.

Known Ways to Fool Yourself

The most dangerous failures are not tool errors — they are interpretation errors where a healthy metric is read as broken.

False AlarmWhy it happensCorrect reading
Pace < 1.0 on a new jobJob created after --days window startExpected. Check jobs.json created_at. If age < window, pace is not a drift signal.
Pace > 1.0 on a [N] script jobScript jobs run inline[N] jobs may show pace > 1, but they have no agent loop. Verify against other script jobs only.
Single spike in trendsOne-off event (deploy, holiday)Isolated spikes are not systemic. Look for sustained trends over 3+ data points.
High cost on a low-run jobOne expensive run skews averageCheck runs --json for the job. Is the cost consistent or an outlier?
Context creep on a deliberately growing jobJob accumulates historyLinear growth may be expected. Exponential growth is the danger signal.
Recommending model switch without token auditReflex to "downgrade expensive model"Check runs --json input_tokens first. Unbounded context makes any model expensive.

Do not treat every anomaly as a false alarm. Some signals are genuinely broken. The purpose of this table is to prevent premature dismissal of real problems by checking a benign explanation. It does not teach you to dismiss real problems.

no_agent Job Notes

no_agent jobs ([N] badge) execute as shell scripts, not agent sessions. They have no LLM loop and therefore typically record:

  • total_tokens = 0
  • avg_duration = null (if the script was not tracked by the agent timing system)
  • last_model = "unknown"
  • success = 1 (if the shell command returned exit 0)

This is expected behavior for script-only jobs. Zero tokens on a no_agent job is not a silent failure. It is the correct signal that no LLM was invoked.

To distinguish a healthy no_agent job from a misconfigured one, check jobs.json:

  • no_agent = true (confirms it is a script job)
  • script = actual file path to a script that exists
  • last_status / last_error — if the script was not found or failed, this reveals the real error (cronalytics records success=1 because the Hermes scheduler session completed, even when the script itself failed)

A no_agent job with success=1 but 0 tokens is normal if the script ran successfully but does no LLM work. A no_agent job with success=1 but a non-empty last_error in jobs.json is a real misconfiguration.

Silent Failures

The fact DB records success=1 when a Hermes session completes without crashing. This does not guarantee useful work was done.

PatternCronalytics signalRoot causeFix
Script misconfigurationno_agent, success=1, 0 tokens, non-empty last_error in jobs.jsonScript file missing or invalid, shell command treated as pathCheck jobs.json last_error for exact message; fix script path
Agent returns [SILENT]agent mode, success=1, very low tokens, end_reason == "cron_complete"Prompt instructed silent modeUsually expected; verify with user
Empty script outputno_agent, success=1, 0 tokens, last_error emptyScript ran but produced nothingReview script logic

Key Concepts to Surface

  • Pace — ratio of actual cost to scheduled cost, scaled to 30 days. Pace

    1.2 = over-triggering or shortened schedule. Pace < 0.5 on an older job means backlog, hangs, or schedule mismatch. Pace indicators on no_agent [N] jobs have less estimated cost impact and should be posititioned as such.

  • Context creep — input token growth for the same job. Apr: 38K → May: 538K is a 14× creep. Root cause: unbounded prompt, history, or attachments.
  • no_agent — script-only jobs ([N] badge). No LLM loop = zero tokens by design. Do not compare 1:1 with agent jobs.
  • Estimated cost — from Hermes state.db, not actual provider billing. Never present as exact invoices.
  • Sync freshness — If last_sync is older than the look-back window, all analysis is stale. Fix it: cronalytics sync --json, then continue.
  • Mode filtering — --mode agent or --mode no_agent drops jobs with mixed-mode runs. Use --mode all unless user explicitly wants isolation.
  • JSON output is canonical. Table headers change; JSON keys are stable. Post-process with jq, Python json, or direct SQLite.
  • Self-healing data paths — If data is stale, sync and continue. Never halt for manual remediation. See references/time-window-blind-spot.md for why this matters.

Verification Checklist

  • cronalytics health shows a recent last_sync timestamp
  • Look-back window (--days) covers the period the user cares about
  • --mode all is the default unless user wants agent/no_agent isolation
  • Cost figures are presented as estimates, not exact billing
  • Failure analysis correlates with model or date, not just count
  • Pace outliers are flagged as hints requiring jobs.json cross-check
  • Model-switch recommendations are preceded by token-volume audit
  • no_agent jobs with 0 tokens are not flagged as silent failures
  • Remediations are prioritized: immediate fixes before structural changes
  • Dashboard is mentioned only as a visual complement

Reference Materials

The skills/devops/cronalytics/references/ directory contains session artifacts and supporting documents. These files are not guaranteed to be current with the live codebase. Treat them as hints, not canonical sources.

  • data-model.md — JSON field map and SQLite schema. Verify field names and types against a live --json call before relying on them. The codebase may have drifted since this file was written.
  • direct-sqlite-workarounds.md — SQL recipes for queries the CLI cannot express. Useful when the CLI surface is insufficient.
  • jq-diagnostic-patterns.md — ready-to-paste filtering pipelines.
  • time-window-blind-spot.md — why short windows hide long-term creep.
  • silent-failure-detection.md — decision tree and one-liners for jobs that report success but produce no value (hollow runs, misconfigured scripts).

Pitfall: If a reference file contradicts cli.py, facts.py, or a live --json response, the code wins. Reference files are historical snapshots; live source is truth.

© 8bit64k, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/cronalytics of 8bit64k/cronalytics.

  • SKILL.md
  • references/data-model.md
  • references/direct-sqlite-workarounds.md
  • references/jq-diagnostic-patterns.md
  • references/silent-failure-detection.md
  • references/time-window-blind-spot.md

Open the folder on GitHubat commit f72f0d0

Compare with similar skills

Cronalytics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cronalytics compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cronalytics this skill8bit64k/cronalytics112—~4.7kAutomated safety check: PassMIT
Tlon Product Guidetloncorp/tlon-apps107—~11kAutomated safety check: PassMIT
Codex Chatgpt BridgeZhenyu98/codex-chatgpt-bridge275—~4kAutomated safety check: PassMIT
Daily Briefleiting-eric/DailyBrief364—~3kAutomated safety check: NotesMIT
Scrapingbee CLIScrapingBee/scrapingbee-cli108—~3.2kAutomated safety check: NotesMIT
Memory ManagementThinkInAIXYZ/deepchat6.4k—~849Automated safety check: PassApache-2.0

Similar skills

  • Tlon Product Guide

    tloncorp/tlon-apps

    Answer questions about Tlon, Urbit, Tlon Messenger, Tlonbot, and OpenClaw — what they are, how they work, and how to use them.

    107 GitHub stars~11k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Codex Chatgpt Bridge

    Zhenyu98/codex-chatgpt-bridge

    A skill your agent uses when Codex needs to coordinate ChatGPT, Chrome, Cloudflare tunnels, verified bridge Restart/Reboot recovery, or task routing between local code execution and ChatGPT…

    275 GitHub stars~4k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Daily Brief

    leiting-eric/DailyBrief

    Operational knowledge for the daily-brief digest pipeline (this project).

    364 GitHub stars~3k tokensUpdated today
    Productivity & AutomationAuto-check: notes
  • Scrapingbee CLI

    ScrapingBee/scrapingbee-cli

    Fetch and read any web page, search the web, crawl a site, or pull structured data out of pages.

    108 GitHub stars~3.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Memory Management

    ThinkInAIXYZ/deepchat

    Guide the agent to recall, remember, and route durable learning into Memory, Skills, Scheduled Tasks, or Tape.

    6.4k GitHub stars~849 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Chat Connectors

    garrytan/gbrain

    Connect a ChatGPT or Claude account and sync its conversation history into the brain automatically.

    31k GitHub stars~2.8k tokensUpdated today
    Productivity & AutomationAuto-check passed

Works with

Questions about Cronalytics

What does Cronalytics do?

Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI. Cronalytics is an agent skill from 8bit64k/cronalytics. Analyze, diagnose, and optimize Hermes cron jobs via the cronalytics CLI.

When should I use Cronalytics?

Cronalytics fits situations like: tasks that involve Scheduled and recurring tasks; tasks that involve Root cause analysis; tasks that involve Hooks and plugins.

How do I install Cronalytics in Claude Code?

Run `npx skills add 8bit64k/cronalytics --skill cronalytics -a claude-code`. Or copy the skill folder (skills/cronalytics in 8bit64k/cronalytics) into .claude/skills/cronalytics in your project. Claude Code loads it when a task matches its description.

How do I install Cronalytics in Codex?

Run `npx skills add 8bit64k/cronalytics --skill cronalytics -a codex`. Or copy the skill folder (skills/cronalytics in 8bit64k/cronalytics) into .agents/skills/cronalytics in your project. Codex loads it when a task matches its description.

Can I use Cronalytics in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 8bit64k/cronalytics --skill cronalytics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cronalytics, .gemini/skills/cronalytics, .github/skills/cronalytics and .opencode/skills/cronalytics in your project.

What does Cronalytics need to run?

Going by SKILL.md and its folder, Cronalytics needs the command-line tools its instructions call (python and jq). Our summary lists: Python 3.

Does Cronalytics access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cronalytics safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cronalytics use?

Cronalytics is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cronalytics use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.

What are the alternatives to Cronalytics?

Skills that share tags, products or a category with Cronalytics: Tlon Product Guide (tloncorp/tlon-apps, 107 stars), Codex Chatgpt Bridge (Zhenyu98/codex-chatgpt-bridge, 275 stars), Daily Brief (leiting-eric/DailyBrief, 364 stars) and Scrapingbee CLI (ScrapingBee/scrapingbee-cli, 108 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cronalytics?

8bit64k (a GitHub user) maintains it in 8bit64k/cronalytics, which has 112 GitHub stars. The repository was last updated on June 24, 2026.

Source: 8bit64k/cronalytics on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.