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
npx -y skills add dennisonbertram/claude-mac-guardian --skill daily-health-reportAssembled 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
-
Ensure the data and reports directories exist:
mkdir -p ~/.mac-guardian/data ~/.mac-guardian/reports. -
Invoke each collection skill, in this order, and wait for each to complete writing its JSON envelope. The list:
machine-security-checkmalware-scannetwork-diagnosticswifi-debugbluetooth-debugdisk-usageperformance-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.
-
Render the combined HTML report:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/render.sh. This reads all JSON files in~/.mac-guardian/data/dated today exceptdaily-health-report-*.json, injects them into${CLAUDE_PLUGIN_ROOT}/skills/daily-health-report/template.html, and writes~/.mac-guardian/reports/report-<ISOdate>.html. -
Open the report:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/open-report.sh. -
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. -
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.shfrom 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.