Help us improve
Share bugs, ideas, or general feedback.
From claude-mac-guardian
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.
npx claudepluginhub dennisonbertram/claude-mac-guardian --plugin claude-mac-guardianHow this skill is triggered — by the user, by Claude, or both
Slash command
/claude-mac-guardian:daily-health-reportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Orchestrator skill. Invokes every sibling skill in the suite, aggregates their JSON output, and renders a unified dashboard HTML file from `template.html`.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Orchestrator skill. Invokes every sibling skill in the suite, aggregates their JSON output, and renders a unified dashboard HTML file from template.html.
Trigger on phrases like: "generate daily report", "mac health report", "show me my status", "open health dashboard", "daily mac check".
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-checkWhen 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 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.
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:
render.sh prunes reports/ to the most recent 30 HTML files. No pruning for data/ (small JSON files; leave history intact).
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 envelopesNo other transformation is done — the template is self-contained (Tailwind via CDN, vanilla JS rendering).
render-single.sh from this orchestrator.