health-check-endpoints — скилл для Claude Code: проверки живости
Скилл для ИИ-кодинга, который помогает настроить liveness, readiness и startup-пробы, а также проверки зависимостей вроде базы и Redis.
npx skills add secondsky/claude-skills --skill health-check-endpoints -a claude-codeЧто делает health-check-endpoints
Скилл разбирает четыре вида проб: liveness отвечает на вопрос, жив ли процесс, readiness — готов ли сервис принимать трафик, startup — успел ли он запуститься, а deep-проверка смотрит на все зависимости сразу. Внутри есть пример на Express: класс HealthChecker с методами checkDatabase и checkRedis, эндпоинты /health/live и /health/ready. Готовый ответ отдаёт 200 при норме и 503, если что-то отвалилось.
Для Kubernetes в скилле лежит фрагмент манифеста с livenessProbe и readinessProbe: пути, порт, initialDelaySeconds, periodSeconds, failureThreshold. Отдельный файл references/implementations.md добавляет варианты на Python Flask и Java Spring Boot Actuator плюс полный конфиг деплоя. Если у вас liveness-проба ходит в базу, это повод проверить: при падении базы контейнер начнёт перезапускаться по кругу, хотя процесс жив.
Правила простые. Liveness держите без внешних зависимостей, в readiness проверяйте только критичные системы, таймауты ставьте разумные, чтобы отказ одной зависимости не тянул за собой остальные. Метрики времени ответа тоже стоит отдавать.
Какие задачи решает
- настроить liveness-пробу, которая не роняет контейнер при сбое базы
- развести liveness и readiness по разным эндпоинтам
- добавить проверку Redis и базы в readiness
- починить каскадные перезапуски из-за слишком строгих проб
- подобрать initialDelaySeconds и failureThreshold для Kubernetes
Примеры запросов агенту
- добавь в Express эндпоинты /health/live и /health/ready с проверкой базы и Redis
- настрой livenessProbe и readinessProbe в манифесте Kubernetes для этого сервиса
- почему под перезапускается по кругу — проверь мои health-пробы
Как установить health-check-endpoints
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill health-check-endpoints -a claude-code2Вручную: положить файлы
~/.claude/skills/health-check-endpoints/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/health-check-endpoints/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill health-check-endpoints -a codex2Вручную: положить файлы
.agents/skills/health-check-endpoints/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill health-check-endpoints -a cursor2Вручную: положить файлы
.cursor/skills/health-check-endpoints/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills health-check-endpoints2Вручную: положить файлы
.github/skills/health-check-endpoints/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill health-check-endpoints -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/health-check-endpoints/skills/health-check-endpointsВручную: положить файлы
.devin/skills/health-check-endpoints/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill health-check-endpoints -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора89
Похожие
Рядом в теме «DevOps и инфраструктура»
Всё по теме «DevOps и инфраструктура» →Вопросы о health-check-endpoints
Как установить health-check-endpoints в Claude?
Выполните npx skills add secondsky/claude-skills --skill health-check-endpoints -a claude-code. После этого скилл появится в ~/.claude/skills/health-check-endpoints/SKILL.md.
Что делает health-check-endpoints?
Помогает описать liveness, readiness, startup и deep-пробы, а также проверки зависимостей. Внутри есть пример на Express и конфиг для Kubernetes.
Чем liveness отличается от readiness?
Liveness проверяет, жив ли процесс, и при провале контейнер перезапускают. Readiness показывает, готов ли сервис принимать трафик, и при провале его убирают из балансировщика.
Исходный текст
SKILL.md · MIT
---
name: health-check-endpoints
description: Health check endpoints for liveness, readiness, dependency monitoring. Use for Kubernetes, load balancers, auto-scaling, or encountering probe failures, startup delays, dependency checks, timeout configuration errors.
license: MIT
---
# Health Check Endpoints
Implement health checks for monitoring service availability and readiness.
## Probe Types
| Probe | Purpose | Failure Action |
|-------|---------|----------------|
| Liveness | Is process alive? | Restart container |
| Readiness | Can handle traffic? | Remove from LB |
| Startup | Has app started? | Delay other probes |
| Deep | All deps healthy? | Trigger alerts |
## Implementation (Express)
```javascript
class HealthChecker {
async checkDatabase() {
const start = Date.now();
try {
await db.query('SELECT 1');
return { status: 'healthy', latency: Date.now() - start };
} catch (err) {
return { status: 'unhealthy', error: String(err?.message || err) };
}
}
async checkRedis() {
try {
await redis.ping();
return { status: 'healthy' };
} catch (err) {
return { status: 'unhealthy', error: err.message };
}
}
async getReadiness() {
const checks = await Promise.all([
this.checkDatabase(),
this.checkRedis()
]);
const healthy = checks.every(c => c.status === 'healthy');
return { healthy, checks };
}
}
// Liveness - lightweight
app.get('/health/live', (req, res) => {
res.json({ status: 'ok', timestamp: new Date().toISOString() });
});
// Readiness - check dependencies
app.get('/health/ready', async (req, res) => {
const health = await healthChecker.getReadiness();
res.status(health.healthy ? 200 : 503).json(health);
});
```
## Kubernetes Configuration
```yaml
livenessProbe:
httpGet:
path: /health/live
port: 3000
initialDelaySeconds: 15
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /health/ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
```
## Best Practices
- Keep liveness checks minimal (no external deps)
- Check only critical systems in readiness
- Return 200 for healthy, 503 for unhealthy
- Set reasonable timeouts to prevent cascading failures
- Include response time metrics
## Additional Implementations
See [references/implementations.md](references/implementations.md) for:
- Python Flask complete health checker
- Java Spring Boot Actuator
- Full Kubernetes deployment config
## Never Do
- Make liveness depend on external services
- Return 200 when dependencies are down
- Skip dependency checks in readiness
© secondsky · MIT · secondsky/claude-skills