From parvez
Design and verify service health endpoints that report REAL readiness (database and critical dependencies reachable) instead of a hardcoded 200, and wire them correctly into deploy gates, container HEALTHCHECKs, and orchestrator probes. Use this whenever you add or review a /health or /healthz endpoint, set up a Docker/Kubernetes/compose health check or a post-deploy probe, or when the user asks "why did the deploy go green but the app is down?", "add a readiness probe", "make the health check honest", or is debugging a service that's "up" but not actually serving. A health endpoint that returns 200 unconditionally silently defeats every gate built on it - so make it assert something true.
How this skill is triggered — by the user, by Claude, or both
Slash command
/parvez:honest-health-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A health endpoint is only worth as much as what it asserts. The classic, expensive
A health endpoint is only worth as much as what it asserts. The classic, expensive
footgun: /health returns 200 "OK" the instant the process boots - before the DB is
connected, before config is loaded - so the deploy gate goes green, the orchestrator
marks the pod ready, traffic flows, and every request 500s. A green pipeline that lies.
This skill is about making the check assert real state and wiring it so the gates mean something.
Deploy gates and load-balancer routing should key off readiness. Restart policies key off liveness.
Assert the dependencies a request genuinely needs - and only those:
SELECT 1 / db.ping() / EF CanConnectAsync.
Not "is a connection string configured" - actually open a connection.degraded, not unhealthy - don't fail the whole
service for a non-critical dependency.Keep it fast (sub-second, short timeouts) and side-effect free. Cache the result for a few seconds if probes are frequent.
interval/timeout/retries and a start_period long
enough to cover boot + first DB connect./health doesn't touch a dependency, it only
proves the process is up - that's liveness, don't treat it as readiness.curl/wget: a HEALTHCHECK shelling out to them
marks the container permanently unhealthy. Disable that and probe externally (a curl
sidecar on the network), or add a tiny built-in checker.AllowedHosts, Django ALLOWED_HOSTS, Rails config.hosts. Send the real Host
header on the probe.grep -i healthy also matches Unhealthy. Anchor it
(^healthy) or check the HTTP status code.Most frameworks have a health-checks library; prefer it over hand-rolling. See
references/readiness-by-framework.md for ready/live endpoint snippets in Node,
Python, Go, and .NET, plus the matching deploy-probe and HEALTHCHECK wiring. Pairs
directly with the vps-deploy skill's health-check step.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub parvez-ahammed/claude-skills --plugin parvez