skills/healthcheck/SKILL.md
Host security hardening and risk-tolerance configuration for Genoma deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, Genoma cron scheduling for periodic checks, or version status checks on a machine running Genoma (laptop, workstation, Pi, VPS).
npx skillsauth add luisvelmarketer/genome healthcheckInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Assess and harden the host running Genoma, then align it to a user-defined risk tolerance without breaking access. Use Genoma security tooling as a first-class signal, but treat OS hardening as a separate, explicit set of steps.
Before starting, check the current model. If it is below state-of-the-art (e.g., Opus 4.5, GPT 5.2+), recommend switching. Do not block execution.
Try to infer 1–5 from the environment before asking. Prefer simple, non-technical questions if you need confirmation.
Determine (in order):
First ask once for permission to run read-only checks. If granted, run them by default and only ask questions for items you cannot infer or verify. Do not ask for information already visible in runtime or command output. Keep the permission ask as a single sentence, and list follow-up info needed as an unordered list (not numbered) unless you are presenting selectable choices.
If you must ask, use non-technical prompts:
Only ask for the risk profile after system context is known.
If the user grants read-only permission, run the OS-appropriate checks by default. If not, offer them (numbered). Examples:
uname -a, sw_vers, cat /etc/os-release.ss -ltnup (or ss -ltnp if -u unsupported).lsof -nP -iTCP -sTCP:LISTEN.ufw status, firewall-cmd --state, nft list ruleset (pick what is installed)./usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate and pfctl -s info.tmutil status (if Time Machine is used).As part of the default read-only checks, run genoma security audit --deep. Only offer alternatives if the user requests them:
genoma security audit (faster, non-probing)genoma security audit --json (structured output)Offer to apply Genoma safe defaults (numbered):
genoma security audit --fixBe explicit that --fix only tightens Genoma defaults and file permissions. It does not change host firewall, SSH, or OS update policies.
If browser control is enabled, recommend that 2FA be enabled on all important accounts, with hardware keys preferred and SMS not sufficient.
As part of the default read-only checks, run genoma update status.
Report the current channel and whether an update is available.
Ask the user to pick or confirm a risk posture and any required open services/ports (numbered choices below). Do not pigeonhole into fixed profiles; if the user prefers, capture requirements instead of choosing a profile. Offer suggested profiles as optional defaults (numbered). Note that most users pick Home/Workstation Balanced:
Provide a plan that includes:
Always show the plan before any changes.
Offer one of these choices (numbered so users can reply with a single digit):
For each step:
Re-check:
Deliver a final posture report and note any deferred items.
Require explicit approval for:
If unsure, ask.
After Genoma install or first hardening pass, run at least one baseline audit and version check:
genoma security auditgenoma security audit --deepgenoma update statusOngoing monitoring is recommended. Use the Genoma cron tool/CLI to schedule periodic audits (Gateway scheduler). Do not create scheduled tasks without explicit approval. Store outputs in a user-approved location and avoid secrets in logs.
When scheduling headless cron runs, include a note in the output that instructs the user to call healthcheck so issues can be fixed.
After any audit or hardening pass, explicitly offer scheduling and require a direct response. Use a short prompt like (numbered):
genoma cron add?”If the user says yes, ask for:
genoma update statusUse a stable cron job name so updates are deterministic. Prefer exact names:
healthcheck:security-audithealthcheck:update-statusBefore creating, genoma cron list and match on exact name. If found, genoma cron edit <id> ....
If not found, genoma cron add --name <name> ....
Also offer a periodic version check so the user can decide when to update (numbered):
genoma update status (preferred for source checkouts and channels)npm view genoma version (published npm version)Use only supported commands and flags:
genoma security audit [--deep] [--fix] [--json]genoma status / genoma status --deepgenoma health --jsongenoma update statusgenoma cron add|list|runs|runDo not invent CLI flags or imply Genoma enforces host firewall/SSH policies.
Record:
Redact secrets. Never log tokens or full credential contents.
Only write to memory files when the user explicitly opts in and the session is a private/local workspace
(per docs/reference/templates/AGENTS.md). Otherwise provide a redacted, paste-ready summary the user can
decide to save elsewhere.
Follow the durable-memory prompt format used by Genoma compaction:
memory/YYYY-MM-DD.md.After each audit/hardening run, if opted-in, append a short, dated summary to memory/YYYY-MM-DD.md
(what was checked, key findings, actions taken, any scheduled cron jobs, key decisions,
and all commands executed). Append-only: never overwrite existing entries.
Redact sensitive host details (usernames, hostnames, IPs, serials, service names, tokens).
If there are durable preferences or decisions (risk posture, allowed ports, update policy),
also update MEMORY.md (long-term memory is optional and only used in private sessions).
If the session cannot write to the workspace, ask for permission or provide exact entries the user can paste into the memory files.
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
development
Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
tools
Start voice calls via the Genoma voice-call plugin.