agentsclimarketplace

Daily health report

Skill dennisonbertram/claude-mac-guardian/skills/daily-health-report

This skill should be used when the user asks to "generate daily report", "mac health report", "show me my status", "open health dashboard", "daily mac check", or mentions a unified macOS status report. Orchestrates every claude-mac-guardian skill, aggregates today's JSON, renders a dark-mode HTML dashboard, and opens it in the default browser.From its SKILL.md

Install
npx -y skills add dennisonbertram/claude-mac-guardian --skill daily-health-report

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.2 KB, as published. Nobody here has run it

daily-health-report

Orchestrator skill. Invokes every sibling skill in the suite, aggregates their JSON output, and renders a unified dashboard HTML file from template.html.

When to invoke

Trigger on phrases like: "generate daily report", "mac health report", "show me my status", "open health dashboard", "daily mac check".

Procedure

  1. Ensure the data and reports directories exist: mkdir -p ~/.mac-guardian/data ~/.mac-guardian/reports.

  2. Invoke each collection skill, in this order, and wait for each to complete writing its JSON envelope. The list:

    • machine-security-check
    • malware-scan
    • network-diagnostics
    • wifi-debug
    • bluetooth-debug
    • disk-usage
    • performance-check

    When running inside Claude Code, prefer invoking the skills via Claude's planner (one user-visible step per skill). If a skill fails, continue with the remaining ones — a single skill's failure must not block the dashboard.

  3. Render the combined HTML report: bash ${CLAUDE_PLUGIN_ROOT}/scripts/render.sh. This reads all JSON files in ~/.mac-guardian/data/ dated today except daily-health-report-*.json, injects them into ${CLAUDE_PLUGIN_ROOT}/skills/daily-health-report/template.html, and writes ~/.mac-guardian/reports/report-<ISOdate>.html.

  4. Open the report: bash ${CLAUDE_PLUGIN_ROOT}/scripts/open-report.sh.

  5. Also write a tiny envelope for the orchestrator itself so it appears in history:

    {
      "skill": "daily-health-report",
      "timestamp": "<ISO8601 UTC>",
      "severity": "info",
      "summary": "Aggregated N skill results for <ISOdate>.",
      "findings": [],
      "raw": { "report_path": "<path to HTML>" }
    }
    

    Write to ~/.mac-guardian/data/daily-health-report-<ISOdate>.json.

  6. Report to the user:

    • report path
    • number of skills succeeded vs failed
    • overall severity (derived by the dashboard itself — you do not need to recompute)

Retention

render.sh prunes reports/ to the most recent 30 HTML files. No pruning for data/ (small JSON files; leave history intact).

Template substitution

render.sh uses awk to substitute these sentinels in template.html:

  • __MG_MACHINE__ — scutil --get ComputerName
  • __MG_GENERATED__ — ISO-8601 UTC timestamp
  • __MG_DATE__ — today's ISO date
  • __MG_PAYLOAD__ — JSON array of all skill envelopes

No other transformation is done — the template is self-contained (Tailwind via CDN, vanilla JS rendering).

Handoff

  • Do not call render-single.sh from this orchestrator.
  • Never re-run a skill that already has a JSON file for today unless the user explicitly asks to refresh.

Safety

  • Read-only. No system state is modified.
  • If a sibling skill prompts the user (none should by default), pass the prompt through verbatim.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.